/* css/app.css */
html,
body {
  box-sizing: border-box;
  background: black;
  font-family:
    "Open Sans",
    Avenir,
    Montserrat,
    Corbel,
    "URW Gothic",
    source-sans-pro,
    sans-serif;
  font-weight: normal;
  overflow-x: hidden;
  overflow-y: visible;
  height: 100%;
  scrollbar-width: none;
}
body::after {
  content: "";
  display: block;
  height: calc(100vh + (6 * var(--tile-size)));
}
@media (min-aspect-ratio: 6/5) {
  html,
  body {
    --tile-size: calc(100vh / 20);
  }
  body > div {
    margin: 0 calc(0.5 * var(--tile-size));
  }
}
@media (max-aspect-ratio: 6/5) {
  html,
  body {
    --tile-size: min(calc(100vw / 19), calc(80vh / 19));
  }
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}
main {
  height: calc(16 * var(--tile-size));
  aspect-ratio: 1/1;
  margin: calc(2 * var(--tile-size)) auto;
  --tile-front: #f4f0eb;
  --tile-front-side: #eee4d8;
  --tile-back: #f0974c;
  --tile-back-side: #f0974c;
  --bg-color: #0f6f2f;
  position: relative;
  z-index: 1;
  overflow: visible;
}
main::before {
  content: "";
  position: absolute;
  top: calc(-0.5 * var(--tile-size));
  left: calc(-0.5 * var(--tile-size));
  background: var(--bg-color);
  border-radius: calc(0.25 * var(--tile-size));
  width: calc(100% + var(--tile-size));
  height: calc(100% + var(--tile-size));
  z-index: -1;
}
main div#container {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  display: flex;
  flex-flow: column nowrap;
  user-select: none;
  contain: layout;
  font-size: calc(0.5 * var(--tile-size));
  color: white;
}
main div.messages-container {
  position: absolute;
  box-sizing: border-box;
  background: #3f3f3f;
  border-radius: calc(0.25 * var(--tile-size));
  color: white;
  width: min(50%, calc(40vw - 20% - 0.5 * var(--tile-size)));
  height: calc(100% + var(--tile-size));
  top: calc(-0.5 * var(--tile-size));
  font-size: calc(0.4 * var(--tile-size));
  user-select: text;
}
main div.messages-container > div.messages {
  width: 100%;
  white-space: wrap;
  padding: 0.5rem;
  box-sizing: border-box;
}
main div.messages-container > div.messages span.bold {
  font-weight: 800;
}
main div.messages-container > button.clear-messages-button {
  position: sticky;
  background: gray;
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side));
  border-radius: calc(0.125 * var(--tile-size));
  width: calc(1 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  padding: 0;
  margin-top: calc(0.125 * var(--tile-size));
  margin-left: auto;
  &:active {
    filter: none;
  }
}
main div.messages-container {
  display: flex;
  flex-direction: column-reverse;
  overflow-y: auto;
  scrollbar-color: white transparent;
  scrollbar-gutter: stable;
}
main div.messages-container > div.messages {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (min-aspect-ratio: 6/5) {
  main::before {
    left: calc(-20vh + 0.5 * var(--tile-size));
  }
  main div#container {
    left: calc(-20vh + 1 * var(--tile-size));
  }
  main div.messages-container {
    left: calc(100% + var(--tile-size));
  }
}
@media (max-aspect-ratio: 6/5) {
  main div.messages-container {
    left: calc(-0.5 * var(--tile-size));
    top: calc(100% + 1.5 * var(--tile-size));
    width: calc(100% + var(--tile-size));
    height: max(10rem, calc(100vh - 100%));
    flex-direction: column;
    justify-content: flex-start;
  }
  main div.messages-container > div.messages {
    flex-direction: column-reverse;
  }
}
@media (pointer: coarse), (hover: none) {
  label[data-name][title]:not(.saki-card):focus::before,
  label[data-name][title]:not(.saki-card):focus::after {
    position: fixed;
    font-weight: 500;
    left: calc(1 * var(--tile-size));
    color: var(--tile-front);
    background: inherit;
    border: none;
    width: calc(100% - 2 * var(--tile-size));
    height: fit-content;
    padding: calc(0.25 * var(--tile-size));
    box-sizing: border-box;
    line-height: 1;
    z-index: 100;
  }
  label[data-name][title]:not(.saki-card):focus::before {
    content: attr(data-name);
    font-size: calc(0.75 * var(--tile-size));
    top: calc(0.25 * var(--tile-size));
    border-radius: calc(0.5 * var(--tile-size)) calc(0.5 * var(--tile-size)) 0 0;
  }
  label[data-name][title]:not(.saki-card):focus::after {
    content: attr(title);
    font-size: calc(0.5 * var(--tile-size));
    top: calc(1.5 * var(--tile-size));
    border-radius: 0 0 calc(0.5 * var(--tile-size)) calc(0.5 * var(--tile-size));
    white-space: pre-wrap;
  }
}
select,
button,
input {
  padding: 0 calc(0.125 * var(--tile-size));
}
input[type=radio],
input[type=checkbox] {
  display: none;
}
label {
  display: inline-block;
  background: gray;
  border-radius: calc(0.125 * var(--tile-size));
  padding: 0 calc(0.125 * var(--tile-size));
  white-space: nowrap;
  user-select: none;
  text-align: center;
  cursor: pointer;
}
input + label {
  background: gray;
}
input:checked + label {
  background: var(--tile-back);
}
textarea {
  width: 100%;
  height: 100%;
  background: #3f3f3f;
  color: white;
  font-family: monospace;
  white-space: pre;
  box-sizing: border-box;
  scrollbar-width: none;
  font-size: calc(var(--tile-size) / 3);
}
textarea::-webkit-scrollbar {
  display: none;
}
button {
  background: var(--tile-front);
  color: black;
  border-width: 0;
  text-decoration: none;
  font-size: calc(0.75 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side)) drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-back-side));
  cursor: pointer;
  text-align: center;
  transform: translateY(calc(var(--tile-size) / -8));
}
button:active,
button.pressed {
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side));
  transform: translateY(0);
}
button:active::before,
button:active::before {
  content: "";
  position: absolute;
  background: transparent;
  width: 100%;
  height: calc(0.125 * var(--tile-size));
  top: calc(-0.125 * var(--tile-size));
  left: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
}
div.hand,
div.tiles,
div.calls,
div.flowers,
div.call,
div.draws,
div.buttons,
div.call-buttons,
button.call-button {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  position: relative;
}
div.hand {
  position: absolute;
  transform-style: preserve-3d;
  width: calc(100% - 2 * var(--tile-size));
}
div.self {
  z-index: 10;
}
div.hand,
div.draws {
  z-index: 20;
}
div.hand.self,
div.draws.self {
  z-index: 30;
}
div.tiles,
div.call.aside {
  flex-wrap: wrap-reverse;
  row-gap: calc(0.25 * var(--tile-size));
  max-width: calc(17.5 * 0.75 * var(--tile-size));
}
div.call.aside {
  justify-content: flex-end;
  max-width: calc(5.5 * 0.75 * var(--tile-size));
}
div.calls {
  position: absolute;
  flex-direction: row-reverse;
  right: 0;
  z-index: -1;
  width: 0;
}
div.call {
  flex-shrink: 0;
}
div.flowers {
  right: calc(1.25 * var(--tile-size));
  bottom: calc(1.25 * var(--tile-size));
  z-index: -2;
}
div.calls > div:nth-child(1) {
  z-index: -1;
}
div.calls > div:nth-child(2) {
  z-index: -2;
}
div.calls > div:nth-child(3) {
  z-index: -3;
}
div.calls > div:nth-child(4) {
  z-index: -4;
}
div.calls > div:nth-child(5) {
  z-index: -5;
}
div.calls > div:nth-child(6) {
  z-index: -6;
}
div.calls > div:nth-child(7) {
  z-index: -7;
}
div.calls > div:nth-child(8) {
  z-index: -8;
}
div.calls > div:nth-child(9) {
  z-index: -9;
}
div.calls > div:nth-child(10) {
  z-index: -10;
}
div.calls > div:nth-child(11) {
  z-index: -11;
}
div.calls > div:nth-child(12) {
  z-index: -12;
}
div.calls > div:nth-child(13) {
  z-index: -13;
}
div.calls > div:nth-child(14) {
  z-index: -14;
}
div.calls > div:nth-child(15) {
  z-index: -15;
}
div.calls > div:nth-child(16) {
  z-index: -16;
}
div.calls > div:nth-child(17) {
  z-index: -17;
}
div.calls > div:nth-child(18) {
  z-index: -18;
}
div.calls > div:nth-child(19) {
  z-index: -19;
}
div.calls > div:nth-child(20) {
  z-index: -20;
}
div.calls > div:nth-child(21) {
  z-index: -21;
}
div.calls > div:nth-child(22) {
  z-index: -22;
}
div.calls > div:nth-child(23) {
  z-index: -23;
}
div.calls > div:nth-child(24) {
  z-index: -24;
}
div.shimocha div.calls > div:nth-child(1) {
  z-index: -24;
}
div.shimocha div.calls > div:nth-child(2) {
  z-index: -23;
}
div.shimocha div.calls > div:nth-child(3) {
  z-index: -22;
}
div.shimocha div.calls > div:nth-child(4) {
  z-index: -21;
}
div.shimocha div.calls > div:nth-child(5) {
  z-index: -20;
}
div.shimocha div.calls > div:nth-child(6) {
  z-index: -19;
}
div.shimocha div.calls > div:nth-child(7) {
  z-index: -18;
}
div.shimocha div.calls > div:nth-child(8) {
  z-index: -17;
}
div.shimocha div.calls > div:nth-child(9) {
  z-index: -16;
}
div.shimocha div.calls > div:nth-child(10) {
  z-index: -15;
}
div.shimocha div.calls > div:nth-child(11) {
  z-index: -14;
}
div.shimocha div.calls > div:nth-child(12) {
  z-index: -13;
}
div.shimocha div.calls > div:nth-child(13) {
  z-index: -12;
}
div.shimocha div.calls > div:nth-child(14) {
  z-index: -11;
}
div.shimocha div.calls > div:nth-child(15) {
  z-index: -10;
}
div.shimocha div.calls > div:nth-child(16) {
  z-index: -9;
}
div.shimocha div.calls > div:nth-child(17) {
  z-index: -8;
}
div.shimocha div.calls > div:nth-child(18) {
  z-index: -7;
}
div.shimocha div.calls > div:nth-child(19) {
  z-index: -6;
}
div.shimocha div.calls > div:nth-child(20) {
  z-index: -5;
}
div.shimocha div.calls > div:nth-child(21) {
  z-index: -4;
}
div.shimocha div.calls > div:nth-child(22) {
  z-index: -3;
}
div.shimocha div.calls > div:nth-child(23) {
  z-index: -2;
}
div.shimocha div.calls > div:nth-child(24) {
  z-index: -1;
}
div.call,
div.draws,
div.winning-tile-container {
  margin-left: calc(0.375 * var(--tile-size));
}
div.winning-tile-container {
  position: relative;
}
div.winning-tile-text {
  text-align: center;
  position: absolute;
  width: 500%;
  font-size: calc(0.4 * var(--tile-size));
  top: calc(-0.75 * var(--tile-size));
  left: -200%;
  color: white;
}
div.hand.self {
  bottom: 0;
}
div.hand.self > div.tiles > div.tile,
div.hand.self > div.draws > div.tile {
  cursor: pointer;
}
div.hand.shimocha {
  right: var(--tile-size);
  transform: rotate(270deg);
  transform-origin: top right;
}
div.hand.toimen {
  top: 0;
  transform: rotate(180deg);
}
div.hand.kamicha {
  left: var(--tile-size);
  transform: rotate(90deg) translateX(calc(2 * var(--tile-size)));
  transform-origin: top left;
}
div.hand.self {
  transform: translateX(calc(2 * var(--tile-size)));
}
div.calls:hover {
  z-index: 100;
}
div.draws::before,
div.tiles:hover::before,
div.calls:hover::before {
  content: "";
  position: absolute;
  top: calc(-0.25 * var(--tile-size));
  left: 0;
  background: var(--bg-color);
  border-radius: calc(0.25 * var(--tile-size));
  width: calc(100% * var(--tile-size));
  height: calc(100% + 0.25 * var(--tile-size));
}
div.hand.toimen:hover {
  z-index: -1;
}
div.hand.shimocha div.tiles:hover::before,
div.hand.shimocha div.calls:hover::before {
  z-index: -20;
}
div.hand.shimocha div.tiles:hover ~ div.calls {
  z-index: -40;
}
div.hand.marking {
  z-index: 10;
}
div.hand.marking.self {
  z-index: 11;
}
div.hand.marking:hover {
  z-index: 20;
}
div.calls > div.dead-hand-button {
  border-radius: 50%;
  width: calc(1 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  background: var(--tile-back);
  font-weight: 200;
  margin-left: calc(0.25 * var(--tile-size));
  transform-origin: 50% 50%;
  cursor: pointer;
}
div.calls > div.dead-hand-button.inactive {
  background: gray;
  opacity: 0.5;
}
div.hand.shimocha div.dead-hand-button {
  transform: rotate(90deg);
}
div.hand.toimen div.dead-hand-button {
  transform: rotate(180deg);
}
div.hand.kamicha div.dead-hand-button {
  transform: rotate(270deg);
}
div.calls > div.dead-hand-button::before {
  content: "\2620";
  font-size: calc(0.8 * var(--tile-size));
  width: calc(1 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  color: var(--tile-front);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(calc(-0.1 * var(--tile-size)));
}
div.calls > div.dead-hand-button::after {
  content: "?";
  font-size: calc(0.5 * var(--tile-size));
  width: calc(0.5 * var(--tile-size));
  height: calc(0.5 * var(--tile-size));
  color: var(--tile-front);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translate(calc(0.5 * var(--tile-size)), calc(-0.9 * var(--tile-size)));
}
div.calls > div.dead-hand-button:hover {
  cursor: pointer;
  opacity: 1;
}
div.tile.reversed {
  transform: scaleX(-100%);
}
div.tile.inactive {
  opacity: 0.7;
  --tile-brightness: 60%;
}
div.tile.highlight,
div.pond.highlight div.tile:last-child {
  --tile-brightness: 80%;
  --tile-saturate: 100%;
}
div.tile.transparent {
  --tile-brightness: 80%;
  --tile-saturate: 250%;
  --tile-back: var(--tile-front);
  --tile-back-side: var(--tile-front-side);
  opacity: 0.5;
}
div.tile.transparent.highlight,
div.pond.highlight div.tile.transparent:last-child {
  --tile-brightness: 48%;
}
div.tile.transparent.inactive {
  opacity: 0.35;
  --tile-brightness: 60%;
  --tile-saturate: 100%;
}
div.tile.hidden {
  display: none;
}
div.tile::after {
  display: none;
}
div.tile.one::after {
  content: "1";
}
div.tile.two::after {
  content: "2";
}
div.tile.three::after {
  content: "3";
}
div.tile.four::after {
  content: "4";
}
div.tile.five::after {
  content: "5";
}
div.tile.six::after {
  content: "6";
}
div.tile.seven::after {
  content: "7";
}
div.tile.eight::after {
  content: "8";
}
div.tile.nine::after {
  content: "9";
}
div.tile.ten::after {
  content: "10";
}
div.tile.E::after {
  content: "E";
}
div.tile.S::after {
  content: "S";
}
div.tile.W::after {
  content: "W";
}
div.tile.N::after {
  content: "N";
}
div.tile.Wh::after {
  content: "Wh";
}
div.tile.G::after {
  content: "G";
}
div.tile.R::after {
  content: "R";
}
div#container > input.tile-numbers-checkbox:checked ~ * div.tile::after {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--number-color);
  text-shadow:
    0.15em 0 0 var(--tile-front),
    -0.15em 0 0 var(--tile-front),
    0 0.15em 0 var(--tile-front),
    0 -0.15em 0 var(--tile-front);
  border-radius: 50%;
  font-size: calc(0.25 * var(--tile-size));
  font-weight: 600;
  vertical-align: top;
  position: absolute;
  top: calc(0.04 * var(--tile-size));
  left: calc(0.04 * var(--tile-size));
  width: calc(0.25 * var(--tile-size));
  height: calc(0.25 * var(--tile-size));
  z-index: 1;
}
div#container > input.tile-numbers-checkbox:checked ~ * div.tile.sideways::after {
  top: unset;
  bottom: calc(0.04 * var(--tile-size));
  transform: rotate(-90deg);
}
div.tile > span.tile-debug {
  display: flex;
  flex-flow: column wrap;
  font-size: 50%;
  filter: drop-shadow(0 0 calc(0.025 * var(--tile-size)) black) drop-shadow(0 0 calc(0.025 * var(--tile-size)) black) drop-shadow(0 0 calc(0.025 * var(--tile-size)) black);
  color: white;
  position: absolute;
  top: -1em;
  right: 0;
  text-align: right;
  z-index: 1;
  pointer-events: none;
  & > span {
    font-size: 60%;
  }
}
div.kamicha div.tile > span.tile-debug,
div.shimocha div.tile > span.tile-debug {
  top: 0;
}
div.pond,
div.secondary-pond {
  display: flex;
  flex-flow: row wrap;
  justify-content: left;
  align-content: flex-start;
  align-items: flex-start;
  position: absolute;
  transform-style: preserve-3d;
  width: calc(100% - 5 * var(--tile-size));
  height: calc(3 * var(--tile-size));
  transform-origin: calc(2.375 * var(--tile-size)) calc(-2.625 * var(--tile-size));
  overflow: visible;
  z-index: -1;
}
div.four-rows > div.pond {
  width: calc(5.125 * var(--tile-size));
  height: calc(4 * var(--tile-size));
}
div.four-rows > div.secondary-pond {
  width: calc(4.375 * var(--tile-size));
  margin-left: calc(4.75 * var(--tile-size));
  margin-top: calc(0.25 * var(--tile-size));
  transform-origin: calc(-2.375 * var(--tile-size)) calc(-2.875 * var(--tile-size));
}
div:not(.four-rows) > div.pond::before,
div:not(.four-rows) > div.pond::after {
  content: "";
  width: 100%;
  order: 1;
}
.pond > .tile {
  order: 0;
}
.pond > .tile:nth-child(n+7) {
  order: 1;
}
.pond > .tile:nth-child(n+13) {
  order: 2;
}
.pond.toimen > .tile {
  z-index: 3;
}
.pond.toimen > .tile:nth-child(n+7) {
  z-index: 2;
}
.pond.toimen > .tile:nth-child(n+13) {
  z-index: 1;
}
.pond.toimen > .tile:nth-child(n+19) {
  z-index: 0;
}
.pond.toimen.secondary-pond > .tile {
  z-index: 3;
}
.pond.toimen.secondary-pond > .tile:nth-child(n+6) {
  z-index: 2;
}
.pond.toimen.secondary-pond > .tile:nth-child(n+11) {
  z-index: 1;
}
.pond.toimen.secondary-pond > .tile:nth-child(n+16) {
  z-index: 0;
}
div.pond {
  z-index: 4;
}
div.pond.self {
  left: calc(50% - (2.375 * var(--tile-size)));
  top: calc(50% + (2.125 * var(--tile-size)));
  z-index: 6;
}
div.pond.shimocha {
  transform: rotate(270deg);
  left: calc(50% - (2.625 * var(--tile-size)));
  top: calc(50% + (2.375 * var(--tile-size)));
}
div.pond.toimen {
  transform: rotate(180deg);
  left: calc(50% - (2.375 * var(--tile-size)));
  top: calc(50% + (2.625 * var(--tile-size)));
}
div.pond.kamicha {
  transform: rotate(90deg);
  left: calc(50% - (2.125 * var(--tile-size)));
  top: calc(50% + (2.375 * var(--tile-size)));
}
@media (min-aspect-ratio: 6/5) {
  input.mobile-zoom-checkbox + label {
    display: none;
  }
}
@media (max-aspect-ratio: 6/5) {
  main {
    --mobile-scale-factor: 1.5;
  }
  input.mobile-zoom-checkbox + label {
    background: none;
    position: absolute;
    left: calc(1.25 * var(--tile-size));
    bottom: calc(2 * var(--tile-size));
    border-radius: calc(0.125 * var(--tile-size));
    opacity: 0.5;
    margin: 0;
    padding: 0;
    z-index: 1000;
    width: calc(1.5 * var(--tile-size));
    height: calc(1.5 * var(--tile-size));
  }
  input.mobile-zoom-checkbox:not(:checked) + label > svg:first-child,
  input.mobile-zoom-checkbox:checked + label > svg:last-child {
    display: none;
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self {
    transform: scale(var(--mobile-scale-factor));
    transform-origin: 0% 100%;
    margin-left: calc(-0.125 * var(--tile-size));
    padding-top: calc(0.25 * var(--tile-size));
    max-width: calc(11 * var(--tile-size));
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self {
    flex-flow: row wrap-reverse;
    justify-content: flex-start;
    row-gap: calc(0.25 * var(--tile-size));
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self > div.tiles {
    margin-left: 0;
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self > div.calls {
    transform: scale(calc(1 / var(--mobile-scale-factor)));
    transform-origin: 100% 100%;
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self > div.tiles:hover::before,
  input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self > div.calls:hover::before {
    display: none;
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.buttons,
  input.mobile-zoom-checkbox:not(:checked) ~ div.call-buttons-container {
    bottom: calc(2 * var(--tile-size));
  }
  div#container.minefield input.mobile-zoom-checkbox + label {
    bottom: calc(7 * var(--tile-size));
  }
  div#container.minefield input.mobile-zoom-checkbox:not(:checked) ~ div.hand.self > div.calls > div.call.aside {
    transform: translateY(calc(-2 * var(--tile-size))) scale(var(--mobile-scale-factor));
    transform-origin: 100% 100%;
  }
  div#container.minefield input.mobile-zoom-checkbox:not(:checked) ~ div.buttons,
  div#container.minefield input.mobile-zoom-checkbox:not(:checked) ~ div.call-buttons-container {
    bottom: calc(5.75 * var(--tile-size));
  }
}
div.compass {
  position: relative;
  width: calc(4.75 * var(--tile-size));
  height: calc(4.75 * var(--tile-size));
  left: calc(50% - (2.375 * var(--tile-size)));
  top: calc(50% - (2.625 * var(--tile-size)));
  transform-origin: 50% 50%;
  user-select: none;
  z-index: 5;
}
div.compass::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: gray;
  border-radius: calc(0.25 * var(--tile-size));
  z-index: -2;
  filter: drop-shadow(0 calc(var(--tile-size) / 4) 0 #3F3F3F);
}
div.compass > div.score-box {
  position: absolute;
  width: 0;
  height: 0;
  left: calc(50% - (1.25 * var(--tile-size)));
  top: calc(50% - (1.25 * var(--tile-size)));
  border-radius: calc(0.25 * var(--tile-size));
  border: calc(1.25 * var(--tile-size)) solid black;
  z-index: -1;
}
div.compass > div.direction {
  position: absolute;
  width: 100%;
  height: 50%;
  top: 50%;
  transform-origin: 50% 0%;
  pointer-events: none;
}
div.compass.east > div.direction.east {
  transform: rotate(0deg);
}
div.compass.east > div.direction.south {
  transform: rotate(270deg);
}
div.compass.east > div.direction.west {
  transform: rotate(180deg);
}
div.compass.east > div.direction.north {
  transform: rotate(90deg);
}
div.compass.south > div.direction.east {
  transform: rotate(90deg);
}
div.compass.south > div.direction.south {
  transform: rotate(0deg);
}
div.compass.south > div.direction.west {
  transform: rotate(270deg);
}
div.compass.south > div.direction.north {
  transform: rotate(180deg);
}
div.compass.west > div.direction.east {
  transform: rotate(180deg);
}
div.compass.west > div.direction.south {
  transform: rotate(90deg);
}
div.compass.west > div.direction.west {
  transform: rotate(0deg);
}
div.compass.west > div.direction.north {
  transform: rotate(270deg);
}
div.compass.north > div.direction.east {
  transform: rotate(270deg);
}
div.compass.north > div.direction.south {
  transform: rotate(180deg);
}
div.compass.north > div.direction.west {
  transform: rotate(90deg);
}
div.compass.north > div.direction.north {
  transform: rotate(0deg);
}
div.compass > div.direction > div.riichi-tray {
  position: absolute;
  width: calc(2.25 * var(--tile-size));
  height: calc(0.625 * var(--tile-size));
  bottom: calc(0.3125 * var(--tile-size));
  left: calc(50% - (1.125 * var(--tile-size)));
  border-radius: calc(0.25 * var(--tile-size));
  background: darkgray;
}
div.compass > div.direction > div.riichi-tray.highlighted {
  background: var(--tile-back);
}
div.compass > div.direction > div.riichi-tray.riichi::before {
  content: "";
  position: absolute;
  width: calc(2 * var(--tile-size));
  height: calc(0.2 * var(--tile-size));
  border-radius: calc(0.0625 * var(--tile-size));
  left: calc(50% - (1 * var(--tile-size)));
  bottom: calc(50% - (0.1 * var(--tile-size)));
  background: white;
}
div.compass > div.direction > div.riichi-tray.riichi::after {
  content: "";
  position: absolute;
  width: calc(0.1 * var(--tile-size));
  height: calc(0.1 * var(--tile-size));
  border-radius: 50%;
  left: calc(50% - (0.05 * var(--tile-size)));
  bottom: calc(50% - (0.05 * var(--tile-size)));
  background: red;
}
div.compass > div.direction > div.wind-marker {
  position: absolute;
  font-size: calc(0.75 * var(--tile-size));
  color: var(--tile-front);
  width: var(--tile-size);
  height: var(--tile-size);
  bottom: calc(0.125 * var(--tile-size));
  right: calc(-0.0625 * var(--tile-size));
}
div.compass > div.direction > div.wind-marker.highlighted {
  color: var(--tile-back);
}
div.compass > div.direction > div.wind-marker.bot,
div.compass > div.direction > div.wind-marker.highlighted.bot {
  color: #FF7F7F;
}
div.compass > div.direction > div.score-counter {
  position: absolute;
  width: calc(2 * var(--tile-size));
  height: calc(0.66 * var(--tile-size));
  left: calc(50% - (1 * var(--tile-size)));
  top: calc(50% - (0.6 * var(--tile-size)));
  text-align: center;
  font-size: calc(0.5 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  color: var(--tile-back);
  pointer-events: initial;
}
div.compass > div.direction > div.score-counter.scientific {
  font-size: calc(0.4 * var(--tile-size));
}
div.compass > div.direction > div.score-counter.relative {
  color: lightgreen;
}
div.compass > div.direction > div.score-counter.negative {
  color: red;
}
div.compass > div.direction > div.score-counter:hover,
div.compass > div.direction > div.score-counter.scientific:hover {
  width: calc(3 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  left: calc(50% - (1.5 * var(--tile-size)));
  top: calc(50% - (0.25 * var(--tile-size)));
  font-size: calc(0.6 * var(--tile-size));
  background: black;
  z-index: 10;
}
div.compass > div.direction > div.score-counter > b {
  font-size: calc(0.5 * var(--tile-size));
  color: var(--tile-front);
}
div.compass > div.direction > div.score-counter:hover > b {
  font-size: calc(0.75 * var(--tile-size));
}
div.compass > div.centerpiece {
  position: relative;
  text-align: center;
  width: calc(1 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
  color: black;
  left: calc(50% - (0.5 * var(--tile-size)));
  top: calc(50% - (0.5 * var(--tile-size)));
  z-index: 1;
  color: white;
  transform-origin: 50% 50%;
}
div.compass > div.centerpiece::before {
  position: absolute;
  content: "";
  background: #5F5F5F;
  border: calc(0.55 * var(--tile-size)) ridge #5F5F5F;
  left: calc(50% - (0.55 * var(--tile-size)));
  top: calc(50% - (0.55 * var(--tile-size)));
  z-index: -1;
}
div.compass > div.centerpiece > div.tiles-left:last-child {
  transform: translateY(calc(0.2 * var(--tile-size)));
}
div.riichi-stick-counter,
div.honba-counter {
  position: absolute;
  font-size: calc(0.25 * var(--tile-size));
  left: calc(0.075 * var(--tile-size));
  right: calc(0.075 * var(--tile-size));
  width: calc(100% - 0.15 * var(--tile-size));
  display: grid;
  grid-template-columns: 1fr min-content;
  justify-content: flex-end;
  align-items: center;
  column-gap: calc(0.1 * var(--tile-size));
}
div.riichi-stick-counter {
  bottom: calc(0.2 * var(--tile-size));
}
div.honba-counter {
  bottom: calc(-0.05 * var(--tile-size));
}
div.riichi-stick-counter::before,
div.riichi-stick-counter::after,
div.honba-counter::before,
div.honba-counter::after {
  content: "";
  grid-column: 0;
}
div.riichi-stick-counter::before,
div.honba-counter::before {
  width: 100%;
  height: calc(0.16 * var(--tile-size));
  border-radius: calc(0.08 * var(--tile-size));
  background: white;
  z-index: 1;
}
div.riichi-stick-counter::after,
div.honba-counter::after {
  font-family: Arial;
  font-size: calc(0.3 * var(--tile-size));
  height: 0;
  margin: auto;
  z-index: 2;
}
div.riichi-stick-counter::after {
  content: "\2022";
  transform: translateY(calc(-0.38 * var(--tile-size))) translateX(calc(-0.03 * var(--tile-size))) rotate(90deg);
  transform-origin: 50% calc(0.2 * var(--tile-size));
  color: red;
}
div.honba-counter::after {
  content: "\28ff";
  transform: translateY(calc(-0.38 * var(--tile-size))) rotate(90deg);
  transform-origin: 50% calc(0.2 * var(--tile-size));
  color: #182890;
}
div.compass ~ div.compass {
  display: none;
}
div.corner-info {
  position: absolute;
  text-align: center;
  background: #0000000F;
  color: #FFFFFF3F;
  border-radius: calc(0.25 * var(--tile-size));
  transform-origin: calc(-2.5 * var(--tile-size)) calc(-2.5 * var(--tile-size));
  width: calc(3 * var(--tile-size));
  height: calc(3 * var(--tile-size));
  right: calc(2.5 * var(--tile-size));
  bottom: calc(2.5 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
  padding-top: calc(1.5 * var(--tile-size) - 2em);
  box-sizing: border-box;
  user-select: none;
  z-index: 2;
}
div.corner-info:hover {
  z-index: 5;
}
div.corner-info.shimocha {
  transform: rotate(270deg);
}
div.corner-info.toimen {
  transform: rotate(180deg);
}
div.corner-info.kamicha {
  transform: rotate(90deg);
}
div.corner-info > div.round-marker {
  position: absolute;
  border-radius: calc(0.25 * var(--tile-size));
  font-size: calc(0.55 * var(--tile-size));
  background: var(--tile-back);
  color: var(--tile-front);
  filter: drop-shadow(0 calc(var(--tile-size) / 16) 0 var(--tile-back-side)) drop-shadow(0 calc(var(--tile-size) / 16) 0 var(--tile-front-side));
  width: calc(1.5 * var(--tile-size));
  height: calc(0.75 * var(--tile-size));
  right: calc(-1 * var(--tile-size));
  bottom: calc(0.25 * var(--tile-size));
}
div.corner-info > div.saki-cards {
  display: flex;
}
@keyframes aiThinking {
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
}
div.corner-info > div.ai-thinking::before {
  position: absolute;
  content: "";
  font-size: calc(1 * var(--tile-size));
  color: var(--tile-front);
  bottom: calc(50% - 0.5 * var(--tile-size));
  left: calc(50% - 0.4 * var(--tile-size));
  animation: aiThinking 3s linear forwards infinite;
}
div.corner-info.self {
  z-index: 3;
}
div.corner-info > div.shuugi-display {
  display: flex;
  flex-flow: row nowrap;
  position: absolute;
  font-size: calc(0.9 * var(--tile-size));
  color: var(--tile-front);
  text-align: center;
  width: 100%;
  height: 50%;
  bottom: 0;
  justify-content: flex-start;
  column-gap: 0.2em;
}
div.corner-info > div.shuugi-display > div.chips {
  font-family: "Arial";
  display: flex;
  flex-flow: column-reverse nowrap;
}
div.corner-info > div.shuugi-display > div.chips.chip1 {
  color: #000000;
}
div.corner-info > div.shuugi-display > div.chips.chip2 {
  color: #0000af;
}
div.corner-info > div.shuugi-display > div.chips.chip3 {
  color: #af0000;
}
div.corner-info > div.shuugi-display > div.chips.chip4 {
  color: #afafaf;
}
div.corner-info > div.shuugi-display > div.chips > div.chip::before {
  display: flex;
  flex-flow: column-reverse nowrap;
  justify-content: flex-start;
  width: 0.8ex;
  height: 0.135em;
  content: "\26c3";
  clip-path: inset(calc(-0.4em - 100%) -1ex 0 0);
}
div.corner-info > div.shuugi-display > div.chips > div.chip:last-child::before {
  content: "\26c2";
  height: 0.06em;
  transform: translate(0.0075em, calc(0.1em - 100%));
  clip-path: none;
  z-index: 1;
}
div.corner-info > div.shuugi-display > span {
  position: absolute;
  display: block;
  bottom: -0.75em;
  font-size: calc(0.6 * var(--tile-size));
  opacity: 0.5;
  width: 100%;
  text-align: center;
}
div.corner-info > div.shuugi-display:hover > span {
  opacity: 1;
  font-weight: bold;
}
div.tile {
  --tile-scale-factor: 1;
  --tile-width: calc(var(--tile-scale-factor) * 0.75 * var(--tile-size));
  --tile-height: calc(var(--tile-scale-factor) * 1 * var(--tile-size));
  --tile-color: transparent;
  --number-color: black;
  --aka-color: #d71e1e;
  --galaxy-color: #67b5ef;
  --ao-color: #2f5298;
  --kin-color: #c9a146;
  --border-width: calc(0 * var(--tile-size));
  --border-color: transparent;
  --num-tiles: 241;
  position: relative;
  width: var(--tile-width);
  height: var(--tile-height);
  background-image:
    url(/images/tiles.png),
    conic-gradient(var(--tile-color) 0 0),
    repeating-linear-gradient(0deg, transparent calc(0 * var(--tile-size)), transparent calc(5.75 * var(--tile-size)), var(--tile-front-side) calc(5.75 * var(--tile-size)), var(--tile-front-side) calc(6 * var(--tile-size)));
  background-repeat:
    no-repeat,
    initial,
    initial;
  background-size: auto calc(var(--tile-scale-factor) * var(--num-tiles) * var(--tile-size));
  background-position: 0 0;
  border: var(--border-width) solid var(--border-color);
  border-radius: calc(0.10 * var(--tile-size) * var(--tile-scale-factor));
  flex-shrink: 0;
  box-sizing: border-box;
}
div.tile.flat {
  background-image: url(/images/tiles.png), conic-gradient(var(--tile-color) 0 0);
}
@keyframes doraShine {
  0% {
    transform: translate(-100%, -100%) rotate(135deg);
  }
  100% {
    transform: translate(0%, 0%) rotate(135deg);
  }
}
div.tile.dora:not(.\31x):not(.selected) {
  position: relative;
  --border-radius: calc(0.10 * var(--tile-size) * var(--tile-scale-factor));
  overflow: hidden;
}
div.hand.self div.tile.dora:not(.\31x):not(.selected),
div.revealed-tiles div.tile.dora:not(.\31x):not(.selected) {
  clip-path: rect(calc(var(--tile-height) / -4) 100% 100% 0 round var(--border-radius));
  overflow: visible;
}
div.hand.kamicha div.tile.dora:not(.\31x):not(.selected) {
  clip-path: rect(0 calc(var(--tile-width) / 0.75) 100% 0 round var(--border-radius));
  overflow: visible;
}
div.hand.toimen div.tile.dora:not(.\31x):not(.selected) {
  clip-path: rect(calc(var(--tile-height) / -4) 100% 100% 0 round var(--border-radius));
  overflow: visible;
}
div.hand.shimocha div.tile.dora:not(.\31x):not(.selected) {
  clip-path: rect(0 100% 100% calc(var(--tile-width) / -4) round var(--border-radius));
  overflow: visible;
}
div.tile.dora:not(.\31x):not(.selected)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  animation: doraShine 3s infinite;
  animation-delay: var(--dora-anim-delay, 0ms);
  width: 400%;
  height: 400%;
  background: linear-gradient(0deg, transparent 25%, #ffffff7f 35%, transparent 45%), linear-gradient(0deg, transparent 45%, #ffffff7f 65%, transparent 85%);
}
div.tile.sideways + div.tile.sideways {
  margin-right: calc(-1 * var(--tile-height));
  transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-1 * var(--tile-width)));
}
div.tile.sideways + div.tile.sideways + div.tile.sideways {
  transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-2 * var(--tile-width)));
}
div.tile.markable {
  cursor: pointer;
  --border-width: calc(0.05 * var(--tile-size));
  --border-color: var(--tile-back);
}
div.tile.markable:hover,
div.tile.marked {
  --border-width: calc(0.1 * var(--tile-size));
  --border-color: var(--tile-back);
}
div.tile {
  background-position-x: calc(0 * var(--tile-size) * var(--tile-scale-factor) - var(--border-width));
  background-position-y: calc(-1 * var(--tile-index) * var(--tile-size) * var(--tile-scale-factor) - var(--border-width));
}
div.tile.sideways {
  width: var(--tile-height);
  height: var(--tile-width);
  background-position-x: calc(-0.75 * var(--tile-size) * var(--tile-scale-factor) - var(--border-width));
}
div.tile.\30m {
  --number-color: var(--aka-color);
  --tile-index: 0;
}
div.tile.\31m {
  --tile-index: 1;
}
div.tile.\32m {
  --tile-index: 2;
}
div.tile.\33m {
  --tile-index: 3;
}
div.tile.\34m {
  --tile-index: 4;
}
div.tile.\35m {
  --tile-index: 5;
}
div.tile.\36m {
  --tile-index: 6;
}
div.tile.\37m {
  --tile-index: 7;
}
div.tile.\38m {
  --tile-index: 8;
}
div.tile.\39m {
  --tile-index: 9;
}
div.tile.\30p {
  --number-color: var(--aka-color);
  --tile-index: 10;
}
div.tile.\31p {
  --tile-index: 11;
}
div.tile.\32p {
  --tile-index: 12;
}
div.tile.\33p {
  --tile-index: 13;
}
div.tile.\34p {
  --tile-index: 14;
}
div.tile.\35p {
  --tile-index: 15;
}
div.tile.\36p {
  --tile-index: 16;
}
div.tile.\37p {
  --tile-index: 17;
}
div.tile.\38p {
  --tile-index: 18;
}
div.tile.\39p {
  --tile-index: 19;
}
div.tile.\30s {
  --number-color: var(--aka-color);
  --tile-index: 20;
}
div.tile.\31s {
  --tile-index: 21;
}
div.tile.\32s {
  --tile-index: 22;
}
div.tile.\33s {
  --tile-index: 23;
}
div.tile.\34s {
  --tile-index: 24;
}
div.tile.\35s {
  --tile-index: 25;
}
div.tile.\36s {
  --tile-index: 26;
}
div.tile.\37s {
  --tile-index: 27;
}
div.tile.\38s {
  --tile-index: 28;
}
div.tile.\39s {
  --tile-index: 29;
}
div.tile.\31z {
  --tile-index: 30;
}
div.tile.\32z {
  --tile-index: 31;
}
div.tile.\33z {
  --tile-index: 32;
}
div.tile.\34z {
  --tile-index: 33;
}
div.tile.\35z,
div.tile.\31x.transparent {
  --tile-index: 34;
}
div.tile.\36z {
  --tile-index: 35;
}
div.tile.\37z {
  --tile-index: 36;
}
div.tile.\30z {
  --tile-index: 37;
}
div.tile.\38z {
  --tile-index: 38;
}
div.tile.\39z {
  --tile-index: 39;
}
div.tile.\30 0s {
  --tile-index: 40;
}
div.tile.\31 0m {
  --tile-index: 41;
}
div.tile.\31 0p {
  --tile-index: 42;
}
div.tile.\31 0s {
  --tile-index: 43;
}
div.tile.\31x {
  --tile-index: 44;
}
div.tile.\31 f {
  --tile-index: 45;
}
div.tile.\32 f {
  --tile-index: 46;
}
div.tile.\33 f {
  --tile-index: 47;
}
div.tile.\34 f {
  --tile-index: 48;
}
div.tile.\31g {
  --tile-index: 49;
}
div.tile.\32g {
  --tile-index: 50;
}
div.tile.\33g {
  --tile-index: 51;
}
div.tile.\34g {
  --tile-index: 52;
}
div.tile.\31 a {
  --tile-index: 53;
}
div.tile.\32 a {
  --tile-index: 54;
}
div.tile.\33 a {
  --tile-index: 55;
}
div.tile.\34 a {
  --tile-index: 56;
}
div.tile.\31k {
  --tile-index: 57;
}
div.tile.\32k {
  --tile-index: 58;
}
div.tile.\33k {
  --tile-index: 59;
}
div.tile.\34k {
  --tile-index: 60;
}
div.tile.\31q {
  --tile-index: 61;
}
div.tile.\32q {
  --tile-index: 62;
}
div.tile.\33q {
  --tile-index: 63;
}
div.tile.\34q {
  --tile-index: 64;
}
div.tile.\31y {
  --tile-index: 65;
}
div.tile.\31t {
  --tile-index: 66;
}
div.tile.\32t {
  --tile-index: 67;
}
div.tile.\33t {
  --tile-index: 68;
}
div.tile.\34t {
  --tile-index: 69;
}
div.tile.\35t {
  --tile-index: 70;
}
div.tile.\36t {
  --tile-index: 71;
}
div.tile.\37t {
  --tile-index: 72;
}
div.tile.\38t {
  --tile-index: 73;
}
div.tile.\39t {
  --tile-index: 74;
}
div.tile.\31 0t {
  --tile-index: 75;
}
div.tile.\30j {
  --tile-index: 76;
}
div.tile.\32j {
  --tile-index: 77;
}
div.tile.\39j {
  --tile-index: 78;
}
div.tile.\34j {
  --tile-index: 79;
}
div.tile.\35j {
  --tile-index: 80;
}
div.tile.\36j,
div.tile.\31 6j {
  --tile-index: 81;
}
div.tile.\37j {
  --tile-index: 82;
}
div.tile.\38j {
  --tile-index: 83;
}
div.tile.\33j,
div.tile.\31 3j {
  --tile-index: 84;
}
div.tile.\30 0j {
  --tile-index: 85;
}
div.tile.\30 2j {
  --tile-index: 86;
}
div.tile.\30 9j {
  --tile-index: 87;
}
div.tile.\30 4j {
  --tile-index: 88;
}
div.tile.\30 5j {
  --tile-index: 89;
}
div.tile.\30 6j {
  --tile-index: 90;
}
div.tile.\30 7j {
  --tile-index: 91;
}
div.tile.\30 8j {
  --tile-index: 92;
}
div.tile.\30 3j {
  --tile-index: 93;
}
div.tile.\35 0j {
  --tile-index: 94;
}
div.tile.\35 2j {
  --tile-index: 95;
}
div.tile.\35 9j {
  --tile-index: 96;
}
div.tile.\35 4j {
  --tile-index: 97;
}
div.tile.\35 5j {
  --tile-index: 98;
}
div.tile.\35 6j {
  --tile-index: 99;
}
div.tile.\35 7j {
  --tile-index: 100;
}
div.tile.\35 8j {
  --tile-index: 101;
}
div.tile.\35 3j {
  --tile-index: 102;
}
div.tile.\38 0j {
  --tile-index: 103;
}
div.tile.\38 2j {
  --tile-index: 104;
}
div.tile.\38 9j {
  --tile-index: 105;
}
div.tile.\38 4j {
  --tile-index: 106;
}
div.tile.\38 5j {
  --tile-index: 107;
}
div.tile.\38 6j {
  --tile-index: 108;
}
div.tile.\38 7j {
  --tile-index: 109;
}
div.tile.\38 8j {
  --tile-index: 110;
}
div.tile.\38 3j {
  --tile-index: 111;
}
div.tile.\31j {
  --tile-index: 112;
}
div.tile.\31 0j {
  --tile-index: 113;
}
div.tile.\31 2j {
  --tile-index: 114;
}
div.tile.\31 4j {
  --tile-index: 115;
}
div.tile.\31 5j {
  --tile-index: 116;
}
div.tile.\31 7j {
  --tile-index: 117;
}
div.tile.\31 8j {
  --tile-index: 118;
}
div.tile.\31 9j {
  --tile-index: 119;
}
div.tile.\33 7j {
  --tile-index: 120;
}
div.tile.\34 6j {
  --tile-index: 121;
}
div.tile.\31 47j {
  --tile-index: 122;
}
div.tile.\32 58j {
  --tile-index: 123;
}
div.tile.\33 69j {
  --tile-index: 124;
}
div.tile.\37 89j {
  --tile-index: 125;
}
div.tile.\34 56j {
  --tile-index: 126;
}
div.tile.\31 23j {
  --tile-index: 127;
}
div.tile.\31 1j {
  --tile-index: 128;
}
div.tile.\32 2j {
  --tile-index: 129;
}
div.tile.\32 0j {
  --tile-index: 130;
}
div.tile.\39 1j {
  --tile-index: 131;
}
div.tile.\36 4j {
  --tile-index: 132;
}
div.tile.\37 3j {
  --tile-index: 133;
}
div.tile.\38 52j {
  --tile-index: 134;
}
div.tile.\33 0j {
  --tile-index: 135;
}
div.tile.\33 1j {
  --tile-index: 136;
}
div.tile.\33 2j {
  --tile-index: 137;
}
div.tile.\33 3j {
  --tile-index: 138;
}
div.tile.\33 4j {
  --tile-index: 139;
}
div.tile.\32y {
  --tile-index: 140;
}
div.tile.\34 1m {
  --tile-index: 141;
}
div.tile.\34 2m {
  --tile-index: 142;
}
div.tile.\34 3m {
  --tile-index: 143;
}
div.tile.\34 4m {
  --tile-index: 144;
}
div.tile.\34 5m {
  --tile-index: 145;
}
div.tile.\34 6m {
  --tile-index: 146;
}
div.tile.\34 7m {
  --tile-index: 147;
}
div.tile.\34 8m {
  --tile-index: 148;
}
div.tile.\34 9m {
  --tile-index: 149;
}
div.tile.\34 10m {
  --tile-index: 150;
}
div.tile.\34 1p {
  --tile-index: 151;
}
div.tile.\34 2p {
  --tile-index: 152;
}
div.tile.\34 3p {
  --tile-index: 153;
}
div.tile.\34 4p {
  --tile-index: 154;
}
div.tile.\34 5p {
  --tile-index: 155;
}
div.tile.\34 6p {
  --tile-index: 156;
}
div.tile.\34 7p {
  --tile-index: 157;
}
div.tile.\34 8p {
  --tile-index: 158;
}
div.tile.\34 9p {
  --tile-index: 159;
}
div.tile.\34 10p {
  --tile-index: 160;
}
div.tile.\34 1s {
  --tile-index: 161;
}
div.tile.\34 2s {
  --tile-index: 162;
}
div.tile.\34 3s {
  --tile-index: 163;
}
div.tile.\34 4s {
  --tile-index: 164;
}
div.tile.\34 5s {
  --tile-index: 165;
}
div.tile.\34 6s {
  --tile-index: 166;
}
div.tile.\34 7s {
  --tile-index: 167;
}
div.tile.\34 8s {
  --tile-index: 168;
}
div.tile.\34 9s {
  --tile-index: 169;
}
div.tile.\34 10s {
  --tile-index: 170;
}
div.tile.\34 1t {
  --tile-index: 171;
}
div.tile.\34 2t {
  --tile-index: 172;
}
div.tile.\34 3t {
  --tile-index: 173;
}
div.tile.\34 4t {
  --tile-index: 174;
}
div.tile.\34 5t {
  --tile-index: 175;
}
div.tile.\34 6t {
  --tile-index: 176;
}
div.tile.\34 7t {
  --tile-index: 177;
}
div.tile.\34 8t {
  --tile-index: 178;
}
div.tile.\34 9t {
  --tile-index: 179;
}
div.tile.\34 10t {
  --tile-index: 180;
}
div.tile.\34 0z {
  --tile-index: 181;
}
div.tile.\34 1z {
  --tile-index: 182;
}
div.tile.\34 2z {
  --tile-index: 183;
}
div.tile.\34 3z {
  --tile-index: 184;
}
div.tile.\34 4z {
  --tile-index: 185;
}
div.tile.\34 5z {
  --tile-index: 186;
}
div.tile.\34 6z {
  --tile-index: 187;
}
div.tile.\34 7z {
  --tile-index: 188;
}
div.tile.\34 8z {
  --tile-index: 189;
}
div.tile.\34 00s {
  --tile-index: 190;
}
div.tile.\35 1m {
  --tile-index: 191;
}
div.tile.\35 2m {
  --tile-index: 192;
}
div.tile.\35 3m {
  --tile-index: 193;
}
div.tile.\35 4m {
  --tile-index: 194;
}
div.tile.\35 5m {
  --tile-index: 195;
}
div.tile.\35 6m {
  --tile-index: 196;
}
div.tile.\35 7m {
  --tile-index: 197;
}
div.tile.\35 8m {
  --tile-index: 198;
}
div.tile.\35 9m {
  --tile-index: 199;
}
div.tile.\35 10m {
  --tile-index: 200;
}
div.tile.\35 1p {
  --tile-index: 201;
}
div.tile.\35 2p {
  --tile-index: 202;
}
div.tile.\35 3p {
  --tile-index: 203;
}
div.tile.\35 4p {
  --tile-index: 204;
}
div.tile.\35 5p {
  --tile-index: 205;
}
div.tile.\35 6p {
  --tile-index: 206;
}
div.tile.\35 7p {
  --tile-index: 207;
}
div.tile.\35 8p {
  --tile-index: 208;
}
div.tile.\35 9p {
  --tile-index: 209;
}
div.tile.\35 10p {
  --tile-index: 210;
}
div.tile.\35 1s {
  --tile-index: 211;
}
div.tile.\35 2s {
  --tile-index: 212;
}
div.tile.\35 3s {
  --tile-index: 213;
}
div.tile.\35 4s {
  --tile-index: 214;
}
div.tile.\35 5s {
  --tile-index: 215;
}
div.tile.\35 6s {
  --tile-index: 216;
}
div.tile.\35 7s {
  --tile-index: 217;
}
div.tile.\35 8s {
  --tile-index: 218;
}
div.tile.\35 9s {
  --tile-index: 219;
}
div.tile.\35 10s {
  --tile-index: 220;
}
div.tile.\35 1t {
  --tile-index: 221;
}
div.tile.\35 2t {
  --tile-index: 222;
}
div.tile.\35 3t {
  --tile-index: 223;
}
div.tile.\35 4t {
  --tile-index: 224;
}
div.tile.\35 5t {
  --tile-index: 225;
}
div.tile.\35 6t {
  --tile-index: 226;
}
div.tile.\35 7t {
  --tile-index: 227;
}
div.tile.\35 8t {
  --tile-index: 228;
}
div.tile.\35 9t {
  --tile-index: 229;
}
div.tile.\35 10t {
  --tile-index: 230;
}
div.tile.\35 0z {
  --tile-index: 231;
}
div.tile.\35 1z {
  --tile-index: 232;
}
div.tile.\35 2z {
  --tile-index: 233;
}
div.tile.\35 3z {
  --tile-index: 234;
}
div.tile.\35 4z {
  --tile-index: 235;
}
div.tile.\35 5z {
  --tile-index: 236;
}
div.tile.\35 6z {
  --tile-index: 237;
}
div.tile.\35 7z {
  --tile-index: 238;
}
div.tile.\35 8z {
  --tile-index: 239;
}
div.tile.\35 00s {
  --tile-index: 240;
}
div.tile.\30 1m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 191;
}
div.tile.\30 2m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 192;
}
div.tile.\30 3m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 193;
}
div.tile.\30 4m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 194;
}
div.tile.\30 5m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 195;
}
div.tile.\30 6m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 196;
}
div.tile.\30 7m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 197;
}
div.tile.\30 8m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 198;
}
div.tile.\30 9m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 199;
}
div.tile.\30 10m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 200;
}
div.tile.\30 1p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 201;
}
div.tile.\30 2p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 202;
}
div.tile.\30 3p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 203;
}
div.tile.\30 4p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 204;
}
div.tile.\30 5p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 205;
}
div.tile.\30 6p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 206;
}
div.tile.\30 7p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 207;
}
div.tile.\30 8p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 208;
}
div.tile.\30 9p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 209;
}
div.tile.\30 10p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 210;
}
div.tile.\30 1s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 211;
}
div.tile.\30 2s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 212;
}
div.tile.\30 3s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 213;
}
div.tile.\30 4s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 214;
}
div.tile.\30 5s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 215;
}
div.tile.\30 6s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 216;
}
div.tile.\30 7s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 217;
}
div.tile.\30 8s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 218;
}
div.tile.\30 9s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 219;
}
div.tile.\30 10s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 220;
}
div.tile.\30 1t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 221;
}
div.tile.\30 2t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 222;
}
div.tile.\30 3t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 223;
}
div.tile.\30 4t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 224;
}
div.tile.\30 5t,
div.tile.\30t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 225;
}
div.tile.\30 6t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 226;
}
div.tile.\30 7t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 227;
}
div.tile.\30 8t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 228;
}
div.tile.\30 9t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 229;
}
div.tile.\30 10t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 230;
}
div.tile.\30 0z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 231;
}
div.tile.\30 1z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 232;
}
div.tile.\30 2z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 233;
}
div.tile.\30 3z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 234;
}
div.tile.\30 4z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 235;
}
div.tile.\30 5z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 236;
}
div.tile.\30 6z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 237;
}
div.tile.\30 7z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 238;
}
div.tile.\30 8z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 239;
}
div.tile.\30 00s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 240;
}
div.tile.\31 1m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 191;
}
div.tile.\31 2m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 192;
}
div.tile.\31 3m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 193;
}
div.tile.\31 4m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 194;
}
div.tile.\31 5m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 195;
}
div.tile.\31 6m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 196;
}
div.tile.\31 7m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 197;
}
div.tile.\31 8m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 198;
}
div.tile.\31 9m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 199;
}
div.tile.\31 10m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 200;
}
div.tile.\31 1p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 201;
}
div.tile.\31 2p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 202;
}
div.tile.\31 3p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 203;
}
div.tile.\31 4p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 204;
}
div.tile.\31 5p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 205;
}
div.tile.\31 6p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 206;
}
div.tile.\31 7p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 207;
}
div.tile.\31 8p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 208;
}
div.tile.\31 9p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 209;
}
div.tile.\31 10p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 210;
}
div.tile.\31 1s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 211;
}
div.tile.\31 2s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 212;
}
div.tile.\31 3s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 213;
}
div.tile.\31 4s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 214;
}
div.tile.\31 5s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 215;
}
div.tile.\31 6s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 216;
}
div.tile.\31 7s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 217;
}
div.tile.\31 8s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 218;
}
div.tile.\31 9s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 219;
}
div.tile.\31 10s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 220;
}
div.tile.\31 1t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 221;
}
div.tile.\31 2t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 222;
}
div.tile.\31 3t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 223;
}
div.tile.\31 4t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 224;
}
div.tile.\31 5t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 225;
}
div.tile.\31 6t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 226;
}
div.tile.\31 7t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 227;
}
div.tile.\31 8t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 228;
}
div.tile.\31 9t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 229;
}
div.tile.\31 10t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 230;
}
div.tile.\31 0z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 231;
}
div.tile.\31 1z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 232;
}
div.tile.\31 2z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 233;
}
div.tile.\31 3z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 234;
}
div.tile.\31 4z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 235;
}
div.tile.\31 5z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 236;
}
div.tile.\31 6z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 237;
}
div.tile.\31 7z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 238;
}
div.tile.\31 8z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 239;
}
div.tile.\31 00s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 240;
}
div.tile.\32 1m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 191;
}
div.tile.\32 2m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 192;
}
div.tile.\32 3m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 193;
}
div.tile.\32 4m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 194;
}
div.tile.\32 5m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 195;
}
div.tile.\32 6m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 196;
}
div.tile.\32 7m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 197;
}
div.tile.\32 8m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 198;
}
div.tile.\32 9m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 199;
}
div.tile.\32 10m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 200;
}
div.tile.\32 1p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 201;
}
div.tile.\32 2p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 202;
}
div.tile.\32 3p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 203;
}
div.tile.\32 4p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 204;
}
div.tile.\32 5p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 205;
}
div.tile.\32 6p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 206;
}
div.tile.\32 7p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 207;
}
div.tile.\32 8p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 208;
}
div.tile.\32 9p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 209;
}
div.tile.\32 10p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 210;
}
div.tile.\32 1s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 211;
}
div.tile.\32 2s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 212;
}
div.tile.\32 3s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 213;
}
div.tile.\32 4s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 214;
}
div.tile.\32 5s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 215;
}
div.tile.\32 6s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 216;
}
div.tile.\32 7s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 217;
}
div.tile.\32 8s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 218;
}
div.tile.\32 9s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 219;
}
div.tile.\32 10s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 220;
}
div.tile.\32 1t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 221;
}
div.tile.\32 2t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 222;
}
div.tile.\32 3t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 223;
}
div.tile.\32 4t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 224;
}
div.tile.\32 5t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 225;
}
div.tile.\32 6t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 226;
}
div.tile.\32 7t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 227;
}
div.tile.\32 8t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 228;
}
div.tile.\32 9t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 229;
}
div.tile.\32 10t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 230;
}
div.tile.\32 0z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 231;
}
div.tile.\32 1z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 232;
}
div.tile.\32 2z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 233;
}
div.tile.\32 3z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 234;
}
div.tile.\32 4z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 235;
}
div.tile.\32 5z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 236;
}
div.tile.\32 6z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 237;
}
div.tile.\32 7z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 238;
}
div.tile.\32 8z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 239;
}
div.tile.\32 00s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 240;
}
div.tile.\33 1m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 191;
}
div.tile.\33 2m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 192;
}
div.tile.\33 3m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 193;
}
div.tile.\33 4m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 194;
}
div.tile.\33 5m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 195;
}
div.tile.\33 6m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 196;
}
div.tile.\33 7m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 197;
}
div.tile.\33 8m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 198;
}
div.tile.\33 9m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 199;
}
div.tile.\33 10m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 200;
}
div.tile.\33 1p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 201;
}
div.tile.\33 2p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 202;
}
div.tile.\33 3p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 203;
}
div.tile.\33 4p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 204;
}
div.tile.\33 5p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 205;
}
div.tile.\33 6p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 206;
}
div.tile.\33 7p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 207;
}
div.tile.\33 8p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 208;
}
div.tile.\33 9p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 209;
}
div.tile.\33 10p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 210;
}
div.tile.\33 1s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 211;
}
div.tile.\33 2s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 212;
}
div.tile.\33 3s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 213;
}
div.tile.\33 4s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 214;
}
div.tile.\33 5s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 215;
}
div.tile.\33 6s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 216;
}
div.tile.\33 7s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 217;
}
div.tile.\33 8s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 218;
}
div.tile.\33 9s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 219;
}
div.tile.\33 10s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 220;
}
div.tile.\33 1t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 221;
}
div.tile.\33 2t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 222;
}
div.tile.\33 3t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 223;
}
div.tile.\33 4t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 224;
}
div.tile.\33 5t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 225;
}
div.tile.\33 6t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 226;
}
div.tile.\33 7t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 227;
}
div.tile.\33 8t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 228;
}
div.tile.\33 9t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 229;
}
div.tile.\33 10t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 230;
}
div.tile.\33 0z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 231;
}
div.tile.\33 1z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 232;
}
div.tile.\33 2z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 233;
}
div.tile.\33 3z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 234;
}
div.tile.\33 4z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 235;
}
div.tile.\33 5z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 236;
}
div.tile.\33 6z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 237;
}
div.tile.\33 7z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 238;
}
div.tile.\33 8z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 239;
}
div.tile.\33 00s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 240;
}
div.tile.\32x {
  visibility: hidden;
}
div.tile.\33x {
  visibility: hidden;
  width: calc(0.5 * var(--tile-width));
}
div.tile.\34x {
  display: none;
}
div.tile.\35x {
  visibility: hidden;
  width: calc(0.25 * var(--tile-width));
}
div.tile.\36x {
  visibility: hidden;
  width: calc(0.125 * var(--tile-width));
}
div.tile.\37x {
  visibility: hidden;
  width: calc(0.0625 * var(--tile-width));
}
div.tile.\38x {
  visibility: hidden;
  width: calc(0.03125 * var(--tile-width));
}
div.tile.\31\'s {
  --tile-index: 40;
}
div.tile.\30 1\'s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 184;
}
div.tile.\31 1\'s {
  --tile-index: 212;
}
div.tile.\32 1\'s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 184;
}
div.tile.\33 1\'s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 184;
}
div.tile.\34 1\'s {
  --tile-index: 184;
}
div.tile.\35\'z {
  --tile-index: 37;
}
div.tile.\30 5\'z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 209;
}
div.tile.\32 5\'z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 209;
}
div.tile.\33 5\'z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 209;
}
div.tile.\34 5\'z {
  --tile-index: 209;
}
div.tile.\35\`z {
  --tile-index: 38;
}
div.tile.\30 5\`z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 212;
}
div.tile.\31 5\`z {
  --tile-index: 162;
}
div.tile.\32 5\`z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 212;
}
div.tile.\33 5\`z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 212;
}
div.tile.\34 5\`z {
  --tile-index: 212;
}
div.tile.\35\^z {
  --tile-index: 39;
}
div.tile.facedown {
  --tile-index: 44;
}
div.tile.red {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
}
div.tile.blue {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
}
div.tile.cyan {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
}
div.tile.gold {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
}
div.tile.orange {
  --tile-color: orange;
}
div.tile.yellow {
  --tile-color: yellow;
}
div.tile.green {
  --tile-color: green;
  --number-color: green;
}
div.tile.lightblue {
  --tile-color: lightblue;
}
div.tile.purple {
  --tile-color: purple;
  --number-color: purple;
}
div.tile.gray {
  --tile-color: gray;
  --number-color: gray;
}
div.tile.grey {
  --tile-color: grey;
  --number-color: grey;
}
div.tile.lightgray {
  --tile-color: lightgray;
}
div.tile.lightgrey {
  --tile-color: lightgrey;
}
div.tile.brown {
  --tile-color: brown;
  --number-color: brown;
}
div.tile.pink {
  --tile-color: pink;
}
div.tile.black {
  --tile-color: black;
  --number-color: black;
}
div.tile.white {
  --tile-color: white;
}
div.tile.rainbow {
  background-image: url(/images/tiles.png), repeating-linear-gradient(180deg, rgba(255, 0, 0, 1) 0%, rgba(255, 154, 0, 1) calc(0.1 * var(--tile-size)), rgba(208, 222, 33, 1) calc(0.2 * var(--tile-size)), rgba(79, 220, 74, 1) calc(0.3 * var(--tile-size)), rgba(63, 218, 216, 1) calc(0.4 * var(--tile-size)), rgba(47, 201, 226, 1) calc(0.5 * var(--tile-size)), rgba(28, 127, 238, 1) calc(0.6 * var(--tile-size)), rgba(95, 21, 242, 1) calc(0.7 * var(--tile-size)), rgba(186, 12, 248, 1) calc(0.8 * var(--tile-size)), rgba(251, 7, 217, 1) calc(0.9 * var(--tile-size)), rgba(255, 0, 0, 1) calc(1 * var(--tile-size)));
}
@keyframes rainbowAnim {
  100% {
    background-position-y: calc(-1 * var(--tile-index) * var(--tile-size) * var(--tile-scale-factor) - var(--border-width)), calc(2 * var(--tile-size));
  }
}
div.tile.rainbow.anim {
  background-position-y: calc(-1 * var(--tile-index) * var(--tile-size) * var(--tile-scale-factor) - var(--border-width)), calc(1 * var(--tile-size));
  animation: rainbowAnim 4s linear forwards infinite;
}
div.tile {
  --tile-brightness: 100%;
  --tile-saturate: 100%;
  filter: brightness(var(--tile-brightness)) saturate(var(--tile-saturate));
}
div.tile:not(.flat) {
  padding-top: calc(0.25 * var(--tile-size));
  box-shadow: 0 calc(var(--tile-height) / -8) 0 0 var(--tile-front-side), 0 calc(var(--tile-height) / -4) 0 0 var(--tile-back-side);
}
div.hand.self div.tiles > div.tile.selected,
div.hand.self div.draws > div.tile.selected {
  transform: translateY(calc(-0.25 * var(--tile-size)));
  position: relative;
}
div.hand.self div.tiles > div.tile.selected::before,
div.hand.self div.draws > div.tile.selected::before {
  content: "";
  position: absolute;
  background: transparent;
  width: 100%;
  height: calc(0.25 * var(--tile-size));
  bottom: calc(-0.25 * var(--tile-size));
}
div.tile.sideways:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / -16) 0 0 var(--tile-front-side), 0 calc(var(--tile-height) / -8) 0 0 var(--tile-back-side);
}
div.pond.self div.tile:not(.flat),
div.self div.flowers div.tile:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / 8) 0 0 var(--tile-front-side), 0 calc(var(--tile-height) / 4) 0 0 var(--tile-back-side);
}
div.shimocha div.tile:not(.flat) {
  box-shadow: calc(var(--tile-height) / -8) 0 0 0 var(--tile-front-side), calc(var(--tile-height) / -4) 0 0 0 var(--tile-back-side);
}
div.kamicha div.tile:not(.flat) {
  box-shadow: calc(var(--tile-height) / 8) 0 0 0 var(--tile-front-side), calc(var(--tile-height) / 4) 0 0 0 var(--tile-back-side);
}
div.tile.reversed:not(.flat) {
  transform: scaleX(-100%) translateY(calc(var(--tile-height) / -4)) translateZ(0);
  box-shadow: 0 calc(var(--tile-height) / 8) 0 0 var(--tile-front-side), 0 calc(var(--tile-height) / 4) 0 0 var(--tile-back-side);
}
div.pond.self div.tile.reversed:not(.flat) {
  transform: scaleX(-100%) translateY(calc(var(--tile-height) / -4)) translateZ(0);
}
div.shimocha div.tile.reversed:not(.flat) {
  transform: scaleX(-100%) translateX(calc(var(--tile-height) / 4)) translateZ(0);
}
div.kamicha div.tile.reversed:not(.flat) {
  transform: scaleX(-100%) translateX(calc(var(--tile-height) / -4)) translateZ(0);
}
div.shimocha div.tile:nth-child(2) {
  z-index: -1;
}
div.shimocha div.tile:nth-child(3) {
  z-index: -2;
}
div.shimocha div.tile:nth-child(4) {
  z-index: -3;
}
div.shimocha div.tile:nth-child(5) {
  z-index: -4;
}
div.shimocha div.tile:nth-child(6) {
  z-index: -5;
}
div.shimocha div.tile:nth-child(7) {
  z-index: -6;
}
div.shimocha div.tile:nth-child(8) {
  z-index: -7;
}
div.shimocha div.tile:nth-child(9) {
  z-index: -8;
}
div.shimocha div.tile:nth-child(10) {
  z-index: -9;
}
div.shimocha div.tile:nth-child(11) {
  z-index: -10;
}
div.shimocha div.tile:nth-child(12) {
  z-index: -11;
}
div.shimocha div.tile:nth-child(13) {
  z-index: -12;
}
div.shimocha div.tile:nth-child(14) {
  z-index: -13;
}
div.shimocha div.tile:nth-child(15) {
  z-index: -14;
}
div.shimocha div.tile:nth-child(16) {
  z-index: -15;
}
div.shimocha div.tile:nth-child(17) {
  z-index: -16;
}
div.shimocha div.tile:nth-child(18) {
  z-index: -17;
}
div.shimocha div.tile:nth-child(19) {
  z-index: -18;
}
div.shimocha div.tile:nth-child(20) {
  z-index: -19;
}
div.shimocha div.tile:nth-child(21) {
  z-index: -20;
}
div.shimocha div.tile:nth-child(22) {
  z-index: -21;
}
div.shimocha div.tile:nth-child(23) {
  z-index: -22;
}
div.shimocha div.tile:nth-child(24) {
  z-index: -23;
}
div.shimocha div.tile:nth-child(25) {
  z-index: -24;
}
div.shimocha div.tile:nth-child(26) {
  z-index: -25;
}
div.shimocha div.tile:nth-child(27) {
  z-index: -26;
}
div.shimocha div.tile:nth-child(28) {
  z-index: -27;
}
div.shimocha div.tile:nth-child(29) {
  z-index: -28;
}
div.shimocha div.tile:nth-child(30) {
  z-index: -29;
}
div.self div.tile:nth-child(1) {
  z-index: 0;
}
div.self div.tile:nth-child(2) {
  z-index: 1;
}
div.self div.tile:nth-child(3) {
  z-index: 2;
}
div.self div.tile:nth-child(4) {
  z-index: 3;
}
div.self div.tile:nth-child(5) {
  z-index: 4;
}
div.self div.tile:nth-child(6) {
  z-index: 5;
}
div.self div.tile:nth-child(7) {
  z-index: 6;
}
div.self div.tile:nth-child(8) {
  z-index: 7;
}
div.self div.tile:nth-child(9) {
  z-index: 8;
}
div.self div.tile:nth-child(10) {
  z-index: 9;
}
div.self div.tile:nth-child(11) {
  z-index: 10;
}
div.self div.tile:nth-child(12) {
  z-index: 11;
}
div.self div.tile:nth-child(13) {
  z-index: 12;
}
div.self div.tile:nth-child(14) {
  z-index: 13;
}
div.self div.tile:nth-child(15) {
  z-index: 14;
}
div.self div.tile:nth-child(16) {
  z-index: 15;
}
div.self div.tile:nth-child(17) {
  z-index: 16;
}
div.self div.tile:nth-child(18) {
  z-index: 17;
}
div.self div.tile:nth-child(19) {
  z-index: 18;
}
div.self div.tile:nth-child(20) {
  z-index: 19;
}
div.self div.tile:nth-child(21) {
  z-index: 20;
}
div.self div.tile:nth-child(22) {
  z-index: 21;
}
div.self div.tile:nth-child(23) {
  z-index: 22;
}
div.self div.tile:nth-child(24) {
  z-index: 23;
}
div.self div.tile:nth-child(25) {
  z-index: 24;
}
div.self div.tile:nth-child(26) {
  z-index: 25;
}
div.self div.tile:nth-child(27) {
  z-index: 26;
}
div.self div.tile:nth-child(28) {
  z-index: 27;
}
div.self div.tile:nth-child(29) {
  z-index: 28;
}
div.self div.tile:nth-child(30) {
  z-index: 29;
}
div.tile.\31x:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / -8) 0 0 var(--tile-back-side), 0 calc(var(--tile-height) / -4) 0 0 var(--tile-front-side);
}
div.tile.\31x.sideways:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / -16) 0 0 var(--tile-back-side), 0 calc(var(--tile-height) / -8) 0 0 var(--tile-front-side);
}
div.pond.self div.tile.\31x:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / 8) 0 0 var(--tile-back-side), 0 calc(var(--tile-height) / 4) 0 0 var(--tile-front-side);
}
div.shimocha div.tile.\31x:not(.flat) {
  box-shadow: calc(var(--tile-height) / -8) 0 0 0 var(--tile-back-side), calc(var(--tile-height) / -4) 0 0 0 var(--tile-front-side);
}
div.kamicha div.tile.\31x:not(.flat) {
  box-shadow: calc(var(--tile-height) / 8) 0 0 0 var(--tile-back-side), calc(var(--tile-height) / 4) 0 0 0 var(--tile-front-side);
}
div.tiles div.tile.facedown:not(.flat) {
  box-shadow: 0 calc(var(--tile-height) / 8) 0 0 var(--tile-back-side), 0 calc(var(--tile-height) / 4) 0 0 var(--tile-front-side);
}
@keyframes tilePlayed {
  67% {
    width: var(--tile-width);
  }
  100% {
    width: 0;
  }
}
div.tile.removed {
  background: transparent;
  box-shadow: none;
  animation: tilePlayed 0.75s ease forwards;
}
div.tile.removed ~ div.tile.draw {
  margin-left: 0;
}
@keyframes slideUp {
  0% {
    transform: translateY(calc(2 * var(--tile-size)));
    opacity: 0;
  }
  100% {
  }
}
div.pond > div.tile.just-played:last-child {
  animation: slideUp 0.2s ease forwards;
}
@keyframes slideUp2 {
  0% {
    transform: translateY(calc(-0.25 * var(--tile-size)));
  }
  100% {
    transform: translateY(calc(-2 * var(--tile-size)));
    opacity: 0;
  }
}
div.tile.played {
  animation: slideUp2 0.2s ease forwards;
}
@keyframes slideLeft {
  0% {
    transform: translateX(calc(2 * var(--tile-size)));
    opacity: 0;
  }
  100% {
  }
}
div.hand.just-drew > div.draws > div.tile {
  animation: slideLeft 0.2s ease forwards;
}
@keyframes slideRight {
  0% {
    transform: translateX(calc(-6 * var(--tile-size)));
    opacity: 0;
  }
  100% {
  }
}
div.hand.just-called > div.calls > div.call.just-called,
div.hand.just-called-flower > div.flowers > div.tile:last-child {
  animation: slideRight 0.4s ease forwards;
}
@keyframes slideDown {
  0% {
    transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-3 * var(--tile-width)));
    opacity: 0;
  }
  100% {
    transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-1 * var(--tile-width)));
  }
}
@keyframes slideDown2 {
  0% {
    transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-4 * var(--tile-width)));
    opacity: 0;
  }
  100% {
    transform: translateX(calc(-1 * var(--tile-height))) translateY(calc(-2 * var(--tile-width)));
  }
}
div.hand.just-upgraded > div.calls > div.call.just-upgraded div.tile.sideways + div.tile.last-sideways::before {
  animation: slideDown 0.2s ease forwards;
}
div.hand.just-upgraded > div.calls > div.call.just-upgraded div.tile.sideways + div.tile.sideways + div.tile.last-sideways::before {
  animation: slideDown2 0.2s ease forwards;
}
div.buttons,
div.call-buttons-container {
  position: absolute;
  bottom: calc(1.5 * var(--tile-size));
  right: calc(1.5 * var(--tile-size));
  align-items: flex-end;
  z-index: 30;
}
div#container.minefield div.buttons,
div#container.minefield div.call-buttons-container {
  bottom: calc(2.75 * var(--tile-size));
  left: calc(2 * var(--tile-size));
  right: auto;
}
div.call-buttons-container {
  display: flex;
  flex-direction: column-reverse;
  row-gap: calc(0.25 * var(--tile-size));
  right: calc(4.5 * var(--tile-size));
}
div.buttons,
div.call-buttons {
  justify-content: right;
  align-items: center;
  column-gap: calc(0.25 * var(--tile-size));
  flex-wrap: wrap;
}
div.call-buttons > div.tile:first-child {
  margin-top: calc(0.25 * var(--tile-size));
}
div.call-buttons > div.call-button-separator {
  border-left: calc(0.5 * var(--tile-size)) solid var(--tile-back);
  border-top: calc(0.25 * var(--tile-size)) solid transparent;
  border-bottom: calc(0.25 * var(--tile-size)) solid transparent;
}
div.buttons > button,
div.call-buttons > button {
  font-size: calc(0.75 * var(--tile-size));
  padding: 0 calc(0.1625 * var(--tile-size));
  background: var(--tile-back);
  filter: none;
  transform: none;
}
div.buttons > button.small-text {
  font-size: calc(0.33 * var(--tile-size));
  max-width: calc(6 * var(--tile-size));
}
div.buttons > button {
  height: calc(1 * var(--tile-size));
  transform: skew(-15deg);
}
div.call-buttons > button {
  padding-top: calc(0.25 * var(--tile-size));
}
div.auto-buttons {
  position: absolute;
  font-size: calc(0.75 * var(--tile-size));
  bottom: calc(-1.5 * var(--tile-size));
  left: 0;
}
div.hand-piano-container {
  position: absolute;
  padding: calc(0.25 * var(--tile-size));
  height: calc(4.75 * var(--tile-size));
  bottom: calc(-4.5 * var(--tile-size));
  left: calc(-0.375 * var(--tile-size));
  right: calc(-0.5 * var(--tile-size));
  z-index: -1;
  display: none;
  overflow: hidden;
}
div.hand-piano-container > div.hand-piano-key {
  --even-color: hsl(27, 0%, 55%);
  --even-color-pressed: hsl(27, 50%, 50%);
  --odd-color: hsl(27, 0%, 40%);
  --odd-color-pressed: hsl(27, 50%, 35%);
  position: relative;
  flex: 0 0 calc(1.125 * var(--tile-size));
  transform-origin: 0 0;
  transform: scale(2);
  cursor: pointer;
  &::before,
  &::after {
    position: absolute;
    content: "";
    display: block;
    box-sizing: border-box;
  }
  &::before {
    background: var(--odd-color);
    width: calc(0.5625 * var(--tile-size));
    height: calc(2 * var(--tile-size));
  }
  &::after {
    background: linear-gradient(to bottom, transparent calc(0 * var(--tile-size)), var(--odd-color) calc(0.125 * var(--tile-size)));
    width: calc(0.5625 * var(--tile-size));
    height: calc(1 * var(--tile-size));
    top: calc(1 * var(--tile-size));
    left: calc(0.5625 * var(--tile-size));
    z-index: 1;
  }
  &:nth-child(2n+1) {
    top: calc(2 * var(--tile-size));
    &:first-child {
      top: calc(1 * var(--tile-size));
      height: calc(2 * var(--tile-size));
    }
  }
  &:nth-child(2n+1):not(:first-child) {
    &:before {
      height: calc(1 * var(--tile-size));
      top: calc(0.5 * var(--tile-size));
    }
    &:after {
      top: calc(0.5 * var(--tile-size));
    }
  }
  &:nth-child(2n) {
    height: calc(1 * var(--tile-size));
    top: calc(1 * var(--tile-size));
    z-index: 2;
    &::before {
      background: var(--even-color);
      height: calc(1 * var(--tile-size));
    }
    &::after {
      background: linear-gradient(to bottom, transparent calc(0 * var(--tile-size)), var(--even-color) calc(0.125 * var(--tile-size)));
      width: calc(0.5625 * var(--tile-size));
      height: calc(1 * var(--tile-size));
      top: 0;
      left: calc(0.5625 * var(--tile-size));
    }
  }
  &:nth-child(2n+1):last-child {
    &::before {
      height: calc(2 * var(--tile-size));
      left: calc(0.25 * var(--tile-size));
      top: calc(-0.5 * var(--tile-size));
    }
    &::after {
      left: 0;
      width: calc(1.125 * var(--tile-size));
    }
  }
  &:nth-child(2n):last-child {
    &::before {
      left: calc(0.25 * var(--tile-size));
    }
    &::after {
      left: 0;
      width: calc(1.125 * var(--tile-size));
    }
  }
  &:not(.inactive) {
    &:active,
    &.selected {
      &::before {
        background: var(--odd-color-pressed);
      }
      &::after {
        background: linear-gradient(to bottom, transparent calc(0 * var(--tile-size)), var(--odd-color-pressed) calc(0.125 * var(--tile-size)));
      }
    }
    &:nth-child(2n):active,
    &:nth-child(2n).selected {
      &::before {
        background: var(--even-color-pressed);
      }
      &::after {
        background: linear-gradient(to bottom, transparent calc(0 * var(--tile-size)), var(--even-color-pressed) calc(0.125 * var(--tile-size)));
      }
    }
  }
  --border-width: calc(0.001 * var(--tile-size));
  --border-color: black;
  &::before {
    border-left: var(--border-width) solid var(--border-color);
  }
  &:last-child::before {
    border-left: none;
  }
  &:last-child::after {
    border-left: var(--border-width) solid var(--border-color);
    border-right: var(--border-width) solid var(--border-color);
  }
  &.markable {
    --border-width: calc(0.05 * var(--tile-size));
    --border-color: var(--tile-back);
    &::before,
    &::after {
      border-bottom: var(--border-width) solid var(--border-color);
    }
  }
  &.marked {
    --border-width: calc(0.1 * var(--tile-size));
    --border-color: var(--tile-back);
    &::before,
    &::after {
      border-bottom: var(--border-width) solid var(--border-color);
    }
  }
  &.inactive {
    cursor: default;
    opacity: 0.7;
    filter: brightness(60%);
  }
  &:nth-child(2n).markable,
  &:nth-child(2n).marked {
    --border-color: var(--tile-back-side);
  }
}
@media (max-aspect-ratio: 6/5) {
  div#container input.mobile-zoom-checkbox:not(:checked) {
    & ~ .game-bottom-element {
      transform: translateY(calc(4 * var(--tile-size)));
    }
    & ~ div.hand-piano-container {
      display: flex;
      flex-flow: row nowrap;
      justify-elements: flex-start;
    }
  }
}
@keyframes textFade {
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
div.big-text {
  position: absolute;
  width: 100%;
  text-align: center;
  color: white;
  white-space: nowrap;
  font-size: calc(40 * var(--tile-size) / (8 + var(--big-text-length)));
  text-shadow: black calc(0.1 * var(--tile-size)) calc(0.1 * var(--tile-size));
  z-index: 50;
  animation: textFade 1.5s ease forwards;
  user-select: none;
  pointer-events: none;
}
div.big-text.self {
  bottom: 0;
}
div.big-text.kamicha {
  left: calc(-50% + (3 * var(--tile-size)));
  top: calc(50% - (3 * var(--tile-size)));
}
div.big-text.toimen {
  top: 0;
}
div.big-text.shimocha {
  left: calc(50% - (3 * var(--tile-size)));
  top: calc(50% - (3 * var(--tile-size)));
}
div.status-line {
  position: absolute;
  white-space: nowrap;
  font-size: calc(0.25 * var(--tile-size));
  background: #0000001F;
  width: calc(100% + var(--tile-size));
  left: calc(-0.5 * var(--tile-size));
  bottom: calc(-0.5 * var(--tile-size));
  transform-origin: 50% calc(-8.125 * var(--tile-size));
}
div.status-line.kamicha {
  transform: rotate(90deg);
}
div.status-line.toimen {
  transform: rotate(180deg);
}
div.status-line.shimocha {
  transform: rotate(270deg);
}
div.status-line > div.status-text {
  display: inline;
  color: white;
  margin-left: calc(0.5 * var(--tile-size));
}
div.visible-waits-container {
  position: absolute;
  width: calc(100% - 8.25 * var(--tile-size));
  left: calc(4.125 * var(--tile-size));
  bottom: calc(1.5 * var(--tile-size));
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-end;
  z-index: 100;
}
div.visible-waits {
  background: #0000007F;
  font-size: calc(0.4 * var(--tile-size));
  color: white;
  border-radius: calc(0.25 * var(--tile-size));
  padding: calc(0.25 * var(--tile-size));
  padding-bottom: calc(0.5 * var(--tile-size));
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-end;
}
div.visible-waits.spaced {
  row-gap: calc(0.5 * var(--tile-size));
}
@keyframes showWaitsLoading {
  0% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
div.visible-waits.visible-waits-loading {
  opacity: 0;
  animation: showWaitsLoading 0.5s linear forwards;
  padding-bottom: calc(0.25 * var(--tile-size));
  margin-bottom: calc(1.25 * var(--tile-size));
}
div.visible-waits > div.visible-wait {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  row-gap: calc(0.25 * var(--tile-size));
}
div.visible-waits.spaced > div.visible-wait > div.tile {
  margin: 0 calc(0.25 * var(--tile-size));
}
div.visible-waits > div.visible-wait > div.visible-wait-label {
  position: absolute;
  font-size: calc(0.275 * var(--tile-size));
  background-color: var(--tile-back);
  color: black;
  border-radius: calc(0.125 * var(--tile-size));
  padding: calc(var(--tile-size) / 32) calc(var(--tile-size) / 64);
  bottom: calc(-0.5 * var(--tile-size));
  white-space: nowrap;
  z-index: 1;
}
div.display-am-hand-hover {
  position: absolute;
  bottom: calc(-0.5 * var(--tile-size));
  right: calc(6.5 * var(--tile-size));
}
div.display-am-hand-hover::before {
  content: "(nearest hands)";
  background: gray;
  position: absolute;
  padding: 0 calc(0.125 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  font-size: calc(0.75 * var(--tile-size));
  white-space: nowrap;
}
div.display-am-hand-container {
  position: absolute;
  display: none;
  width: calc(100% - 2.5 * var(--tile-size));
  left: calc(1 * var(--tile-size));
  bottom: calc(2.5 * var(--tile-size));
  background: #0000007F;
  font-size: calc(0.4 * var(--tile-size));
  color: white;
  border-radius: calc(0.25 * var(--tile-size));
  padding: calc(0.25 * var(--tile-size));
  padding-top: calc(0.5 * var(--tile-size));
}
div.display-am-hand-hover:hover + div.display-am-hand-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  z-index: 100;
  row-gap: calc(0.5 * var(--tile-size));
}
div.display-am-hand {
  display: flex;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  position: relative;
}
div.display-am-hand-type {
  position: absolute;
  font-size: calc(0.75 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  bottom: 0;
  right: calc(-0.5 * var(--tile-size));
}
div.revealed-tiles {
  display: flex;
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  top: calc(-1.5 * var(--tile-size));
  left: 0;
  z-index: -1;
}
div.scryed-tiles-container {
  display: flex;
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  bottom: calc(2.5 * var(--tile-size));
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 10;
}
div.scryed-tiles {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  position: relative;
}
div.scryed-tiles::before {
  content: "";
  background: #0000003F;
  position: absolute;
  border-radius: calc(0.25 * var(--tile-size));
  top: calc(-0.5 * var(--tile-size));
  width: calc(100% + 1 * var(--tile-size));
  height: calc(100% + 0.75 * var(--tile-size));
}
div.declare-yaku-container {
  display: flex;
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  top: calc(3.5 * var(--tile-size));
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 10;
}
div.declare-yaku-container > input.declare-yaku-minimize {
  display: none;
}
div.declare-yaku-container > label.declare-yaku-minimize-label {
  position: absolute;
  width: calc(0.5 * var(--tile-size));
  height: calc(0.75 * var(--tile-size));
  top: calc(-0.75 * var(--tile-size));
  right: 0;
}
div.declare-yaku {
  position: relative;
  z-index: 100;
}
div.declare-yaku.minimized {
  display: none;
}
div.declare-yaku > form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: calc(0.25 * var(--tile-size));
}
div.declare-yaku::before {
  content: "";
  background: var(--bg-color);
  border: calc(0.125 * var(--tile-size)) solid var(--tile-back);
  position: absolute;
  border-radius: calc(0.25 * var(--tile-size));
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: -1;
}
div.declare-yaku div.declarable-yakus {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  row-gap: calc(0.25 * var(--tile-size));
  column-gap: calc(0.25 * var(--tile-size));
}
div.declare-yaku button.declare-yaku-button {
  margin: calc(0.25 * var(--tile-size)) 0;
  height: calc(1 * var(--tile-size));
  background: var(--tile-front);
  font-size: calc(0.5 * var(--tile-size));
  text-decoration: none;
  color: black;
  border-width: 0;
  border-radius: calc(0.25 * var(--tile-size));
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side)) drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-back-side));
  cursor: pointer;
}
div.declare-yaku button.declare-yaku-button:active {
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side));
  transform: translateY(calc(var(--tile-size) / 8));
}
div.rules-wrapper {
  z-index: 10000;
  width: 100%;
  height: 100%;
  user-select: none;
  pointer-events: none;
  position: absolute;
  left: calc(-1.25 * var(--tile-size));
  top: calc(-0.5 * var(--tile-size));
  display: flex;
  flex-flow: column nowrap;
  row-gap: calc(0.25 * var(--tile-size));
}
div.rules-wrapper > label {
  padding: calc(0.125 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
  bottom: calc(-1.5 * var(--tile-size));
  width: calc(0.5 * var(--tile-size));
  pointer-events: initial;
  writing-mode: tb;
  display: flex;
  justify-content: center;
  align-items: center;
}
div.rules-wrapper > label.lang-en {
  transform: rotate(180deg);
}
input.rules-popover-unselect + label {
  background: transparent;
  width: calc(0.5 * var(--tile-size));
  height: calc(100% + 1 * var(--tile-size));
  top: 0;
  position: absolute;
  z-index: -2;
}
input.rules-popover-radio:checked ~ input.rules-popover-unselect + label {
  z-index: 0;
}
input.rules-popover-radio:checked + label {
  z-index: -1;
}
input.rules-popover-radio:not(:checked) + label {
  z-index: 1;
}
div.rules-popover-container {
  z-index: 10000;
  position: absolute;
  left: calc(1.25 * var(--tile-size));
  top: calc(0.5 * var(--tile-size));
  width: 0;
  transition: width 0.1s ease;
  height: 100%;
  user-select: none;
}
div.rules-popover-container::before {
  content: "";
  background: #3f3f3f;
  border: 0 solid var(--tile-front);
  border-radius: calc(0.25 * var(--tile-size));
  position: absolute;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: -1;
  transition: border-width 0.1s cubic-bezier(0, 1, 0, 1);
}
input.rules-popover-radio:checked + label + div.rules-popover-container {
  width: 100%;
  pointer-events: initial;
  user-select: text;
}
input.rules-popover-radio:checked + label + div.rules-popover-container::before {
  border-width: calc(0.125 * var(--tile-size));
}
div.rules-popover {
  width: 100%;
  height: calc(100% - calc(0.25 * var(--tile-size)));
  margin: calc(0.125 * var(--tile-size)) 0;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  color: white;
  overflow-y: scroll;
  scrollbar-width: none;
}
div.rules-popover::-webkit-scrollbar {
  display: none;
}
div.rules-popover-rule {
  flex-basis: 50%;
}
div.rules-popover-rule.full-width {
  flex-basis: 100%;
}
div.rules-popover-title {
  white-space: pre-wrap;
  font-size: calc(0.75 * var(--tile-size));
  font-weight: 600;
  border-bottom: calc(0.0625 * var(--tile-size)) solid var(--tile-front);
  margin: calc(0.25 * var(--tile-size));
}
div.rules-popover-text {
  white-space: pre-wrap;
  font-size: calc(0.5 * var(--tile-size));
  margin: calc(0.25 * var(--tile-size));
}
div.rules-popover-text > div.tile {
  display: inline-block;
  --tile-scale-factor: 0.65;
  margin-top: calc(0.25 * var(--tile-scale-factor) * var(--tile-size));
}
div.rules-popover-text > div.tile:hover {
  transform: translateY(-75%) scale(2.5);
  z-index: 10;
}
input.tile-numbers-checkbox + label {
  position: absolute;
  padding: 0 calc(0.125 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
  bottom: calc(-1.5 * var(--tile-size));
  width: calc(0.75 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  right: calc(-0.5 * var(--tile-size));
  display: flex;
  justify-content: center;
  align-items: center;
}
div.display-wall-hover {
  background: gray;
  position: absolute;
  padding: 0 calc(0.125 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  font-size: calc(0.75 * var(--tile-size));
  bottom: calc(-1.5 * var(--tile-size));
  right: calc(0.75 * var(--tile-size));
}
div.display-wall-container {
  position: absolute;
  width: 100%;
  height: 100%;
  display: none;
  z-index: -100;
}
div.display-wall-hover:hover + div.display-wall-container {
  display: block;
  z-index: 100;
}
div.display-wall {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
div.display-wall::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: #0000007F;
  border-radius: calc(0.25 * var(--tile-size));
  width: 100%;
  height: 100%;
}
div.display-wall.minimized {
  display: none;
}
div.display-wall > div.wall {
  display: flex;
  flex-flow: row-reverse;
  transform-style: preserve-3d;
  transform-origin: 50% 50%;
  width: calc(18 * 0.75 * var(--tile-size));
  height: var(--tile-size);
  position: absolute;
}
div.display-wall > div.wall.toimen {
  justify-items: flex-end;
  top: calc(0.25 * var(--tile-size));
  left: calc(0.5 * var(--tile-size));
  transform: rotate(180deg);
}
div.display-wall > div.wall.shimocha {
  right: calc(1.5 * var(--tile-size));
  top: calc(0.75 * var(--tile-size));
  transform: rotate(270deg);
  transform-origin: top right;
}
div.display-wall > div.wall.self {
  flex-direction: row;
  bottom: calc(0.5 * var(--tile-size));
  left: calc(1.75 * var(--tile-size));
  transform: rotate(180deg);
}
div.display-wall > div.wall.kamicha {
  left: calc(1.5 * var(--tile-size));
  top: calc(1.5 * var(--tile-size));
  transform: rotate(90deg);
  transform-origin: top left;
}
div.display-wall > div.wall > div.tile-stack {
  display: flex;
  flex-direction: column-reverse;
}
div.display-wall > div.wall > div.spacer {
  min-width: calc(0.5 * var(--tile-size));
}
div.display-wall > div.wall > div.tile-stack > div.tile {
  z-index: var(--level);
  transform: translateY(calc(1.25 * var(--level) * var(--tile-size)));
}
div.display-wall > div.wall.shimocha > div.tile-stack > div.tile {
  transform: translateX(calc(0.25 * var(--level) * var(--tile-size))) translateY(calc(1 * var(--level) * var(--tile-size)));
}
div.display-wall > div.wall.kamicha > div.tile-stack > div.tile {
  transform: translateX(calc(-0.25 * var(--level) * var(--tile-size))) translateY(calc(1 * var(--level) * var(--tile-size)));
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(1) {
  z-index: -1;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(2) {
  z-index: -2;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(3) {
  z-index: -3;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(4) {
  z-index: -4;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(5) {
  z-index: -5;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(6) {
  z-index: -6;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(7) {
  z-index: -7;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(8) {
  z-index: -8;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(9) {
  z-index: -9;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(10) {
  z-index: -10;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(11) {
  z-index: -11;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(12) {
  z-index: -12;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(13) {
  z-index: -13;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(14) {
  z-index: -14;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(15) {
  z-index: -15;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(16) {
  z-index: -16;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(17) {
  z-index: -17;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(18) {
  z-index: -18;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(19) {
  z-index: -19;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(20) {
  z-index: -20;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(21) {
  z-index: -21;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(22) {
  z-index: -22;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(23) {
  z-index: -23;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(24) {
  z-index: -24;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(25) {
  z-index: -25;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(26) {
  z-index: -26;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(27) {
  z-index: -27;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(28) {
  z-index: -28;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(29) {
  z-index: -29;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(30) {
  z-index: -30;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(31) {
  z-index: -31;
}
div.display-wall > div.wall.kamicha > div.tile-stack:nth-child(32) {
  z-index: -32;
}
div.display-wall > div.dice {
  position: absolute;
  width: 100%;
  height: calc(1.5 * var(--tile-size));
  top: calc(50% + 2 * var(--tile-size));
  column-gap: calc(0.25 * var(--tile-size));
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
div.display-wall > div.dice > div.die {
  background: white;
  width: calc(0.75 * var(--tile-size));
  height: calc(0.75 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  position: relative;
}
div.display-wall > div.dice > div.die::before,
div.display-wall > div.dice > div.die::after {
  background: black;
  border-radius: 50%;
  position: absolute;
  top: calc(0.13 * var(--tile-size));
  left: calc(0.13 * var(--tile-size));
  width: calc(0.17 * var(--tile-size));
  height: calc(0.17 * var(--tile-size));
  z-index: 1;
}
div.display-wall > div.dice > div.die::before {
  content: "";
}
div.display-wall > div.dice > div.die.one::before {
  background: red;
  top: calc(0.25 * var(--tile-size));
  left: calc(0.25 * var(--tile-size));
  width: calc(0.25 * var(--tile-size));
  height: calc(0.25 * var(--tile-size));
}
div.display-wall > div.dice > div.die.two::before {
  filter: drop-shadow(calc(0.32 * var(--tile-size)) calc(0.32 * var(--tile-size)) 0 black);
}
div.display-wall > div.dice > div.die.three::before {
  filter: drop-shadow(calc(0.16 * var(--tile-size)) calc(0.16 * var(--tile-size)) 0 black) drop-shadow(calc(0.16 * var(--tile-size)) calc(0.16 * var(--tile-size)) 0 black);
}
div.display-wall > div.dice > div.die.four::before {
  background: red;
  filter: drop-shadow(calc(0 * var(--tile-size)) calc(0.32 * var(--tile-size)) 0 red) drop-shadow(calc(0.32 * var(--tile-size)) calc(0 * var(--tile-size)) 0 red);
}
div.display-wall > div.dice > div.die.five::before {
  filter: drop-shadow(calc(0 * var(--tile-size)) calc(0.32 * var(--tile-size)) 0 black) drop-shadow(calc(0.32 * var(--tile-size)) calc(0 * var(--tile-size)) 0 black);
}
div.display-wall > div.dice > div.die.five::after {
  content: "";
  filter: drop-shadow(calc(0.16 * var(--tile-size)) calc(0.16 * var(--tile-size)) 0 black);
}
div.display-wall > div.dice > div.die.six::before {
  top: calc(0.09 * var(--tile-size));
  filter: drop-shadow(calc(0.32 * var(--tile-size)) calc(0 * var(--tile-size)) 0 black) drop-shadow(calc(0 * var(--tile-size)) calc(0.21 * var(--tile-size)) 0 black) drop-shadow(calc(0 * var(--tile-size)) calc(0.21 * var(--tile-size)) 0 black);
}
div.game-modal-container {
  position: absolute;
  width: 80%;
  height: 80%;
  left: 10%;
  top: 10%;
  z-index: 100;
  float: left;
  transition: opacity 0.5s ease;
  color: black;
}
@media (min-aspect-ratio: 6/5) {
  div.game-modal-container.inactive,
  div.game-modal-hide:active,
  div.game-modal-hide:active + div.timer,
  div.game-modal-hide:active + button.end-back-button {
    opacity: 0;
    pointer-events: none;
    user-select: none;
    color: black;
  }
}
@media (max-aspect-ratio: 6/5) {
  div.game-modal-container.inactive,
  div.game-modal-hide:active:not(:has(:is(div.score-badge:active, svg.arrow:active, svg.curve:active))) {
    &,
    & + div.timer,
    & + button.end-back-button {
      opacity: 0;
      pointer-events: none;
      user-select: none;
      color: black;
    }
  }
}
div.game-modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: none;
}
div.game-modal::before {
  position: absolute;
  content: "";
  width: 108%;
  height: 108%;
  top: -4%;
  left: -4%;
  border-radius: calc(0.25 * var(--tile-size));
  background: black;
  opacity: 0.6;
  z-index: -1;
}
div.game-modal > div.winning-hand,
div.game-modal > div.yakus,
div.game-modal > div.score-display {
  pointer-events: none;
  user-select: none;
}
div.game-modal.error-window > button.dismiss-error,
div.game-modal-container > button.end-back-button {
  position: absolute;
  width: 100%;
  height: calc(1 * var(--tile-size));
  bottom: 0;
}
div.winning-hand-container {
  width: 100%;
  padding-top: calc(0.25 * var(--tile-size));
}
div.winning-hand-container:not(:hover) div.hand.winning-hand:not(.separated-hand) {
  display: flex;
}
div.winning-hand-container:hover div.hand.winning-hand.separated-hand {
  display: flex;
}
div.hand.winning-hand {
  width: 100%;
  justify-content: center;
  display: none;
}
div.hand.winning-hand > div.call.winning-flowers {
  position: relative;
}
div.hand.winning-hand > div.call.winning-flowers > div.tile:not(:last-child) {
  margin-right: calc(-0.5 * var(--tile-size));
}
div.hand.winning-hand > div.call.winning-flowers > div.flower-count {
  background: var(--tile-front);
  padding: calc(0.05 * var(--tile-size));
  border-radius: calc(0.2 * var(--tile-size));
  filter: drop-shadow(calc(var(--tile-size) / -16) calc(var(--tile-size) / -16) 0 var(--tile-back-side));
  position: absolute;
  font-size: calc(0.4 * var(--tile-size));
  bottom: calc(-0.25 * var(--tile-size));
  right: calc(-0.25 * var(--tile-size));
  z-index: 1;
}
div.yakus {
  display: flex;
  flex-flow: column wrap;
  align-content: space-evenly;
  row-gap: calc(0.5 * var(--tile-size));
  margin-left: calc(0.5 * var(--tile-size));
  margin-right: calc(-0.5 * var(--tile-size));
  margin-top: calc(1.75 * var(--tile-size));
  width: 100%;
  height: 90%;
}
div.yakus::before {
  content: "";
  height: 100%;
  order: 1;
}
div.yakus::after {
  content: "";
  height: 100%;
  order: -1;
}
div.yaku:nth-child(n+1):nth-last-child(-n+0),
div.yaku:nth-child(n+2):nth-last-child(-n+1),
div.yaku:nth-child(n+3):nth-last-child(-n+2),
div.yaku:nth-child(n+4):nth-last-child(-n+3),
div.yaku:nth-child(n+5):nth-last-child(-n+4),
div.yaku:nth-child(n+6):nth-last-child(-n+5),
div.yaku:nth-child(n+7):nth-last-child(-n+6),
div.yaku:nth-child(n+8):nth-last-child(-n+7),
div.yaku:nth-child(n+9):nth-last-child(-n+8),
div.yaku:nth-child(n+10):nth-last-child(-n+9) {
  order: 1;
}
div.yaku,
div.yaku > div.han-counter,
div.yaku > div.yaku-text::before {
  font-size: calc(0.6 * var(--tile-size));
  height: 1.2em;
  padding-right: calc(0.5 * var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  white-space: nowrap;
}
div.yaku > div.yaku-text::before {
  filter: drop-shadow(calc(var(--tile-size) / -8) calc(var(--tile-size) / -16) 0 var(--tile-front-side)) drop-shadow(calc(var(--tile-size) / -8) calc(var(--tile-size) / -16) 0 var(--tile-back-side));
}
div.yaku {
  display: flex;
}
div.yaku > div.yaku-text {
  display: inline-block;
  position: relative;
  z-index: 2;
}
div.yaku > div.yaku-text.small {
  font-size: 75%;
  top: 10%;
}
div.yaku > div.yaku-text.small::before {
  top: -10%;
}
div.yaku > div.yaku-text.tiny {
  font-size: 50%;
  top: 20%;
}
div.yaku > div.yaku-text.tiny::before {
  top: -20%;
}
div.yaku > div.yaku-text::before {
  position: absolute;
  content: "";
  z-index: -1;
  background: var(--tile-front);
  width: calc(100% + var(--tile-size));
  left: -10%;
  height: 110%;
  top: 0%;
  transform: rotate(2deg);
}
div.yaku > div.han-counter {
  display: inline-block;
  position: relative;
  z-index: 2;
  transform: rotate(-20deg);
  font-style: normal;
  margin-left: calc(0.5 * var(--tile-size));
}
div.yaku > div.han-counter::before,
div.total-points-display::before,
div.total-score-display::before,
div.total-score-name-display::before {
  background-image: url(/images/brush-bg.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
div.total-points-display:not(:first-of-type)::before,
div.total-score-display::before {
  background-image: url(/images/brush-bg2.svg);
}
div.yaku > div.han-counter::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% + 0.5 * var(--tile-size));
  height: 160%;
  left: calc(-0.66 * var(--tile-size));
  top: -37.5%;
}
div.score-display {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  row-gap: calc(0.125 * var(--tile-size));
  position: absolute;
  width: 100%;
  bottom: 0;
}
div.score-display::before {
  content: "";
  width: 100%;
  order: 1;
}
div.total-points-display,
div.total-score-display {
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
div.total-points-display {
  font-size: calc(1.25 * var(--tile-size));
}
div.total-score-display {
  font-size: calc(2 * var(--tile-size));
  order: 1;
}
div.total-score-display.small {
  font-size: calc(1.25 * var(--tile-size));
}
div.total-score-name-display {
  font-size: calc(1.2 * var(--tile-size));
  order: 1;
}
div.total-score-name-display.small {
  font-size: calc(1 * var(--tile-size));
}
div.total-points-display::before,
div.total-score-display::before,
div.total-score-name-display::before {
  position: absolute;
  content: "";
  width: 150%;
  height: 140%;
  left: -25%;
  bottom: -7.5%;
  z-index: -1;
}
div.total-points-display:not(:first-of-type)::before {
  transform: rotate(180deg);
  width: 160%;
  left: -35%;
  bottom: -35%;
}
div.total-score-display::before {
  width: 180%;
  height: 160%;
  left: -40%;
}
div.total-score-name-display {
  transform: rotate(-20deg);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}
div.total-score-name-display::before {
  transform: rotate(180deg);
  width: 140%;
  height: 120%;
  left: -20%;
  bottom: -15%;
}
div.game-modal > div.delta-score-reason {
  position: absolute;
  font-size: calc(0.8 * var(--tile-size));
  text-align: center;
  top: calc(50% - 3 * var(--tile-size));
  margin: 0 auto;
  left: 0;
  right: 0;
  --width: 10;
  width: calc(var(--width) * 0.75em + 1em);
  user-select: none;
  pointer-events: none;
  z-index: 2;
}
div.game-modal > div.delta-score-reason::before {
  position: absolute;
  content: "";
  background-image: url(/images/brush-bg.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  transform-origin: 50% calc(50% + var(--tile-size));
  width: 100%;
  height: calc(2 * var(--tile-size));
  left: 0;
  bottom: calc(-0.25 * var(--tile-size));
  z-index: -1;
  transform: translateX(calc(-0.1 * var(--tile-size)));
}
div.game-modal > div.score-badge {
  background: black;
  border-radius: calc(0.5 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size)) calc(0.25 * var(--tile-size));
  line-height: 1;
  height: 2.5em;
  width: 12ex;
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  text-align: center;
  user-select: none;
  z-index: 3;
  color: white;
  &:hover > div {
    &.initial-score,
    &.player-name,
    &.hline::before {
      width: 100%;
      filter: brightness(75%) sepia(100%) saturate(800%) hue-rotate(-45deg);
    }
  }
}
div.game-modal > div.score-badge.self {
  inset: 0;
  top: auto;
  margin: 0 auto;
}
div.game-modal > div.score-badge.shimocha {
  inset: 0;
  left: auto;
  margin: auto 0;
}
div.game-modal > div.score-badge.toimen {
  inset: 0;
  bottom: auto;
  right: 0;
  margin: 0 auto;
}
div.game-modal > div.score-badge.kamicha {
  inset: 0;
  right: auto;
  margin: auto 0;
}
div.game-modal > div.score-badge > div.hline::before {
  position: absolute;
  content: "";
  background: white;
  width: 100%;
  right: 0;
  height: calc(0.0625 * var(--tile-size));
  margin-top: calc(0.0625 * var(--tile-size));
}
div.game-modal > div.score-badge > div.initial-score {
  font-size: 150%;
  font-weight: bold;
}
div.game-modal > div.score-badge > div.delta-score {
  font-weight: bold;
  position: absolute;
  top: -0.3em;
  right: 0;
  text-align: right;
  white-space: nowrap;
}
div.game-modal > div.score-badge > div.player-name {
  margin-top: calc(0.125 * var(--tile-size));
  white-space: nowrap;
}
div.game-modal > div.score-badge > div.placement {
  position: absolute;
  top: calc(-50% + 0.5 * var(--tile-size));
  left: calc(-25%);
  transform: scale(75%);
}
div.game-modal > div.score-ledger-container > table.score-ledger {
  position: absolute;
  z-index: 3;
  opacity: 0.9;
  background: #0f6f2f;
  color: white;
  border: calc(0.0625 * var(--tile-size)) solid white;
  border-radius: calc(0.5 * var(--tile-size));
  border-spacing: 0;
  pointer-events: none;
  &.kamicha,
  &.k2u,
  &.k2t,
  &.u2k,
  &.t2k {
    top: 0;
    right: 0;
  }
  &.toimen {
    bottom: 0;
    left: 0;
  }
  &:has(tbody > tr) > thead > tr > th {
    border-bottom: calc(0.0625 * var(--tile-size)) solid white;
  }
  --ledger-scale: 85%;
  &.self,
  &.shimocha,
  &.toimen,
  &.kamicha {
    --ledger-scale: 125%;
  }
  & > thead > tr > th {
    font-size: var(--ledger-scale);
    padding-left: calc(0.25 * var(--tile-size));
    text-align: left;
    height: calc(1.25 * var(--tile-size));
    min-width: calc(8 * var(--tile-size));
    & > div.score-ledger-mini {
      display: inline-block;
      position: absolute;
      top: calc(0.125 * var(--tile-size));
      right: calc(0.125 * var(--tile-size));
      width: calc(2 * var(--tile-size));
      height: calc(1 * var(--tile-size));
      & > span {
        display: block;
        position: absolute;
        width: calc(0.7 * var(--tile-size));
        height: calc(0.4 * var(--tile-size));
        border-radius: calc(0.125 * var(--tile-size));
        background: black;
        &.mini-self {
          left: 0;
          right: 0;
          margin-inline: auto;
          bottom: 0;
        }
        &.mini-shimocha {
          top: 0;
          bottom: 0;
          margin-block: auto;
          right: 0;
        }
        &.mini-toimen {
          left: 0;
          right: 0;
          margin-inline: auto;
          top: 0;
        }
        &.mini-kamicha {
          top: 0;
          bottom: 0;
          margin-block: auto;
          left: 0;
        }
        &.selected {
          background: white;
        }
      }
    }
  }
  & > tbody > tr {
    & > td {
      line-height: 1.2;
      padding: 0 calc(0.125 * var(--tile-size));
      &:first-child {
        padding-left: calc(0.5 * var(--tile-size));
      }
      &:last-child {
        padding-right: calc(0.5 * var(--tile-size));
      }
    }
    &:first-child td,
    &.score-ledger-total td {
      padding-top: calc(0.25 * var(--tile-size));
    }
    &:last-child td,
    &:has(+ tr.score-ledger-total) td {
      padding-bottom: calc(0.25 * var(--tile-size));
    }
  }
  & td.score-ledger-reason,
  & td.score-ledger-op {
    font-weight: bold;
  }
  & td.score-ledger-op {
    padding: 0 calc(0.25 * var(--tile-size));
  }
  & td.score-ledger-amount,
  & td.score-ledger-result {
    font-weight: normal;
  }
  & tr.score-ledger-total {
    & td {
      border-top: calc(0.0625 * var(--tile-size)) solid white;
      padding: calc(0.125 * var(--tile-size));
      font-weight: bold;
      font-size: 125%;
    }
  }
}
div.game-modal > div.score-ledger-container > table.score-ledger {
  display: none;
}
div.game-modal > div.score-ledger-container.self > table.score-ledger.self {
  display: block;
}
div.game-modal > div.score-ledger-container.shimocha > table.score-ledger.shimocha {
  display: block;
}
div.game-modal > div.score-ledger-container.toimen > table.score-ledger.toimen {
  display: block;
}
div.game-modal > div.score-ledger-container.kamicha > table.score-ledger.kamicha {
  display: block;
}
div.game-modal > div.score-ledger-container.t2u > table.score-ledger.t2u {
  display: block;
}
div.game-modal > div.score-ledger-container.u2t > table.score-ledger.u2t {
  display: block;
}
div.game-modal > div.score-ledger-container.k2s > table.score-ledger.k2s {
  display: block;
}
div.game-modal > div.score-ledger-container.s2k > table.score-ledger.s2k {
  display: block;
}
div.game-modal > div.score-ledger-container.k2u > table.score-ledger.k2u {
  display: block;
}
div.game-modal > div.score-ledger-container.s2u > table.score-ledger.s2u {
  display: block;
}
div.game-modal > div.score-ledger-container.s2t > table.score-ledger.s2t {
  display: block;
}
div.game-modal > div.score-ledger-container.k2t > table.score-ledger.k2t {
  display: block;
}
div.game-modal > div.score-ledger-container.u2k > table.score-ledger.u2k {
  display: block;
}
div.game-modal > div.score-ledger-container.u2s > table.score-ledger.u2s {
  display: block;
}
div.game-modal > div.score-ledger-container.t2s > table.score-ledger.t2s {
  display: block;
}
div.game-modal > div.score-ledger-container.t2k > table.score-ledger.t2k {
  display: block;
}
@property --tile-size { syntax: "<length>"; inherits: true; initial-value: 0; }
svg.arrow,
svg.curve {
  position: absolute;
  fill: white;
  zoom: calc(tan(atan2(var(--tile-size), 200px)));
  overflow: visible;
  &:hover {
    filter: brightness(75%) sepia(100%) saturate(800%) hue-rotate(-45deg);
  }
}
svg.arrow {
  --xpos: 0;
  --ypos: 0;
  --rotate: 0;
  --length: 0;
  width: calc(var(--length) * 200px);
  height: 200px;
  transform-origin: 0% 50%;
  transform: translate(calc(var(--xpos) * 200px - 100px), calc(var(--ypos) * 200px - 200px)) rotate(calc(var(--rotate) * 1deg));
}
svg.curve {
  --xpos: 0;
  --ypos: 0;
  --xscale: 1;
  --yscale: 1;
  width: 550px;
  height: 800px;
  transform: translate(calc(var(--xpos) * 200px - 100px), calc(var(--ypos) * 200px - 100px)) scale(var(--xscale), var(--yscale));
}
div.game-modal:not(.t2u) > svg.t2u,
div.game-modal:not(.u2t) > svg.u2t,
div.game-modal:not(.k2s) > svg.k2s,
div.game-modal:not(.s2k) > svg.s2k,
div.game-modal:not(.k2u) > svg.k2u,
div.game-modal:not(.s2u) > svg.s2u,
div.game-modal:not(.s2t) > svg.s2t,
div.game-modal:not(.k2t) > svg.k2t,
div.game-modal:not(.u2k) > svg.u2k,
div.game-modal:not(.u2s) > svg.u2s,
div.game-modal:not(.t2s) > svg.t2s,
div.game-modal:not(.t2k) > svg.t2k {
  display: none;
}
div.game-modal > div.score-badge > div.delta-score.positive {
  color: lightgreen;
}
div.game-modal > div.score-badge > div.delta-score.negative {
  color: pink;
}
div.game-modal-container > div.timer {
  position: absolute;
  color: white;
  text-align: right;
  font-size: calc(0.5 * var(--tile-size));
  right: calc(-0.25 * var(--tile-size));
  bottom: calc(-0.25 * var(--tile-size));
  height: calc(0.75 * var(--tile-size));
  cursor: pointer;
  white-space: nowrap;
  z-index: 1;
}
div.game-modal-container > div.renchan-choice-container {
  position: absolute;
  right: calc(-0.25 * var(--tile-size));
  bottom: calc(0.75 * var(--tile-size));
  z-index: 1;
}
div.game-modal-container > div.renchan-choice-container > label {
  font-size: calc(0.5 * var(--tile-size));
  color: white;
  width: calc(2.5 * var(--tile-size));
  white-space: wrap;
  text-align: left;
  cursor: pointer;
  pointer-events: all;
}
div.game-modal.error-window {
  color: white;
}
div.game-modal.error-window > h1 {
  text-align: center;
  user-select: none;
}
div.game-modal.error-window > textarea.error {
  position: absolute;
  height: calc(100% - 4 * var(--tile-size));
  top: calc(2 * var(--tile-size));
  left: 0;
}
div.game-modal.error-window::before {
  background: red;
}
div.scoreboard {
  display: flex;
  flex-direction: column;
  row-gap: var(--tile-size);
  margin-top: var(--tile-size);
  margin-bottom: var(--tile-size);
  width: 100%;
  height: calc(100 - 1 * var(--tile-size));
}
div.placement > div.placement-place,
div.placement > div.placement-name {
  color: black;
  font-size: calc(0.6 * var(--tile-size));
  white-space: nowrap;
  height: 1.2em;
}
div.placement > div.placement-name::before {
  filter: drop-shadow(calc(var(--tile-size) / -8) calc(var(--tile-size) / -16) 0 var(--tile-front-side)) drop-shadow(calc(var(--tile-size) / -8) calc(var(--tile-size) / -16) 0 var(--tile-back-side));
}
div.placement {
  display: flex;
  user-select: none;
}
div.placement:nth-child(1) {
  margin-left: calc(0 * var(--tile-size));
}
div.placement:nth-child(2) {
  margin-left: calc(0.5 * var(--tile-size));
}
div.placement:nth-child(3) {
  margin-left: calc(1 * var(--tile-size));
}
div.placement:nth-child(4) {
  margin-left: calc(1.5 * var(--tile-size));
}
div.placement > div.placement-name {
  display: flex;
  position: relative;
  font-size: calc(1 * var(--tile-size));
  padding-left: calc(1.75 * var(--tile-size));
  z-index: 1;
}
div.placement > div.placement-name::before {
  position: absolute;
  content: "";
  z-index: -1;
  background: var(--tile-front);
  width: calc(100% + var(--tile-size));
  border-radius: calc(0.125 * var(--tile-size));
  left: -10%;
  height: 110%;
  top: 0%;
  transform: rotate(2deg);
}
div.placement > div.placement-place {
  display: inline-block;
  position: relative;
  font-size: calc(1 * var(--tile-size));
  transform: translateX(var(--tile-size)) rotate(-20deg);
  z-index: 2;
}
div.placement > div.placement-place::before {
  position: absolute;
  content: "";
  background-image: url(/images/brush-bg.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  left: -40%;
  top: -30%;
  width: 180%;
  height: 140%;
  z-index: -1;
}
div.placement span.placement-score {
  margin-left: calc(0.5 * var(--tile-size));
}
div.ruleset {
  position: absolute;
  top: calc(100vh + (2 * var(--tile-size)) + 1.2em);
  left: calc(50% - min(90vw, 80vh) / 2);
  width: min(90vw, 80vh);
  height: calc(20 * var(--tile-size));
  user-select: text;
}
div.ruleset > div.ruleset-text {
  content: "Ruleset:";
  color: white;
  font-size: calc(1 * var(--tile-size));
}
@media (min-aspect-ratio: 6/5) {
  div.ruleset {
    width: calc(min(90vw, 80vh) + 0.5 * var(--tile-size) + min(50%, calc(40vw - 20% - 0.5 * var(--tile-size))));
  }
}
div.saki-card {
  position: relative;
  width: var(--card-width);
  height: var(--card-height);
  border-radius: calc(0.15 * var(--tile-size));
  flex-shrink: 0;
  z-index: 0;
}
div.saki-card:hover {
  z-index: 1;
}
label.mod {
  position: relative;
}
div.saki-card::before,
div.saki-card::after,
label.mod::before,
label.mod::after {
  position: absolute;
  background: inherit;
  width: var(--card-width);
  height: var(--card-height);
  pointer-events: none;
  left: -350%;
  bottom: 50%;
  transform-origin: 50% 100%;
  z-index: 10;
  content: none;
}
label.mod:hover::before {
  left: 0;
}
label.mod:hover::after {
  left: calc(1 * var(--card-width));
}
label.mod:hover::before,
label.mod:hover::after {
  top: calc(-1 * var(--card-height));
}
div.saki-card:hover::before,
label.mod:hover::before {
  content: "";
}
div.saki-card.v12,
label.mod.v12::before,
label.mod.v12::after {
  --card-width: calc(0.89 * var(--tile-size));
  --card-height: calc(1.25 * var(--tile-size));
  background: url(/images/sakicardsv12.png) no-repeat;
  background-size: auto calc(6 * var(--card-height));
}
div.saki-card.v13,
label.mod.v13::before,
label.mod.v13::after {
  --card-width: calc(0.865 * var(--tile-size));
  --card-height: calc(1.25 * var(--tile-size));
  background: url(/images/sakicardsv13.png) no-repeat;
  background-size: auto calc(7 * var(--card-height));
}
div.saki-card.v12::before,
div.saki-card.v12::after,
label.mod.v12::after,
label.mod.v12::before,
label.mod.v12::after {
  --card-width: calc(7.12 * var(--tile-size));
  --card-height: calc(10 * var(--tile-size));
  background-size: auto calc(6 * var(--card-height));
}
div.saki-card.v13::before,
div.saki-card.v13::after,
label.mod.v13::after,
label.mod.v13::before,
label.mod.v13::after {
  --card-width: calc(6.92 * var(--tile-size));
  --card-height: calc(10 * var(--tile-size));
  background-size: auto calc(7 * var(--card-height));
}
div.saki-card.v12.aislinn-wishart,
div.saki-card.v12.aislinn-wishart::before,
label.mod.v12.aislinn-wishart::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.amae-koromo,
div.saki-card.v12.amae-koromo::before,
label.mod.v12.amae-koromo::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.anetai-toyone,
div.saki-card.v12.anetai-toyone::before,
label.mod.v12.anetai-toyone::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.arakawa-kei,
div.saki-card.v12.arakawa-kei::before,
label.mod.v12.arakawa-kei::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.atago-hiroe,
div.saki-card.v12.atago-hiroe::before,
label.mod.v12.atago-hiroe::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.atarashi-ako,
div.saki-card.v12.atarashi-ako::before,
label.mod.v12.atarashi-ako::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.choe-myeonghwa,
div.saki-card.v12.choe-myeonghwa::before,
label.mod.v12.choe-myeonghwa::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.ezaki-hitomi,
div.saki-card.v12.ezaki-hitomi::before,
label.mod.v12.ezaki-hitomi::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.fukuji-mihoko,
div.saki-card.v12.fukuji-mihoko::before,
label.mod.v12.fukuji-mihoko::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v12.hanada-kirame,
div.saki-card.v12.hanada-kirame::before,
label.mod.v12.hanada-kirame::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.hao-huiyu,
div.saki-card.v12.hao-huiyu::before,
label.mod.v12.hao-huiyu::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.haramura-nodoka,
div.saki-card.v12.haramura-nodoka::before,
label.mod.v12.haramura-nodoka::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.hirose-sumire,
div.saki-card.v12.hirose-sumire::before,
label.mod.v12.hirose-sumire::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.ikeda-kana,
div.saki-card.v12.ikeda-kana::before,
label.mod.v12.ikeda-kana::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.inoue-jun,
div.saki-card.v12.inoue-jun::before,
label.mod.v12.inoue-jun::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.iwato-kasumi,
div.saki-card.v12.iwato-kasumi::before,
label.mod.v12.iwato-kasumi::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.jindai-komaki,
div.saki-card.v12.jindai-komaki::before,
label.mod.v12.jindai-komaki::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.kajiki-yumi,
div.saki-card.v12.kajiki-yumi::before,
label.mod.v12.kajiki-yumi::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v12.kainou-yoshiko,
div.saki-card.v12.kainou-yoshiko::before,
label.mod.v12.kainou-yoshiko::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.kakura-kurumi,
div.saki-card.v12.kakura-kurumi::before,
label.mod.v12.kakura-kurumi::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.kanbara-satomi,
div.saki-card.v12.kanbara-satomi::before,
label.mod.v12.kanbara-satomi::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.karijuku-tomoe,
div.saki-card.v12.karijuku-tomoe::before,
label.mod.v12.karijuku-tomoe::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.kataoka-yuuki,
div.saki-card.v12.kataoka-yuuki::before,
label.mod.v12.kataoka-yuuki::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.kosegawa-shiromi,
div.saki-card.v12.kosegawa-shiromi::before,
label.mod.v12.kosegawa-shiromi::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.kunihiro-hajime,
div.saki-card.v12.kunihiro-hajime::before,
label.mod.v12.kunihiro-hajime::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.mase-yuuko,
div.saki-card.v12.mase-yuuko::before,
label.mod.v12.mase-yuuko::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.matano-seiko,
div.saki-card.v12.matano-seiko::before,
label.mod.v12.matano-seiko::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v12.matsumi-kuro,
div.saki-card.v12.matsumi-kuro::before,
label.mod.v12.matsumi-kuro::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.matsumi-yuu,
div.saki-card.v12.matsumi-yuu::before,
label.mod.v12.matsumi-yuu::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.maya-yukiko,
div.saki-card.v12.maya-yukiko::before,
label.mod.v12.maya-yukiko::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.megan-davin,
div.saki-card.v12.megan-davin::before,
label.mod.v12.megan-davin::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.miyanaga-saki,
div.saki-card.v12.miyanaga-saki::before,
label.mod.v12.miyanaga-saki::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.miyanaga-teru,
div.saki-card.v12.miyanaga-teru::before,
label.mod.v12.miyanaga-teru::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.nanpo-kazue,
div.saki-card.v12.nanpo-kazue::before,
label.mod.v12.nanpo-kazue::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.nelly-virsaladze,
div.saki-card.v12.nelly-virsaladze::before,
label.mod.v12.nelly-virsaladze::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.onjouji-toki,
div.saki-card.v12.onjouji-toki::before,
label.mod.v12.onjouji-toki::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v12.oohoshi-awai,
div.saki-card.v12.oohoshi-awai::before,
label.mod.v12.oohoshi-awai::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.ryuumonbuchi-touka,
div.saki-card.v12.ryuumonbuchi-touka::before,
label.mod.v12.ryuumonbuchi-touka::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.sagimori-arata,
div.saki-card.v12.sagimori-arata::before,
label.mod.v12.sagimori-arata::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.sawamura-tomoki,
div.saki-card.v12.sawamura-tomoki::before,
label.mod.v12.sawamura-tomoki::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.senoo-kaori,
div.saki-card.v12.senoo-kaori::before,
label.mod.v12.senoo-kaori::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.shibuya-takami,
div.saki-card.v12.shibuya-takami::before,
label.mod.v12.shibuya-takami::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.shimizudani-ryuuka,
div.saki-card.v12.shimizudani-ryuuka::before,
label.mod.v12.shimizudani-ryuuka::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.shirouzu-mairu,
div.saki-card.v12.shirouzu-mairu::before,
label.mod.v12.shirouzu-mairu::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.someya-mako,
div.saki-card.v12.someya-mako::before,
label.mod.v12.someya-mako::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v12.takakamo-shizuno,
div.saki-card.v12.takakamo-shizuno::before,
label.mod.v12.takakamo-shizuno::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.takei-hisa,
div.saki-card.v12.takei-hisa::before,
label.mod.v12.takei-hisa::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.takimi-haru,
div.saki-card.v12.takimi-haru::before,
label.mod.v12.takimi-haru::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.toyouko-momoko,
div.saki-card.v12.toyouko-momoko::before,
label.mod.v12.toyouko-momoko::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.tsujigaito-satoha,
div.saki-card.v12.tsujigaito-satoha::before,
label.mod.v12.tsujigaito-satoha::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.tsuruta-himeko,
div.saki-card.v12.tsuruta-himeko::before,
label.mod.v12.tsuruta-himeko::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.usuzawa-sae,
div.saki-card.v12.usuzawa-sae::before,
label.mod.v12.usuzawa-sae::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.usuzumi-hatsumi,
div.saki-card.v12.usuzumi-hatsumi::before,
label.mod.v12.usuzumi-hatsumi::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.yumeno-maho,
div.saki-card.v12.yumeno-maho::before,
label.mod.v12.yumeno-maho::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.aislinn-wishart,
div.saki-card.v13.aislinn-wishart::before,
label.mod.v13.aislinn-wishart::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.amae-koromo,
div.saki-card.v13.amae-koromo::before,
label.mod.v13.amae-koromo::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.anetai-toyone,
div.saki-card.v13.anetai-toyone::before,
label.mod.v13.anetai-toyone::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.arakawa-kei,
div.saki-card.v13.arakawa-kei::before,
label.mod.v13.arakawa-kei::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.atago-hiroe,
div.saki-card.v13.atago-hiroe::before,
label.mod.v13.atago-hiroe::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.atago-kinue,
div.saki-card.v13.atago-kinue::before,
label.mod.v13.atago-kinue::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.atarashi-ako,
div.saki-card.v13.atarashi-ako::before,
label.mod.v13.atarashi-ako::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.choe-myeonghwa,
div.saki-card.v13.choe-myeonghwa::before,
label.mod.v13.choe-myeonghwa::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.ezaki-hitomi,
div.saki-card.v13.ezaki-hitomi::before,
label.mod.v13.ezaki-hitomi::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-0 * var(--card-height));
}
div.saki-card.v13.fukuji-mihoko,
div.saki-card.v13.fukuji-mihoko::before,
label.mod.v13.fukuji-mihoko::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.funakubo-hiroko,
div.saki-card.v13.funakubo-hiroko::before,
label.mod.v13.funakubo-hiroko::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.hanada-kirame,
div.saki-card.v13.hanada-kirame::before,
label.mod.v13.hanada-kirame::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.hao-huiyu,
div.saki-card.v13.hao-huiyu::before,
label.mod.v13.hao-huiyu::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.haramura-nodoka,
div.saki-card.v13.haramura-nodoka::before,
label.mod.v13.haramura-nodoka::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.hirose-sumire,
div.saki-card.v13.hirose-sumire::before,
label.mod.v13.hirose-sumire::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.ikeda-kana,
div.saki-card.v13.ikeda-kana::before,
label.mod.v13.ikeda-kana::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.inoue-jun,
div.saki-card.v13.inoue-jun::before,
label.mod.v13.inoue-jun::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.iwadate-yuan,
div.saki-card.v13.iwadate-yuan::before,
label.mod.v13.iwadate-yuan::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-1 * var(--card-height));
}
div.saki-card.v13.iwato-kasumi,
div.saki-card.v13.iwato-kasumi::before,
label.mod.v13.iwato-kasumi::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.jindai-komaki,
div.saki-card.v13.jindai-komaki::before,
label.mod.v13.jindai-komaki::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kajiki-yumi,
div.saki-card.v13.kajiki-yumi::before,
label.mod.v13.kajiki-yumi::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kainou-yoshiko,
div.saki-card.v13.kainou-yoshiko::before,
label.mod.v13.kainou-yoshiko::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kakura-kurumi,
div.saki-card.v13.kakura-kurumi::before,
label.mod.v13.kakura-kurumi::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kanbara-satomi,
div.saki-card.v13.kanbara-satomi::before,
label.mod.v13.kanbara-satomi::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.karijuku-tomoe,
div.saki-card.v13.karijuku-tomoe::before,
label.mod.v13.karijuku-tomoe::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kataoka-yuuki,
div.saki-card.v13.kataoka-yuuki::before,
label.mod.v13.kataoka-yuuki::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kosegawa-shiromi,
div.saki-card.v13.kosegawa-shiromi::before,
label.mod.v13.kosegawa-shiromi::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-2 * var(--card-height));
}
div.saki-card.v13.kunihiro-hajime,
div.saki-card.v13.kunihiro-hajime::before,
label.mod.v13.kunihiro-hajime::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.mase-yuuko,
div.saki-card.v13.mase-yuuko::before,
label.mod.v13.mase-yuuko::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.matano-seiko,
div.saki-card.v13.matano-seiko::before,
label.mod.v13.matano-seiko::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.matsumi-kuro,
div.saki-card.v13.matsumi-kuro::before,
label.mod.v13.matsumi-kuro::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.matsumi-yuu,
div.saki-card.v13.matsumi-yuu::before,
label.mod.v13.matsumi-yuu::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.maya-yukiko,
div.saki-card.v13.maya-yukiko::before,
label.mod.v13.maya-yukiko::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.megan-davin,
div.saki-card.v13.megan-davin::before,
label.mod.v13.megan-davin::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.miyanaga-saki,
div.saki-card.v13.miyanaga-saki::before,
label.mod.v13.miyanaga-saki::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.miyanaga-teru,
div.saki-card.v13.miyanaga-teru::before,
label.mod.v13.miyanaga-teru::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-3 * var(--card-height));
}
div.saki-card.v13.motouchi-naruka,
div.saki-card.v13.motouchi-naruka::before,
label.mod.v13.motouchi-naruka::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.nanpo-kazue,
div.saki-card.v13.nanpo-kazue::before,
label.mod.v13.nanpo-kazue::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.nelly-virsaladze,
div.saki-card.v13.nelly-virsaladze::before,
label.mod.v13.nelly-virsaladze::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.onjouji-toki,
div.saki-card.v13.onjouji-toki::before,
label.mod.v13.onjouji-toki::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.oohoshi-awai,
div.saki-card.v13.oohoshi-awai::before,
label.mod.v13.oohoshi-awai::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.ryuumonbuchi-touka,
div.saki-card.v13.ryuumonbuchi-touka::before,
label.mod.v13.ryuumonbuchi-touka::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.sagimori-arata,
div.saki-card.v13.sagimori-arata::before,
label.mod.v13.sagimori-arata::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.sawamura-tomoki,
div.saki-card.v13.sawamura-tomoki::before,
label.mod.v13.sawamura-tomoki::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.senoo-kaori,
div.saki-card.v13.senoo-kaori::before,
label.mod.v13.senoo-kaori::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.shibuya-takami,
div.saki-card.v13.shibuya-takami::before,
label.mod.v13.shibuya-takami::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.shimizudani-ryuuka,
div.saki-card.v13.shimizudani-ryuuka::before,
label.mod.v13.shimizudani-ryuuka::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.shirouzu-mairu,
div.saki-card.v13.shirouzu-mairu::before,
label.mod.v13.shirouzu-mairu::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.shishihara-sawaya,
div.saki-card.v13.shishihara-sawaya::before,
label.mod.v13.shishihara-sawaya::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.someya-mako,
div.saki-card.v13.someya-mako::before,
label.mod.v13.someya-mako::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.suehara-kyouko,
div.saki-card.v13.suehara-kyouko::before,
label.mod.v13.suehara-kyouko::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.takakamo-shizuno,
div.saki-card.v13.takakamo-shizuno::before,
label.mod.v13.takakamo-shizuno::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.takei-hisa,
div.saki-card.v13.takei-hisa::before,
label.mod.v13.takei-hisa::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.takimi-haru,
div.saki-card.v13.takimi-haru::before,
label.mod.v13.takimi-haru::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v13.toyouko-momoko,
div.saki-card.v13.toyouko-momoko::before,
label.mod.v13.toyouko-momoko::before {
  background-position-x: calc(-0 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.tsujigaito-satoha,
div.saki-card.v13.tsujigaito-satoha::before,
label.mod.v13.tsujigaito-satoha::before {
  background-position-x: calc(-1 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.tsuruta-himeko,
div.saki-card.v13.tsuruta-himeko::before,
label.mod.v13.tsuruta-himeko::before {
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.ueshige-suzu,
div.saki-card.v13.ueshige-suzu::before,
label.mod.v13.ueshige-suzu::before {
  background-position-x: calc(-3 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.usuzawa-sae,
div.saki-card.v13.usuzawa-sae::before,
label.mod.v13.usuzawa-sae::before {
  background-position-x: calc(-4 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.usuzumi-hatsumi,
div.saki-card.v13.usuzumi-hatsumi::before,
label.mod.v13.usuzumi-hatsumi::before {
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.yae-kobashiri,
div.saki-card.v13.yae-kobashiri::before,
label.mod.v13.yae-kobashiri::before {
  background-position-x: calc(-6 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.yoshitome-miharu,
div.saki-card.v13.yoshitome-miharu::before,
label.mod.v13.yoshitome-miharu::before {
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.yumeno-maho,
div.saki-card.v13.yumeno-maho::before,
label.mod.v13.yumeno-maho::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
label.mod.v13::before {
  background-position-x: calc(-8 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.shimocha div.saki-card::before,
div.shimocha div.saki-card::after {
  transform: rotate(90deg) translateY(calc(3 * var(--tile-size)));
}
div.toimen div.saki-card::before,
div.toimen div.saki-card::after {
  transform: rotate(180deg) translateY(calc(5 * var(--tile-size)));
}
div.kamicha div.saki-card::before,
div.kamicha div.saki-card::after {
  transform: rotate(270deg) translateY(calc(0.5 * var(--tile-size)));
}
div.saki-card.disabled,
div.saki-card.disabled::before {
  filter: saturate(0%);
}
div.saki-card.shirouzu-mairu::after,
div.saki-card.tsuruta-himeko::after {
  left: calc(-350% + 0.5 * var(--card-width));
  z-index: 10;
}
div.saki-card.v12.shirouzu-mairu:hover::after,
label.mod.v12.shirouzu-mairu::after {
  content: "";
  background-position-x: calc(-5 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.v12.tsuruta-himeko:hover::after {
  content: "";
  background-position-x: calc(-7 * var(--card-width));
  background-position-y: calc(-4 * var(--card-height));
}
div.saki-card.v13.shirouzu-mairu:hover::after,
label.mod.v13.shirouzu-mairu::after {
  content: "";
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-6 * var(--card-height));
}
div.saki-card.v13.tsuruta-himeko:hover::after {
  content: "";
  background-position-x: calc(-2 * var(--card-width));
  background-position-y: calc(-5 * var(--card-height));
}
div.saki-card.shirouzu-mairu::before,
div.saki-card.tsuruta-himeko::before {
  transform: translateX(calc(-0.5 * var(--card-width)));
}
div.shimocha div.saki-card.shirouzu-mairu::before,
div.shimocha div.saki-card.tsuruta-himeko::before {
  transform: rotate(90deg) translateX(calc(-0.5 * var(--card-width))) translateY(calc(3 * var(--tile-size)));
}
div.toimen div.saki-card.shirouzu-mairu::before,
div.toimen div.saki-card.tsuruta-himeko::before {
  transform: rotate(180deg) translateX(calc(-0.5 * var(--card-width))) translateY(calc(5 * var(--tile-size)));
}
div.kamicha div.saki-card.shirouzu-mairu::before,
div.kamicha div.saki-card.tsuruta-himeko::before {
  transform: rotate(270deg) translateX(calc(-0.5 * var(--card-width)));
}
div.shimocha div.saki-card.shirouzu-mairu::after,
div.shimocha div.saki-card.tsuruta-himeko::after {
  transform: rotate(90deg) translateX(calc(0.5 * var(--card-width))) translateY(calc(0.5 * var(--card-height))) translateY(calc(1.5 * var(--tile-size)));
}
div.toimen div.saki-card.shirouzu-mairu::after,
div.toimen div.saki-card.tsuruta-himeko::after {
  transform: rotate(180deg) translateX(calc(1 * var(--card-width))) translateY(calc(0.5 * var(--card-height)));
}
div.kamicha div.saki-card.shirouzu-mairu::after,
div.kamicha div.saki-card.tsuruta-himeko::after {
  transform: rotate(270deg) translateX(calc(0.5 * var(--card-width))) translateY(calc(-0.5 * var(--card-height))) translateY(calc(1.5 * var(--tile-size)));
}
div.title {
  text-align: center;
  display: flex;
  column-gap: calc(2 * var(--tile-size));
  user-select: none;
}
div.title > div {
  position: absolute;
  z-index: 1;
  display: inline-block;
}
div.title > div.title-riichi {
  font-size: calc(3 * var(--tile-size));
  color: black;
  transform: rotate(2deg);
  top: 0;
  width: calc(10 * var(--tile-size));
  left: calc(2 * var(--tile-size));
}
div.title > div.title-advanced {
  font-size: calc(2 * var(--tile-size));
  color: black;
  transform: rotate(-10deg);
  left: calc(4.5 * var(--tile-size));
  top: calc(3 * var(--tile-size));
}
div.title > div.tile {
  --tile-scale-factor: 3;
  top: calc(0.6 * var(--tile-size));
}
div.title > div.tile.\38m {
  transform: rotate(10deg);
  left: calc(0.6 * var(--tile-size));
}
div.title > div.tile.\37z {
  transform: rotate(-10deg);
  right: calc(0.6 * var(--tile-size));
}
div.title > div.title-riichi::before,
div.title > div.title-advanced::before {
  position: absolute;
  content: "";
  width: 150%;
  height: 140%;
  left: -25%;
  bottom: -7.5%;
  z-index: -1;
}
div.title > div.title-riichi::before {
  background-image: url(/images/brush-bg.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  z-index: -1;
}
div.title > div.title-advanced::before {
  background-image: url(/images/brush-bg2.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  z-index: -1;
}
div#container > div.index-version,
div#container > div.index-version a {
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  color: white;
  left: 0;
  bottom: 0;
  text-decoration: none;
}
div#container > div.index-bottom-buttons {
  position: absolute;
  right: 0;
  bottom: 0;
}
div#container > div.index-bottom-buttons > button {
  font-size: calc(0.5 * var(--tile-size));
}
div#container > form {
  position: absolute;
  width: calc(100% - 3 * var(--tile-size));
  height: calc(7.5 * var(--tile-size));
  top: calc(50% - 1.5 * var(--tile-size));
  left: calc(1 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  background: #609060;
  color: white;
  font-size: calc(0.5 * var(--tile-size));
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: space-around;
}
div#container > form.ruleset-selection-form input,
div#container > form.ruleset-selection-form button {
  font-size: calc(0.75 * var(--tile-size));
}
div#container > form.ruleset-selection-form > div.form-error {
  font-size: calc(0.5 * var(--tile-size));
  color: white;
}
div#container > form.ruleset-selection-form > input.nickname-input {
  margin: calc(0.5 * var(--tile-size));
  font-size: calc(0.75 * var(--tile-size));
  height: 1em;
  margin-bottom: 0;
}
div#container > form.ruleset-selection-form > div.ruleset-selection {
  line-height: 1;
  text-align: center;
  flex-grow: 1;
  color: white;
  font-size: calc(0.55 * var(--tile-size));
  overflow-y: auto;
  scrollbar-color: var(--bg-color) transparent;
  scrollbar-gutter: stable;
}
div#container > form.ruleset-selection-form > div.ruleset-selection > label {
  font-size: calc(0.55 * var(--tile-size));
  padding: calc(0.15 * var(--tile-size));
}
div#container > form.ruleset-selection-form > div.ruleset-selection > label > a {
  text-decoration: none;
  color: white;
  font-size: calc(0.55 * var(--tile-size));
}
div#container > form.ruleset-selection-form > div.ruleset-selection > input[disabled] + label {
  opacity: 0.4;
}
div#container > form.ruleset-selection-form > div.ruleset-selection > input[disabled] + label {
  opacity: 0.4;
}
div#container > form.log-selection-form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  row-gap: calc(0.25 * var(--tile-size));
}
div#container > form.log-selection-form > input,
div#container > form.log-selection-form > button {
  width: 100%;
}
div#container > form.log-selection-form > input {
  font-size: 150%;
}
div#container > form.about-page {
  position: absolute;
  margin: auto;
  width: calc(100% - 0.25 var(--tile-size));
  height: calc(7.5 * var(--tile-size));
  top: calc(50% - 1.5 * var(--tile-size));
  left: 0;
  padding: calc(0.5 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  background: #609060;
  color: white;
  font-size: calc(0.5 * var(--tile-size));
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: space-around;
  overflow-y: scroll;
}
div#container > form.about-page > ul.beta-testers {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  box-sizing: border-box;
  list-style-type: none;
  padding: 0;
  margin: 0.5em;
  user-select: text;
}
div#container > form.about-page > ul.beta-testers > li {
  padding: 0.1em 0.25em;
}
div#container > form.about-page > ul.beta-testers > li:nth-child(2n) {
  transform: translateY(-0.25em);
}
div#container div.enter-buttons {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: stretch;
  margin-top: calc(0.5 * var(--tile-size));
}
div#container div.enter-buttons > button {
  font-size: calc(0.6 * var(--tile-size));
  flex-grow: 1;
}
div.room-code-modal {
  position: absolute;
  border-radius: calc(0.25 * var(--tile-size));
  background: #3f3f3f;
  color: white;
  top: calc(6.5 * var(--tile-size));
  left: calc(0.75 * var(--tile-size));
  width: calc(14.5 * var(--tile-size));
  height: calc(7 * var(--tile-size));
  z-index: 5;
}
div.room-code-modal > div.room-code-display {
  display: inline-block;
  width: 100%;
  height: calc(1 * var(--tile-size));
  margin: calc(0.5 * var(--tile-size));
}
div.room-code-modal > div.room-code-display > div.tile {
  display: inline-block;
}
div.room-code-modal > div.room-code-buttons {
  text-align: center;
}
div.room-code-modal > div.room-code-buttons > button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}
div.lobby {
  display: flex;
  position: relative;
  flex-direction: column;
  row-gap: calc(0.25 * var(--tile-size));
  color: white;
}
div.lobby > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: calc(0.5 * var(--tile-size));
  position: absolute;
  top: calc(-1 * var(--tile-size));
  width: 100%;
}
div.lobby > div.rooms {
  position: relative;
  padding: calc(0.5 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  background: #609060;
  width: calc(100% - 1 * var(--tile-size));
  height: calc(100% - 3 * var(--tile-size));
  top: calc(1 * var(--tile-size));
  left: calc(0 * var(--tile-size));
  display: flex;
  flex-direction: column;
  row-gap: calc(0.5 * var(--tile-size));
}
div.lobby > div.rooms {
  overflow-y: scroll;
  scrollbar-width: none;
}
div.lobby > div.rooms::-webkit-scrollbar {
  display: none;
}
div.lobby > div.rooms > div.lobby-room {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: calc(0.5 * var(--tile-size));
}
div.lobby > div.rooms > div.lobby-room > button.join-room {
  background: var(--tile-front-side);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: calc(0.25 * var(--tile-size));
}
div.lobby > div.rooms > div.lobby-room > div.room-mods {
  display: flex;
  flex-flow: row wrap;
  flex-grow: 1;
  padding: 0 calc(0.25 * var(--tile-size));
  align-items: center;
  column-gap: calc(0.25 * var(--tile-size));
}
div.lobby > div.rooms > div.lobby-room > div.room-players {
  font-size: calc(0.75 * var(--tile-size));
}
div.lobby > div.rooms > div.lobby-room > div.room-players > div.room-player-count {
  font-size: calc(1 * var(--tile-size));
}
div.lobby > div.rooms > div.lobby-room > div.room-players > div.room-started {
  font-size: calc(0.4 * var(--tile-size));
}
div.room {
  position: relative;
  row-gap: calc(0.25 * var(--tile-size));
  font-size: calc(1 * var(--tile-size));
  color: white;
}
div.room > header {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-end;
  column-gap: calc(0.5 * var(--tile-size));
  position: absolute;
  top: 0;
  width: 100%;
  height: calc(3 * var(--tile-size));
  font-size: calc(1 * var(--tile-size));
}
div.room > header > div.room-header-title {
  width: 100%;
  margin: 0;
  white-space: nowrap;
  font-size: calc(0.75 * var(--tile-size));
  font-weight: bold;
}
div.room > header > div.room-header-bottom {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  column-gap: calc(0.5 * var(--tile-size));
  font-size: calc(1 * var(--tile-size));
  margin-top: calc(-1 * var(--tile-size));
  & > div.session {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    border: calc(0.05 * var(--tile-size)) solid white;
    padding: calc(0.25 * var(--tile-size));
    border-radius: calc(0.5 * var(--tile-size));
    position: relative;
    & > div.room-code-text {
      position: absolute;
      white-space: nowrap;
      font-size: calc(0.5 * var(--tile-size));
      inset: calc(1.5 * var(--tile-size)) 0 0 0;
      text-align: center;
    }
    & > div.tile {
      transform: translateY(calc(0.125 * var(--tile-size)));
    }
  }
  & > label.private-toggle-label {
    font-size: calc(0.875 * var(--tile-size));
    line-height: 1;
    margin-bottom: calc(-0.5 * var(--tile-size));
    padding: calc(0.25 * var(--tile-size));
    width: 8ex;
  }
  & svg {
    vertical-align: sub;
  }
  & > div.room-header-right {
    height: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: flex-end;
    & > a {
      white-space: nowrap;
      color: white;
      right: 0;
    }
    & > label.room-settings-toggle {
      background: none;
      text-decoration: underline;
      padding: 0;
    }
  }
}
div.room div.tips-component {
  position: absolute;
  width: 100%;
  bottom: 0;
  cursor: pointer;
}
div.room div.room-settings {
  position: relative;
  padding: calc(0.5 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  background-color: #609060;
  width: calc(100% - 3 * var(--tile-size));
  left: calc(1 * var(--tile-size));
  z-index: 1;
  flex-shrink: 0;
}
div.room > div.room-settings {
  display: none;
}
div.room > input#room-settings-toggle:checked + div.room-settings {
  display: block;
  position: absolute;
  width: calc(100% - 1 * var(--tile-size));
  height: calc(100% - 4.75 * var(--tile-size));
  left: 0;
  top: calc(3.75 * var(--tile-size));
  z-index: 2;
  overflow-y: auto;
  scrollbar-color: var(--bg-color) transparent;
  scrollbar-gutter: stable;
}
div.room > div.seats {
  position: relative;
  padding: calc(0.5 * var(--tile-size));
  width: calc(100% - 1 * var(--tile-size));
  top: calc(3.5 * var(--tile-size));
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  row-gap: calc(0.125 * var(--tile-size));
}
div.room > div.seats > div.player-slot {
  display: flex;
  flex-direction: row;
  column-gap: calc(0.125 * var(--tile-size));
  position: relative;
  height: calc(1.5 * var(--tile-size));
}
div.room > div.room-settings button {
  transform: translateY(calc(-0.25 * var(--tile-size)));
}
div.room > div.room-settings button:active {
  transform: translateY(calc(-0.125 * var(--tile-size)));
}
div.room > div.seats > div.player-slot > div.player-slot-label,
div.room > div.seats > div.player-slot > div.player-slot-name {
  font-size: calc(1 * var(--tile-size));
  color: white;
}
div.room > div.seats > div.player-slot > div.player-slot-label {
  background-color: #0000003F;
  width: calc(1.5 * var(--tile-size));
  height: calc(1.5 * var(--tile-size));
  text-align: center;
}
div.room > div.seats > div.player-slot > div.player-slot-name {
  flex-grow: 1;
  text-align: left;
  padding-left: calc(0.125 * var(--tile-size));
  background-color: #0000003F;
  cursor: pointer;
}
div.room > div.seats > div.player-slot > div.player-slot-name.empty {
  opacity: 0.5;
}
div.room > div.seats > div.player-slot > button,
div.room > div.seats > label.shuffle-seats,
div.room > div.seats > button.start-game-button {
  font-size: calc(1 * var(--tile-size));
}
div.room > div.seats > div.player-slot > button {
  width: calc(1.2 * var(--tile-size));
  height: calc(1.2 * var(--tile-size));
}
div.room div.presets,
div.mods,
div.room div.config,
div.room div.custom-json {
  top: calc(3 * var(--tile-size));
  height: calc(10 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
}
div.room label.room-tab-title {
  font-size: calc(1 * var(--tile-size));
  text-align: center;
}
div.room div.presets {
  margin-top: calc(0.5 * var(--tile-size));
  margin-bottom: calc(-0.5 * var(--tile-size));
  font-size: calc(0.75 * var(--tile-size));
}
div.mods > div.mods-inner-container {
  display: flex;
  flex-flow: row wrap;
  row-gap: calc(0.0625 * var(--tile-size));
  column-gap: calc(0.125 * var(--tile-size));
  justify-content: flex-start;
  align-items: flex-start;
}
div.mods {
  padding-top: calc(0.25 * var(--tile-size));
  padding-bottom: calc(-0.25 * var(--tile-size));
}
div.mods.mods-saki > div.mods-inner-container {
  width: 100%;
  padding-right: 100%;
}
div.mods > div.mods-inner-container > div.mod-category,
div.mods > div.mods-inner-container > div.mod-category-spacer {
  width: 100%;
  min-height: 0.5em;
  margin-left: -0.5em;
}
div.mods > div.mods-inner-container button.mod-menu-button {
  font-size: 75%;
}
div.mods > div.mods-inner-container div.mods-bottom-buttons {
  width: 100%;
  text-align: center;
}
div.room div.config > textarea,
div.room div.custom-json > textarea {
  font-size: calc(0.25 * var(--tile-size));
}
div.room div.custom-json > textarea {
  position: absolute;
  width: calc(100% - 0.5 * var(--tile-size));
  height: calc(100% - 0.5 * var(--tile-size));
  top: calc(0.25 * var(--tile-size));
  left: calc(0.25 * var(--tile-size));
}
div.room-settings > input[type=radio] {
  display: none;
}
div.room-settings > input[type=radio] + label {
  margin: auto;
}
div.room-settings > input:not(:checked) + label {
  opacity: 0.5;
}
div.room-settings > input#presets-tab:not(:checked) ~ div.presets,
div.room-settings > input#mods-tab:not(:checked) ~ div.mods,
div.room-settings > input#config-tab:not(:checked) ~ div.config {
  display: none;
}
div.config {
  width: 100%;
  height: 100%;
  font-size: calc(0.25 * var(--tile-size));
}
label.mod {
  flex-shrink: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
}
div.mods > div.mods-inner-container span.mod-config-name {
  font-size: 67%;
  margin: 0 calc(0.0625 * var(--tile-size));
}
div.mods > div.mods-inner-container form.mod-config-dropdown {
  margin: 0;
  display: flex;
}
div.mods > div.mods-inner-container form.mod-config-dropdown > select {
  -webkit-appearance: none;
  font-size: 67%;
  background-color: var(--tile-front);
  border: none;
  border-radius: calc(0.125 * var(--tile-size));
  padding: calc(0.0625 * var(--tile-size));
  margin: 0;
  min-width: calc(1 * var(--tile-size));
  text-align: center;
}
div.mods > div.mods-inner-container form.mod-config-slider {
  display: flex;
  flex-flow: column;
  height: 100%;
  --thumb-size: calc(0.4 * var(--tile-size));
}
div.mods > div.mods-inner-container form.mod-config-slider > input {
  -webkit-appearance: none;
  width: calc(3 * var(--tile-size));
  height: 0.5em;
  background: transparent;
  margin: 0 calc(0.5 * var(--thumb-size));
  border-radius: calc(0.5 * var(--thumb-size));
  background: var(--tile-front);
  z-index: 1;
}
div.mods > div.mods-inner-container form.mod-config-slider > input::-webkit-slider-thumb,
div.mods > div.mods-inner-container form.mod-config-slider > input::-moz-range-thumb {
  width: var(--thumb-size);
  height: var(--thumb-size);
  border-radius: 50%;
  border-width: calc(0.05 * var(--tile-size));
  border-color: black;
  cursor: pointer;
}
div.mods > div.mods-inner-container form.mod-config-slider > input::-webkit-slider-runnable-track,
div.mods > div.mods-inner-container form.mod-config-slider > input::-moz-range-track {
  -webkit-appearance: none;
  width: calc(100% - var(--thumb-size));
  height: calc(0.5 * var(--thumb-size));
  border-radius: calc(0.5 * var(--thumb-size));
  background: var(--tile-front);
  z-index: 1;
}
div.mods > div.mods-inner-container form.mod-config-slider > datalist {
  display: flex;
  flex-direction: row;
  writing-mode: horizontal-tb;
  font-size: 50%;
  height: 0.5em;
}
div.mods > div.mods-inner-container form.mod-config-slider > datalist > option {
  margin: auto;
}
div#container > input.expand-checkbox + label {
  position: absolute;
  font-size: calc(0.6 * var(--tile-size));
  color: white;
  border-radius: 50%;
  width: calc(1 * var(--tile-size));
  aspect-ratio: 1/1;
  border: none;
  padding: 0;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: top 0.5s, right 0.5s;
}
div#container > input.expand-checkbox.for-rulesets + label {
  right: calc(0.5 * var(--tile-size));
  top: calc(6 * var(--tile-size));
}
div#container > input.expand-checkbox.for-rulesets:checked + label {
  top: calc(0.5 * var(--tile-size));
}
div#container > input.expand-checkbox + label::before {
  content: "+";
}
div#container > input.expand-checkbox:checked + label::before {
  content: "\2013";
}
div#container > form,
div#container > div.mods,
div#container > div.custom-json {
  transition:
    width 0.5s,
    height 0.5s,
    top 0.5s,
    left 0.5s;
}
div#container > input.expand-checkbox:checked ~ form {
  height: calc(13 * var(--tile-size));
  top: calc(50% - 7 * var(--tile-size));
}
div#container > input.expand-checkbox:checked ~ div.mods,
div#container > input.expand-checkbox:checked ~ div.custom-json {
  height: calc(100% - 1.5 * var(--tile-size));
  width: calc(100% - 1 * var(--tile-size));
  top: calc(-1.25 * var(--tile-size));
  left: calc(0 * var(--tile-size));
}
div.top-right-container {
  height: var(--tile-size);
  position: absolute;
  top: calc(-1.5 * var(--tile-size));
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  column-gap: calc(0.25 * var(--tile-size));
  z-index: -1;
}
div.menu-buttons {
  display: flex;
  flex-direction: row-reverse;
  column-gap: calc(0.25 * var(--tile-size));
}
div.menu-buttons > button.language-dropdown-container {
  position: relative;
}
div.menu-buttons > button.language-dropdown-container form.language-dropdown > select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  color: transparent;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
div.menu-buttons > button.language-dropdown-container form.language-dropdown {
  position: absolute;
  top: 0;
  left: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  color: transparent;
  height: 120%;
  cursor: pointer;
}
div.menu-buttons > button.language-dropdown-container form.language-dropdown select#language-dropdown option {
  color: black;
}
div.menu-buttons > button.language-dropdown-container form.language-dropdown + div {
  pointer-events: none;
  height: 100%;
  aspect-ratio: 1/1;
}
@media (min-aspect-ratio: 6/5) {
  div.top-right-container {
    width: min(50%, calc(40vw - 20% - 0.5 * var(--tile-size)));
    left: calc(100% + var(--tile-size));
  }
}
@media (max-aspect-ratio: 6/5) {
  div.top-right-container {
    width: calc(100% + var(--tile-size));
    right: calc(-0.5 * var(--tile-size));
  }
}
div.menu-buttons > button {
  height: calc(0.8 * var(--tile-size));
  font-size: calc(0.5 * var(--tile-size));
}
@media (min-aspect-ratio: 6/5) {
  div.centerpiece-status-bar {
    display: none;
  }
}
div.centerpiece-status-bar {
  margin-right: calc(2 * var(--tile-size));
  width: calc(1.5 * var(--tile-size));
  color: white;
  transform: translateY(calc(-0.5 * var(--tile-size))) scale(2);
}
div.centerpiece-status-bar > div.tiles-left {
  position: absolute;
  font-size: calc(0.4 * var(--tile-size));
  right: calc(-0.6 * var(--tile-size));
  padding-left: calc(0.1 * var(--tile-size));
  bottom: 0;
  border-left: calc(0.02 * var(--tile-size)) solid white;
}
div.top-right-container > div.menu-buttons:not(:nth-last-child(1)),
div.top-right-container > div.centerpiece-status-bar:not(:nth-last-child(2)),
div.visible-waits-container > div.menu-buttons,
div.visible-waits-container > div.centerpiece-status-bar,
div.display-am-hand-container > div.menu-buttons,
div.display-am-hand-container > div.centerpiece-status-bar {
  display: none;
}
div.log-control {
  background: var(--tile-back);
  position: absolute;
  bottom: calc(2.25 * var(--tile-size));
  right: calc(3.5 * var(--tile-size));
  width: calc(3 * var(--tile-size));
  height: calc(1 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  z-index: 5;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}
div.log-control > button.log-control-button {
  height: calc(0.8 * var(--tile-size));
  background: transparent;
  padding: 0;
  transform: translateY(0);
  filter: none;
}
div.tutorial-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
  pointer-events: none;
}
div.tutorial-overlay-objects {
  position: relative;
  margin-left: calc(-0.5 * var(--tile-size));
  margin-top: calc(-0.5 * var(--tile-size));
  width: calc(100% + 1 * var(--tile-size));
  height: calc(100% + 1 * var(--tile-size));
}
div.tutorial-overlay-objects.awaiting-click {
  pointer-events: initial;
}
div.tutorial-text {
  position: absolute;
  width: calc(var(--width) * var(--tile-size));
  left: calc(var(--x) * var(--tile-size));
  top: calc(var(--y) * var(--tile-size));
  color: black;
  background: var(--tile-front);
  border-radius: calc(0.5 * var(--tile-size));
  font-size: calc(var(--size) * var(--tile-size));
  padding: calc(0.25 * var(--tile-size));
  filter: drop-shadow(0 calc(var(--tile-size) / 16) 0 var(--tile-back-side));
  z-index: 1;
}
div.tutorial-text > p:first-child {
  margin-top: 0;
}
div.tutorial-text > p:last-child {
  margin-bottom: 0;
}
div.tutorial-focus {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  background: black;
  mask-composite: intersect;
}
div.tutorial-focus.mobile {
  display: none;
}
@media (max-aspect-ratio: 6/5) {
  input.mobile-zoom-checkbox:not(:checked) ~ div.tutorial-overlay div.tutorial-focus.desktop {
    display: none;
  }
  input.mobile-zoom-checkbox:not(:checked) ~ div.tutorial-overlay div.tutorial-focus.mobile {
    display: block;
  }
}
header.tutorial-menu-header {
  color: white;
  width: 100%;
  top: calc(-0.5 * var(--tile-size));
  font-size: calc(0.6 * var(--tile-size));
}
header.tutorial-menu-header > h3 {
  font-size: calc(0.8 * var(--tile-size));
  font-weight: 400;
  white-space: nowrap;
  margin: 0;
}
div.tutorial-menu-container,
div.tutorial-menu-buttons {
  font-size: calc(0.6 * var(--tile-size));
  color: white;
  overflow-y: scroll;
  scrollbar-width: none;
  flex-grow: 1;
  background: #609060;
  border-radius: calc(0.5 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size));
}
div.tutorial-menu-container {
  margin: calc(0.5 * var(--tile-size)) 0;
}
div.tutorial-menu-buttons {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-top: calc(-0.5 * var(--tile-size));
}
div.tutorial-menu-container::-webkit-scrollbar,
div.tutorial-menu-buttons::-webkit-scrollbar {
  display: none;
}
div.tutorial-menu-buttons > button {
  height: calc(2 * var(--tile-size));
  margin: calc(0.5 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size));
  font-size: calc(0.6 * var(--tile-size));
}
footer.tutorial-menu-footer,
footer.tutorial-menu-footer > button {
  width: 100%;
}
div#container > form.tutorial-menu-container {
  top: 0;
  left: 0;
  width: calc(100% - var(--tile-size));
  height: calc(100% - var(--tile-size));
  transition: none;
  display: flex;
  flex-direction: column;
  row-gap: calc(0.5 * var(--tile-size));
}
form.tutorial-menu-container > header {
  display: flex;
  flex-flow: row nowrap;
  height: calc(1.5 * var(--tile-size));
  align-items: stretch;
  column-gap: calc(0.25 * var(--tile-size));
}
form.tutorial-menu-container > header > select.ruleset-dropdown {
  font-size: calc(0.6 * var(--tile-size));
  background-color: var(--tile-front);
  border: none;
  border-radius: calc(0.25 * var(--tile-size));
  flex-grow: 1;
}
form.tutorial-menu-container > header > label {
  font-size: calc(1 * var(--tile-size));
}
form.tutorial-menu-container > textarea {
  font-size: calc(0.25 * var(--tile-size));
}
div.majstest-container > label {
  position: absolute;
  top: 0;
  right: 0;
}
div.majstest-container > form {
  display: flex;
  flex-direction: column;
  row-gap: calc(0.25 * var(--tile-size));
  padding: calc(0.25 * var(--tile-size)) 0;
}
div.majstest-container > form > select {
  font-size: calc(0.6 * var(--tile-size));
  background-color: var(--tile-front);
  border: none;
  border-radius: calc(0.25 * var(--tile-size));
  flex-grow: 1;
}
div.majstest-container > form > textarea {
  height: calc(5.25 * var(--tile-size));
  font-size: calc(0.25 * var(--tile-size));
  border-width: calc(0.05 * var(--tile-size));
}
div.majstest-container > form > button {
  width: 100%;
}
div.majstest-container > div.mods-container {
  display: none;
  position: absolute;
  width: 100%;
  height: calc(100% - 0.75 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size));
  top: calc(0.75 * var(--tile-size));
  left: 0;
  background: #609060;
  box-sizing: border-box;
  overflow-y: scroll;
  z-index: 2;
  scrollbar-width: none;
  &::-webkit-scrollbar {
    display: none;
  }
}
div.majstest-container > input#show-mods:checked ~ div.mods-container {
  display: block;
}
div.scoringtest-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  row-gap: calc(0.25 * var(--tile-size));
}
div.scoringtest-container > header {
  display: flex;
  flex-direction: row;
  column-gap: calc(0.25 * var(--tile-size));
}
div.scoringtest-container > header > select {
  flex-grow: 1;
}
div.scoringtest-container > header > label {
  width: calc(1.5 * var(--tile-size));
  height: calc(0.75 * var(--tile-size));
}
div.scoringtest-container label[for=show-yaku] {
  order: 1;
}
div.scoringtest-container label[for=show-mods] {
  order: 2;
}
div.scoringtest-container label[for=show-config] {
  order: 3;
}
div.scoringtest-container label[for=show-none] {
  display: none;
  opacity: 0;
  position: absolute;
}
div.scoringtest-container input#show-yaku:checked ~ header > label[for=show-yaku],
div.scoringtest-container input#show-mods:checked ~ header > label[for=show-mods],
div.scoringtest-container input#show-config:checked ~ header > label[for=show-config] {
  background: var(--tile-back);
}
div.scoringtest-container input#show-yaku:checked ~ header > label[for=show-none] {
  display: block;
  right: calc(4 * var(--tile-size));
}
div.scoringtest-container input#show-mods:checked ~ header > label[for=show-none] {
  display: block;
  right: calc(2 * var(--tile-size));
}
div.scoringtest-container input#show-config:checked ~ header > label[for=show-none] {
  display: block;
  right: 0;
}
div.scoringtest-container > header > form {
  order: 0;
  flex-grow: 1;
}
div.scoringtest-container > header > form > select {
  width: 100%;
  font-size: calc(0.6 * var(--tile-size));
  background-color: var(--tile-front);
  border: none;
  border-radius: calc(0.25 * var(--tile-size));
}
div.scoringtest-container textarea {
  height: calc(14.25 * var(--tile-size));
  font-size: calc(0.25 * var(--tile-size));
  border-width: calc(0.05 * var(--tile-size));
}
div.scoringtest-container div.hand-outer-container,
div.scoringtest-container div.yaku-outer-container,
div.scoringtest-container div.mods-container,
div.scoringtest-container div.config-container {
  width: 100%;
  height: calc(100% - 0.875 * var(--tile-size));
  border-radius: calc(0.25 * var(--tile-size));
  padding: calc(0.5 * var(--tile-size));
  background: #609060;
  box-sizing: border-box;
  overflow-y: scroll;
  scrollbar-width: none;
  &::-webkit-scrollbar {
    display: none;
  }
}
div.scoringtest-container div.yaku-outer-container,
div.scoringtest-container div.mods-container,
div.scoringtest-container div.config-container {
  display: none;
  position: absolute;
  top: calc(1 * var(--tile-size));
  left: 0;
  z-index: 2;
}
div.scoringtest-container input#show-yaku:checked ~ div.yaku-outer-container {
  display: block;
}
div.scoringtest-container input#show-mods:checked ~ div.mods-container {
  display: block;
}
div.scoringtest-container input#show-config:checked ~ div.config-container {
  display: block;
}
div.scoringtest-container > div.scoring-test-bottom-buttons {
  display: flex;
  order: 2;
  flex-flow: row wrap;
  width: 100%;
  text-align: right;
  justify-content: center;
  column-gap: calc(0.25 * var(--tile-size));
  & > form {
    flex-grow: 1;
    display: flex;
    column-gap: calc(0.25 * var(--tile-size));
  }
  & button {
    font-size: 150%;
    flex-grow: 1;
  }
  & button.clear {
    flex-grow: 0;
  }
}
div.scoringtest-container div.yaku-outer-container {
  & span.yaku-bottom-minipoint-name {
    text-align: right;
    font-size: 150%;
  }
  & input {
    --width: 8;
    text-align: right;
    font-family: monospace;
    width: calc(var(--width) * 0.6em);
    background: lightgray;
    border: none;
  }
}
div.hand-selection-inner-container {
  display: flex;
  flex-direction: column;
  row-gap: calc(0.25 * var(--tile-size));
}
div.hand-selection-inner-container div.hand-selection-hand button,
div.hand-selection-inner-container div.hand-selection-buttons button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}
div.hand-selection-inner-container > div.hand-selection-hand,
div.hand-selection-inner-container > div.hand-selection-buttons,
div.hand-selection-inner-container > div.hand-selection-calls {
  display: flex;
  flex-flow: row wrap;
  row-gap: calc(0.25 * var(--tile-size));
}
div.hand-selection-inner-container > div.hand-selection-hand {
  padding: calc(0.5 * var(--tile-size));
  justify-content: center;
}
div.hand-selection-inner-container > div.hand-selection-hand > :last-child {
  margin-left: calc(0.25 * var(--tile-size));
}
div.hand-selection-inner-container > div.hand-selection-hand > button.hand-selection-call {
  margin-left: calc(0.25 * var(--tile-size));
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-end;
}
div.hand-selection-inner-container > div.hand-selection-buttons {
  column-gap: calc(0.125 * var(--tile-size));
}
div.hand-selection-inner-container > div.hand-selection-buttons > button.clear {
  filter: drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-front-side)) drop-shadow(0 calc(var(--tile-size) / 8) 0 var(--tile-back-side)) contrast(60%);
  margin-left: calc(0.875 * var(--tile-size));
}
div.hand-selection-inner-container > div.hand-selection-buttons > button.clear > div.tile {
  font-size: calc(0.35 * var(--tile-size));
  font-weight: bold;
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 0.5;
  letter-spacing: -0.5ex;
  padding: 0 calc(0.275 * var(--tile-size));
}
div.hand-selection-inner-container > div.hand-selection-calls {
  gap: calc(0.25 * var(--tile-size));
}
div.scoringtest-container div.yaku-container > div.yaku-inner-container {
  display: flex;
  flex-flow: row wrap;
  row-gap: calc(0.0625 * var(--tile-size));
  column-gap: calc(0.125 * var(--tile-size));
  justify-content: flex-start;
  align-items: flex-start;
  & > div.yaku-list,
  & > div.yaku-list-spacer {
    width: 100%;
    min-height: 0.5em;
    margin-left: -0.5em;
    margin-bottom: -0.5em;
  }
  & div.yaku-list-name {
    font-weight: bold;
  }
  & label.yaku-button {
    flex-shrink: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  & label.yaku-button input[type=number] {
    --width: 1;
    font-family: monospace;
    font-size: 100%;
    width: calc(var(--width) * 0.6em);
    margin: 0 calc(0.0625 * var(--tile-size));
    background: transparent;
    border: none;
    text-align: center;
    color: white;
    padding: 0;
  }
}
div.reconnect-banner::before {
  background: var(--bg-color);
  color: white;
  position: fixed;
  inset: 0 0 auto 0;
  padding: 0.5rem;
  text-align: center;
  z-index: 1000;
  pointer-events: none;
  animation: reconnectBanner 1s linear forwards;
}
@keyframes reconnectBanner {
  0% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
div.reconnect-banner {
  display: none;
}
div.phx-loading div.reconnect-banner {
  display: block;
  &::before {
    content: "Connecting...";
  }
}
div.phx-error div.reconnect-banner {
  display: block;
  &::before {
    content: "Game has crashed, restarting...";
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vYXNzZXRzL2Nzcy9hcHAuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJodG1sLCBib2R5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBBdmVuaXIsIE1vbnRzZXJyYXQsIENvcmJlbCwgXCJVUlcgR290aGljXCIsIHNvdXJjZS1zYW5zLXBybywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xufVxuYm9keTo6YWZ0ZXIge1xuICAvKiByZXF1aXJlZCBzaW5jZSBjaHJvbWUgZmFpbHMgdG8gb3ZlcmZsb3cgaHRtbC9ib2R5XG4gICAgIHRvIGFjY29tbW9kYXRlIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVtZW50cyAqL1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgKDYgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG4vKiBsYW5kc2NhcGUgKi9cbkBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIC8qIDE2ICh0YWJsZSBoZWlnaHQpXG4gICAgICArIDEgKHRhYmxlIG1hcmdpbilcbiAgICArIDEuNSAodG9wIG1hcmdpbilcbiAgICArIDEuNSAoYm90dG9tIG1hcmdpbilcbiAgICA9IDIwICovXG4gICAgLS10aWxlLXNpemU6IGNhbGMoMTAwdmggLyAyMCk7XG4gIH1cbiAgYm9keSA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbn1cbi8qIHBvcnRyYWl0IChtb2JpbGUpICovXG5AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBodG1sLCBib2R5IHtcbiAgICAvKiAxNiAodGFibGUgd2lkdGgvaGVpZ2h0KVxuICAgICAgKyAxICh0YWJsZSBtYXJnaW4pXG4gICAgICArIDEgKGxlZnQgbWFyZ2luKVxuICAgICAgKyAxIChyaWdodCBtYXJnaW4pXG4gICAgID0gMTkgKi9cbiAgICAtLXRpbGUtc2l6ZTogbWluKGNhbGMoMTAwdncgLyAxOSksIGNhbGMoODB2aCAvIDE5KSk7XG4gIH1cbn1cblxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXIsIGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgXG4gIGRpc3BsYXk6IG5vbmU7IC8qIFNhZmFyaS9DaHJvbWUgKi9cbn1cbm1haW4ge1xuICBoZWlnaHQ6IGNhbGMoMTYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSkgYXV0bztcbiAgLS10aWxlLWZyb250OiAjZjRmMGViO1xuICAtLXRpbGUtZnJvbnQtc2lkZTogI2VlZTRkODtcbiAgLS10aWxlLWJhY2s6ICNmMDk3NGM7XG4gIC0tdGlsZS1iYWNrLXNpZGU6ICNmMDk3NGM7XG4gIC0tYmctY29sb3I6ICMwZjZmMmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5tYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0xO1xufVxubWFpbiBkaXYjY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29udGFpbjogbGF5b3V0OyAvKiBtYWtlIHtwb3NpdGlvbjogZml4ZWQ7fSBlbGVtZW50cyByZWxhdGl2ZSB0byB0aGlzICovXG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xufVxubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiAjM2YzZjNmO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogbWluKDUwJSwgY2FsYyg0MHZ3IC0gMjAlIC0gMC41ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyID4gZGl2Lm1lc3NhZ2VzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiB3cmFwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5tYWluIGRpdi5tZXNzYWdlcy1jb250YWluZXIgPiBkaXYubWVzc2FnZXMgc3Bhbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbm1haW4gZGl2Lm1lc3NhZ2VzLWNvbnRhaW5lciA+IGJ1dHRvbi5jbGVhci1tZXNzYWdlcy1idXR0b24ge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBiYWNrZ3JvdW5kOiBncmF5O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gOCkgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICY6YWN0aXZlIHsgZmlsdGVyOiBub25lOyB9XG59XG5cbi8qIG1ha2Ugc2Nyb2xsaW5nIHdvcmsgKi9cbi8qIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83ODEyNDY2NCAqL1xubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBzY3JvbGxiYXItY29sb3I6IHdoaXRlIHRyYW5zcGFyZW50O1xuICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG59XG5tYWluIGRpdi5tZXNzYWdlcy1jb250YWluZXIgPiBkaXYubWVzc2FnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLyogbGFuZHNjYXBlICovXG5AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBtYWluOjpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoLTIwdmggKyAwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxuICBtYWluIGRpdiNjb250YWluZXIge1xuICAgIGxlZnQ6IGNhbGMoLTIwdmggKyAxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgbWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgKyB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxufVxuLyogcG9ydHJhaXQgKG1vYmlsZSkgKi9cbkBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIG1haW4gZGl2Lm1lc3NhZ2VzLWNvbnRhaW5lciB7XG4gICAgbGVmdDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgaGVpZ2h0OiBtYXgoMTByZW0sIGNhbGMoMTAwdmggLSAxMDAlKSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgbWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyID4gZGl2Lm1lc3NhZ2VzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbi8qIGFsbCB0b29sdGlwczogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzYwNjYwMjA3ICovXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSksIChob3Zlcjogbm9uZSkge1xuICBsYWJlbFtkYXRhLW5hbWVdW3RpdGxlXTpub3QoLnNha2ktY2FyZCk6Zm9jdXM6OmJlZm9yZSxcbiAgbGFiZWxbZGF0YS1uYW1lXVt0aXRsZV06bm90KC5zYWtpLWNhcmQpOmZvY3VzOjphZnRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGVmdDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxuICBsYWJlbFtkYXRhLW5hbWVdW3RpdGxlXTpub3QoLnNha2ktY2FyZCk6Zm9jdXM6OmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLW5hbWUpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSkgMCAwO1xuICB9XG4gIGxhYmVsW2RhdGEtbmFtZV1bdGl0bGVdOm5vdCguc2FraS1jYXJkKTpmb2N1czo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIodGl0bGUpO1xuICAgIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB0b3A6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIH1cbn1cblxuLyogZ2xvYmFsIHN0eWxlcyAqL1xuXG4vKiBzdGFuZGFyZGl6ZSBwYWRkaW5nICovXG5zZWxlY3QsIGJ1dHRvbiwgaW5wdXQgeyBwYWRkaW5nOiAwIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuLyogdG9nZ2xlIGJ1dHRvbnMgKi9cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHsgZGlzcGxheTogbm9uZTsgfVxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IGdyYXk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogMCBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmlucHV0ICsgbGFiZWwgeyBiYWNrZ3JvdW5kOiBncmF5OyB9XG5pbnB1dDpjaGVja2VkICsgbGFiZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWJhY2spOyB9XG4vKiB0ZXh0YXJlYXMgKi9cbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzNmM2YzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAzKTtcbn1cbnRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhciB7IFxuICBkaXNwbGF5OiBub25lOyAvKiBTYWZhcmkvQ2hyb21lICovXG59XG4vKiBidXR0b25zICovXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSkpXG4gICAgICAgICAgZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtYmFjay1zaWRlKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTgpKTtcbn1cbmJ1dHRvbjphY3RpdmUsIGJ1dHRvbi5wcmVzc2VkIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbmJ1dHRvbjphY3RpdmU6OmJlZm9yZSxcbmJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XG4gIC8qIGFkZCBhIGNsaWNrYWJsZSBhcmVhIGFib3ZlIHRoZSBidXR0b24gKi9cbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG59XG4vKiBudW1lcmljIGlucHV0ICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHsgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH0gICAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIGhhbmRzICovXG5kaXYuaGFuZCwgZGl2LnRpbGVzLCBkaXYuY2FsbHMsIGRpdi5mbG93ZXJzLCBkaXYuY2FsbCwgZGl2LmRyYXdzLCBkaXYuYnV0dG9ucywgZGl2LmNhbGwtYnV0dG9ucywgYnV0dG9uLmNhbGwtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5oYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnNlbGYgeyB6LWluZGV4OiAxMDsgfSAvKiB5b3VyIHN0dWZmIGdvZXMgYWJvdmUgb3RoZXIgcGVvcGxlJ3Mgc3R1ZmYgKi9cbmRpdi5oYW5kLCBkaXYuZHJhd3MgeyB6LWluZGV4OiAyMDsgfSAvKiBzbyBpZiB0aGV5IG92ZXJsYXAgd2l0aCBjYWxscywgdGhlIGhhbmQgZ29lcyBvbiB0b3AgKi9cbmRpdi5oYW5kLnNlbGYsIGRpdi5kcmF3cy5zZWxmIHsgei1pbmRleDogMzA7IH0gLyogeW91ciBzdHVmZiBnb2VzIGFib3ZlIG90aGVyIHBlb3BsZSdzIHN0dWZmICovXG5kaXYudGlsZXMsIGRpdi5jYWxsLmFzaWRlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTcuNSAqIDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jYWxsLmFzaWRlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWF4LXdpZHRoOiBjYWxjKDUuNSAqIDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jYWxscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAwO1xufVxuZGl2LmNhbGwge1xuICAvKiB3ZSBuZWVkIHRoaXMgc2luY2UgdGhlIGNhbGxzIGNvbnRhaW5lciBpcyB6ZXJvIHdpZHRoICovXG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuZGl2LmZsb3dlcnMge1xuICByaWdodDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0yO1xufVxuLyogcmV2ZXJzZSB0aGUgei1pbmRleCBvZiBjYWxscyBzbyB0aGV5IG92ZXJsYXAgY29ycmVjdGx5ICovXG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogLTE7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMikgeyB6LWluZGV4OiAtMjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgzKSB7IHotaW5kZXg6IC0zOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTQ7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoNSkgeyB6LWluZGV4OiAtNTsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg2KSB7IHotaW5kZXg6IC02OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTc7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoOCkgeyB6LWluZGV4OiAtODsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg5KSB7IHotaW5kZXg6IC05OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC0xMDsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxMSkgeyB6LWluZGV4OiAtMTE7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTIpIHsgei1pbmRleDogLTEyOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IC0xMzsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNCkgeyB6LWluZGV4OiAtMTQ7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTUpIHsgei1pbmRleDogLTE1OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IC0xNjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNykgeyB6LWluZGV4OiAtMTc7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTgpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IC0xOTsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMCkgeyB6LWluZGV4OiAtMjA7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjEpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IC0yMjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMykgeyB6LWluZGV4OiAtMjM7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjQpIHsgei1pbmRleDogLTI0OyB9XG4vKiBzaGltb2NoYSdzIGNhbGxzIG92ZXJsYXAgaW4gdGhlIHJldmVyc2Ugb3JkZXIgKi9cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogLTI0OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyKSB7IHotaW5kZXg6IC0yMzsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMykgeyB6LWluZGV4OiAtMjI7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg1KSB7IHotaW5kZXg6IC0yMDsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoNikgeyB6LWluZGV4OiAtMTk7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg4KSB7IHotaW5kZXg6IC0xNzsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoOSkgeyB6LWluZGV4OiAtMTY7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC0xNTsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTEpIHsgei1pbmRleDogLTE0OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxMikgeyB6LWluZGV4OiAtMTM7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IC0xMjsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTQpIHsgei1pbmRleDogLTExOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNSkgeyB6LWluZGV4OiAtMTA7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IC05OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNykgeyB6LWluZGV4OiAtODsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTgpIHsgei1pbmRleDogLTc7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IC02OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMCkgeyB6LWluZGV4OiAtNTsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjEpIHsgei1pbmRleDogLTQ7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IC0zOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMykgeyB6LWluZGV4OiAtMjsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjQpIHsgei1pbmRleDogLTE7IH1cbmRpdi5jYWxsLCBkaXYuZHJhd3MsIGRpdi53aW5uaW5nLXRpbGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC4zNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi53aW5uaW5nLXRpbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2Lndpbm5pbmctdGlsZS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MDAlO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAtMjAwJTtcbiAgY29sb3I6IHdoaXRlO1xufVxuZGl2LmhhbmQuc2VsZiB7XG4gIGJvdHRvbTogMDtcbn1cbmRpdi5oYW5kLnNlbGYgPiBkaXYudGlsZXMgPiBkaXYudGlsZSxcbmRpdi5oYW5kLnNlbGYgPiBkaXYuZHJhd3MgPiBkaXYudGlsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRpdi5oYW5kLnNoaW1vY2hhIHtcbiAgcmlnaHQ6IHZhcigtLXRpbGUtc2l6ZSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbn1cbmRpdi5oYW5kLnRvaW1lbiB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbmRpdi5oYW5kLmthbWljaGEge1xuICBsZWZ0OiB2YXIoLS10aWxlLXNpemUpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWChjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuZGl2LmhhbmQuc2VsZiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuY2FsbHM6aG92ZXIgeyB6LWluZGV4OiAxMDA7IH1cbmRpdi5kcmF3czo6YmVmb3JlLCBkaXYudGlsZXM6aG92ZXI6OmJlZm9yZSwgZGl2LmNhbGxzOmhvdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuLyogdG9pbWVuJ3MgaGFuZCBjb3ZlcnMgc2hpbW8ncyBjYWxscyAqL1xuLyogYnV0IGlmIHdlIGxvd2VyIGl0cyB6LWluZGV4LCB0aGVuIHRvaW1lbidzIGNhbGxzIGFyZSBjb3ZlcmVkIGJ5IGthbWkgKi9cbi8qIGJlc3Qgd2F5IHRvIG1ha2Ugc2hpbW8ncyBkaXNjYXJkcyBjbGlja2FibGUgaXMgdG8gei1maWdodCAqL1xuZGl2LmhhbmQudG9pbWVuOmhvdmVyIHsgei1pbmRleDogLTE7IH1cbi8qIHNoaW1vIHVzZXMgbmVnYXRpdmUgei1pbmRleCBzbyB3ZSBuZWVkIHRvIGRvIHNvbWUgd2VpcmRuZXNzICovXG5kaXYuaGFuZC5zaGltb2NoYSBkaXYudGlsZXM6aG92ZXI6OmJlZm9yZSxcbmRpdi5oYW5kLnNoaW1vY2hhIGRpdi5jYWxsczpob3Zlcjo6YmVmb3JlIHsgei1pbmRleDogLTIwOyB9XG5kaXYuaGFuZC5zaGltb2NoYSBkaXYudGlsZXM6aG92ZXIgfiBkaXYuY2FsbHMgeyB6LWluZGV4OiAtNDA7IH1cbmRpdi5oYW5kLm1hcmtpbmcgeyB6LWluZGV4OiAxMDsgfVxuZGl2LmhhbmQubWFya2luZy5zZWxmIHsgei1pbmRleDogMTE7IH1cbmRpdi5oYW5kLm1hcmtpbmc6aG92ZXIgeyB6LWluZGV4OiAyMDsgfVxuLyogZGVhZCBoYW5kIGJ1dHRvbnMgKi9cbmRpdi5jYWxscyA+IGRpdi5kZWFkLWhhbmQtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtYmFjayk7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b24uaW5hY3RpdmUgeyBiYWNrZ3JvdW5kOiBncmF5OyBvcGFjaXR5OiAwLjU7IH1cbmRpdi5oYW5kLnNoaW1vY2hhIGRpdi5kZWFkLWhhbmQtYnV0dG9uIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5kaXYuaGFuZC50b2ltZW4gZGl2LmRlYWQtaGFuZC1idXR0b24geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuaGFuZC5rYW1pY2hhIGRpdi5kZWFkLWhhbmQtYnV0dG9uIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXHUyNjIwXCI7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjggKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMC4xICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCI/XCI7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKSwgY2FsYygtMC45ICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIHRpbGUgYXR0cnMgKi9cbmRpdi50aWxlLnJldmVyc2VkIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEwMCUpOyB9XG5kaXYudGlsZS5pbmFjdGl2ZSB7IG9wYWNpdHk6IDAuNzsgLS10aWxlLWJyaWdodG5lc3M6IDYwJTsgfVxuZGl2LnRpbGUuaGlnaGxpZ2h0LFxuZGl2LnBvbmQuaGlnaGxpZ2h0IGRpdi50aWxlOmxhc3QtY2hpbGQge1xuICAtLXRpbGUtYnJpZ2h0bmVzczogODAlO1xuICAtLXRpbGUtc2F0dXJhdGU6IDEwMCU7XG59XG5kaXYudGlsZS50cmFuc3BhcmVudCB7XG4gIC0tdGlsZS1icmlnaHRuZXNzOiA4MCU7XG4gIC0tdGlsZS1zYXR1cmF0ZTogMjUwJTtcbiAgLS10aWxlLWJhY2s6IHZhcigtLXRpbGUtZnJvbnQpO1xuICAtLXRpbGUtYmFjay1zaWRlOiB2YXIoLS10aWxlLWZyb250LXNpZGUpO1xuICBvcGFjaXR5OiAwLjU7XG59XG5kaXYudGlsZS50cmFuc3BhcmVudC5oaWdobGlnaHQsXG5kaXYucG9uZC5oaWdobGlnaHQgZGl2LnRpbGUudHJhbnNwYXJlbnQ6bGFzdC1jaGlsZCB7IC0tdGlsZS1icmlnaHRuZXNzOiA0OCU7IH1cbmRpdi50aWxlLnRyYW5zcGFyZW50LmluYWN0aXZlIHsgb3BhY2l0eTogMC4zNTsgLS10aWxlLWJyaWdodG5lc3M6IDYwJTsgLS10aWxlLXNhdHVyYXRlOiAxMDAlOyB9XG5kaXYudGlsZS5oaWRkZW4geyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHRpbGUgbnVtYmVycyAqL1xuZGl2LnRpbGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuZGl2LnRpbGUub25lOjphZnRlciB7IGNvbnRlbnQ6IFwiMVwiOyB9XG5kaXYudGlsZS50d286OmFmdGVyIHsgY29udGVudDogXCIyXCI7IH1cbmRpdi50aWxlLnRocmVlOjphZnRlciB7IGNvbnRlbnQ6IFwiM1wiOyB9XG5kaXYudGlsZS5mb3VyOjphZnRlciB7IGNvbnRlbnQ6IFwiNFwiOyB9XG5kaXYudGlsZS5maXZlOjphZnRlciB7IGNvbnRlbnQ6IFwiNVwiOyB9XG5kaXYudGlsZS5zaXg6OmFmdGVyIHsgY29udGVudDogXCI2XCI7IH1cbmRpdi50aWxlLnNldmVuOjphZnRlciB7IGNvbnRlbnQ6IFwiN1wiOyB9XG5kaXYudGlsZS5laWdodDo6YWZ0ZXIgeyBjb250ZW50OiBcIjhcIjsgfVxuZGl2LnRpbGUubmluZTo6YWZ0ZXIgeyBjb250ZW50OiBcIjlcIjsgfVxuZGl2LnRpbGUudGVuOjphZnRlciB7IGNvbnRlbnQ6IFwiMTBcIjsgfVxuZGl2LnRpbGUuRTo6YWZ0ZXIgeyBjb250ZW50OiBcIkVcIjsgfVxuZGl2LnRpbGUuUzo6YWZ0ZXIgeyBjb250ZW50OiBcIlNcIjsgfVxuZGl2LnRpbGUuVzo6YWZ0ZXIgeyBjb250ZW50OiBcIldcIjsgfVxuZGl2LnRpbGUuTjo6YWZ0ZXIgeyBjb250ZW50OiBcIk5cIjsgfVxuZGl2LnRpbGUuV2g6OmFmdGVyIHsgY29udGVudDogXCJXaFwiOyB9XG5kaXYudGlsZS5HOjphZnRlciB7IGNvbnRlbnQ6IFwiR1wiOyB9XG5kaXYudGlsZS5SOjphZnRlciB7IGNvbnRlbnQ6IFwiUlwiOyB9XG5kaXYjY29udGFpbmVyID4gaW5wdXQudGlsZS1udW1iZXJzLWNoZWNrYm94OmNoZWNrZWQgfiAqIGRpdi50aWxlOjphZnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLW51bWJlci1jb2xvcik7XG4gIHRleHQtc2hhZG93OlxuICAgIDAuMTVlbSAwIDAgdmFyKC0tdGlsZS1mcm9udCksXG4gICAgLTAuMTVlbSAwIDAgdmFyKC0tdGlsZS1mcm9udCksXG4gICAgMCAwLjE1ZW0gMCB2YXIoLS10aWxlLWZyb250KSxcbiAgICAwIC0wLjE1ZW0gMCB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjA0ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMC4wNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQudGlsZS1udW1iZXJzLWNoZWNrYm94OmNoZWNrZWQgfiAqIGRpdi50aWxlLnNpZGV3YXlzOjphZnRlciB7XG4gIHRvcDogdW5zZXQ7XG4gIGJvdHRvbTogY2FsYygwLjA0ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi8qIHRpbGUgZGVidWcgKi9cbmRpdi50aWxlID4gc3Bhbi50aWxlLWRlYnVnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgZm9udC1zaXplOiA1MCU7XG4gIGZpbHRlcjpcbiAgICBkcm9wLXNoYWRvdygwIDAgY2FsYygwLjAyNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGJsYWNrKVxuICAgIGRyb3Atc2hhZG93KDAgMCBjYWxjKDAuMDI1ICogdmFyKC0tdGlsZS1zaXplKSkgYmxhY2spXG4gICAgZHJvcC1zaGFkb3coMCAwIGNhbGMoMC4wMjUgKiB2YXIoLS10aWxlLXNpemUpKSBibGFjayk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xZW07XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICYgPiBzcGFuIHsgZm9udC1zaXplOiA2MCU7IH1cbn1cbmRpdi5rYW1pY2hhIGRpdi50aWxlID4gc3Bhbi50aWxlLWRlYnVnLFxuZGl2LnNoaW1vY2hhIGRpdi50aWxlID4gc3Bhbi50aWxlLWRlYnVnIHtcbiAgdG9wOiAwO1xufVxuXG4vKiBwb25kcyAqL1xuZGl2LnBvbmQsIGRpdi5zZWNvbmRhcnktcG9uZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIC8qZmxleC1kaXJlY3Rpb246IHJvdzsqL1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoMi4zNzUgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKC0yLjYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgei1pbmRleDogLTE7XG59XG5kaXYuZm91ci1yb3dzID4gZGl2LnBvbmQge1xuICB3aWR0aDogY2FsYyg1LjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmZvdXItcm93cyA+IGRpdi5zZWNvbmRhcnktcG9uZCB7XG4gIHdpZHRoOiBjYWxjKDQuMzc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoLTIuMzc1ICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygtMi44NzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdjpub3QoLmZvdXItcm93cykgPiBkaXYucG9uZDo6YmVmb3JlLFxuZGl2Om5vdCguZm91ci1yb3dzKSA+IGRpdi5wb25kOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IHdpZHRoOiAxMDAlOyBvcmRlcjogMTsgfVxuLnBvbmQgPiAudGlsZSB7IG9yZGVyOiAwOyB9XG4ucG9uZCA+IC50aWxlOm50aC1jaGlsZChuKzcpIHsgb3JkZXI6IDE7IH1cbi5wb25kID4gLnRpbGU6bnRoLWNoaWxkKG4rMTMpIHsgb3JkZXI6IDI7IH1cbi8qIGZvciB0b2ltZW4sIHRoZWlyIHRpbGVzIG92ZXJsYXAgYmFja3dhcmRzLCBzbyB3ZSBuZWVkIHRvIHotaW5kZXggdGhlbSAqL1xuLnBvbmQudG9pbWVuID4gLnRpbGUgeyB6LWluZGV4OiAzOyB9XG4ucG9uZC50b2ltZW4gPiAudGlsZTpudGgtY2hpbGQobis3KSB7IHotaW5kZXg6IDI7IH1cbi5wb25kLnRvaW1lbiA+IC50aWxlOm50aC1jaGlsZChuKzEzKSB7IHotaW5kZXg6IDE7IH1cbi5wb25kLnRvaW1lbiA+IC50aWxlOm50aC1jaGlsZChuKzE5KSB7IHotaW5kZXg6IDA7IH1cbi5wb25kLnRvaW1lbi5zZWNvbmRhcnktcG9uZCA+IC50aWxlIHsgei1pbmRleDogMzsgfVxuLnBvbmQudG9pbWVuLnNlY29uZGFyeS1wb25kID4gLnRpbGU6bnRoLWNoaWxkKG4rNikgeyB6LWluZGV4OiAyOyB9XG4ucG9uZC50b2ltZW4uc2Vjb25kYXJ5LXBvbmQgPiAudGlsZTpudGgtY2hpbGQobisxMSkgeyB6LWluZGV4OiAxOyB9XG4ucG9uZC50b2ltZW4uc2Vjb25kYXJ5LXBvbmQgPiAudGlsZTpudGgtY2hpbGQobisxNikgeyB6LWluZGV4OiAwOyB9XG5kaXYucG9uZCB7XG4gIHotaW5kZXg6IDQ7IC8qIGJlbG93IGNvbXBhc3MgYW5kIGFib3ZlIGNvcm5lciBpbmZvICovXG59XG5kaXYucG9uZC5zZWxmIHtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMi4zNzUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRvcDogY2FsYyg1MCUgKyAoMi4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHotaW5kZXg6IDY7IC8qIGFib3ZlIGNvbXBhc3MgYW5kIGFib3ZlIGNvcm5lciBpbmZvICovXG59XG5kaXYucG9uZC5zaGltb2NoYSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDIuNjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB0b3A6IGNhbGMoNTAlICsgKDIuMzc1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LnBvbmQudG9pbWVuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMi4zNzUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRvcDogY2FsYyg1MCUgKyAoMi42MjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYucG9uZC5rYW1pY2hhIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSArICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cblxuLyogbW9iaWxlIHpvb20gYnV0dG9uIGZvciBoYW5kICovXG4vKiBsYW5kc2NhcGUgKi9cbkBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94ICsgbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG59XG4vKiBwb3J0cmFpdCAobW9iaWxlKSAqL1xuQG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgbWFpbiB7XG4gICAgLS1tb2JpbGUtc2NhbGUtZmFjdG9yOiAxLjU7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYm90dG9tOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCA+IHN2ZzpmaXJzdC1jaGlsZCxcbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsID4gc3ZnOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogaG92ZXItem9vbSB2aWV3IG9mIG91ciBvd24gaGFuZCAqL1xuICBpbnB1dC5tb2JpbGUtem9vbS1jaGVja2JveDpub3QoOmNoZWNrZWQpIH4gZGl2LmhhbmQuc2VsZiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tb2JpbGUtc2NhbGUtZmFjdG9yKSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXAtcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYgPiBkaXYudGlsZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LmNhbGxzIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKGNhbGMoMSAvIHZhcigtLW1vYmlsZS1zY2FsZS1mYWN0b3IpKSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LnRpbGVzOmhvdmVyOjpiZWZvcmUsXG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LmNhbGxzOmhvdmVyOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogbW92ZSBidXR0b25zIHVwICovXG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuYnV0dG9ucyxcbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5jYWxsLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBib3R0b206IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gIGRpdiNjb250YWluZXIubWluZWZpZWxkIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94ICsgbGFiZWwge1xuICAgIGJvdHRvbTogY2FsYyg3ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgZGl2I2NvbnRhaW5lci5taW5lZmllbGQgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYgPiBkaXYuY2FsbHMgPiBkaXYuY2FsbC5hc2lkZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTIgKiB2YXIoLS10aWxlLXNpemUpKSkgc2NhbGUodmFyKC0tbW9iaWxlLXNjYWxlLWZhY3RvcikpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgfVxuICBkaXYjY29udGFpbmVyLm1pbmVmaWVsZCBpbnB1dC5tb2JpbGUtem9vbS1jaGVja2JveDpub3QoOmNoZWNrZWQpIH4gZGl2LmJ1dHRvbnMsXG4gIGRpdiNjb250YWluZXIubWluZWZpZWxkIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuY2FsbC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgYm90dG9tOiBjYWxjKDUuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxufVxuXG4vKiBjb21wYXNzICovXG5kaXYuY29tcGFzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoNC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgyLjYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDU7XG59XG5kaXYuY29tcGFzczo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBncmF5O1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogLTI7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA0KSAwICMzRjNGM0YpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuc2NvcmUtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgxLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB0b3A6IGNhbGMoNTAlIC0gKDEuMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXI6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIGJsYWNrO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmRpdi5jb21wYXNzLmVhc3QgPiBkaXYuZGlyZWN0aW9uLmVhc3Qge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy5lYXN0ID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLmVhc3QgPiBkaXYuZGlyZWN0aW9uLndlc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuY29tcGFzcy5lYXN0ID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuZGl2LmNvbXBhc3Muc291dGggPiBkaXYuZGlyZWN0aW9uLmVhc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbmRpdi5jb21wYXNzLnNvdXRoID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy5zb3V0aCA+IGRpdi5kaXJlY3Rpb24ud2VzdCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLnNvdXRoID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbmRpdi5jb21wYXNzLndlc3QgPiBkaXYuZGlyZWN0aW9uLmVhc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuY29tcGFzcy53ZXN0ID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuZGl2LmNvbXBhc3Mud2VzdCA+IGRpdi5kaXJlY3Rpb24ud2VzdCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy53ZXN0ID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLm5vcnRoID4gZGl2LmRpcmVjdGlvbi5lYXN0IHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNvbXBhc3Mubm9ydGggPiBkaXYuZGlyZWN0aW9uLnNvdXRoIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuZGl2LmNvbXBhc3Mubm9ydGggPiBkaXYuZGlyZWN0aW9uLndlc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbmRpdi5jb21wYXNzLm5vcnRoID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygwLjMxMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMS4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiBkYXJrZ3JheTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5yaWljaGktdHJheS5oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkucmlpY2hpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgxICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBib3R0b206IGNhbGMoNTAlIC0gKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkucmlpY2hpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMC4xICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgwLjA1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBib3R0b206IGNhbGMoNTAlIC0gKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJhY2tncm91bmQ6IHJlZDtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi53aW5kLW1hcmtlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICB3aWR0aDogdmFyKC0tdGlsZS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS10aWxlLXNpemUpO1xuICBib3R0b206IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoLTAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LndpbmQtbWFya2VyLmhpZ2hsaWdodGVkIHtcbiAgY29sb3I6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYud2luZC1tYXJrZXIuYm90LFxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LndpbmQtbWFya2VyLmhpZ2hsaWdodGVkLmJvdCB7XG4gIGNvbG9yOiAjRkY3RjdGO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjYgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtYmFjayk7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXIuc2NpZW50aWZpYyB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyLnJlbGF0aXZlIHtcbiAgY29sb3I6IGxpZ2h0Z3JlZW47XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYuc2NvcmUtY291bnRlci5uZWdhdGl2ZSB7XG4gIGNvbG9yOiByZWQ7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYuc2NvcmUtY291bnRlcjpob3ZlcixcbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyLnNjaWVudGlmaWM6aG92ZXIge1xuICB3aWR0aDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBmb250LXNpemU6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICB6LWluZGV4OiAxMDtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyID4gYiB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXI6aG92ZXIgPiBiIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogYmxhY2s7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICM1RjVGNUY7XG4gIGJvcmRlcjogY2FsYygwLjU1ICogdmFyKC0tdGlsZS1zaXplKSkgcmlkZ2UgIzVGNUY1RjtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMC41NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjU1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlID4gZGl2LnRpbGVzLWxlZnQ6bGFzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5yaWljaGktc3RpY2stY291bnRlcixcbmRpdi5ob25iYS1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuMDc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDAuMDc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjE1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbi1jb250ZW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJpaWNoaS1zdGljay1jb3VudGVyIHsgYm90dG9tOiBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYuaG9uYmEtY291bnRlciB7IGJvdHRvbTogY2FsYygtMC4wNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYucmlpY2hpLXN0aWNrLWNvdW50ZXI6OmJlZm9yZSxcbmRpdi5yaWljaGktc3RpY2stY291bnRlcjo6YWZ0ZXIsXG5kaXYuaG9uYmEtY291bnRlcjo6YmVmb3JlLFxuZGl2LmhvbmJhLWNvdW50ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZ3JpZC1jb2x1bW46IDA7XG59XG5kaXYucmlpY2hpLXN0aWNrLWNvdW50ZXI6OmJlZm9yZSxcbmRpdi5ob25iYS1jb3VudGVyOjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjA4ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB6LWluZGV4OiAxO1xufVxuZGl2LnJpaWNoaS1zdGljay1jb3VudGVyOjphZnRlcixcbmRpdi5ob25iYS1jb3VudGVyOjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZm9udC1zaXplOiBjYWxjKDAuMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMjtcbn1cbmRpdi5yaWljaGktc3RpY2stY291bnRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlx1MjAyMlwiO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4zOCAqIHZhcigtLXRpbGUtc2l6ZSkpKSB0cmFuc2xhdGVYKGNhbGMoLTAuMDMgKiB2YXIoLS10aWxlLXNpemUpKSkgcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIGNhbGMoMC4yICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiByZWQ7XG59XG5kaXYuaG9uYmEtY291bnRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlx1MjhGRlwiO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4zOCAqIHZhcigtLXRpbGUtc2l6ZSkpKSByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYygwLjIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6ICMxODI4OTA7XG59XG4vKiBzb21ldGltZXMgdGhlIGNvbXBhc3MgZHVwbGljYXRlcyBpdHNlbGYsIHJlbW92ZSB0aGUgZHVwbGljYXRlICovXG5kaXYuY29tcGFzcyB+IGRpdi5jb21wYXNzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBjb3JuZXIgaW5mbyAqL1xuZGl2LmNvcm5lci1pbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAwRjtcbiAgY29sb3I6ICNGRkZGRkYzRjtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoLTIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoLTIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoMi41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSAtIDJlbSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAyO1xufVxuZGl2LmNvcm5lci1pbmZvOmhvdmVyIHsgei1pbmRleDogNTsgfSAvKiBob3ZlcmVkIGNvcm5lciBzaG91bGQgY292ZXIgb3RoZXIgY29ybmVycyAqL1xuZGl2LmNvcm5lci1pbmZvLnNoaW1vY2hhIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNvcm5lci1pbmZvLnRvaW1lbiB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbmRpdi5jb3JuZXItaW5mby5rYW1pY2hhIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5kaXYuY29ybmVyLWluZm8gPiBkaXYucm91bmQtbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNTUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1iYWNrKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKVxuICAgICAgICAgIGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMTYpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSk7XG4gIHdpZHRoOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNha2ktY2FyZHMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQGtleWZyYW1lcyBhaVRoaW5raW5nIHtcbiAgMjUlIHsgY29udGVudDogXCIuXCI7IH1cbiAgNTAlIHsgY29udGVudDogXCIuLlwiOyB9XG4gIDc1JSB7IGNvbnRlbnQ6IFwiLi4uXCI7IH1cbn1cbmRpdi5jb3JuZXItaW5mbyA+IGRpdi5haS10aGlua2luZzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGJvdHRvbTogY2FsYyg1MCUgLSAwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYW5pbWF0aW9uOiBhaVRoaW5raW5nIDNzIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcbn1cbmRpdi5jb3JuZXItaW5mby5zZWxmIHtcbiAgei1pbmRleDogMzsgLyogYmVsb3cgcG9uZCAqL1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjkgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgYm90dG9tOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGNvbHVtbi1nYXA6IDAuMmVtO1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5ID4gZGl2LmNoaXBzIHtcbiAgZm9udC1mYW1pbHk6IFwiQXJpYWxcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZSBub3dyYXA7XG59XG5kaXYuY29ybmVyLWluZm8gPiBkaXYuc2h1dWdpLWRpc3BsYXkgPiBkaXYuY2hpcHMuY2hpcDEgeyBjb2xvcjogIzAwMDAwMDsgfVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5ID4gZGl2LmNoaXBzLmNoaXAyIHsgY29sb3I6ICMwMDAwYWY7IH1cbmRpdi5jb3JuZXItaW5mbyA+IGRpdi5zaHV1Z2ktZGlzcGxheSA+IGRpdi5jaGlwcy5jaGlwMyB7IGNvbG9yOiAjYWYwMDAwOyB9XG5kaXYuY29ybmVyLWluZm8gPiBkaXYuc2h1dWdpLWRpc3BsYXkgPiBkaXYuY2hpcHMuY2hpcDQgeyBjb2xvcjogI2FmYWZhZjsgfVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5ID4gZGl2LmNoaXBzID4gZGl2LmNoaXA6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2Ugbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAwLjhleDtcbiAgaGVpZ2h0OiAwLjEzNWVtO1xuICBjb250ZW50OiBcIlx1MjZDM1wiO1xuICBjbGlwLXBhdGg6IGluc2V0KGNhbGMoLTAuNGVtIC0gMTAwJSkgLTFleCAwIDApO1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5ID4gZGl2LmNoaXBzID4gZGl2LmNoaXA6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcdTI2QzJcIjtcbiAgaGVpZ2h0OiAwLjA2ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuMDA3NWVtLCBjYWxjKDAuMWVtIC0gMTAwJSkpO1xuICBjbGlwLXBhdGg6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbmRpdi5jb3JuZXItaW5mbyA+IGRpdi5zaHV1Z2ktZGlzcGxheSA+IHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3R0b206IC0wLjc1ZW07XG4gIGZvbnQtc2l6ZTogY2FsYygwLjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgb3BhY2l0eTogMC41O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNodXVnaS1kaXNwbGF5OmhvdmVyID4gc3BhbiB7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiB0aWxlcyAqL1xuZGl2LnRpbGUge1xuICAtLXRpbGUtc2NhbGUtZmFjdG9yOiAxO1xuICAtLXRpbGUtd2lkdGg6IGNhbGModmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpICogMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAtLXRpbGUtaGVpZ2h0OiBjYWxjKHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAqIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS10aWxlLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1udW1iZXItY29sb3I6IGJsYWNrO1xuICAtLWFrYS1jb2xvcjogI2Q3MWUxZTtcbiAgLS1nYWxheHktY29sb3I6ICM2N2I1ZWY7XG4gIC0tYW8tY29sb3I6ICMyZjUyOTg7XG4gIC0ta2luLWNvbG9yOiAjYzlhMTQ2O1xuICAtLWJvcmRlci13aWR0aDogY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1udW0tdGlsZXM6IDI0MTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tdGlsZS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tdGlsZS1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBcbiAgICB1cmwoXCIvaW1hZ2VzL3RpbGVzLnBuZ1wiKSwgXG4gICAgY29uaWMtZ3JhZGllbnQodmFyKC0tdGlsZS1jb2xvcikgMCAwKSxcbiAgICAvKiBmaWxsIGdhcCBiZXR3ZWVuIHRpbGUgZmFjZSBhbmQgdG9wIG9mIHRpbGUgKi9cbiAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgICAgMGRlZyxcbiAgICAgIHRyYW5zcGFyZW50IGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgICAgdHJhbnNwYXJlbnQgY2FsYyg1Ljc1ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgICB2YXIoLS10aWxlLWZyb250LXNpZGUpIGNhbGMoNS43NSAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgICAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSBjYWxjKDYgKiB2YXIoLS10aWxlLXNpemUpKVxuICAgICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIGluaXRpYWwsIGluaXRpYWw7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAqIHZhcigtLW51bS10aWxlcykgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEwICogdmFyKC0tdGlsZS1zaXplKSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuZGl2LnRpbGUuZmxhdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgdXJsKFwiL2ltYWdlcy90aWxlcy5wbmdcIiksXG4gICAgY29uaWMtZ3JhZGllbnQodmFyKC0tdGlsZS1jb2xvcikgMCAwKTtcbn1cbi8qIGRvcmEgc2hpbmUgKi9cbkBrZXlmcmFtZXMgZG9yYVNoaW5lIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTEwMCUpIHJvdGF0ZSgxMzVkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpIHJvdGF0ZSgxMzVkZWcpOyB9XG59XG5kaXYudGlsZS5kb3JhOm5vdCguXFwzMSB4KTpub3QoLnNlbGVjdGVkKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1ib3JkZXItcmFkaXVzOiBjYWxjKDAuMTAgKiB2YXIoLS10aWxlLXNpemUpICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmRpdi5oYW5kLnNlbGYgZGl2LnRpbGUuZG9yYTpub3QoLlxcMzEgeCk6bm90KC5zZWxlY3RlZCksXG5kaXYucmV2ZWFsZWQtdGlsZXMgZGl2LnRpbGUuZG9yYTpub3QoLlxcMzEgeCk6bm90KC5zZWxlY3RlZCkge1xuICBjbGlwLXBhdGg6IHJlY3QoY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkgMTAwJSAxMDAlIDAgcm91bmQgdmFyKC0tYm9yZGVyLXJhZGl1cykpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmRpdi5oYW5kLmthbWljaGEgZGl2LnRpbGUuZG9yYTpub3QoLlxcMzEgeCk6bm90KC5zZWxlY3RlZCkge1xuICBjbGlwLXBhdGg6IHJlY3QoMCBjYWxjKHZhcigtLXRpbGUtd2lkdGgpIC8gMC43NSkgMTAwJSAwIHJvdW5kIHZhcigtLWJvcmRlci1yYWRpdXMpKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5kaXYuaGFuZC50b2ltZW4gZGl2LnRpbGUuZG9yYTpub3QoLlxcMzEgeCk6bm90KC5zZWxlY3RlZCkge1xuICBjbGlwLXBhdGg6IHJlY3QoY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkgMTAwJSAxMDAlIDAgcm91bmQgdmFyKC0tYm9yZGVyLXJhZGl1cykpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmRpdi5oYW5kLnNoaW1vY2hhIGRpdi50aWxlLmRvcmE6bm90KC5cXDMxIHgpOm5vdCguc2VsZWN0ZWQpIHtcbiAgY2xpcC1wYXRoOiByZWN0KDAgMTAwJSAxMDAlIGNhbGModmFyKC0tdGlsZS13aWR0aCkgLyAtNCkgcm91bmQgdmFyKC0tYm9yZGVyLXJhZGl1cykpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmRpdi50aWxlLmRvcmE6bm90KC5cXDMxIHgpOm5vdCguc2VsZWN0ZWQpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBkb3JhU2hpbmUgM3MgaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZG9yYS1hbmltLWRlbGF5LCAwbXMpO1xuICB3aWR0aDogNDAwJTtcbiAgaGVpZ2h0OiA0MDAlO1xuICBiYWNrZ3JvdW5kOiBcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMjUlLCAjZmZmZmZmN2YgMzUlLCB0cmFuc3BhcmVudCA0NSUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCA0NSUsICNmZmZmZmY3ZiA2NSUsIHRyYW5zcGFyZW50IDg1JSk7XG59XG5kaXYudGlsZS5zaWRld2F5cyArIGRpdi50aWxlLnNpZGV3YXlzIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xufVxuZGl2LnRpbGUuc2lkZXdheXMgKyBkaXYudGlsZS5zaWRld2F5cyArIGRpdi50aWxlLnNpZGV3YXlzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTIgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xufVxuZGl2LnRpbGUubWFya2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC0tYm9yZGVyLXdpZHRoOiBjYWxjKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS1ib3JkZXItY29sb3I6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYudGlsZS5tYXJrYWJsZTpob3ZlciwgZGl2LnRpbGUubWFya2VkIHtcbiAgLS1ib3JkZXItd2lkdGg6IGNhbGMoMC4xICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS10aWxlLWJhY2spO1xufVxuZGl2LnRpbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkgKiB2YXIoLS10aWxlLXNjYWxlLWZhY3RvcikgLSB2YXIoLS1ib3JkZXItd2lkdGgpKTsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC0xICogdmFyKC0tdGlsZS1pbmRleCkgKiB2YXIoLS10aWxlLXNpemUpICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSk7IH1cbmRpdi50aWxlLnNpZGV3YXlzIHsgd2lkdGg6IHZhcigtLXRpbGUtaGVpZ2h0KTsgaGVpZ2h0OiB2YXIoLS10aWxlLXdpZHRoKTsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wLjc1ICogdmFyKC0tdGlsZS1zaXplKSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAtIHZhcigtLWJvcmRlci13aWR0aCkpOyB9XG5kaXYudGlsZS5cXDMwIG0geyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAwOyB9XG5kaXYudGlsZS5cXDMxIG0geyAtLXRpbGUtaW5kZXg6IDE7IH1cbmRpdi50aWxlLlxcMzIgbSB7IC0tdGlsZS1pbmRleDogMjsgfVxuZGl2LnRpbGUuXFwzMyBtIHsgLS10aWxlLWluZGV4OiAzOyB9XG5kaXYudGlsZS5cXDM0IG0geyAtLXRpbGUtaW5kZXg6IDQ7IH1cbmRpdi50aWxlLlxcMzUgbSB7IC0tdGlsZS1pbmRleDogNTsgfVxuZGl2LnRpbGUuXFwzNiBtIHsgLS10aWxlLWluZGV4OiA2OyB9XG5kaXYudGlsZS5cXDM3IG0geyAtLXRpbGUtaW5kZXg6IDc7IH1cbmRpdi50aWxlLlxcMzggbSB7IC0tdGlsZS1pbmRleDogODsgfVxuZGl2LnRpbGUuXFwzOSBtIHsgLS10aWxlLWluZGV4OiA5OyB9XG5kaXYudGlsZS5cXDMwIHAgeyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMDsgfVxuZGl2LnRpbGUuXFwzMSBwIHsgLS10aWxlLWluZGV4OiAxMTsgfVxuZGl2LnRpbGUuXFwzMiBwIHsgLS10aWxlLWluZGV4OiAxMjsgfVxuZGl2LnRpbGUuXFwzMyBwIHsgLS10aWxlLWluZGV4OiAxMzsgfVxuZGl2LnRpbGUuXFwzNCBwIHsgLS10aWxlLWluZGV4OiAxNDsgfVxuZGl2LnRpbGUuXFwzNSBwIHsgLS10aWxlLWluZGV4OiAxNTsgfVxuZGl2LnRpbGUuXFwzNiBwIHsgLS10aWxlLWluZGV4OiAxNjsgfVxuZGl2LnRpbGUuXFwzNyBwIHsgLS10aWxlLWluZGV4OiAxNzsgfVxuZGl2LnRpbGUuXFwzOCBwIHsgLS10aWxlLWluZGV4OiAxODsgfVxuZGl2LnRpbGUuXFwzOSBwIHsgLS10aWxlLWluZGV4OiAxOTsgfVxuZGl2LnRpbGUuXFwzMCBzIHsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA7IH1cbmRpdi50aWxlLlxcMzEgcyB7IC0tdGlsZS1pbmRleDogMjE7IH1cbmRpdi50aWxlLlxcMzIgcyB7IC0tdGlsZS1pbmRleDogMjI7IH1cbmRpdi50aWxlLlxcMzMgcyB7IC0tdGlsZS1pbmRleDogMjM7IH1cbmRpdi50aWxlLlxcMzQgcyB7IC0tdGlsZS1pbmRleDogMjQ7IH1cbmRpdi50aWxlLlxcMzUgcyB7IC0tdGlsZS1pbmRleDogMjU7IH1cbmRpdi50aWxlLlxcMzYgcyB7IC0tdGlsZS1pbmRleDogMjY7IH1cbmRpdi50aWxlLlxcMzcgcyB7IC0tdGlsZS1pbmRleDogMjc7IH1cbmRpdi50aWxlLlxcMzggcyB7IC0tdGlsZS1pbmRleDogMjg7IH1cbmRpdi50aWxlLlxcMzkgcyB7IC0tdGlsZS1pbmRleDogMjk7IH1cbmRpdi50aWxlLlxcMzEgeiB7IC0tdGlsZS1pbmRleDogMzA7IH1cbmRpdi50aWxlLlxcMzIgeiB7IC0tdGlsZS1pbmRleDogMzE7IH1cbmRpdi50aWxlLlxcMzMgeiB7IC0tdGlsZS1pbmRleDogMzI7IH1cbmRpdi50aWxlLlxcMzQgeiB7IC0tdGlsZS1pbmRleDogMzM7IH1cbmRpdi50aWxlLlxcMzUgeiwgZGl2LnRpbGUuXFwzMSB4LnRyYW5zcGFyZW50IHsgLS10aWxlLWluZGV4OiAzNDsgfVxuZGl2LnRpbGUuXFwzNiB6IHsgLS10aWxlLWluZGV4OiAzNTsgfVxuZGl2LnRpbGUuXFwzNyB6IHsgLS10aWxlLWluZGV4OiAzNjsgfVxuZGl2LnRpbGUuXFwzMCB6IHsgLS10aWxlLWluZGV4OiAzNzsgfVxuZGl2LnRpbGUuXFwzOCB6IHsgLS10aWxlLWluZGV4OiAzODsgfVxuZGl2LnRpbGUuXFwzOSB6IHsgLS10aWxlLWluZGV4OiAzOTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMwIHMgeyAtLXRpbGUtaW5kZXg6IDQwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzAgbSB7IC0tdGlsZS1pbmRleDogNDE7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCBwIHsgLS10aWxlLWluZGV4OiA0MjsgfVxuZGl2LnRpbGUuXFwzMSBcXDMwIHMgeyAtLXRpbGUtaW5kZXg6IDQzOyB9XG5kaXYudGlsZS5cXDMxIHggeyAtLXRpbGUtaW5kZXg6IDQ0OyB9XG5kaXYudGlsZS5cXDMxIGYgeyAtLXRpbGUtaW5kZXg6IDQ1OyB9XG5kaXYudGlsZS5cXDMyIGYgeyAtLXRpbGUtaW5kZXg6IDQ2OyB9XG5kaXYudGlsZS5cXDMzIGYgeyAtLXRpbGUtaW5kZXg6IDQ3OyB9XG5kaXYudGlsZS5cXDM0IGYgeyAtLXRpbGUtaW5kZXg6IDQ4OyB9XG5kaXYudGlsZS5cXDMxIGcgeyAtLXRpbGUtaW5kZXg6IDQ5OyB9XG5kaXYudGlsZS5cXDMyIGcgeyAtLXRpbGUtaW5kZXg6IDUwOyB9XG5kaXYudGlsZS5cXDMzIGcgeyAtLXRpbGUtaW5kZXg6IDUxOyB9XG5kaXYudGlsZS5cXDM0IGcgeyAtLXRpbGUtaW5kZXg6IDUyOyB9XG5kaXYudGlsZS5cXDMxIGEgeyAtLXRpbGUtaW5kZXg6IDUzOyB9XG5kaXYudGlsZS5cXDMyIGEgeyAtLXRpbGUtaW5kZXg6IDU0OyB9XG5kaXYudGlsZS5cXDMzIGEgeyAtLXRpbGUtaW5kZXg6IDU1OyB9XG5kaXYudGlsZS5cXDM0IGEgeyAtLXRpbGUtaW5kZXg6IDU2OyB9XG5kaXYudGlsZS5cXDMxIGsgeyAtLXRpbGUtaW5kZXg6IDU3OyB9XG5kaXYudGlsZS5cXDMyIGsgeyAtLXRpbGUtaW5kZXg6IDU4OyB9XG5kaXYudGlsZS5cXDMzIGsgeyAtLXRpbGUtaW5kZXg6IDU5OyB9XG5kaXYudGlsZS5cXDM0IGsgeyAtLXRpbGUtaW5kZXg6IDYwOyB9XG5kaXYudGlsZS5cXDMxIHEgeyAtLXRpbGUtaW5kZXg6IDYxOyB9XG5kaXYudGlsZS5cXDMyIHEgeyAtLXRpbGUtaW5kZXg6IDYyOyB9XG5kaXYudGlsZS5cXDMzIHEgeyAtLXRpbGUtaW5kZXg6IDYzOyB9XG5kaXYudGlsZS5cXDM0IHEgeyAtLXRpbGUtaW5kZXg6IDY0OyB9XG5kaXYudGlsZS5cXDMxIHkgeyAtLXRpbGUtaW5kZXg6IDY1OyB9XG5kaXYudGlsZS5cXDMxIHQgeyAtLXRpbGUtaW5kZXg6IDY2OyB9XG5kaXYudGlsZS5cXDMyIHQgeyAtLXRpbGUtaW5kZXg6IDY3OyB9XG5kaXYudGlsZS5cXDMzIHQgeyAtLXRpbGUtaW5kZXg6IDY4OyB9XG5kaXYudGlsZS5cXDM0IHQgeyAtLXRpbGUtaW5kZXg6IDY5OyB9XG5kaXYudGlsZS5cXDM1IHQgeyAtLXRpbGUtaW5kZXg6IDcwOyB9XG5kaXYudGlsZS5cXDM2IHQgeyAtLXRpbGUtaW5kZXg6IDcxOyB9XG5kaXYudGlsZS5cXDM3IHQgeyAtLXRpbGUtaW5kZXg6IDcyOyB9XG5kaXYudGlsZS5cXDM4IHQgeyAtLXRpbGUtaW5kZXg6IDczOyB9XG5kaXYudGlsZS5cXDM5IHQgeyAtLXRpbGUtaW5kZXg6IDc0OyB9XG5kaXYudGlsZS5cXDMxIFxcMzAgdCB7IC0tdGlsZS1pbmRleDogNzU7IH1cblxuZGl2LnRpbGUuXFwzMCBqIHsgLS10aWxlLWluZGV4OiA3NjsgfVxuZGl2LnRpbGUuXFwzMiBqIHsgLS10aWxlLWluZGV4OiA3NzsgfVxuZGl2LnRpbGUuXFwzOSBqIHsgLS10aWxlLWluZGV4OiA3ODsgfVxuZGl2LnRpbGUuXFwzNCBqIHsgLS10aWxlLWluZGV4OiA3OTsgfVxuZGl2LnRpbGUuXFwzNSBqIHsgLS10aWxlLWluZGV4OiA4MDsgfVxuZGl2LnRpbGUuXFwzNiBqLCBkaXYudGlsZS5cXDMxIFxcMzYgaiB7IC0tdGlsZS1pbmRleDogODE7IH1cbmRpdi50aWxlLlxcMzcgaiB7IC0tdGlsZS1pbmRleDogODI7IH1cbmRpdi50aWxlLlxcMzggaiB7IC0tdGlsZS1pbmRleDogODM7IH1cbmRpdi50aWxlLlxcMzMgaiwgZGl2LnRpbGUuXFwzMSBcXDMzIGogeyAtLXRpbGUtaW5kZXg6IDg0OyB9XG5kaXYudGlsZS5cXDMwIFxcMzAgaiB7IC0tdGlsZS1pbmRleDogODU7IH1cbmRpdi50aWxlLlxcMzAgXFwzMiBqIHsgLS10aWxlLWluZGV4OiA4NjsgfVxuZGl2LnRpbGUuXFwzMCBcXDM5IGogeyAtLXRpbGUtaW5kZXg6IDg3OyB9XG5kaXYudGlsZS5cXDMwIFxcMzQgaiB7IC0tdGlsZS1pbmRleDogODg7IH1cbmRpdi50aWxlLlxcMzAgXFwzNSBqIHsgLS10aWxlLWluZGV4OiA4OTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM2IGogeyAtLXRpbGUtaW5kZXg6IDkwOyB9XG5kaXYudGlsZS5cXDMwIFxcMzcgaiB7IC0tdGlsZS1pbmRleDogOTE7IH1cbmRpdi50aWxlLlxcMzAgXFwzOCBqIHsgLS10aWxlLWluZGV4OiA5MjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMzIGogeyAtLXRpbGUtaW5kZXg6IDkzOyB9XG5kaXYudGlsZS5cXDM1IFxcMzAgaiB7IC0tdGlsZS1pbmRleDogOTQ7IH1cbmRpdi50aWxlLlxcMzUgXFwzMiBqIHsgLS10aWxlLWluZGV4OiA5NTsgfVxuZGl2LnRpbGUuXFwzNSBcXDM5IGogeyAtLXRpbGUtaW5kZXg6IDk2OyB9XG5kaXYudGlsZS5cXDM1IFxcMzQgaiB7IC0tdGlsZS1pbmRleDogOTc7IH1cbmRpdi50aWxlLlxcMzUgXFwzNSBqIHsgLS10aWxlLWluZGV4OiA5ODsgfVxuZGl2LnRpbGUuXFwzNSBcXDM2IGogeyAtLXRpbGUtaW5kZXg6IDk5OyB9XG5kaXYudGlsZS5cXDM1IFxcMzcgaiB7IC0tdGlsZS1pbmRleDogMTAwOyB9XG5kaXYudGlsZS5cXDM1IFxcMzggaiB7IC0tdGlsZS1pbmRleDogMTAxOyB9XG5kaXYudGlsZS5cXDM1IFxcMzMgaiB7IC0tdGlsZS1pbmRleDogMTAyOyB9XG5kaXYudGlsZS5cXDM4IFxcMzAgaiB7IC0tdGlsZS1pbmRleDogMTAzOyB9XG5kaXYudGlsZS5cXDM4IFxcMzIgaiB7IC0tdGlsZS1pbmRleDogMTA0OyB9XG5kaXYudGlsZS5cXDM4IFxcMzkgaiB7IC0tdGlsZS1pbmRleDogMTA1OyB9XG5kaXYudGlsZS5cXDM4IFxcMzQgaiB7IC0tdGlsZS1pbmRleDogMTA2OyB9XG5kaXYudGlsZS5cXDM4IFxcMzUgaiB7IC0tdGlsZS1pbmRleDogMTA3OyB9XG5kaXYudGlsZS5cXDM4IFxcMzYgaiB7IC0tdGlsZS1pbmRleDogMTA4OyB9XG5kaXYudGlsZS5cXDM4IFxcMzcgaiB7IC0tdGlsZS1pbmRleDogMTA5OyB9XG5kaXYudGlsZS5cXDM4IFxcMzggaiB7IC0tdGlsZS1pbmRleDogMTEwOyB9XG5kaXYudGlsZS5cXDM4IFxcMzMgaiB7IC0tdGlsZS1pbmRleDogMTExOyB9XG5kaXYudGlsZS5cXDMxIGogeyAtLXRpbGUtaW5kZXg6IDExMjsgfVxuZGl2LnRpbGUuXFwzMSBcXDMwIGogeyAtLXRpbGUtaW5kZXg6IDExMzsgfVxuZGl2LnRpbGUuXFwzMSBcXDMyIGogeyAtLXRpbGUtaW5kZXg6IDExNDsgfVxuZGl2LnRpbGUuXFwzMSBcXDM0IGogeyAtLXRpbGUtaW5kZXg6IDExNTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM1IGogeyAtLXRpbGUtaW5kZXg6IDExNjsgfVxuZGl2LnRpbGUuXFwzMSBcXDM3IGogeyAtLXRpbGUtaW5kZXg6IDExNzsgfVxuZGl2LnRpbGUuXFwzMSBcXDM4IGogeyAtLXRpbGUtaW5kZXg6IDExODsgfVxuZGl2LnRpbGUuXFwzMSBcXDM5IGogeyAtLXRpbGUtaW5kZXg6IDExOTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IGogeyAtLXRpbGUtaW5kZXg6IDEyMDsgfVxuZGl2LnRpbGUuXFwzNCBcXDM2IGogeyAtLXRpbGUtaW5kZXg6IDEyMTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM0IFxcMzcgaiB7IC0tdGlsZS1pbmRleDogMTIyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgXFwzOCBqIHsgLS10aWxlLWluZGV4OiAxMjM7IH1cbmRpdi50aWxlLlxcMzMgXFwzNiBcXDM5IGogeyAtLXRpbGUtaW5kZXg6IDEyNDsgfVxuZGl2LnRpbGUuXFwzNyBcXDM4IFxcMzkgaiB7IC0tdGlsZS1pbmRleDogMTI1OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgXFwzNiBqIHsgLS10aWxlLWluZGV4OiAxMjY7IH1cbmRpdi50aWxlLlxcMzEgXFwzMiBcXDMzIGogeyAtLXRpbGUtaW5kZXg6IDEyNzsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIGogeyAtLXRpbGUtaW5kZXg6IDEyODsgfVxuZGl2LnRpbGUuXFwzMiBcXDMyIGogeyAtLXRpbGUtaW5kZXg6IDEyOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMwIGogeyAtLXRpbGUtaW5kZXg6IDEzMDsgfVxuZGl2LnRpbGUuXFwzOSBcXDMxIGogeyAtLXRpbGUtaW5kZXg6IDEzMTsgfVxuZGl2LnRpbGUuXFwzNiBcXDM0IGogeyAtLXRpbGUtaW5kZXg6IDEzMjsgfVxuZGl2LnRpbGUuXFwzNyBcXDMzIGogeyAtLXRpbGUtaW5kZXg6IDEzMzsgfVxuZGl2LnRpbGUuXFwzOCBcXDM1IFxcMzIgaiB7IC0tdGlsZS1pbmRleDogMTM0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzAgaiB7IC0tdGlsZS1pbmRleDogMTM1OyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgaiB7IC0tdGlsZS1pbmRleDogMTM2OyB9XG5kaXYudGlsZS5cXDMzIFxcMzIgaiB7IC0tdGlsZS1pbmRleDogMTM3OyB9XG5kaXYudGlsZS5cXDMzIFxcMzMgaiB7IC0tdGlsZS1pbmRleDogMTM4OyB9XG5kaXYudGlsZS5cXDMzIFxcMzQgaiB7IC0tdGlsZS1pbmRleDogMTM5OyB9XG5kaXYudGlsZS5cXDMyIHkgeyAtLXRpbGUtaW5kZXg6IDE0MDsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIG0geyAtLXRpbGUtaW5kZXg6IDE0MTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMyIG0geyAtLXRpbGUtaW5kZXg6IDE0MjsgfVxuZGl2LnRpbGUuXFwzNCBcXDMzIG0geyAtLXRpbGUtaW5kZXg6IDE0MzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM0IG0geyAtLXRpbGUtaW5kZXg6IDE0NDsgfVxuZGl2LnRpbGUuXFwzNCBcXDM1IG0geyAtLXRpbGUtaW5kZXg6IDE0NTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM2IG0geyAtLXRpbGUtaW5kZXg6IDE0NjsgfVxuZGl2LnRpbGUuXFwzNCBcXDM3IG0geyAtLXRpbGUtaW5kZXg6IDE0NzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM4IG0geyAtLXRpbGUtaW5kZXg6IDE0ODsgfVxuZGl2LnRpbGUuXFwzNCBcXDM5IG0geyAtLXRpbGUtaW5kZXg6IDE0OTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIFxcMzAgbSB7IC0tdGlsZS1pbmRleDogMTUwOyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgcCB7IC0tdGlsZS1pbmRleDogMTUxOyB9XG5kaXYudGlsZS5cXDM0IFxcMzIgcCB7IC0tdGlsZS1pbmRleDogMTUyOyB9XG5kaXYudGlsZS5cXDM0IFxcMzMgcCB7IC0tdGlsZS1pbmRleDogMTUzOyB9XG5kaXYudGlsZS5cXDM0IFxcMzQgcCB7IC0tdGlsZS1pbmRleDogMTU0OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgcCB7IC0tdGlsZS1pbmRleDogMTU1OyB9XG5kaXYudGlsZS5cXDM0IFxcMzYgcCB7IC0tdGlsZS1pbmRleDogMTU2OyB9XG5kaXYudGlsZS5cXDM0IFxcMzcgcCB7IC0tdGlsZS1pbmRleDogMTU3OyB9XG5kaXYudGlsZS5cXDM0IFxcMzggcCB7IC0tdGlsZS1pbmRleDogMTU4OyB9XG5kaXYudGlsZS5cXDM0IFxcMzkgcCB7IC0tdGlsZS1pbmRleDogMTU5OyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgXFwzMCBwIHsgLS10aWxlLWluZGV4OiAxNjA7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBzIHsgLS10aWxlLWluZGV4OiAxNjE7IH1cbmRpdi50aWxlLlxcMzQgXFwzMiBzIHsgLS10aWxlLWluZGV4OiAxNjI7IH1cbmRpdi50aWxlLlxcMzQgXFwzMyBzIHsgLS10aWxlLWluZGV4OiAxNjM7IH1cbmRpdi50aWxlLlxcMzQgXFwzNCBzIHsgLS10aWxlLWluZGV4OiAxNjQ7IH1cbmRpdi50aWxlLlxcMzQgXFwzNSBzIHsgLS10aWxlLWluZGV4OiAxNjU7IH1cbmRpdi50aWxlLlxcMzQgXFwzNiBzIHsgLS10aWxlLWluZGV4OiAxNjY7IH1cbmRpdi50aWxlLlxcMzQgXFwzNyBzIHsgLS10aWxlLWluZGV4OiAxNjc7IH1cbmRpdi50aWxlLlxcMzQgXFwzOCBzIHsgLS10aWxlLWluZGV4OiAxNjg7IH1cbmRpdi50aWxlLlxcMzQgXFwzOSBzIHsgLS10aWxlLWluZGV4OiAxNjk7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBcXDMwIHMgeyAtLXRpbGUtaW5kZXg6IDE3MDsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIHQgeyAtLXRpbGUtaW5kZXg6IDE3MTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMyIHQgeyAtLXRpbGUtaW5kZXg6IDE3MjsgfVxuZGl2LnRpbGUuXFwzNCBcXDMzIHQgeyAtLXRpbGUtaW5kZXg6IDE3MzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM0IHQgeyAtLXRpbGUtaW5kZXg6IDE3NDsgfVxuZGl2LnRpbGUuXFwzNCBcXDM1IHQgeyAtLXRpbGUtaW5kZXg6IDE3NTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM2IHQgeyAtLXRpbGUtaW5kZXg6IDE3NjsgfVxuZGl2LnRpbGUuXFwzNCBcXDM3IHQgeyAtLXRpbGUtaW5kZXg6IDE3NzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM4IHQgeyAtLXRpbGUtaW5kZXg6IDE3ODsgfVxuZGl2LnRpbGUuXFwzNCBcXDM5IHQgeyAtLXRpbGUtaW5kZXg6IDE3OTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIFxcMzAgdCB7IC0tdGlsZS1pbmRleDogMTgwOyB9XG5kaXYudGlsZS5cXDM0IFxcMzAgeiB7IC0tdGlsZS1pbmRleDogMTgxOyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgeiB7IC0tdGlsZS1pbmRleDogMTgyOyB9XG5kaXYudGlsZS5cXDM0IFxcMzIgeiB7IC0tdGlsZS1pbmRleDogMTgzOyB9XG5kaXYudGlsZS5cXDM0IFxcMzMgeiB7IC0tdGlsZS1pbmRleDogMTg0OyB9XG5kaXYudGlsZS5cXDM0IFxcMzQgeiB7IC0tdGlsZS1pbmRleDogMTg1OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgeiB7IC0tdGlsZS1pbmRleDogMTg2OyB9XG5kaXYudGlsZS5cXDM0IFxcMzYgeiB7IC0tdGlsZS1pbmRleDogMTg3OyB9XG5kaXYudGlsZS5cXDM0IFxcMzcgeiB7IC0tdGlsZS1pbmRleDogMTg4OyB9XG5kaXYudGlsZS5cXDM0IFxcMzggeiB7IC0tdGlsZS1pbmRleDogMTg5OyB9XG5kaXYudGlsZS5cXDM0IFxcMzAgXFwzMCBzIHsgLS10aWxlLWluZGV4OiAxOTA7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSBtIHsgLS10aWxlLWluZGV4OiAxOTE7IH1cbmRpdi50aWxlLlxcMzUgXFwzMiBtIHsgLS10aWxlLWluZGV4OiAxOTI7IH1cbmRpdi50aWxlLlxcMzUgXFwzMyBtIHsgLS10aWxlLWluZGV4OiAxOTM7IH1cbmRpdi50aWxlLlxcMzUgXFwzNCBtIHsgLS10aWxlLWluZGV4OiAxOTQ7IH1cbmRpdi50aWxlLlxcMzUgXFwzNSBtIHsgLS10aWxlLWluZGV4OiAxOTU7IH1cbmRpdi50aWxlLlxcMzUgXFwzNiBtIHsgLS10aWxlLWluZGV4OiAxOTY7IH1cbmRpdi50aWxlLlxcMzUgXFwzNyBtIHsgLS10aWxlLWluZGV4OiAxOTc7IH1cbmRpdi50aWxlLlxcMzUgXFwzOCBtIHsgLS10aWxlLWluZGV4OiAxOTg7IH1cbmRpdi50aWxlLlxcMzUgXFwzOSBtIHsgLS10aWxlLWluZGV4OiAxOTk7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSBcXDMwIG0geyAtLXRpbGUtaW5kZXg6IDIwMDsgfVxuZGl2LnRpbGUuXFwzNSBcXDMxIHAgeyAtLXRpbGUtaW5kZXg6IDIwMTsgfVxuZGl2LnRpbGUuXFwzNSBcXDMyIHAgeyAtLXRpbGUtaW5kZXg6IDIwMjsgfVxuZGl2LnRpbGUuXFwzNSBcXDMzIHAgeyAtLXRpbGUtaW5kZXg6IDIwMzsgfVxuZGl2LnRpbGUuXFwzNSBcXDM0IHAgeyAtLXRpbGUtaW5kZXg6IDIwNDsgfVxuZGl2LnRpbGUuXFwzNSBcXDM1IHAgeyAtLXRpbGUtaW5kZXg6IDIwNTsgfVxuZGl2LnRpbGUuXFwzNSBcXDM2IHAgeyAtLXRpbGUtaW5kZXg6IDIwNjsgfVxuZGl2LnRpbGUuXFwzNSBcXDM3IHAgeyAtLXRpbGUtaW5kZXg6IDIwNzsgfVxuZGl2LnRpbGUuXFwzNSBcXDM4IHAgeyAtLXRpbGUtaW5kZXg6IDIwODsgfVxuZGl2LnRpbGUuXFwzNSBcXDM5IHAgeyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzNSBcXDMxIFxcMzAgcCB7IC0tdGlsZS1pbmRleDogMjEwOyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgcyB7IC0tdGlsZS1pbmRleDogMjExOyB9XG5kaXYudGlsZS5cXDM1IFxcMzIgcyB7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDM1IFxcMzMgcyB7IC0tdGlsZS1pbmRleDogMjEzOyB9XG5kaXYudGlsZS5cXDM1IFxcMzQgcyB7IC0tdGlsZS1pbmRleDogMjE0OyB9XG5kaXYudGlsZS5cXDM1IFxcMzUgcyB7IC0tdGlsZS1pbmRleDogMjE1OyB9XG5kaXYudGlsZS5cXDM1IFxcMzYgcyB7IC0tdGlsZS1pbmRleDogMjE2OyB9XG5kaXYudGlsZS5cXDM1IFxcMzcgcyB7IC0tdGlsZS1pbmRleDogMjE3OyB9XG5kaXYudGlsZS5cXDM1IFxcMzggcyB7IC0tdGlsZS1pbmRleDogMjE4OyB9XG5kaXYudGlsZS5cXDM1IFxcMzkgcyB7IC0tdGlsZS1pbmRleDogMjE5OyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgXFwzMCBzIHsgLS10aWxlLWluZGV4OiAyMjA7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSB0IHsgLS10aWxlLWluZGV4OiAyMjE7IH1cbmRpdi50aWxlLlxcMzUgXFwzMiB0IHsgLS10aWxlLWluZGV4OiAyMjI7IH1cbmRpdi50aWxlLlxcMzUgXFwzMyB0IHsgLS10aWxlLWluZGV4OiAyMjM7IH1cbmRpdi50aWxlLlxcMzUgXFwzNCB0IHsgLS10aWxlLWluZGV4OiAyMjQ7IH1cbmRpdi50aWxlLlxcMzUgXFwzNSB0IHsgLS10aWxlLWluZGV4OiAyMjU7IH1cbmRpdi50aWxlLlxcMzUgXFwzNiB0IHsgLS10aWxlLWluZGV4OiAyMjY7IH1cbmRpdi50aWxlLlxcMzUgXFwzNyB0IHsgLS10aWxlLWluZGV4OiAyMjc7IH1cbmRpdi50aWxlLlxcMzUgXFwzOCB0IHsgLS10aWxlLWluZGV4OiAyMjg7IH1cbmRpdi50aWxlLlxcMzUgXFwzOSB0IHsgLS10aWxlLWluZGV4OiAyMjk7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSBcXDMwIHQgeyAtLXRpbGUtaW5kZXg6IDIzMDsgfVxuZGl2LnRpbGUuXFwzNSBcXDMwIHogeyAtLXRpbGUtaW5kZXg6IDIzMTsgfVxuZGl2LnRpbGUuXFwzNSBcXDMxIHogeyAtLXRpbGUtaW5kZXg6IDIzMjsgfVxuZGl2LnRpbGUuXFwzNSBcXDMyIHogeyAtLXRpbGUtaW5kZXg6IDIzMzsgfVxuZGl2LnRpbGUuXFwzNSBcXDMzIHogeyAtLXRpbGUtaW5kZXg6IDIzNDsgfVxuZGl2LnRpbGUuXFwzNSBcXDM0IHogeyAtLXRpbGUtaW5kZXg6IDIzNTsgfVxuZGl2LnRpbGUuXFwzNSBcXDM1IHogeyAtLXRpbGUtaW5kZXg6IDIzNjsgfVxuZGl2LnRpbGUuXFwzNSBcXDM2IHogeyAtLXRpbGUtaW5kZXg6IDIzNzsgfVxuZGl2LnRpbGUuXFwzNSBcXDM3IHogeyAtLXRpbGUtaW5kZXg6IDIzODsgfVxuZGl2LnRpbGUuXFwzNSBcXDM4IHogeyAtLXRpbGUtaW5kZXg6IDIzOTsgfVxuZGl2LnRpbGUuXFwzNSBcXDMwIFxcMzAgcyB7IC0tdGlsZS1pbmRleDogMjQwOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkxOyB9XG5kaXYudGlsZS5cXDMwIFxcMzIgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkyOyB9XG5kaXYudGlsZS5cXDMwIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkzOyB9XG5kaXYudGlsZS5cXDMwIFxcMzQgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk0OyB9XG5kaXYudGlsZS5cXDMwIFxcMzUgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDMwIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk2OyB9XG5kaXYudGlsZS5cXDMwIFxcMzcgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk3OyB9XG5kaXYudGlsZS5cXDMwIFxcMzggbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk4OyB9XG5kaXYudGlsZS5cXDMwIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk5OyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgXFwzMCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDA7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDE7IH1cbmRpdi50aWxlLlxcMzAgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDI7IH1cbmRpdi50aWxlLlxcMzAgXFwzMyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDM7IH1cbmRpdi50aWxlLlxcMzAgXFwzNCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDQ7IH1cbmRpdi50aWxlLlxcMzAgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDU7IH1cbmRpdi50aWxlLlxcMzAgXFwzNiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDY7IH1cbmRpdi50aWxlLlxcMzAgXFwzNyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDc7IH1cbmRpdi50aWxlLlxcMzAgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDg7IH1cbmRpdi50aWxlLlxcMzAgXFwzOSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDk7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBcXDMwIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMDsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMyIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMzIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNDsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM2IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNjsgfVxuZGl2LnRpbGUuXFwzMCBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM4IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxODsgfVxuZGl2LnRpbGUuXFwzMCBcXDM5IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxOTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIwOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIxOyB9XG5kaXYudGlsZS5cXDMwIFxcMzIgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIyOyB9XG5kaXYudGlsZS5cXDMwIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIzOyB9XG5kaXYudGlsZS5cXDMwIFxcMzQgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI0OyB9XG5kaXYudGlsZS5cXDMwIFxcMzUgdCwgZGl2LnRpbGUuXFwzMCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjU7IH1cbmRpdi50aWxlLlxcMzAgXFwzNiB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjY7IH1cbmRpdi50aWxlLlxcMzAgXFwzNyB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjc7IH1cbmRpdi50aWxlLlxcMzAgXFwzOCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjg7IH1cbmRpdi50aWxlLlxcMzAgXFwzOSB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjk7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBcXDMwIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMDsgfVxuZGl2LnRpbGUuXFwzMCBcXDMwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMyIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMzsgfVxuZGl2LnRpbGUuXFwzMCBcXDMzIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzNDsgfVxuZGl2LnRpbGUuXFwzMCBcXDM0IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzNTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzNjsgfVxuZGl2LnRpbGUuXFwzMCBcXDM2IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzNzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM3IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzODsgfVxuZGl2LnRpbGUuXFwzMCBcXDM4IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzOTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMwIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjQwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkxOyB9XG5kaXYudGlsZS5cXDMxIFxcMzIgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkyOyB9XG5kaXYudGlsZS5cXDMxIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkzOyB9XG5kaXYudGlsZS5cXDMxIFxcMzQgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk0OyB9XG5kaXYudGlsZS5cXDMxIFxcMzUgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDMxIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk2OyB9XG5kaXYudGlsZS5cXDMxIFxcMzcgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk3OyB9XG5kaXYudGlsZS5cXDMxIFxcMzggbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk4OyB9XG5kaXYudGlsZS5cXDMxIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk5OyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgXFwzMCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDA7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDE7IH1cbmRpdi50aWxlLlxcMzEgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDI7IH1cbmRpdi50aWxlLlxcMzEgXFwzMyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDM7IH1cbmRpdi50aWxlLlxcMzEgXFwzNCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDU7IH1cbmRpdi50aWxlLlxcMzEgXFwzNiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDY7IH1cbmRpdi50aWxlLlxcMzEgXFwzNyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDc7IH1cbmRpdi50aWxlLlxcMzEgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDg7IH1cbmRpdi50aWxlLlxcMzEgXFwzOSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDk7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSBcXDMwIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMTsgfVxuZGl2LnRpbGUuXFwzMSBcXDMyIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMSBcXDMzIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMzsgfVxuZGl2LnRpbGUuXFwzMSBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNDsgfVxuZGl2LnRpbGUuXFwzMSBcXDM1IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM2IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNjsgfVxuZGl2LnRpbGUuXFwzMSBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNzsgfVxuZGl2LnRpbGUuXFwzMSBcXDM4IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxODsgfVxuZGl2LnRpbGUuXFwzMSBcXDM5IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxOTsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIxOyB9XG5kaXYudGlsZS5cXDMxIFxcMzIgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIyOyB9XG5kaXYudGlsZS5cXDMxIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIzOyB9XG5kaXYudGlsZS5cXDMxIFxcMzQgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI0OyB9XG5kaXYudGlsZS5cXDMxIFxcMzUgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI1OyB9XG5kaXYudGlsZS5cXDMxIFxcMzYgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI2OyB9XG5kaXYudGlsZS5cXDMxIFxcMzcgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI3OyB9XG5kaXYudGlsZS5cXDMxIFxcMzggdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI4OyB9XG5kaXYudGlsZS5cXDMxIFxcMzkgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI5OyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgXFwzMCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzA7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzE7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzI7IH1cbmRpdi50aWxlLlxcMzEgXFwzMiB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzM7IH1cbmRpdi50aWxlLlxcMzEgXFwzMyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzNCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzU7IH1cbmRpdi50aWxlLlxcMzEgXFwzNSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzY7IH1cbmRpdi50aWxlLlxcMzEgXFwzNiB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzc7IH1cbmRpdi50aWxlLlxcMzEgXFwzNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzg7IH1cbmRpdi50aWxlLlxcMzEgXFwzOCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzk7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCBcXDMwIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDI0MDsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTE7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MzsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTc7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5OTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMDsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDE7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMzsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDc7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMDsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTE7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMzsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjE1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxNjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTc7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjE4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMDsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjE7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjIyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMzsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyNjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMjc7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjI4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMDsgfVxuZGl2LnRpbGUuXFwzMiBcXDMwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzE7IH1cbmRpdi50aWxlLlxcMzIgXFwzMSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjMyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzIgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzMzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMzIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzNCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzNjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM2IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMzc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzggeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIzOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDMwIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDI0MDsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMyIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MjsgfVxuZGl2LnRpbGUuXFwzMyBcXDMzIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM0IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NDsgfVxuZGl2LnRpbGUuXFwzMyBcXDM1IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM2IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM4IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5ODsgfVxuZGl2LnRpbGUuXFwzMyBcXDM5IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5OTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIFxcMzAgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAwOyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAxOyB9XG5kaXYudGlsZS5cXDMzIFxcMzIgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAyOyB9XG5kaXYudGlsZS5cXDMzIFxcMzMgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAzOyB9XG5kaXYudGlsZS5cXDMzIFxcMzQgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA1OyB9XG5kaXYudGlsZS5cXDMzIFxcMzYgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA2OyB9XG5kaXYudGlsZS5cXDMzIFxcMzcgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA3OyB9XG5kaXYudGlsZS5cXDMzIFxcMzggcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA4OyB9XG5kaXYudGlsZS5cXDMzIFxcMzkgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA5OyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgXFwzMCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTA7IH1cbmRpdi50aWxlLlxcMzMgXFwzMSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTE7IH1cbmRpdi50aWxlLlxcMzMgXFwzMiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTI7IH1cbmRpdi50aWxlLlxcMzMgXFwzMyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTM7IH1cbmRpdi50aWxlLlxcMzMgXFwzNCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTQ7IH1cbmRpdi50aWxlLlxcMzMgXFwzNSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTU7IH1cbmRpdi50aWxlLlxcMzMgXFwzNiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTY7IH1cbmRpdi50aWxlLlxcMzMgXFwzNyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTc7IH1cbmRpdi50aWxlLlxcMzMgXFwzOCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTg7IH1cbmRpdi50aWxlLlxcMzMgXFwzOSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTk7IH1cbmRpdi50aWxlLlxcMzMgXFwzMSBcXDMwIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMDsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMyIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMjsgfVxuZGl2LnRpbGUuXFwzMyBcXDMzIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyMzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM0IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyNDsgfVxuZGl2LnRpbGUuXFwzMyBcXDM1IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyNTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM2IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyNjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyNzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM4IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyODsgfVxuZGl2LnRpbGUuXFwzMyBcXDM5IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIyOTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIFxcMzAgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjMwOyB9XG5kaXYudGlsZS5cXDMzIFxcMzAgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjMxOyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjMyOyB9XG5kaXYudGlsZS5cXDMzIFxcMzIgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjMzOyB9XG5kaXYudGlsZS5cXDMzIFxcMzMgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzQgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM1OyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM2OyB9XG5kaXYudGlsZS5cXDMzIFxcMzYgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM3OyB9XG5kaXYudGlsZS5cXDMzIFxcMzcgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM4OyB9XG5kaXYudGlsZS5cXDMzIFxcMzggeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjM5OyB9XG5kaXYudGlsZS5cXDMzIFxcMzAgXFwzMCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyNDA7IH1cbmRpdi50aWxlLlxcMzIgeCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfSAvKiBibGFuayBzcGFjZSAqL1xuZGl2LnRpbGUuXFwzMyB4IHsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXdpZHRoKSk7IH0gLyogaGFsZiBibGFuayBzcGFjZSAqL1xuZGl2LnRpbGUuXFwzNCB4IHsgZGlzcGxheTogbm9uZTsgfSAvKiBmdWxseSBpbnZpc2libGUgdGlsZSAqL1xuZGl2LnRpbGUuXFwzNSB4IHsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS13aWR0aCkpOyB9IC8qIHF1YXJ0ZXIgYmxhbmsgc3BhY2UgKi9cbmRpdi50aWxlLlxcMzYgeCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgd2lkdGg6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXdpZHRoKSk7IH0gLyogZWlnaHRoIGJsYW5rIHNwYWNlICovXG5kaXYudGlsZS5cXDM3IHggeyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtd2lkdGgpKTsgfSAvKiBzaXh0ZWVudGggYmxhbmsgc3BhY2UgKi9cbmRpdi50aWxlLlxcMzggeCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgd2lkdGg6IGNhbGMoMC4wMzEyNSAqIHZhcigtLXRpbGUtd2lkdGgpKTsgfSAvKiAzMnRoIGJsYW5rIHNwYWNlICovXG4vKiBwdW5jdHVhdGlvbiBuYW1lcyBmb3IgYWx0IHRpbGVzICovXG4vKiBhbHRlcm5hdGUgMXM6IDEncyAqL1xuZGl2LnRpbGUuXFwzMSBcXDI3IHMgeyAtLXRpbGUtaW5kZXg6IDQwOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgXFwyNyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSBcXDI3IHMgeyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMjcgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NDsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIFxcMjcgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTg0OyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgXFwyNyBzIHsgLS10aWxlLWluZGV4OiAxODQ7IH1cbi8qIGFsdGVybmF0ZSAwejogNSd6ICovXG5kaXYudGlsZS5cXDM1IFxcMjcgeiB7IC0tdGlsZS1pbmRleDogMzc7IH1cbmRpdi50aWxlLlxcMzAgXFwzNSBcXDI3IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM1IFxcMjcgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM1IFxcMjcgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA5OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgXFwyNyB6IHsgLS10aWxlLWluZGV4OiAyMDk7IH1cbi8qIG1hbGF5c2lhbiAwejogNWB6ICovXG5kaXYudGlsZS5cXDM1IFxcNjAgeiB7IC0tdGlsZS1pbmRleDogMzg7IH1cbmRpdi50aWxlLlxcMzAgXFwzNSBcXDYwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMSBcXDM1IFxcNjAgeiB7IC0tdGlsZS1pbmRleDogMTYyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgXFw2MCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgXFw2MCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTI7IH1cbmRpdi50aWxlLlxcMzQgXFwzNSBcXDYwIHogeyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuLyogc2hpcm8gcG9jY2hpOiA1XnogKi9cbmRpdi50aWxlLlxcMzUgXFw1ZSB6IHsgLS10aWxlLWluZGV4OiAzOTsgfVxuXG4vKiBmYWNlZG93biB0aWxlcyBzaG91bGQgbWF0Y2ggMXggKi9cbmRpdi50aWxlLmZhY2Vkb3duIHsgLS10aWxlLWluZGV4OiA0NDsgfVxuXG4vKiBjdXN0b20gY29sb3JpbmcgKi9cbmRpdi50aWxlLnJlZCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IH1cbmRpdi50aWxlLmJsdWUgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgfVxuZGl2LnRpbGUuY3lhbiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IH1cbmRpdi50aWxlLmdvbGQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyB9XG5kaXYudGlsZS5vcmFuZ2UgeyAtLXRpbGUtY29sb3I6IG9yYW5nZTsgfVxuZGl2LnRpbGUueWVsbG93IHsgLS10aWxlLWNvbG9yOiB5ZWxsb3c7IH1cbmRpdi50aWxlLmdyZWVuIHsgLS10aWxlLWNvbG9yOiBncmVlbjsgLS1udW1iZXItY29sb3I6IGdyZWVuOyB9XG5kaXYudGlsZS5saWdodGJsdWUgeyAtLXRpbGUtY29sb3I6IGxpZ2h0Ymx1ZTsgfVxuZGl2LnRpbGUucHVycGxlIHsgLS10aWxlLWNvbG9yOiBwdXJwbGU7IC0tbnVtYmVyLWNvbG9yOiBwdXJwbGU7IH1cbmRpdi50aWxlLmdyYXkgeyAtLXRpbGUtY29sb3I6IGdyYXk7IC0tbnVtYmVyLWNvbG9yOiBncmF5OyB9XG5kaXYudGlsZS5ncmV5IHsgLS10aWxlLWNvbG9yOiBncmV5OyAtLW51bWJlci1jb2xvcjogZ3JleTsgfVxuZGl2LnRpbGUubGlnaHRncmF5IHsgLS10aWxlLWNvbG9yOiBsaWdodGdyYXk7IH1cbmRpdi50aWxlLmxpZ2h0Z3JleSB7IC0tdGlsZS1jb2xvcjogbGlnaHRncmV5OyB9XG5kaXYudGlsZS5icm93biB7IC0tdGlsZS1jb2xvcjogYnJvd247IC0tbnVtYmVyLWNvbG9yOiBicm93bjsgfVxuZGl2LnRpbGUucGluayB7IC0tdGlsZS1jb2xvcjogcGluazsgfVxuZGl2LnRpbGUuYmxhY2sgeyAtLXRpbGUtY29sb3I6IGJsYWNrOyAtLW51bWJlci1jb2xvcjogYmxhY2s7IH1cbmRpdi50aWxlLndoaXRlIHsgLS10aWxlLWNvbG9yOiB3aGl0ZTsgfVxuZGl2LnRpbGUucmFpbmJvdyB7XG4gIC8qIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTY0MTg3NjMvICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvdGlsZXMucG5nXCIpLCByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgIDE4MGRlZyxcbiAgICByZ2JhKDI1NSwgMCwgMCwgMSkgMCUsXG4gICAgcmdiYSgyNTUsIDE1NCwgMCwgMSkgY2FsYygwLjEgKiB2YXIoLS10aWxlLXNpemUpKSxcbiAgICByZ2JhKDIwOCwgMjIyLCAzMywgMSkgY2FsYygwLjIgKiB2YXIoLS10aWxlLXNpemUpKSxcbiAgICByZ2JhKDc5LCAyMjAsIDc0LCAxKSBjYWxjKDAuMyAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoNjMsIDIxOCwgMjE2LCAxKSBjYWxjKDAuNCAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoNDcsIDIwMSwgMjI2LCAxKSBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoMjgsIDEyNywgMjM4LCAxKSBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoOTUsIDIxLCAyNDIsIDEpIGNhbGMoMC43ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSgxODYsIDEyLCAyNDgsIDEpIGNhbGMoMC44ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSgyNTEsIDcsIDIxNywgMSkgY2FsYygwLjkgKiB2YXIoLS10aWxlLXNpemUpKSxcbiAgICByZ2JhKDI1NSwgMCwgMCwgMSkgY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSlcbiAgKTtcbn1cbi8qIHRpbGUgYW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyByYWluYm93QW5pbSB7XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLXRpbGUtaW5kZXgpICogdmFyKC0tdGlsZS1zaXplKSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAtIHZhcigtLWJvcmRlci13aWR0aCkpLCBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxufVxuZGl2LnRpbGUucmFpbmJvdy5hbmltIHtcbiAgLyogZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjQxODc2My8gKi9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC0xICogdmFyKC0tdGlsZS1pbmRleCkgKiB2YXIoLS10aWxlLXNpemUpICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSksIGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBhbmltYXRpb246IHJhaW5ib3dBbmltIDRzIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcbn1cbi8qIHRpbGUgM2QgKi9cbmRpdi50aWxlIHtcbiAgLS10aWxlLWJyaWdodG5lc3M6IDEwMCU7XG4gIC0tdGlsZS1zYXR1cmF0ZTogMTAwJTtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKHZhcigtLXRpbGUtYnJpZ2h0bmVzcykpIHNhdHVyYXRlKHZhcigtLXRpbGUtc2F0dXJhdGUpKTtcbn1cbmRpdi50aWxlOm5vdCguZmxhdCkge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtOCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbn1cbmRpdi5oYW5kLnNlbGYgZGl2LnRpbGVzID4gZGl2LnRpbGUuc2VsZWN0ZWQsXG5kaXYuaGFuZC5zZWxmIGRpdi5kcmF3cyA+IGRpdi50aWxlLnNlbGVjdGVkIHtcbiAgLyogdGhpcyBpcyBoZXJlIHRvIG92ZXJyaWRlIHRoZSB0cmFuc2xhdGVaKDApICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0wLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5kaXYuaGFuZC5zZWxmIGRpdi50aWxlcyA+IGRpdi50aWxlLnNlbGVjdGVkOjpiZWZvcmUsXG5kaXYuaGFuZC5zZWxmIGRpdi5kcmF3cyA+IGRpdi50aWxlLnNlbGVjdGVkOjpiZWZvcmUge1xuICAvKiBhZGQgYSBjbGlja2FibGUgYXJlYSB1bmRlciB0aGUgdGlsZSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0wLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudGlsZS5zaWRld2F5czpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC0xNikgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtOCkgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbn1cbmRpdi5wb25kLnNlbGYgZGl2LnRpbGU6bm90KC5mbGF0KSxcbmRpdi5zZWxmIGRpdi5mbG93ZXJzIGRpdi50aWxlOm5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gOCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA0KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpO1xufVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC04KSAwIDAgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpLFxuICAgICAgICAgICAgICBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC00KSAwIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSk7XG59XG5kaXYua2FtaWNoYSBkaXYudGlsZTpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA4KSAwIDAgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpLFxuICAgICAgICAgICAgICBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDQpIDAgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbn1cbmRpdi50aWxlLnJldmVyc2VkOm5vdCguZmxhdCkge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMTAwJSkgdHJhbnNsYXRlWShjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC00KSkgdHJhbnNsYXRlWigwKTtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDgpIDAgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpLFxuICAgICAgICAgICAgICAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbn1cbmRpdi5wb25kLnNlbGYgZGl2LnRpbGUucmV2ZXJzZWQ6bm90KC5mbGF0KSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xMDAlKSB0cmFuc2xhdGVZKGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpKSB0cmFuc2xhdGVaKDApO1xufVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlLnJldmVyc2VkOm5vdCguZmxhdCkge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMTAwJSkgdHJhbnNsYXRlWChjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDQpKSB0cmFuc2xhdGVaKDApO1xufVxuZGl2LmthbWljaGEgZGl2LnRpbGUucmV2ZXJzZWQ6bm90KC5mbGF0KSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xMDAlKSB0cmFuc2xhdGVYKGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpKSB0cmFuc2xhdGVaKDApO1xufVxuLyogc2hpbW9jaGEncyB0aWxlcyBuZWVkIHRvIG92ZXJsYXAgaW4gdGhlIHJldmVyc2Ugb3JkZXIgKi9cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMikgeyB6LWluZGV4OiAtMTsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgzKSB7IHotaW5kZXg6IC0yOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTM7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoNSkgeyB6LWluZGV4OiAtNDsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCg2KSB7IHotaW5kZXg6IC01OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTY7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoOCkgeyB6LWluZGV4OiAtNzsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCg5KSB7IHotaW5kZXg6IC04OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC05OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDExKSB7IHotaW5kZXg6IC0xMDsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxMikgeyB6LWluZGV4OiAtMTE7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTMpIHsgei1pbmRleDogLTEyOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDE0KSB7IHotaW5kZXg6IC0xMzsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxNSkgeyB6LWluZGV4OiAtMTQ7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTYpIHsgei1pbmRleDogLTE1OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDE3KSB7IHotaW5kZXg6IC0xNjsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxOCkgeyB6LWluZGV4OiAtMTc7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTkpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDIwKSB7IHotaW5kZXg6IC0xOTsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyMSkgeyB6LWluZGV4OiAtMjA7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjIpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDIzKSB7IHotaW5kZXg6IC0yMjsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyNCkgeyB6LWluZGV4OiAtMjM7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjUpIHsgei1pbmRleDogLTI0OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDI2KSB7IHotaW5kZXg6IC0yNTsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyNykgeyB6LWluZGV4OiAtMjY7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjgpIHsgei1pbmRleDogLTI3OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDI5KSB7IHotaW5kZXg6IC0yODsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgzMCkgeyB6LWluZGV4OiAtMjk7IH1cbi8qIHNlbGYncyB0aWxlcyBuZWVkIHRvIG92ZXJsYXAgaW4gdGhlIGZvcndhcmQgb3JkZXIgKi9cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxKSB7IHotaW5kZXg6IDA7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyKSB7IHotaW5kZXg6IDE7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgzKSB7IHotaW5kZXg6IDI7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg0KSB7IHotaW5kZXg6IDM7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg1KSB7IHotaW5kZXg6IDQ7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg2KSB7IHotaW5kZXg6IDU7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg3KSB7IHotaW5kZXg6IDY7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg4KSB7IHotaW5kZXg6IDc7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCg5KSB7IHotaW5kZXg6IDg7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxMCkgeyB6LWluZGV4OiA5OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTEpIHsgei1pbmRleDogMTA7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxMikgeyB6LWluZGV4OiAxMTsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IDEyOyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTQpIHsgei1pbmRleDogMTM7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxNSkgeyB6LWluZGV4OiAxNDsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IDE1OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTcpIHsgei1pbmRleDogMTY7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxOCkgeyB6LWluZGV4OiAxNzsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IDE4OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjApIHsgei1pbmRleDogMTk7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyMSkgeyB6LWluZGV4OiAyMDsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IDIxOyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjMpIHsgei1pbmRleDogMjI7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyNCkgeyB6LWluZGV4OiAyMzsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDI1KSB7IHotaW5kZXg6IDI0OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjYpIHsgei1pbmRleDogMjU7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyNykgeyB6LWluZGV4OiAyNjsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDI4KSB7IHotaW5kZXg6IDI3OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjkpIHsgei1pbmRleDogMjg7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgzMCkgeyB6LWluZGV4OiAyOTsgfVxuXG4vKiBhbGwgM2QgZWZmZWN0cyBzaG91bGQgaGF2ZSByZXZlcnNlZCBjb2xvciBmb3IgdXBzaWRlIGRvd24gdGlsZXMgKi9cbmRpdi50aWxlLlxcMzEgeDpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC04KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpLFxuICAgICAgICAgICAgICAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpIDAgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpO1xufVxuZGl2LnRpbGUuXFwzMSB4LnNpZGV3YXlzOm5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTE2KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpLFxuICAgICAgICAgICAgICAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTgpIDAgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpO1xufVxuZGl2LnBvbmQuc2VsZiBkaXYudGlsZS5cXDMxIHg6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA4KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpLFxuICAgICAgICAgICAgICAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGUuXFwzMSB4Om5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC04KSAwIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpIDAgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG5kaXYua2FtaWNoYSBkaXYudGlsZS5cXDMxIHg6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gOCkgMCAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpLFxuICAgICAgICAgICAgICBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDQpIDAgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG4vKiBmYWNlZG93biB0aWxlcyBpbiBoYW5kIHNob3VsZCBsb29rIGZhY2Vkb3duICovXG5kaXYudGlsZXMgZGl2LnRpbGUuZmFjZWRvd246bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA4KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpLFxuICAgICAgICAgICAgICAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG5cblxuXG4vKiB0aWxlIGFuaW1hdGlvbnMgKi9cbkBrZXlmcmFtZXMgdGlsZVBsYXllZCB7XG4gIDY3JSB7XG4gICAgd2lkdGg6IHZhcigtLXRpbGUtd2lkdGgpO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5kaXYudGlsZS5yZW1vdmVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGFuaW1hdGlvbjogdGlsZVBsYXllZCAwLjc1cyBlYXNlIGZvcndhcmRzO1xufVxuZGl2LnRpbGUucmVtb3ZlZCB+IGRpdi50aWxlLmRyYXcge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi8qIHRpbGVzIGp1c3QgZGlzY2FyZGVkIGluIHBvbmQgKi9cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7fVxufVxuZGl2LnBvbmQgPiBkaXYudGlsZS5qdXN0LXBsYXllZDpsYXN0LWNoaWxkIHtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwIDAuMnMgZWFzZSBmb3J3YXJkcztcbn1cbi8qIHRpbGVzIGp1c3QgcGxheWVkIGluIGhhbmQgKi9cbkBrZXlmcmFtZXMgc2xpZGVVcDIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuZGl2LnRpbGUucGxheWVkIHtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwMiAwLjJzIGVhc2UgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHt9XG59XG5kaXYuaGFuZC5qdXN0LWRyZXcgPiBkaXYuZHJhd3MgPiBkaXYudGlsZSB7XG4gIGFuaW1hdGlvbjogc2xpZGVMZWZ0IDAuMnMgZWFzZSBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC02ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7fVxufVxuZGl2LmhhbmQuanVzdC1jYWxsZWQgPiBkaXYuY2FsbHMgPiBkaXYuY2FsbC5qdXN0LWNhbGxlZCxcbmRpdi5oYW5kLmp1c3QtY2FsbGVkLWZsb3dlciA+IGRpdi5mbG93ZXJzID4gZGl2LnRpbGU6bGFzdC1jaGlsZCB7XG4gIGFuaW1hdGlvbjogc2xpZGVSaWdodCAwLjRzIGVhc2UgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC0zICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZURvd24yIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC00ICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC0yICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbiAgfVxufVxuZGl2LmhhbmQuanVzdC11cGdyYWRlZCA+IGRpdi5jYWxscyA+IGRpdi5jYWxsLmp1c3QtdXBncmFkZWQgZGl2LnRpbGUuc2lkZXdheXMgKyBkaXYudGlsZS5sYXN0LXNpZGV3YXlzOjpiZWZvcmUge1xuICBhbmltYXRpb246IHNsaWRlRG93biAwLjJzIGVhc2UgZm9yd2FyZHM7XG59XG5kaXYuaGFuZC5qdXN0LXVwZ3JhZGVkID4gZGl2LmNhbGxzID4gZGl2LmNhbGwuanVzdC11cGdyYWRlZCBkaXYudGlsZS5zaWRld2F5cyArIGRpdi50aWxlLnNpZGV3YXlzICsgZGl2LnRpbGUubGFzdC1zaWRld2F5czo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uOiBzbGlkZURvd24yIDAuMnMgZWFzZSBmb3J3YXJkcztcbn1cblxuXG4vKiBidXR0b25zLCBhdXRvIGJ1dHRvbnMsIGFuZCBjYWxsIGNob2ljZSBidXR0b25zICovXG5kaXYuYnV0dG9ucywgZGl2LmNhbGwtYnV0dG9ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgei1pbmRleDogMzA7XG59XG5kaXYjY29udGFpbmVyLm1pbmVmaWVsZCBkaXYuYnV0dG9ucywgZGl2I2NvbnRhaW5lci5taW5lZmllbGQgZGl2LmNhbGwtYnV0dG9ucy1jb250YWluZXIge1xuICBib3R0b206IGNhbGMoMi43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGF1dG87XG59XG5kaXYuY2FsbC1idXR0b25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDQuNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyAvKiBtYWtlIHJvb20gZm9yICdjYW5jZWwnIGJ1dHRvbiAqL1xufVxuZGl2LmJ1dHRvbnMsIGRpdi5jYWxsLWJ1dHRvbnMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuZGl2LmNhbGwtYnV0dG9ucyA+IGRpdi50aWxlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuY2FsbC1idXR0b25zID4gZGl2LmNhbGwtYnV0dG9uLXNlcGFyYXRvciB7XG4gIGJvcmRlci1sZWZ0OiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHZhcigtLXRpbGUtYmFjayk7XG4gIGJvcmRlci10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbmRpdi5idXR0b25zID4gYnV0dG9uLFxuZGl2LmNhbGwtYnV0dG9ucyA+IGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjE2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1iYWNrKTtcbiAgZmlsdGVyOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5kaXYuYnV0dG9ucyA+IGJ1dHRvbi5zbWFsbC10ZXh0IHtcbiAgZm9udC1zaXplOiBjYWxjKDAuMzMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWF4LXdpZHRoOiBjYWxjKDYgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5idXR0b25zID4gYnV0dG9uIHtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtOiBza2V3KC0xNWRlZyk7XG59XG5kaXYuY2FsbC1idXR0b25zID4gYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmF1dG8tYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0xLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogMDtcbn1cblxuLyogaGFuZCBwaWFubyBrZXlzIGZvciBtb2JpbGUgKi9cbmRpdi5oYW5kLXBpYW5vLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYyg0Ljc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtNC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoLTAuMzc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogLTE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5kaXYuaGFuZC1waWFuby1jb250YWluZXIgPiBkaXYuaGFuZC1waWFuby1rZXkge1xuICAtLWV2ZW4tY29sb3I6IGhzbCgyNywgMCUsIDU1JSk7XG4gIC0tZXZlbi1jb2xvci1wcmVzc2VkOiBoc2woMjcsIDUwJSwgNTAlKTtcbiAgLS1vZGQtY29sb3I6IGhzbCgyNywgMCUsIDQwJSk7XG4gIC0tb2RkLWNvbG9yLXByZXNzZWQ6IGhzbCgyNywgNTAlLCAzNSUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMCBjYWxjKDEuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tb2RkLWNvbG9yKTtcbiAgICB3aWR0aDogY2FsYygwLjU2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBoZWlnaHQ6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSwgdmFyKC0tb2RkLWNvbG9yKSBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICAgIHdpZHRoOiBjYWxjKDAuNTYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgdG9wOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBsZWZ0OiBjYWxjKDAuNTYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLyogbGVmdG1vc3QgcGlhbm8ga2V5ICovXG4gICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICB0b3A6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgdG9wOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIGhlaWdodDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgfVxuICB9XG4gIC8qIGFsbCBwaWFubyBrZXlzICovXG4gICY6bnRoLWNoaWxkKDJuKzEpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgdG9wOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB9XG4gIH1cbiAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHRvcDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgei1pbmRleDogMjtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZXZlbi1jb2xvcik7XG4gICAgICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSwgdmFyKC0tZXZlbi1jb2xvcikgY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgICAgIHdpZHRoOiBjYWxjKDAuNTYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMC41NjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgfVxuICB9XG4gIC8qIHJpZ2h0bW9zdCBwaWFubyBrZXkgKi9cbiAgJjpudGgtY2hpbGQoMm4rMSk6bGFzdC1jaGlsZCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICBsZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIHRvcDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIH1cbiAgfVxuICAmOm50aC1jaGlsZCgybik6bGFzdC1jaGlsZCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoMS4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB9XG4gIH1cbiAgLyogcHJlc3NlZCAqL1xuICAmOm5vdCguaW5hY3RpdmUpIHtcbiAgICAmOmFjdGl2ZSwgJi5zZWxlY3RlZCB7XG4gICAgICAmOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1vZGQtY29sb3ItcHJlc3NlZCk7IH1cbiAgICAgICY6OmFmdGVyIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSksIHZhcigtLW9kZC1jb2xvci1wcmVzc2VkKSBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSkpOyB9XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDJuKTphY3RpdmUsICY6bnRoLWNoaWxkKDJuKS5zZWxlY3RlZCB7XG4gICAgICAmOjpiZWZvcmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1ldmVuLWNvbG9yLXByZXNzZWQpOyB9XG4gICAgICAmOjphZnRlciB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpLCB2YXIoLS1ldmVuLWNvbG9yLXByZXNzZWQpIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7IH1cbiAgICB9XG4gIH1cbiAgLyogYm9yZGVyIGFuZCBtYXJraW5nIHN0dWZmICovXG4gIC0tYm9yZGVyLXdpZHRoOiBjYWxjKDAuMDAxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICB9XG4gICY6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICB9XG4gICYubWFya2FibGUge1xuICAgIC0tYm9yZGVyLXdpZHRoOiBjYWxjKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tdGlsZS1iYWNrKTtcbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cbiAgJi5tYXJrZWQge1xuICAgIC0tYm9yZGVyLXdpZHRoOiBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS10aWxlLWJhY2spO1xuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuICAmLmluYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xuICB9XG4gICY6bnRoLWNoaWxkKDJuKS5tYXJrYWJsZSwgJjpudGgtY2hpbGQoMm4pLm1hcmtlZCB7XG4gICAgLS1ib3JkZXItY29sb3I6IHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgLyogbWFrZSBzcGFjZSBmb3IgcGlhbm8ga2V5cyAqL1xuICBkaXYjY29udGFpbmVyIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkge1xuICAgICYgfiAuZ2FtZS1ib3R0b20tZWxlbWVudCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyg0ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICAgIH1cbiAgICAmIH4gZGl2LmhhbmQtcGlhbm8tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWVsZW1lbnRzOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8qIGJpZyB0ZXh0ICovXG5Aa2V5ZnJhbWVzIHRleHRGYWRlIHtcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbmRpdi5iaWctdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IGNhbGMoNDAgKiB2YXIoLS10aWxlLXNpemUpIC8gKDggKyB2YXIoLS1iaWctdGV4dC1sZW5ndGgpKSk7XG4gIHRleHQtc2hhZG93OiBibGFjayBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4xICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDUwO1xuICBhbmltYXRpb246IHRleHRGYWRlIDEuNXMgZWFzZSBmb3J3YXJkcztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuZGl2LmJpZy10ZXh0LnNlbGYgeyBib3R0b206IDA7IH1cbmRpdi5iaWctdGV4dC5rYW1pY2hhIHsgbGVmdDogY2FsYygtNTAlICsgKDMgKiB2YXIoLS10aWxlLXNpemUpKSk7IHRvcDogY2FsYyg1MCUgLSAoMyAqIHZhcigtLXRpbGUtc2l6ZSkpKTsgfVxuZGl2LmJpZy10ZXh0LnRvaW1lbiB7IHRvcDogMDsgfVxuZGl2LmJpZy10ZXh0LnNoaW1vY2hhIHsgbGVmdDogY2FsYyg1MCUgLSAoMyAqIHZhcigtLXRpbGUtc2l6ZSkpKTsgdG9wOiBjYWxjKDUwJSAtICgzICogdmFyKC0tdGlsZS1zaXplKSkpOyB9XG5cbi8qIHN0YXR1cyBsaW5lcyAqL1xuXG5kaXYuc3RhdHVzLWxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAxRjtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIGNhbGMoLTguMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuc3RhdHVzLWxpbmUua2FtaWNoYSB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTt9XG5kaXYuc3RhdHVzLWxpbmUudG9pbWVuIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTt9XG5kaXYuc3RhdHVzLWxpbmUuc2hpbW9jaGEgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO31cbmRpdi5zdGF0dXMtbGluZSA+IGRpdi5zdGF0dXMtdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuLyogdmlzaWJsZSB3YWl0cyAqL1xuZGl2LnZpc2libGUtd2FpdHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gOC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDQuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgei1pbmRleDogMTAwO1xufVxuZGl2LnZpc2libGUtd2FpdHMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwN0Y7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuZGl2LnZpc2libGUtd2FpdHMuc3BhY2VkIHtcbiAgcm93LWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbkBrZXlmcmFtZXMgc2hvd1dhaXRzTG9hZGluZyB7XG4gIDAlIHsgb3BhY2l0eTogMCB9XG4gIDkwJSB7IG9wYWNpdHk6IDAgfVxuICAxMDAlIHsgb3BhY2l0eTogMSB9XG59XG5kaXYudmlzaWJsZS13YWl0cy52aXNpYmxlLXdhaXRzLWxvYWRpbmcge1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IHNob3dXYWl0c0xvYWRpbmcgMC41cyBsaW5lYXIgZm9yd2FyZHM7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudmlzaWJsZS13YWl0cyA+IGRpdi52aXNpYmxlLXdhaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudmlzaWJsZS13YWl0cy5zcGFjZWQgPiBkaXYudmlzaWJsZS13YWl0ID4gZGl2LnRpbGUge1xuICBtYXJnaW46IDAgY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudmlzaWJsZS13YWl0cyA+IGRpdi52aXNpYmxlLXdhaXQgPiBkaXYudmlzaWJsZS13YWl0LWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC4yNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGlsZS1iYWNrKTtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDMyKSBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA2NCk7XG4gIGJvdHRvbTogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIG5lYXJlc3QgYW1lcmljYW4gaGFuZHMgKi9cbmRpdi5kaXNwbGF5LWFtLWhhbmQtaG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDYuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRpc3BsYXktYW0taGFuZC1ob3Zlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCIobmVhcmVzdCBoYW5kcylcIjtcbiAgYmFja2dyb3VuZDogZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuZGl2LmRpc3BsYXktYW0taGFuZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygyLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDdGO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQtaG92ZXI6aG92ZXIgKyBkaXYuZGlzcGxheS1hbS1oYW5kLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgcm93LWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQtdHlwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuXG4vKiByZXZlYWxlZCB0aWxlcyAqL1xuZGl2LnJldmVhbGVkLXRpbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKiBzY3J5ZWQgdGlsZXMgKi9cbmRpdi5zY3J5ZWQtdGlsZXMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygyLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDtcbn1cbmRpdi5zY3J5ZWQtdGlsZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2LnNjcnllZC10aWxlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDNGO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICsgMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuLyogZGVjbGFyZSB5YWt1ICovXG5kaXYuZGVjbGFyZS15YWt1LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMy41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTA7XG59XG5kaXYuZGVjbGFyZS15YWt1LWNvbnRhaW5lciA+IGlucHV0LmRlY2xhcmUteWFrdS1taW5pbWl6ZSB7IGRpc3BsYXk6IG5vbmU7IH1cbmRpdi5kZWNsYXJlLXlha3UtY29udGFpbmVyID4gbGFiZWwuZGVjbGFyZS15YWt1LW1pbmltaXplLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKC0wLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiAwO1xufVxuZGl2LmRlY2xhcmUteWFrdSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwO1xufVxuZGl2LmRlY2xhcmUteWFrdS5taW5pbWl6ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGl2LmRlY2xhcmUteWFrdSA+IGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZGVjbGFyZS15YWt1OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGJvcmRlcjogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHZhcigtLXRpbGUtYmFjayk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IC0xO1xufVxuZGl2LmRlY2xhcmUteWFrdSBkaXYuZGVjbGFyYWJsZS15YWt1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICByb3ctZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sdW1uLWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZGVjbGFyZS15YWt1IGJ1dHRvbi5kZWNsYXJlLXlha3UtYnV0dG9uIHtcbiAgbWFyZ2luOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSAwO1xuICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSlcbiAgICAgICAgICBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuZGl2LmRlY2xhcmUteWFrdSBidXR0b24uZGVjbGFyZS15YWt1LWJ1dHRvbjphY3RpdmUge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gOCkgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpKTtcbn1cblxuLyogcnVsZXMgKi9cbmRpdi5ydWxlcy13cmFwcGVyIHtcbiAgei1pbmRleDogMTAwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBjYWxjKC0xLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucnVsZXMtd3JhcHBlciA+IGxhYmVsIHtcbiAgcGFkZGluZzogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0xLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICB3cml0aW5nLW1vZGU6IHRiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmRpdi5ydWxlcy13cmFwcGVyID4gbGFiZWwubGFuZy1lbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IC8qIG1ha2UgdGV4dCBmYWNlIHJpZ2h0ICovXG59XG5cbi8qXG4gIGhhY2s7IGFkZCBpbnZpc2libGUgXCJ1bnNlbGVjdFwiIHJhZGlvIG9wdGlvbiB0byBhbGxvdyB1bnNlbGVjdGluZ1xuICB0aGlzIGFwcGVhcnMgYWJvdmUgdGhlIHNlbGVjdGVkIGxhYmVsLCBidXQgYmVsb3cgdW5zZWxlY3RlZCBsYWJlbHNcbiovXG5pbnB1dC5ydWxlcy1wb3BvdmVyLXVuc2VsZWN0ICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTI7XG59XG5pbnB1dC5ydWxlcy1wb3BvdmVyLXJhZGlvOmNoZWNrZWQgfiBpbnB1dC5ydWxlcy1wb3BvdmVyLXVuc2VsZWN0ICsgbGFiZWwge1xuICB6LWluZGV4OiAwO1xufVxuaW5wdXQucnVsZXMtcG9wb3Zlci1yYWRpbzpjaGVja2VkICsgbGFiZWwge1xuICB6LWluZGV4OiAtMTtcbn1cbmlucHV0LnJ1bGVzLXBvcG92ZXItcmFkaW86bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgei1pbmRleDogMTtcbn1cbmRpdi5ydWxlcy1wb3BvdmVyLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2U7XG4gIGhlaWdodDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5kaXYucnVsZXMtcG9wb3Zlci1jb250YWluZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICMzZjNmM2Y7XG4gIGJvcmRlcjogMCBzb2xpZCB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjFzIGN1YmljLWJlemllcigwLCAxLCAwLCAxKTtcbn1cbmlucHV0LnJ1bGVzLXBvcG92ZXItcmFkaW86Y2hlY2tlZCArIGxhYmVsICsgZGl2LnJ1bGVzLXBvcG92ZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbmlucHV0LnJ1bGVzLXBvcG92ZXItcmFkaW86Y2hlY2tlZCArIGxhYmVsICsgZGl2LnJ1bGVzLXBvcG92ZXItY29udGFpbmVyOjpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5ydWxlcy1wb3BvdmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBtYXJnaW46IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xufVxuZGl2LnJ1bGVzLXBvcG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgXG4gIGRpc3BsYXk6IG5vbmU7IC8qIFNhZmFyaS9DaHJvbWUgKi9cbn1cbmRpdi5ydWxlcy1wb3BvdmVyLXJ1bGUge1xuICBmbGV4LWJhc2lzOiA1MCU7XG59XG5kaXYucnVsZXMtcG9wb3Zlci1ydWxlLmZ1bGwtd2lkdGgge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItdGl0bGUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1ib3R0b206IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgdmFyKC0tdGlsZS1mcm9udCk7XG4gIG1hcmdpbjogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucnVsZXMtcG9wb3Zlci10ZXh0IHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbjogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucnVsZXMtcG9wb3Zlci10ZXh0ID4gZGl2LnRpbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC0tdGlsZS1zY2FsZS1mYWN0b3I6IDAuNjU7IC8qIGVub3VnaCBmb3IgMTQgdGlsZXMgdG8gYmUgaW4gYSByb3cgKi9cbiAgbWFyZ2luLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucnVsZXMtcG9wb3Zlci10ZXh0ID4gZGl2LnRpbGU6aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSkgc2NhbGUoMi41KTtcbiAgei1pbmRleDogMTA7XG59XG5cbi8qIHRpbGUgbnVtYmVycyAqL1xuaW5wdXQudGlsZS1udW1iZXJzLWNoZWNrYm94ICsgbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0xLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBkaXNwbGF5IHdhbGwgKi9cbmRpdi5kaXNwbGF5LXdhbGwtaG92ZXIge1xuICBiYWNrZ3JvdW5kOiBncmF5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAtMTAwO1xufVxuZGl2LmRpc3BsYXktd2FsbC1ob3Zlcjpob3ZlciArIGRpdi5kaXNwbGF5LXdhbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDtcbn1cbmRpdi5kaXNwbGF5LXdhbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbmRpdi5kaXNwbGF5LXdhbGw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwN0Y7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuZGl2LmRpc3BsYXktd2FsbC5taW5pbWl6ZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgd2lkdGg6IGNhbGMoMTggKiAwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogdmFyKC0tdGlsZS1zaXplKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyogZGVidWcgKi9cbi8qXG5kaXYuZGlzcGxheS13YWxsLWNvbnRhaW5lciB7IGRpc3BsYXk6IGJsb2NrOyB6LWluZGV4OiAxMDA7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbCB7IGJhY2tncm91bmQ6IHJlZDsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsICogeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiovXG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwudG9pbWVuIHtcbiAganVzdGlmeS1pdGVtczogZmxleC1lbmQ7XG4gIHRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwuc2hpbW9jaGEge1xuICByaWdodDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLnNlbGYge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3R0b206IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMS43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEge1xuICBsZWZ0OiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwgPiBkaXYudGlsZS1zdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbCA+IGRpdi5zcGFjZXIge1xuICBtaW4td2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwgPiBkaXYudGlsZS1zdGFjayA+IGRpdi50aWxlIHtcbiAgei1pbmRleDogdmFyKC0tbGV2ZWwpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygxLjI1ICogdmFyKC0tbGV2ZWwpICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLnNoaW1vY2hhID4gZGl2LnRpbGUtc3RhY2sgPiBkaXYudGlsZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDAuMjUgKiB2YXIoLS1sZXZlbCkgKiB2YXIoLS10aWxlLXNpemUpKSkgdHJhbnNsYXRlWShjYWxjKDEgKiB2YXIoLS1sZXZlbCkgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrID4gZGl2LnRpbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMC4yNSAqIHZhcigtLWxldmVsKSAqIHZhcigtLXRpbGUtc2l6ZSkpKSB0cmFuc2xhdGVZKGNhbGMoMSAqIHZhcigtLWxldmVsKSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogLTE7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDIpIHsgei1pbmRleDogLTI7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDMpIHsgei1pbmRleDogLTM7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTQ7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDUpIHsgei1pbmRleDogLTU7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDYpIHsgei1pbmRleDogLTY7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTc7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDgpIHsgei1pbmRleDogLTg7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDkpIHsgei1pbmRleDogLTk7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC0xMDsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTEpIHsgei1pbmRleDogLTExOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxMikgeyB6LWluZGV4OiAtMTI7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IC0xMzsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTQpIHsgei1pbmRleDogLTE0OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxNSkgeyB6LWluZGV4OiAtMTU7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IC0xNjsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTcpIHsgei1pbmRleDogLTE3OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxOCkgeyB6LWluZGV4OiAtMTg7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IC0xOTsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjApIHsgei1pbmRleDogLTIwOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyMSkgeyB6LWluZGV4OiAtMjE7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IC0yMjsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjMpIHsgei1pbmRleDogLTIzOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyNCkgeyB6LWluZGV4OiAtMjQ7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDI1KSB7IHotaW5kZXg6IC0yNTsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjYpIHsgei1pbmRleDogLTI2OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyNykgeyB6LWluZGV4OiAtMjc7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDI4KSB7IHotaW5kZXg6IC0yODsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjkpIHsgei1pbmRleDogLTI5OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgzMCkgeyB6LWluZGV4OiAtMzA7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDMxKSB7IHotaW5kZXg6IC0zMTsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMzIpIHsgei1pbmRleDogLTMyOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYyg1MCUgKyAyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgd2lkdGg6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWU6OmJlZm9yZSxcbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMC4xMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuMTMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC4xNyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC4xNyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiAxO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWUub25lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIHRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllLnR3bzo6YmVmb3JlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdyhjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWUudGhyZWU6OmJlZm9yZSB7XG4gIGZpbHRlcjpcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKVxuICAgIGRyb3Atc2hhZG93KGNhbGMoMC4xNiAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4xNiAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgYmxhY2spO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZS5mb3VyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGZpbHRlcjpcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSAwIHJlZClcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSAwIHJlZCk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllLmZpdmU6OmJlZm9yZSB7XG4gIGZpbHRlcjpcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKVxuICAgIGRyb3Atc2hhZG93KGNhbGMoMC4zMiAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgYmxhY2spO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZS5maXZlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coY2FsYygwLjE2ICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjE2ICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjayk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllLnNpeDo6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKDAuMDkgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZmlsdGVyOlxuICAgIGRyb3Atc2hhZG93KGNhbGMoMC4zMiAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgYmxhY2spXG4gICAgZHJvcC1zaGFkb3coY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjIxICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjaylcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMjEgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKTtcbn1cblxuLyogZ2FtZSBtb2RhbHMgKHdpbi9kcmF3L2Vycm9yIHdpbmRvd3MpICovXG5kaXYuZ2FtZS1tb2RhbC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogODAlO1xuICBsZWZ0OiAxMCU7XG4gIHRvcDogMTAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZTtcbiAgY29sb3I6IGJsYWNrO1xufVxuLyogbGFuZHNjYXBlICovXG5AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBkaXYuZ2FtZS1tb2RhbC1jb250YWluZXIuaW5hY3RpdmUsXG4gIGRpdi5nYW1lLW1vZGFsLWhpZGU6YWN0aXZlLFxuICBkaXYuZ2FtZS1tb2RhbC1oaWRlOmFjdGl2ZSArIGRpdi50aW1lcixcbiAgZGl2LmdhbWUtbW9kYWwtaGlkZTphY3RpdmUgKyBidXR0b24uZW5kLWJhY2stYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuLyogcG9ydHJhaXQgKi9cbkBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGRpdi5nYW1lLW1vZGFsLWNvbnRhaW5lci5pbmFjdGl2ZSxcbiAgZGl2LmdhbWUtbW9kYWwtaGlkZTphY3RpdmU6bm90KDpoYXMoOmlzKGRpdi5zY29yZS1iYWRnZTphY3RpdmUsIHN2Zy5hcnJvdzphY3RpdmUsIHN2Zy5jdXJ2ZTphY3RpdmUpKSkge1xuICAgICYsICYgKyBkaXYudGltZXIsICYgKyBidXR0b24uZW5kLWJhY2stYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxufVxuZGl2LmdhbWUtbW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuZGl2LmdhbWUtbW9kYWw6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwOCU7XG4gIGhlaWdodDogMTA4JTtcbiAgdG9wOiAtNCU7XG4gIGxlZnQ6IC00JTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjY7XG4gIHotaW5kZXg6IC0xO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYud2lubmluZy1oYW5kLFxuZGl2LmdhbWUtbW9kYWwgPiBkaXYueWFrdXMsXG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1kaXNwbGF5IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuZGl2LmdhbWUtbW9kYWwuZXJyb3Itd2luZG93ID4gYnV0dG9uLmRpc21pc3MtZXJyb3IsXG5kaXYuZ2FtZS1tb2RhbC1jb250YWluZXIgPiBidXR0b24uZW5kLWJhY2stYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiAwO1xufVxuZGl2Lndpbm5pbmctaGFuZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2Lndpbm5pbmctaGFuZC1jb250YWluZXI6bm90KDpob3ZlcikgZGl2LmhhbmQud2lubmluZy1oYW5kOm5vdCguc2VwYXJhdGVkLWhhbmQpIHsgZGlzcGxheTogZmxleDsgfVxuZGl2Lndpbm5pbmctaGFuZC1jb250YWluZXI6aG92ZXIgZGl2LmhhbmQud2lubmluZy1oYW5kLnNlcGFyYXRlZC1oYW5kIHsgZGlzcGxheTogZmxleDsgfVxuZGl2LmhhbmQud2lubmluZy1oYW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogc3RhY2sgZmxvd2VycyBpbiB3aW5uaW5nIGhhbmQgaWYgbmVlZGVkICovXG5kaXYuaGFuZC53aW5uaW5nLWhhbmQgPiBkaXYuY2FsbC53aW5uaW5nLWZsb3dlcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5kaXYuaGFuZC53aW5uaW5nLWhhbmQgPiBkaXYuY2FsbC53aW5uaW5nLWZsb3dlcnMgPiBkaXYudGlsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLndpbm5pbmctaGFuZCA+IGRpdi5jYWxsLndpbm5pbmctZmxvd2VycyA+IGRpdi5mbG93ZXItY291bnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgcGFkZGluZzogY2FsYygwLjA1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTE2KSBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAtMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiAxO1xufVxuLyogeWFrdXMgKi9cbmRpdi55YWt1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgcm93LWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoMS43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5MCU7XG59XG4vKiB3cmFwIGhhY2ssIHN1cHBvcnRzIDE5IGl0ZW1zICovXG5kaXYueWFrdXM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IGhlaWdodDogMTAwJTsgb3JkZXI6IDE7IH1cbmRpdi55YWt1czo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBoZWlnaHQ6IDEwMCU7IG9yZGVyOiAtMTsgfSAvKiBmb3Igc3BhY2UtZXZlbmx5IHRvIHdvcmsgKi9cbmRpdi55YWt1Om50aC1jaGlsZChuKzEpOm50aC1sYXN0LWNoaWxkKC1uKzApLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rMik6bnRoLWxhc3QtY2hpbGQoLW4rMSksXG5kaXYueWFrdTpudGgtY2hpbGQobiszKTpudGgtbGFzdC1jaGlsZCgtbisyKSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzQpOm50aC1sYXN0LWNoaWxkKC1uKzMpLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rNSk6bnRoLWxhc3QtY2hpbGQoLW4rNCksXG5kaXYueWFrdTpudGgtY2hpbGQobis2KTpudGgtbGFzdC1jaGlsZCgtbis1KSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzcpOm50aC1sYXN0LWNoaWxkKC1uKzYpLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rOCk6bnRoLWxhc3QtY2hpbGQoLW4rNyksXG5kaXYueWFrdTpudGgtY2hpbGQobis5KTpudGgtbGFzdC1jaGlsZCgtbis4KSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzEwKTpudGgtbGFzdC1jaGlsZCgtbis5KSB7IG9yZGVyOiAxOyB9XG5kaXYueWFrdSxcbmRpdi55YWt1ID4gZGl2Lmhhbi1jb3VudGVyLFxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0OjpiZWZvcmUge1xuICBmb250LXNpemU6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogMS4yZW07XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dDo6YmVmb3JlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdyhjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAtOCkgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTE2KSAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSkpXG4gICAgICAgICAgZHJvcC1zaGFkb3coY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTgpIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC0xNikgMCB2YXIoLS10aWxlLWJhY2stc2lkZSkpO1xufVxuZGl2Lnlha3Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5kaXYueWFrdSA+IGRpdi55YWt1LXRleHQuc21hbGwgeyBmb250LXNpemU6IDc1JTsgdG9wOiAxMCU7IH1cbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dC5zbWFsbDo6YmVmb3JlIHsgdG9wOiAtMTAlOyB9XG5kaXYueWFrdSA+IGRpdi55YWt1LXRleHQudGlueSB7IGZvbnQtc2l6ZTogNTAlOyB0b3A6IDIwJTsgfVxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0LnRpbnk6OmJlZm9yZSB7IHRvcDogLTIwJTsgfVxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0OjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAtMTAlO1xuICBoZWlnaHQ6IDExMCU7XG4gIHRvcDogMCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xufVxuZGl2Lnlha3UgPiBkaXYuaGFuLWNvdW50ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi55YWt1ID4gZGl2Lmhhbi1jb3VudGVyOjpiZWZvcmUsXG5kaXYudG90YWwtcG9pbnRzLWRpc3BsYXk6OmJlZm9yZSxcbmRpdi50b3RhbC1zY29yZS1kaXNwbGF5OjpiZWZvcmUsXG5kaXYudG90YWwtc2NvcmUtbmFtZS1kaXNwbGF5OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9icnVzaC1iZy5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbmRpdi50b3RhbC1wb2ludHMtZGlzcGxheTpub3QoOmZpcnN0LW9mLXR5cGUpOjpiZWZvcmUsXG5kaXYudG90YWwtc2NvcmUtZGlzcGxheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYnJ1c2gtYmcyLnN2Zyk7XG59XG5kaXYueWFrdSA+IGRpdi5oYW4tY291bnRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IDE2MCU7XG4gIGxlZnQ6IGNhbGMoLTAuNjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiAtMzcuNSU7XG59XG5cbi8qIHNjb3JlIGRpc3BsYXkgKi9cbmRpdi5zY29yZS1kaXNwbGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHJvdy1nYXA6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xufVxuZGl2LnNjb3JlLWRpc3BsYXk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHdpZHRoOiAxMDAlOyBvcmRlcjogMTsgfVxuZGl2LnRvdGFsLXBvaW50cy1kaXNwbGF5LFxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYudG90YWwtcG9pbnRzLWRpc3BsYXkgeyBmb250LXNpemU6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYudG90YWwtc2NvcmUtZGlzcGxheSB7IGZvbnQtc2l6ZTogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7IG9yZGVyOiAxOyB9XG5kaXYudG90YWwtc2NvcmUtZGlzcGxheS5zbWFsbCB7IGZvbnQtc2l6ZTogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi50b3RhbC1zY29yZS1uYW1lLWRpc3BsYXkgeyBmb250LXNpemU6IGNhbGMoMS4yICogdmFyKC0tdGlsZS1zaXplKSk7IG9yZGVyOiAxOyB9XG5kaXYudG90YWwtc2NvcmUtbmFtZS1kaXNwbGF5LnNtYWxsIHsgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuZGl2LnRvdGFsLXBvaW50cy1kaXNwbGF5OjpiZWZvcmUsXG5kaXYudG90YWwtc2NvcmUtZGlzcGxheTo6YmVmb3JlLFxuZGl2LnRvdGFsLXNjb3JlLW5hbWUtZGlzcGxheTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTUwJTtcbiAgaGVpZ2h0OiAxNDAlO1xuICBsZWZ0OiAtMjUlO1xuICBib3R0b206IC03LjUlO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi50b3RhbC1wb2ludHMtZGlzcGxheTpub3QoOmZpcnN0LW9mLXR5cGUpOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB3aWR0aDogMTYwJTtcbiAgbGVmdDogLTM1JTtcbiAgYm90dG9tOiAtMzUlO1xufVxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXk6OmJlZm9yZSB7XG4gIHdpZHRoOiAxODAlO1xuICBoZWlnaHQ6IDE2MCU7XG4gIGxlZnQ6IC00MCU7XG59XG5kaXYudG90YWwtc2NvcmUtbmFtZS1kaXNwbGF5IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTIwZGVnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xufVxuZGl2LnRvdGFsLXNjb3JlLW5hbWUtZGlzcGxheTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgd2lkdGg6IDE0MCU7XG4gIGhlaWdodDogMTIwJTtcbiAgbGVmdDogLTIwJTtcbiAgYm90dG9tOiAtMTUlO1xufVxuXG4vKiBkZWx0YSBzY29yZSB3aW5kb3cgKi9cbmRpdi5nYW1lLW1vZGFsID4gZGl2LmRlbHRhLXNjb3JlLXJlYXNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuOCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogY2FsYyg1MCUgLSAzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgLS13aWR0aDogMTA7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXdpZHRoKSAqIDAuNzVlbSArIDFlbSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LmRlbHRhLXNjb3JlLXJlYXNvbjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9icnVzaC1iZy5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIGNhbGMoNTAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICBib3R0b206IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0wLjEgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDEyZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAzO1xuICBjb2xvcjogd2hpdGU7XG4gICY6aG92ZXIgPiBkaXYge1xuICAgICYuaW5pdGlhbC1zY29yZSwgJi5wbGF5ZXItbmFtZSwgJi5obGluZTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDc1JSkgc2VwaWEoMTAwJSkgc2F0dXJhdGUoODAwJSkgaHVlLXJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2Uuc2VsZiB7IGluc2V0OiAwOyB0b3A6IGF1dG87IG1hcmdpbjogMCBhdXRvOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZS5zaGltb2NoYSB7IGluc2V0OiAwOyBsZWZ0OiBhdXRvOyBtYXJnaW46IGF1dG8gMDsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2UudG9pbWVuIHsgaW5zZXQ6IDA7IGJvdHRvbTogYXV0bzsgcmlnaHQ6IDA7IG1hcmdpbjogMCBhdXRvOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZS5rYW1pY2hhIHsgaW5zZXQ6IDA7IHJpZ2h0OiBhdXRvOyBtYXJnaW46IGF1dG8gMDsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2UgPiBkaXYuaGxpbmU6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2UgPiBkaXYuaW5pdGlhbC1zY29yZSB7XG4gIGZvbnQtc2l6ZTogMTUwJTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSA+IGRpdi5kZWx0YS1zY29yZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuM2VtO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSA+IGRpdi5wbGF5ZXItbmFtZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlID4gZGl2LnBsYWNlbWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKC01MCUgKyAwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygtMjUlKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSg3NSUpO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lciA+IHRhYmxlLnNjb3JlLWxlZGdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgb3BhY2l0eTogMC45O1xuICBiYWNrZ3JvdW5kOiAjMGY2ZjJmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAmLmthbWljaGEsICYuazJ1LCAmLmsydCwgJi51MmssICYudDJrIHsgdG9wOiAwOyByaWdodDogMDsgfVxuICAmLnRvaW1lbiB7IGJvdHRvbTogMDsgbGVmdDogMDsgfVxuICAmOmhhcyh0Ym9keSA+IHRyKSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgYm9yZGVyLWJvdHRvbTogY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB3aGl0ZTtcbiAgfVxuICAtLWxlZGdlci1zY2FsZTogODUlO1xuICAmLnNlbGYsICYuc2hpbW9jaGEsICYudG9pbWVuLCAmLmthbWljaGEgeyAtLWxlZGdlci1zY2FsZTogMTI1JTsgfVxuICAmID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICBmb250LXNpemU6IHZhcigtLWxlZGdlci1zY2FsZSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGhlaWdodDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgbWluLXdpZHRoOiBjYWxjKDggKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAmID4gZGl2LnNjb3JlLWxlZGdlci1taW5pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgcmlnaHQ6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICAmID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDAuNyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICYubWluaS1zZWxmIHsgbGVmdDogMDsgcmlnaHQ6IDA7IG1hcmdpbi1pbmxpbmU6IGF1dG87IGJvdHRvbTogMDsgfVxuICAgICAgICAmLm1pbmktc2hpbW9jaGEgeyB0b3A6IDA7IGJvdHRvbTogMDsgbWFyZ2luLWJsb2NrOiBhdXRvOyByaWdodDogMDsgfVxuICAgICAgICAmLm1pbmktdG9pbWVuIHsgbGVmdDogMDsgcmlnaHQ6IDA7IG1hcmdpbi1pbmxpbmU6IGF1dG87IHRvcDogMDsgfVxuICAgICAgICAmLm1pbmkta2FtaWNoYSB7IHRvcDogMDsgYm90dG9tOiAwOyBtYXJnaW4tYmxvY2s6IGF1dG87IGxlZnQ6IDA7IH1cbiAgICAgICAgJi5zZWxlY3RlZCB7IGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYgPiB0Ym9keSA+IHRyIHtcbiAgICAmID4gdGQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHBhZGRpbmc6IDAgY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbiAgICAgICY6bGFzdC1jaGlsZCAgeyBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQgdGQsICYuc2NvcmUtbGVkZ2VyLXRvdGFsIHRkIHsgcGFkZGluZy10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG4gICAgJjpsYXN0LWNoaWxkICB0ZCwgJjpoYXMoKyB0ci5zY29yZS1sZWRnZXItdG90YWwpIHRkIHsgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG4gIH1cblxuICAmIHRkLnNjb3JlLWxlZGdlci1yZWFzb24sICYgdGQuc2NvcmUtbGVkZ2VyLW9wIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAmIHRkLnNjb3JlLWxlZGdlci1vcCB7XG4gICAgICBwYWRkaW5nOiAwIGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gICYgdGQuc2NvcmUtbGVkZ2VyLWFtb3VudCxcbiAgJiB0ZC5zY29yZS1sZWRnZXItcmVzdWx0IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG4gICYgdHIuc2NvcmUtbGVkZ2VyLXRvdGFsIHtcbiAgICAmIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgd2hpdGU7XG4gICAgICBwYWRkaW5nOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTI1JTtcbiAgICB9XG4gIH1cbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIgPiB0YWJsZS5zY29yZS1sZWRnZXIgeyBkaXNwbGF5OiBub25lOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnNlbGYgPiB0YWJsZS5zY29yZS1sZWRnZXIuc2VsZiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnNoaW1vY2hhID4gdGFibGUuc2NvcmUtbGVkZ2VyLnNoaW1vY2hhIHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIudG9pbWVuID4gdGFibGUuc2NvcmUtbGVkZ2VyLnRvaW1lbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLmthbWljaGEgPiB0YWJsZS5zY29yZS1sZWRnZXIua2FtaWNoYSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnQydSA+IHRhYmxlLnNjb3JlLWxlZGdlci50MnUgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci51MnQgPiB0YWJsZS5zY29yZS1sZWRnZXIudTJ0IHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIuazJzID4gdGFibGUuc2NvcmUtbGVkZ2VyLmsycyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnMyayA+IHRhYmxlLnNjb3JlLWxlZGdlci5zMmsgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5rMnUgPiB0YWJsZS5zY29yZS1sZWRnZXIuazJ1IHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIuczJ1ID4gdGFibGUuc2NvcmUtbGVkZ2VyLnMydSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnMydCA+IHRhYmxlLnNjb3JlLWxlZGdlci5zMnQgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5rMnQgPiB0YWJsZS5zY29yZS1sZWRnZXIuazJ0IHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIudTJrID4gdGFibGUuc2NvcmUtbGVkZ2VyLnUyayB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnUycyA+IHRhYmxlLnNjb3JlLWxlZGdlci51MnMgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci50MnMgPiB0YWJsZS5zY29yZS1sZWRnZXIudDJzIHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIudDJrID4gdGFibGUuc2NvcmUtbGVkZ2VyLnQyayB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBwcm9wZXJ0eSAtLXRpbGUtc2l6ZSB7XG4gIC8qIHJlcXVpcmVkIGZvciBtYWtpbmcgaXQgdW5pdGxlc3MgYmVsb3cgKi9cbiAgc3ludGF4OiAnPGxlbmd0aD4nO1xuICBpbmhlcml0czogdHJ1ZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbnN2Zy5hcnJvdywgc3ZnLmN1cnZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmaWxsOiB3aGl0ZTtcbiAgLyogZmlyc3Qgc2NhbGUgYmFzZWQgb24gdW5pdGxlc3MgdGlsZS1zaXplLCB0aGVuIG1vdmUgdGhlIHRhaWwsIHRoZW4gcm90YXRlIGFib3V0IHRoZSB0YWlsICovXG4gIHpvb206IGNhbGModGFuKGF0YW4yKHZhcigtLXRpbGUtc2l6ZSksIDIwMHB4KSkpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJjpob3ZlciB7IGZpbHRlcjogYnJpZ2h0bmVzcyg3NSUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDgwMCUpIGh1ZS1yb3RhdGUoLTQ1ZGVnKTsgfVxufVxuc3ZnLmFycm93IHtcbiAgLS14cG9zOiAwO1xuICAtLXlwb3M6IDA7XG4gIC0tcm90YXRlOiAwO1xuICAtLWxlbmd0aDogMDtcbiAgd2lkdGg6IGNhbGModmFyKC0tbGVuZ3RoKSAqIDIwMHB4KTtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB0cmFuc2Zvcm06XG4gICAgdHJhbnNsYXRlKCBjYWxjKHZhcigtLXhwb3MpICogMjAwcHggLSAxMDBweClcbiAgICAgICAgICAgICAsIGNhbGModmFyKC0teXBvcykgKiAyMDBweCAtIDIwMHB4KSApXG4gICAgcm90YXRlKGNhbGModmFyKC0tcm90YXRlKSAqIDFkZWcpKTtcbn1cbnN2Zy5jdXJ2ZSB7XG4gIC0teHBvczogMDtcbiAgLS15cG9zOiAwO1xuICAtLXhzY2FsZTogMTtcbiAgLS15c2NhbGU6IDE7XG4gIHdpZHRoOiA1NTBweDtcbiAgaGVpZ2h0OiA4MDBweDtcbiAgdHJhbnNmb3JtOlxuICAgIHRyYW5zbGF0ZSggY2FsYyh2YXIoLS14cG9zKSAqIDIwMHB4IC0gMTAwcHgpXG4gICAgICAgICAgICAgLCBjYWxjKHZhcigtLXlwb3MpICogMjAwcHggLSAxMDBweCkgKVxuICAgIHNjYWxlKHZhcigtLXhzY2FsZSksIHZhcigtLXlzY2FsZSkpO1xufVxuZGl2LmdhbWUtbW9kYWw6bm90KC50MnUpID4gc3ZnLnQydSxcbmRpdi5nYW1lLW1vZGFsOm5vdCgudTJ0KSA+IHN2Zy51MnQsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLmsycykgPiBzdmcuazJzLFxuZGl2LmdhbWUtbW9kYWw6bm90KC5zMmspID4gc3ZnLnMyayxcbmRpdi5nYW1lLW1vZGFsOm5vdCguazJ1KSA+IHN2Zy5rMnUsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLnMydSkgPiBzdmcuczJ1LFxuZGl2LmdhbWUtbW9kYWw6bm90KC5zMnQpID4gc3ZnLnMydCxcbmRpdi5nYW1lLW1vZGFsOm5vdCguazJ0KSA+IHN2Zy5rMnQsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLnUyaykgPiBzdmcudTJrLFxuZGl2LmdhbWUtbW9kYWw6bm90KC51MnMpID4gc3ZnLnUycyxcbmRpdi5nYW1lLW1vZGFsOm5vdCgudDJzKSA+IHN2Zy50MnMsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLnQyaykgPiBzdmcudDJrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlID4gZGl2LmRlbHRhLXNjb3JlLnBvc2l0aXZlIHsgY29sb3I6IGxpZ2h0Z3JlZW47IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlID4gZGl2LmRlbHRhLXNjb3JlLm5lZ2F0aXZlIHsgY29sb3I6IHBpbms7IH1cblxuLyogZ2FtZSBlbmQgdGltZXIgKi9cblxuZGl2LmdhbWUtbW9kYWwtY29udGFpbmVyID4gZGl2LnRpbWVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKC0wLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIHBhc3MgZGVhbGVyc2hpcCB0b2dnbGUgKi9cbmRpdi5nYW1lLW1vZGFsLWNvbnRhaW5lciA+IGRpdi5yZW5jaGFuLWNob2ljZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKC0wLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYuZ2FtZS1tb2RhbC1jb250YWluZXIgPiBkaXYucmVuY2hhbi1jaG9pY2UtY29udGFpbmVyID4gbGFiZWwge1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IGNhbGMoMi41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdoaXRlLXNwYWNlOiB3cmFwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi8qIGVycm9yIGJveCAqL1xuZGl2LmdhbWUtbW9kYWwuZXJyb3Itd2luZG93IHtcbiAgY29sb3I6IHdoaXRlO1xufVxuZGl2LmdhbWUtbW9kYWwuZXJyb3Itd2luZG93ID4gaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuZGl2LmdhbWUtbW9kYWwuZXJyb3Itd2luZG93ID4gdGV4dGFyZWEuZXJyb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xufVxuZGl2LmdhbWUtbW9kYWwuZXJyb3Itd2luZG93OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi8qIGdhbWUgY29uY2x1ZGVkIHdpbmRvdyAqL1xuZGl2LnNjb3JlYm9hcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiB2YXIoLS10aWxlLXNpemUpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS10aWxlLXNpemUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS10aWxlLXNpemUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCAtIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5wbGFjZW1lbnQgPiBkaXYucGxhY2VtZW50LXBsYWNlLFxuZGl2LnBsYWNlbWVudCA+IGRpdi5wbGFjZW1lbnQtbmFtZSB7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBoZWlnaHQ6IDEuMmVtO1xufVxuZGl2LnBsYWNlbWVudCA+IGRpdi5wbGFjZW1lbnQtbmFtZTo6YmVmb3JlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdyhjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAtOCkgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTE2KSAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSkpXG4gICAgICAgICAgZHJvcC1zaGFkb3coY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTgpIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC0xNikgMCB2YXIoLS10aWxlLWJhY2stc2lkZSkpO1xufVxuZGl2LnBsYWNlbWVudCB7IGRpc3BsYXk6IGZsZXg7IHVzZXItc2VsZWN0OiBub25lOyB9XG5kaXYucGxhY2VtZW50Om50aC1jaGlsZCgxKSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuZGl2LnBsYWNlbWVudDpudGgtY2hpbGQoMikgeyBtYXJnaW4tbGVmdDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuZGl2LnBsYWNlbWVudDpudGgtY2hpbGQoMykgeyBtYXJnaW4tbGVmdDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi5wbGFjZW1lbnQ6bnRoLWNoaWxkKDQpIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi5wbGFjZW1lbnQgPiBkaXYucGxhY2VtZW50LW5hbWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygxLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYucGxhY2VtZW50ID4gZGl2LnBsYWNlbWVudC1uYW1lOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IC0xMCU7XG4gIGhlaWdodDogMTEwJTtcbiAgdG9wOiAwJTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7XG59XG5kaXYucGxhY2VtZW50ID4gZGl2LnBsYWNlbWVudC1wbGFjZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tdGlsZS1zaXplKSkgcm90YXRlKC0yMGRlZyk7XG4gIHotaW5kZXg6IDI7XG59XG5kaXYucGxhY2VtZW50ID4gZGl2LnBsYWNlbWVudC1wbGFjZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9icnVzaC1iZy5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbGVmdDogLTQwJTtcbiAgdG9wOiAtMzAlO1xuICB3aWR0aDogMTgwJTtcbiAgaGVpZ2h0OiAxNDAlO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5wbGFjZW1lbnQgc3Bhbi5wbGFjZW1lbnQtc2NvcmUge1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuXG5cbi8qIHJ1bGVzZXQgdGV4dGJveCAqL1xuZGl2LnJ1bGVzZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDB2aCArICgyICogdmFyKC0tdGlsZS1zaXplKSkgKyAxLjJlbSk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gbWluKDkwdncsIDgwdmgpIC8gMik7XG4gIHdpZHRoOiBtaW4oOTB2dywgODB2aCk7XG4gIGhlaWdodDogY2FsYygyMCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbmRpdi5ydWxlc2V0ID4gZGl2LnJ1bGVzZXQtdGV4dCB7XG4gIGNvbnRlbnQ6IFwiUnVsZXNldDpcIjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuLyogbGFuZHNjYXBlICovXG5AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBkaXYucnVsZXNldCB7XG4gICAgd2lkdGg6IGNhbGMobWluKDkwdncsIDgwdmgpICsgMC41ICogdmFyKC0tdGlsZS1zaXplKSArIG1pbig1MCUsIGNhbGMoNDB2dyAtIDIwJSAtIDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKSk7XG4gIH1cbn1cblxuXG5cblxuXG4vKiBzYWtpIGNhcmRzICovXG5kaXYuc2FraS1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tY2FyZC13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tY2FyZC1oZWlnaHQpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHotaW5kZXg6IDA7XG59XG5kaXYuc2FraS1jYXJkOmhvdmVyIHtcbiAgei1pbmRleDogMTtcbn1cbmxhYmVsLm1vZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5zYWtpLWNhcmQ6OmJlZm9yZSwgZGl2LnNha2ktY2FyZDo6YWZ0ZXIsIGxhYmVsLm1vZDo6YmVmb3JlLCBsYWJlbC5tb2Q6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogdmFyKC0tY2FyZC13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tY2FyZC1oZWlnaHQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbGVmdDogLTM1MCU7XG4gIGJvdHRvbTogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5sYWJlbC5tb2Q6aG92ZXI6OmJlZm9yZSB7IGxlZnQ6IDA7IH1cbmxhYmVsLm1vZDpob3Zlcjo6YWZ0ZXIgeyBsZWZ0OiBjYWxjKDEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IH1cbmxhYmVsLm1vZDpob3Zlcjo6YmVmb3JlLCBsYWJlbC5tb2Q6aG92ZXI6OmFmdGVyIHsgdG9wOiBjYWxjKC0xICogdmFyKC0tY2FyZC1oZWlnaHQpKTsgfVxuZGl2LnNha2ktY2FyZDpob3Zlcjo6YmVmb3JlLCBsYWJlbC5tb2Q6aG92ZXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IH1cbmRpdi5zYWtpLWNhcmQudjEyLCBsYWJlbC5tb2QudjEyOjpiZWZvcmUsIGxhYmVsLm1vZC52MTI6OmFmdGVyIHtcbiAgLS1jYXJkLXdpZHRoOiBjYWxjKDAuODkgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS1jYXJkLWhlaWdodDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWFnZXMvc2FraWNhcmRzdjEyLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKDYgKiB2YXIoLS1jYXJkLWhlaWdodCkpO1xufVxuZGl2LnNha2ktY2FyZC52MTMsIGxhYmVsLm1vZC52MTM6OmJlZm9yZSwgbGFiZWwubW9kLnYxMzo6YWZ0ZXIge1xuICAtLWNhcmQtd2lkdGg6IGNhbGMoMC44NjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS1jYXJkLWhlaWdodDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHVybChcIi9pbWFnZXMvc2FraWNhcmRzdjEzLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKDcgKiB2YXIoLS1jYXJkLWhlaWdodCkpO1xufVxuZGl2LnNha2ktY2FyZC52MTI6OmJlZm9yZSwgZGl2LnNha2ktY2FyZC52MTI6OmFmdGVyLCBsYWJlbC5tb2QudjEyOjphZnRlciwgbGFiZWwubW9kLnYxMjo6YmVmb3JlLCBsYWJlbC5tb2QudjEyOjphZnRlciB7XG4gIC0tY2FyZC13aWR0aDogY2FsYyg3LjEyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tY2FyZC1oZWlnaHQ6IGNhbGMoMTAgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGNhbGMoNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7XG59XG5kaXYuc2FraS1jYXJkLnYxMzo6YmVmb3JlLCBkaXYuc2FraS1jYXJkLnYxMzo6YWZ0ZXIsIGxhYmVsLm1vZC52MTM6OmFmdGVyLCBsYWJlbC5tb2QudjEzOjpiZWZvcmUsIGxhYmVsLm1vZC52MTM6OmFmdGVyIHtcbiAgLS1jYXJkLXdpZHRoOiBjYWxjKDYuOTIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS1jYXJkLWhlaWdodDogY2FsYygxMCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYyg3ICogdmFyKC0tY2FyZC1oZWlnaHQpKTtcbn1cbmRpdi5zYWtpLWNhcmQudjEyLmFpc2xpbm4td2lzaGFydCwgZGl2LnNha2ktY2FyZC52MTIuYWlzbGlubi13aXNoYXJ0OjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuYWlzbGlubi13aXNoYXJ0OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmFtYWUta29yb21vLCBkaXYuc2FraS1jYXJkLnYxMi5hbWFlLWtvcm9tbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmFtYWUta29yb21vOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmFuZXRhaS10b3lvbmUsIGRpdi5zYWtpLWNhcmQudjEyLmFuZXRhaS10b3lvbmU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5hbmV0YWktdG95b25lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmFyYWthd2Eta2VpLCBkaXYuc2FraS1jYXJkLnYxMi5hcmFrYXdhLWtlaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmFyYWthd2Eta2VpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmF0YWdvLWhpcm9lLCBkaXYuc2FraS1jYXJkLnYxMi5hdGFnby1oaXJvZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmF0YWdvLWhpcm9lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmF0YXJhc2hpLWFrbywgZGl2LnNha2ktY2FyZC52MTIuYXRhcmFzaGktYWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuYXRhcmFzaGktYWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmNob2UtbXllb25naHdhLCBkaXYuc2FraS1jYXJkLnYxMi5jaG9lLW15ZW9uZ2h3YTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmNob2UtbXllb25naHdhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmV6YWtpLWhpdG9taSwgZGl2LnNha2ktY2FyZC52MTIuZXpha2ktaGl0b21pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuZXpha2ktaGl0b21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmZ1a3VqaS1taWhva28sIGRpdi5zYWtpLWNhcmQudjEyLmZ1a3VqaS1taWhva286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5mdWt1amktbWlob2tvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmhhbmFkYS1raXJhbWUsIGRpdi5zYWtpLWNhcmQudjEyLmhhbmFkYS1raXJhbWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5oYW5hZGEta2lyYW1lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmhhby1odWl5dSwgZGl2LnNha2ktY2FyZC52MTIuaGFvLWh1aXl1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaGFvLWh1aXl1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmhhcmFtdXJhLW5vZG9rYSwgZGl2LnNha2ktY2FyZC52MTIuaGFyYW11cmEtbm9kb2thOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaGFyYW11cmEtbm9kb2thOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmhpcm9zZS1zdW1pcmUsIGRpdi5zYWtpLWNhcmQudjEyLmhpcm9zZS1zdW1pcmU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5oaXJvc2Utc3VtaXJlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmlrZWRhLWthbmEsIGRpdi5zYWtpLWNhcmQudjEyLmlrZWRhLWthbmE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5pa2VkYS1rYW5hOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmlub3VlLWp1biwgZGl2LnNha2ktY2FyZC52MTIuaW5vdWUtanVuOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaW5vdWUtanVuOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLml3YXRvLWthc3VtaSwgZGl2LnNha2ktY2FyZC52MTIuaXdhdG8ta2FzdW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaXdhdG8ta2FzdW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmppbmRhaS1rb21ha2ksIGRpdi5zYWtpLWNhcmQudjEyLmppbmRhaS1rb21ha2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5qaW5kYWkta29tYWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmthamlraS15dW1pLCBkaXYuc2FraS1jYXJkLnYxMi5rYWppa2kteXVtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmthamlraS15dW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmthaW5vdS15b3NoaWtvLCBkaXYuc2FraS1jYXJkLnYxMi5rYWlub3UteW9zaGlrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmthaW5vdS15b3NoaWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmtha3VyYS1rdXJ1bWksIGRpdi5zYWtpLWNhcmQudjEyLmtha3VyYS1rdXJ1bWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYWt1cmEta3VydW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmthbmJhcmEtc2F0b21pLCBkaXYuc2FraS1jYXJkLnYxMi5rYW5iYXJhLXNhdG9taTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmthbmJhcmEtc2F0b21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmthcmlqdWt1LXRvbW9lLCBkaXYuc2FraS1jYXJkLnYxMi5rYXJpanVrdS10b21vZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmthcmlqdWt1LXRvbW9lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmthdGFva2EteXV1a2ksIGRpdi5zYWtpLWNhcmQudjEyLmthdGFva2EteXV1a2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYXRhb2thLXl1dWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmtvc2VnYXdhLXNoaXJvbWksIGRpdi5zYWtpLWNhcmQudjEyLmtvc2VnYXdhLXNoaXJvbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rb3NlZ2F3YS1zaGlyb21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLmt1bmloaXJvLWhhamltZSwgZGl2LnNha2ktY2FyZC52MTIua3VuaWhpcm8taGFqaW1lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIua3VuaWhpcm8taGFqaW1lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1hc2UteXV1a28sIGRpdi5zYWtpLWNhcmQudjEyLm1hc2UteXV1a286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5tYXNlLXl1dWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1hdGFuby1zZWlrbywgZGl2LnNha2ktY2FyZC52MTIubWF0YW5vLXNlaWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubWF0YW5vLXNlaWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1hdHN1bWkta3VybywgZGl2LnNha2ktY2FyZC52MTIubWF0c3VtaS1rdXJvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubWF0c3VtaS1rdXJvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1hdHN1bWkteXV1LCBkaXYuc2FraS1jYXJkLnYxMi5tYXRzdW1pLXl1dTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm1hdHN1bWkteXV1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1heWEteXVraWtvLCBkaXYuc2FraS1jYXJkLnYxMi5tYXlhLXl1a2lrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm1heWEteXVraWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1lZ2FuLWRhdmluLCBkaXYuc2FraS1jYXJkLnYxMi5tZWdhbi1kYXZpbjo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm1lZ2FuLWRhdmluOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1peWFuYWdhLXNha2ksIGRpdi5zYWtpLWNhcmQudjEyLm1peWFuYWdhLXNha2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5taXlhbmFnYS1zYWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm1peWFuYWdhLXRlcnUsIGRpdi5zYWtpLWNhcmQudjEyLm1peWFuYWdhLXRlcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5taXlhbmFnYS10ZXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm5hbnBvLWthenVlLCBkaXYuc2FraS1jYXJkLnYxMi5uYW5wby1rYXp1ZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm5hbnBvLWthenVlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm5lbGx5LXZpcnNhbGFkemUsIGRpdi5zYWtpLWNhcmQudjEyLm5lbGx5LXZpcnNhbGFkemU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5uZWxseS12aXJzYWxhZHplOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm9uam91amktdG9raSwgZGl2LnNha2ktY2FyZC52MTIub25qb3VqaS10b2tpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIub25qb3VqaS10b2tpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLm9vaG9zaGktYXdhaSwgZGl2LnNha2ktY2FyZC52MTIub29ob3NoaS1hd2FpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIub29ob3NoaS1hd2FpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnJ5dXVtb25idWNoaS10b3VrYSwgZGl2LnNha2ktY2FyZC52MTIucnl1dW1vbmJ1Y2hpLXRvdWthOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIucnl1dW1vbmJ1Y2hpLXRvdWthOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNhZ2ltb3JpLWFyYXRhLCBkaXYuc2FraS1jYXJkLnYxMi5zYWdpbW9yaS1hcmF0YTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNhZ2ltb3JpLWFyYXRhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNhd2FtdXJhLXRvbW9raSwgZGl2LnNha2ktY2FyZC52MTIuc2F3YW11cmEtdG9tb2tpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuc2F3YW11cmEtdG9tb2tpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNlbm9vLWthb3JpLCBkaXYuc2FraS1jYXJkLnYxMi5zZW5vby1rYW9yaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNlbm9vLWthb3JpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNoaWJ1eWEtdGFrYW1pLCBkaXYuc2FraS1jYXJkLnYxMi5zaGlidXlhLXRha2FtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNoaWJ1eWEtdGFrYW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNoaW1penVkYW5pLXJ5dXVrYSwgZGl2LnNha2ktY2FyZC52MTIuc2hpbWl6dWRhbmktcnl1dWthOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuc2hpbWl6dWRhbmktcnl1dWthOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNoaXJvdXp1LW1haXJ1LCBkaXYuc2FraS1jYXJkLnYxMi5zaGlyb3V6dS1tYWlydTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNoaXJvdXp1LW1haXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnNvbWV5YS1tYWtvLCBkaXYuc2FraS1jYXJkLnYxMi5zb21leWEtbWFrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNvbWV5YS1tYWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRha2FrYW1vLXNoaXp1bm8sIGRpdi5zYWtpLWNhcmQudjEyLnRha2FrYW1vLXNoaXp1bm86OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50YWtha2Ftby1zaGl6dW5vOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRha2VpLWhpc2EsIGRpdi5zYWtpLWNhcmQudjEyLnRha2VpLWhpc2E6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50YWtlaS1oaXNhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRha2ltaS1oYXJ1LCBkaXYuc2FraS1jYXJkLnYxMi50YWtpbWktaGFydTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnRha2ltaS1oYXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRveW91a28tbW9tb2tvLCBkaXYuc2FraS1jYXJkLnYxMi50b3lvdWtvLW1vbW9rbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnRveW91a28tbW9tb2tvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRzdWppZ2FpdG8tc2F0b2hhLCBkaXYuc2FraS1jYXJkLnYxMi50c3VqaWdhaXRvLXNhdG9oYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnRzdWppZ2FpdG8tc2F0b2hhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRzdXJ1dGEtaGltZWtvLCBkaXYuc2FraS1jYXJkLnYxMi50c3VydXRhLWhpbWVrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnRzdXJ1dGEtaGltZWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnVzdXphd2Etc2FlLCBkaXYuc2FraS1jYXJkLnYxMi51c3V6YXdhLXNhZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnVzdXphd2Etc2FlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnVzdXp1bWktaGF0c3VtaSwgZGl2LnNha2ktY2FyZC52MTIudXN1enVtaS1oYXRzdW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIudXN1enVtaS1oYXRzdW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnl1bWVuby1tYWhvLCBkaXYuc2FraS1jYXJkLnYxMi55dW1lbm8tbWFobzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnl1bWVuby1tYWhvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmFpc2xpbm4td2lzaGFydCwgZGl2LnNha2ktY2FyZC52MTMuYWlzbGlubi13aXNoYXJ0OjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuYWlzbGlubi13aXNoYXJ0OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmFtYWUta29yb21vLCBkaXYuc2FraS1jYXJkLnYxMy5hbWFlLWtvcm9tbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmFtYWUta29yb21vOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmFuZXRhaS10b3lvbmUsIGRpdi5zYWtpLWNhcmQudjEzLmFuZXRhaS10b3lvbmU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5hbmV0YWktdG95b25lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmFyYWthd2Eta2VpLCBkaXYuc2FraS1jYXJkLnYxMy5hcmFrYXdhLWtlaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmFyYWthd2Eta2VpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmF0YWdvLWhpcm9lLCBkaXYuc2FraS1jYXJkLnYxMy5hdGFnby1oaXJvZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmF0YWdvLWhpcm9lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmF0YWdvLWtpbnVlLCBkaXYuc2FraS1jYXJkLnYxMy5hdGFnby1raW51ZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmF0YWdvLWtpbnVlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmF0YXJhc2hpLWFrbywgZGl2LnNha2ktY2FyZC52MTMuYXRhcmFzaGktYWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuYXRhcmFzaGktYWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmNob2UtbXllb25naHdhLCBkaXYuc2FraS1jYXJkLnYxMy5jaG9lLW15ZW9uZ2h3YTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmNob2UtbXllb25naHdhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmV6YWtpLWhpdG9taSwgZGl2LnNha2ktY2FyZC52MTMuZXpha2ktaGl0b21pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuZXpha2ktaGl0b21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmZ1a3VqaS1taWhva28sIGRpdi5zYWtpLWNhcmQudjEzLmZ1a3VqaS1taWhva286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5mdWt1amktbWlob2tvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmZ1bmFrdWJvLWhpcm9rbywgZGl2LnNha2ktY2FyZC52MTMuZnVuYWt1Ym8taGlyb2tvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuZnVuYWt1Ym8taGlyb2tvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmhhbmFkYS1raXJhbWUsIGRpdi5zYWtpLWNhcmQudjEzLmhhbmFkYS1raXJhbWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5oYW5hZGEta2lyYW1lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmhhby1odWl5dSwgZGl2LnNha2ktY2FyZC52MTMuaGFvLWh1aXl1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaGFvLWh1aXl1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmhhcmFtdXJhLW5vZG9rYSwgZGl2LnNha2ktY2FyZC52MTMuaGFyYW11cmEtbm9kb2thOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaGFyYW11cmEtbm9kb2thOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmhpcm9zZS1zdW1pcmUsIGRpdi5zYWtpLWNhcmQudjEzLmhpcm9zZS1zdW1pcmU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5oaXJvc2Utc3VtaXJlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmlrZWRhLWthbmEsIGRpdi5zYWtpLWNhcmQudjEzLmlrZWRhLWthbmE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5pa2VkYS1rYW5hOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmlub3VlLWp1biwgZGl2LnNha2ktY2FyZC52MTMuaW5vdWUtanVuOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaW5vdWUtanVuOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLml3YWRhdGUteXVhbiwgZGl2LnNha2ktY2FyZC52MTMuaXdhZGF0ZS15dWFuOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaXdhZGF0ZS15dWFuOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLml3YXRvLWthc3VtaSwgZGl2LnNha2ktY2FyZC52MTMuaXdhdG8ta2FzdW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaXdhdG8ta2FzdW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmppbmRhaS1rb21ha2ksIGRpdi5zYWtpLWNhcmQudjEzLmppbmRhaS1rb21ha2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5qaW5kYWkta29tYWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmthamlraS15dW1pLCBkaXYuc2FraS1jYXJkLnYxMy5rYWppa2kteXVtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmthamlraS15dW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmthaW5vdS15b3NoaWtvLCBkaXYuc2FraS1jYXJkLnYxMy5rYWlub3UteW9zaGlrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmthaW5vdS15b3NoaWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmtha3VyYS1rdXJ1bWksIGRpdi5zYWtpLWNhcmQudjEzLmtha3VyYS1rdXJ1bWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYWt1cmEta3VydW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmthbmJhcmEtc2F0b21pLCBkaXYuc2FraS1jYXJkLnYxMy5rYW5iYXJhLXNhdG9taTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmthbmJhcmEtc2F0b21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmthcmlqdWt1LXRvbW9lLCBkaXYuc2FraS1jYXJkLnYxMy5rYXJpanVrdS10b21vZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmthcmlqdWt1LXRvbW9lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmthdGFva2EteXV1a2ksIGRpdi5zYWtpLWNhcmQudjEzLmthdGFva2EteXV1a2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYXRhb2thLXl1dWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmtvc2VnYXdhLXNoaXJvbWksIGRpdi5zYWtpLWNhcmQudjEzLmtvc2VnYXdhLXNoaXJvbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rb3NlZ2F3YS1zaGlyb21pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLmt1bmloaXJvLWhhamltZSwgZGl2LnNha2ktY2FyZC52MTMua3VuaWhpcm8taGFqaW1lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMua3VuaWhpcm8taGFqaW1lOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1hc2UteXV1a28sIGRpdi5zYWtpLWNhcmQudjEzLm1hc2UteXV1a286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5tYXNlLXl1dWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1hdGFuby1zZWlrbywgZGl2LnNha2ktY2FyZC52MTMubWF0YW5vLXNlaWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubWF0YW5vLXNlaWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1hdHN1bWkta3VybywgZGl2LnNha2ktY2FyZC52MTMubWF0c3VtaS1rdXJvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubWF0c3VtaS1rdXJvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1hdHN1bWkteXV1LCBkaXYuc2FraS1jYXJkLnYxMy5tYXRzdW1pLXl1dTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1hdHN1bWkteXV1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1heWEteXVraWtvLCBkaXYuc2FraS1jYXJkLnYxMy5tYXlhLXl1a2lrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1heWEteXVraWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1lZ2FuLWRhdmluLCBkaXYuc2FraS1jYXJkLnYxMy5tZWdhbi1kYXZpbjo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1lZ2FuLWRhdmluOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1peWFuYWdhLXNha2ksIGRpdi5zYWtpLWNhcmQudjEzLm1peWFuYWdhLXNha2k6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5taXlhbmFnYS1zYWtpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1peWFuYWdhLXRlcnUsIGRpdi5zYWtpLWNhcmQudjEzLm1peWFuYWdhLXRlcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5taXlhbmFnYS10ZXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm1vdG91Y2hpLW5hcnVrYSwgZGl2LnNha2ktY2FyZC52MTMubW90b3VjaGktbmFydWthOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubW90b3VjaGktbmFydWthOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm5hbnBvLWthenVlLCBkaXYuc2FraS1jYXJkLnYxMy5uYW5wby1rYXp1ZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm5hbnBvLWthenVlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm5lbGx5LXZpcnNhbGFkemUsIGRpdi5zYWtpLWNhcmQudjEzLm5lbGx5LXZpcnNhbGFkemU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5uZWxseS12aXJzYWxhZHplOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm9uam91amktdG9raSwgZGl2LnNha2ktY2FyZC52MTMub25qb3VqaS10b2tpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMub25qb3VqaS10b2tpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLm9vaG9zaGktYXdhaSwgZGl2LnNha2ktY2FyZC52MTMub29ob3NoaS1hd2FpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMub29ob3NoaS1hd2FpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnJ5dXVtb25idWNoaS10b3VrYSwgZGl2LnNha2ktY2FyZC52MTMucnl1dW1vbmJ1Y2hpLXRvdWthOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMucnl1dW1vbmJ1Y2hpLXRvdWthOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNhZ2ltb3JpLWFyYXRhLCBkaXYuc2FraS1jYXJkLnYxMy5zYWdpbW9yaS1hcmF0YTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNhZ2ltb3JpLWFyYXRhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNhd2FtdXJhLXRvbW9raSwgZGl2LnNha2ktY2FyZC52MTMuc2F3YW11cmEtdG9tb2tpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuc2F3YW11cmEtdG9tb2tpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNlbm9vLWthb3JpLCBkaXYuc2FraS1jYXJkLnYxMy5zZW5vby1rYW9yaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNlbm9vLWthb3JpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNoaWJ1eWEtdGFrYW1pLCBkaXYuc2FraS1jYXJkLnYxMy5zaGlidXlhLXRha2FtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNoaWJ1eWEtdGFrYW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNoaW1penVkYW5pLXJ5dXVrYSwgZGl2LnNha2ktY2FyZC52MTMuc2hpbWl6dWRhbmktcnl1dWthOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuc2hpbWl6dWRhbmktcnl1dWthOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNoaXJvdXp1LW1haXJ1LCBkaXYuc2FraS1jYXJkLnYxMy5zaGlyb3V6dS1tYWlydTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNoaXJvdXp1LW1haXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNoaXNoaWhhcmEtc2F3YXlhLCBkaXYuc2FraS1jYXJkLnYxMy5zaGlzaGloYXJhLXNhd2F5YTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNoaXNoaWhhcmEtc2F3YXlhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNvbWV5YS1tYWtvLCBkaXYuc2FraS1jYXJkLnYxMy5zb21leWEtbWFrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNvbWV5YS1tYWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnN1ZWhhcmEta3lvdWtvLCBkaXYuc2FraS1jYXJkLnYxMy5zdWVoYXJhLWt5b3Vrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnN1ZWhhcmEta3lvdWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRha2FrYW1vLXNoaXp1bm8sIGRpdi5zYWtpLWNhcmQudjEzLnRha2FrYW1vLXNoaXp1bm86OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50YWtha2Ftby1zaGl6dW5vOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRha2VpLWhpc2EsIGRpdi5zYWtpLWNhcmQudjEzLnRha2VpLWhpc2E6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50YWtlaS1oaXNhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRha2ltaS1oYXJ1LCBkaXYuc2FraS1jYXJkLnYxMy50YWtpbWktaGFydTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnRha2ltaS1oYXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRveW91a28tbW9tb2tvLCBkaXYuc2FraS1jYXJkLnYxMy50b3lvdWtvLW1vbW9rbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnRveW91a28tbW9tb2tvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRzdWppZ2FpdG8tc2F0b2hhLCBkaXYuc2FraS1jYXJkLnYxMy50c3VqaWdhaXRvLXNhdG9oYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnRzdWppZ2FpdG8tc2F0b2hhOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRzdXJ1dGEtaGltZWtvLCBkaXYuc2FraS1jYXJkLnYxMy50c3VydXRhLWhpbWVrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnRzdXJ1dGEtaGltZWtvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnVlc2hpZ2Utc3V6dSwgZGl2LnNha2ktY2FyZC52MTMudWVzaGlnZS1zdXp1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTMudWVzaGlnZS1zdXp1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnVzdXphd2Etc2FlLCBkaXYuc2FraS1jYXJkLnYxMy51c3V6YXdhLXNhZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnVzdXphd2Etc2FlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnVzdXp1bWktaGF0c3VtaSwgZGl2LnNha2ktY2FyZC52MTMudXN1enVtaS1oYXRzdW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMudXN1enVtaS1oYXRzdW1pOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnlhZS1rb2Jhc2hpcmksIGRpdi5zYWtpLWNhcmQudjEzLnlhZS1rb2Jhc2hpcmk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy55YWUta29iYXNoaXJpOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnlvc2hpdG9tZS1taWhhcnUsIGRpdi5zYWtpLWNhcmQudjEzLnlvc2hpdG9tZS1taWhhcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy55b3NoaXRvbWUtbWloYXJ1OjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnl1bWVuby1tYWhvLCBkaXYuc2FraS1jYXJkLnYxMy55dW1lbm8tbWFobzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnl1bWVuby1tYWhvOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmxhYmVsLm1vZC52MTM6OmJlZm9yZSB7IGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygtOCAqIHZhcigtLWNhcmQtd2lkdGgpKTsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC02ICogdmFyKC0tY2FyZC1oZWlnaHQpKTsgfVxuZGl2LnNoaW1vY2hhIGRpdi5zYWtpLWNhcmQ6OmJlZm9yZSwgZGl2LnNoaW1vY2hhIGRpdi5zYWtpLWNhcmQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDMgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYudG9pbWVuIGRpdi5zYWtpLWNhcmQ6OmJlZm9yZSwgZGl2LnRvaW1lbiBkaXYuc2FraS1jYXJkOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZylcbiAgICAgICAgICAgICB0cmFuc2xhdGVZKGNhbGMoNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQ6OmJlZm9yZSwgZGl2LmthbWljaGEgZGl2LnNha2ktY2FyZDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5zYWtpLWNhcmQuZGlzYWJsZWQsIGRpdi5zYWtpLWNhcmQuZGlzYWJsZWQ6OmJlZm9yZSB7IGZpbHRlcjogc2F0dXJhdGUoMCUpOyB9XG4vKiBkb3VibGUgY2FyZCB2aWV3IGZvciBtYWlydS9oaW1la28gKi9cbmRpdi5zYWtpLWNhcmQuc2hpcm91enUtbWFpcnU6OmFmdGVyLFxuZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKC0zNTAlICsgMC41ICogdmFyKC0tY2FyZC13aWR0aCkpO1xuICB6LWluZGV4OiAxMDtcbn1cbmRpdi5zYWtpLWNhcmQudjEyLnNoaXJvdXp1LW1haXJ1OmhvdmVyOjphZnRlciwgbGFiZWwubW9kLnYxMi5zaGlyb3V6dS1tYWlydTo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEyLnRzdXJ1dGEtaGltZWtvOmhvdmVyOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygtNyAqIHZhcigtLWNhcmQtd2lkdGgpKTsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC00ICogdmFyKC0tY2FyZC1oZWlnaHQpKTsgfVxuZGl2LnNha2ktY2FyZC52MTMuc2hpcm91enUtbWFpcnU6aG92ZXI6OmFmdGVyLCBsYWJlbC5tb2QudjEzLnNoaXJvdXp1LW1haXJ1OjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygtMiAqIHZhcigtLWNhcmQtd2lkdGgpKTsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC02ICogdmFyKC0tY2FyZC1oZWlnaHQpKTsgfVxuZGl2LnNha2ktY2FyZC52MTMudHN1cnV0YS1oaW1la286aG92ZXI6OmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjpiZWZvcmUsXG5kaXYuc2FraS1jYXJkLnRzdXJ1dGEtaGltZWtvOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMC41ICogdmFyKC0tY2FyZC13aWR0aCkpKTtcbn1cbmRpdi5zaGltb2NoYSBkaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjpiZWZvcmUsXG5kaXYuc2hpbW9jaGEgZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWChjYWxjKC0wLjUgKiB2YXIoLS1jYXJkLXdpZHRoKSkpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDMgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYudG9pbWVuIGRpdi5zYWtpLWNhcmQuc2hpcm91enUtbWFpcnU6OmJlZm9yZSxcbmRpdi50b2ltZW4gZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygtMC41ICogdmFyKC0tY2FyZC13aWR0aCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYyg1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmthbWljaGEgZGl2LnNha2ktY2FyZC5zaGlyb3V6dS1tYWlydTo6YmVmb3JlLFxuZGl2LmthbWljaGEgZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygtMC41ICogdmFyKC0tY2FyZC13aWR0aCkpKTtcbn1cbmRpdi5zaGltb2NoYSBkaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjphZnRlcixcbmRpdi5zaGltb2NoYSBkaXYuc2FraS1jYXJkLnRzdXJ1dGEtaGltZWtvOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygwLjUgKiB2YXIoLS1jYXJkLXdpZHRoKSkpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDAuNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSkpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi50b2ltZW4gZGl2LnNha2ktY2FyZC5zaGlyb3V6dS1tYWlydTo6YWZ0ZXIsXG5kaXYudG9pbWVuIGRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygxICogdmFyKC0tY2FyZC13aWR0aCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygwLjUgKiB2YXIoLS1jYXJkLWhlaWdodCkpKTtcbn1cbmRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQuc2hpcm91enUtbWFpcnU6OmFmdGVyLFxuZGl2LmthbWljaGEgZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWChjYWxjKDAuNSAqIHZhcigtLWNhcmQtd2lkdGgpKSlcbiAgICAgICAgICAgICB0cmFuc2xhdGVZKGNhbGMoLTAuNSAqIHZhcigtLWNhcmQtaGVpZ2h0KSkpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIGluZGV4L3RpdGxlIHNjcmVlbiBhbmQgbG9nIG1lbnUgc2NyZWVuICovXG5kaXYudGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmRpdi50aXRsZSA+IGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuZGl2LnRpdGxlID4gZGl2LnRpdGxlLXJpaWNoaSB7XG4gIGZvbnQtc2l6ZTogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiBibGFjaztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7ICBcbiAgdG9wOiAwO1xuICB3aWR0aDogY2FsYygxMCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi50aXRsZSA+IGRpdi50aXRsZS1hZHZhbmNlZCB7XG4gIGZvbnQtc2l6ZTogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiBibGFjaztcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgIFxuICBsZWZ0OiBjYWxjKDQuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnRpdGxlID4gZGl2LnRpbGUge1xuICAtLXRpbGUtc2NhbGUtZmFjdG9yOiAzO1xuICB0b3A6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudGl0bGUgPiBkaXYudGlsZS5cXDM4IG0ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gIGxlZnQ6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudGl0bGUgPiBkaXYudGlsZS5cXDM3IHoge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICByaWdodDogY2FsYygwLjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi50aXRsZSA+IGRpdi50aXRsZS1yaWljaGk6OmJlZm9yZSxcbmRpdi50aXRsZSA+IGRpdi50aXRsZS1hZHZhbmNlZDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTUwJTtcbiAgaGVpZ2h0OiAxNDAlO1xuICBsZWZ0OiAtMjUlO1xuICBib3R0b206IC03LjUlO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi50aXRsZSA+IGRpdi50aXRsZS1yaWljaGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JydXNoLWJnLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi50aXRsZSA+IGRpdi50aXRsZS1hZHZhbmNlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYnJ1c2gtYmcyLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdiNjb250YWluZXIgPiBkaXYuaW5kZXgtdmVyc2lvbixcbmRpdiNjb250YWluZXIgPiBkaXYuaW5kZXgtdmVyc2lvbiBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5kaXYjY29udGFpbmVyID4gZGl2LmluZGV4LWJvdHRvbS1idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuZGl2I2NvbnRhaW5lciA+IGRpdi5pbmRleC1ib3R0b20tYnV0dG9ucyA+IGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdiNjb250YWluZXIgPiBmb3JtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNy41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYyg1MCUgLSAxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiAjNjA5MDYwO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHNwYWNlLWFyb3VuZDtcbn1cbmRpdiNjb250YWluZXIgPiBmb3JtLnJ1bGVzZXQtc2VsZWN0aW9uLWZvcm0gaW5wdXQsIGRpdiNjb250YWluZXIgPiBmb3JtLnJ1bGVzZXQtc2VsZWN0aW9uLWZvcm0gYnV0dG9uIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdiNjb250YWluZXIgPiBmb3JtLnJ1bGVzZXQtc2VsZWN0aW9uLWZvcm0gPiBkaXYuZm9ybS1lcnJvciB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ucnVsZXNldC1zZWxlY3Rpb24tZm9ybSA+IGlucHV0Lm5pY2tuYW1lLWlucHV0IHtcbiAgbWFyZ2luOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmRpdiNjb250YWluZXIgPiBmb3JtLnJ1bGVzZXQtc2VsZWN0aW9uLWZvcm0gPiBkaXYucnVsZXNldC1zZWxlY3Rpb24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNTUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1iZy1jb2xvcikgdHJhbnNwYXJlbnQ7XG4gIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbn1cbmRpdiNjb250YWluZXIgPiBmb3JtLnJ1bGVzZXQtc2VsZWN0aW9uLWZvcm0gPiBkaXYucnVsZXNldC1zZWxlY3Rpb24gPiBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjU1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC4xNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ucnVsZXNldC1zZWxlY3Rpb24tZm9ybSA+IGRpdi5ydWxlc2V0LXNlbGVjdGlvbiA+IGxhYmVsID4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IGNhbGMoMC41NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ucnVsZXNldC1zZWxlY3Rpb24tZm9ybSA+IGRpdi5ydWxlc2V0LXNlbGVjdGlvbiA+IGlucHV0W2Rpc2FibGVkXSArIGxhYmVsIHtcbiAgb3BhY2l0eTogMC40O1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ucnVsZXNldC1zZWxlY3Rpb24tZm9ybSA+IGRpdi5ydWxlc2V0LXNlbGVjdGlvbiA+IGlucHV0W2Rpc2FibGVkXSArIGxhYmVsIHtcbiAgb3BhY2l0eTogMC40O1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ubG9nLXNlbGVjdGlvbi1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYjY29udGFpbmVyID4gZm9ybS5sb2ctc2VsZWN0aW9uLWZvcm0gPiBpbnB1dCxcbmRpdiNjb250YWluZXIgPiBmb3JtLmxvZy1zZWxlY3Rpb24tZm9ybSA+IGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuZGl2I2NvbnRhaW5lciA+IGZvcm0ubG9nLXNlbGVjdGlvbi1mb3JtID4gaW5wdXQge1xuICBmb250LXNpemU6IDE1MCU7XG59XG4vKiBhYm91dCBwYWdlICovXG5kaXYjY29udGFpbmVyID4gZm9ybS5hYm91dC1wYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjI1IHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNy41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYyg1MCUgLSAxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6ICM2MDkwNjA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3BhY2UtYXJvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5kaXYjY29udGFpbmVyID4gZm9ybS5hYm91dC1wYWdlID4gdWwuYmV0YS10ZXN0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwLjVlbTtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5kaXYjY29udGFpbmVyID4gZm9ybS5hYm91dC1wYWdlID4gdWwuYmV0YS10ZXN0ZXJzID4gbGkgeyBwYWRkaW5nOiAwLjFlbSAwLjI1ZW07IH1cbmRpdiNjb250YWluZXIgPiBmb3JtLmFib3V0LXBhZ2UgPiB1bC5iZXRhLXRlc3RlcnMgPiBsaTpudGgtY2hpbGQoMm4pIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1ZW0pOyB9XG4vKiBlbnRlciBidXR0b25zIGZvciBpbmRleCBhbmQgbG9iYnkgKi9cbmRpdiNjb250YWluZXIgZGl2LmVudGVyLWJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYjY29udGFpbmVyIGRpdi5lbnRlci1idXR0b25zID4gYnV0dG9uIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi8qIHJvb20gY29kZSBtb2RhbCAqL1xuZGl2LnJvb20tY29kZS1tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6ICMzZjNmM2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdG9wOiBjYWxjKDYuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMTQuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiA1O1xufVxuZGl2LnJvb20tY29kZS1tb2RhbCA+IGRpdi5yb29tLWNvZGUtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbjogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5yb29tLWNvZGUtbW9kYWwgPiBkaXYucm9vbS1jb2RlLWRpc3BsYXkgPiBkaXYudGlsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmRpdi5yb29tLWNvZGUtbW9kYWwgPiBkaXYucm9vbS1jb2RlLWJ1dHRvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5kaXYucm9vbS1jb2RlLW1vZGFsID4gZGl2LnJvb20tY29kZS1idXR0b25zID4gYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cblxuLyogbG9iYnkgc2NyZWVuICovXG5kaXYubG9iYnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5kaXYubG9iYnkgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoLTEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5kaXYubG9iYnkgPiBkaXYucm9vbXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiAjNjA5MDYwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG4vKiBhbGxvdyBzY3JvbGwgYnV0IGhpZGUgc2Nyb2xsYmFyICovXG5kaXYubG9iYnkgPiBkaXYucm9vbXMge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xufVxuZGl2LmxvYmJ5ID4gZGl2LnJvb21zOjotd2Via2l0LXNjcm9sbGJhciB7IFxuICBkaXNwbGF5OiBub25lOyAvKiBTYWZhcmkvQ2hyb21lICovXG59XG5cbmRpdi5sb2JieSA+IGRpdi5yb29tcyA+IGRpdi5sb2JieS1yb29tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpXG59XG5kaXYubG9iYnkgPiBkaXYucm9vbXMgPiBkaXYubG9iYnktcm9vbSA+IGJ1dHRvbi5qb2luLXJvb20ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250LXNpZGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmxvYmJ5ID4gZGl2LnJvb21zID4gZGl2LmxvYmJ5LXJvb20gPiBkaXYucm9vbS1tb2RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAwIGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5sb2JieSA+IGRpdi5yb29tcyA+IGRpdi5sb2JieS1yb29tID4gZGl2LnJvb20tcGxheWVycyB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYubG9iYnkgPiBkaXYucm9vbXMgPiBkaXYubG9iYnktcm9vbSA+IGRpdi5yb29tLXBsYXllcnMgPiBkaXYucm9vbS1wbGF5ZXItY291bnQge1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmxvYmJ5ID4gZGl2LnJvb21zID4gZGl2LmxvYmJ5LXJvb20gPiBkaXYucm9vbS1wbGF5ZXJzID4gZGl2LnJvb20tc3RhcnRlZCB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuXG4vKiByb29tIHNjcmVlbiAqL1xuZGl2LnJvb20ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5kaXYucm9vbSA+IGhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucm9vbSA+IGhlYWRlciA+IGRpdi5yb29tLWhlYWRlci10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGl2LnJvb20gPiBoZWFkZXIgPiBkaXYucm9vbS1oZWFkZXItYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sdW1uLWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAmID4gZGl2LnNlc3Npb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBjYWxjKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB3aGl0ZTtcbiAgICBwYWRkaW5nOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmID4gZGl2LnJvb20tY29kZS10ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICBpbnNldDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKSAwIDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJiA+IGRpdi50aWxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICAgIH1cbiAgfVxuICAmID4gbGFiZWwucHJpdmF0ZS10b2dnbGUtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYygwLjg3NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHdpZHRoOiA4ZXg7XG4gIH1cbiAgJiBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIH1cbiAgJiA+IGRpdi5yb29tLWhlYWRlci1yaWdodCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgJiA+IGEge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICAmID4gbGFiZWwucm9vbS1zZXR0aW5ncy10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cbmRpdi5yb29tIGRpdi50aXBzLWNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuZGl2LnJvb20gZGl2LnJvb20tc2V0dGluZ3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjA5MDYwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogMTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5kaXYucm9vbSA+IGRpdi5yb29tLXNldHRpbmdzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRpdi5yb29tID4gaW5wdXQjcm9vbS1zZXR0aW5ncy10b2dnbGU6Y2hlY2tlZCArIGRpdi5yb29tLXNldHRpbmdzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0Ljc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogY2FsYygzLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tYmctY29sb3IpIHRyYW5zcGFyZW50O1xuICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG59XG5kaXYucm9vbSA+IGRpdi5zZWF0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDMuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHJvdy1nYXA6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5yb29tID4gZGl2LnNlYXRzID4gZGl2LnBsYXllci1zbG90IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgY29sdW1uLWdhcDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5yb29tID4gZGl2LnJvb20tc2V0dGluZ3MgYnV0dG9uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYucm9vbSA+IGRpdi5yb29tLXNldHRpbmdzIGJ1dHRvbjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYucm9vbSA+IGRpdi5zZWF0cyA+IGRpdi5wbGF5ZXItc2xvdCA+IGRpdi5wbGF5ZXItc2xvdC1sYWJlbCxcbmRpdi5yb29tID4gZGl2LnNlYXRzID4gZGl2LnBsYXllci1zbG90ID4gZGl2LnBsYXllci1zbG90LW5hbWUge1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5kaXYucm9vbSA+IGRpdi5zZWF0cyA+IGRpdi5wbGF5ZXItc2xvdCA+IGRpdi5wbGF5ZXItc2xvdC1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAzRjtcbiAgd2lkdGg6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuZGl2LnJvb20gPiBkaXYuc2VhdHMgPiBkaXYucGxheWVyLXNsb3QgPiBkaXYucGxheWVyLXNsb3QtbmFtZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAzRjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuZGl2LnJvb20gPiBkaXYuc2VhdHMgPiBkaXYucGxheWVyLXNsb3QgPiBkaXYucGxheWVyLXNsb3QtbmFtZS5lbXB0eSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbmRpdi5yb29tID4gZGl2LnNlYXRzID4gZGl2LnBsYXllci1zbG90ID4gYnV0dG9uLFxuZGl2LnJvb20gPiBkaXYuc2VhdHMgPiBsYWJlbC5zaHVmZmxlLXNlYXRzLFxuZGl2LnJvb20gPiBkaXYuc2VhdHMgPiBidXR0b24uc3RhcnQtZ2FtZS1idXR0b24ge1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJvb20gPiBkaXYuc2VhdHMgPiBkaXYucGxheWVyLXNsb3QgPiBidXR0b24ge1xuICB3aWR0aDogY2FsYygxLjIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJvb20gZGl2LnByZXNldHMsXG5kaXYubW9kcyxcbmRpdi5yb29tIGRpdi5jb25maWcsXG5kaXYucm9vbSBkaXYuY3VzdG9tLWpzb24ge1xuICB0b3A6IGNhbGMoMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJvb20gbGFiZWwucm9vbS10YWItdGl0bGUge1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5kaXYucm9vbSBkaXYucHJlc2V0cyB7XG4gIG1hcmdpbi10b3A6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICByb3ctZ2FwOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5kaXYubW9kcyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5tb2RzLm1vZHMtc2FraSA+IGRpdi5tb2RzLWlubmVyLWNvbnRhaW5lciB7XG4gIC8qIHNha2kgbmVlZHMgcm9vbSBmb3IgaG92ZXJhYmxlIGNhcmRzICovXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMDAlO1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgPiBkaXYubW9kLWNhdGVnb3J5LFxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgPiBkaXYubW9kLWNhdGVnb3J5LXNwYWNlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbn1cbmRpdi5tb2RzID4gZGl2Lm1vZHMtaW5uZXItY29udGFpbmVyIGJ1dHRvbi5tb2QtbWVudS1idXR0b24ge1xuICBmb250LXNpemU6IDc1JTtcbn1cbmRpdi5tb2RzID4gZGl2Lm1vZHMtaW5uZXItY29udGFpbmVyIGRpdi5tb2RzLWJvdHRvbS1idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmRpdi5yb29tIGRpdi5jb25maWcgPiB0ZXh0YXJlYSxcbmRpdi5yb29tIGRpdi5jdXN0b20tanNvbiA+IHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5yb29tIGRpdi5jdXN0b20tanNvbiA+IHRleHRhcmVhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuLyogdGFiIHN5c3RlbSBmb3IgbW9kcy9jb25maWcgKi9cbmRpdi5yb29tLXNldHRpbmdzID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRpdi5yb29tLXNldHRpbmdzID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICBtYXJnaW46IGF1dG87XG59XG5kaXYucm9vbS1zZXR0aW5ncyA+IGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbmRpdi5yb29tLXNldHRpbmdzID4gaW5wdXQjcHJlc2V0cy10YWI6bm90KDpjaGVja2VkKSB+IGRpdi5wcmVzZXRzLFxuZGl2LnJvb20tc2V0dGluZ3MgPiBpbnB1dCNtb2RzLXRhYjpub3QoOmNoZWNrZWQpIH4gZGl2Lm1vZHMsXG5kaXYucm9vbS1zZXR0aW5ncyA+IGlucHV0I2NvbmZpZy10YWI6bm90KDpjaGVja2VkKSB+IGRpdi5jb25maWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGl2LmNvbmZpZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG4vKiBpbmRpdmlkdWFsIG1vZCBjb25maWcgKi9cbmxhYmVsLm1vZCB7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgc3Bhbi5tb2QtY29uZmlnLW5hbWUge1xuICBmb250LXNpemU6IDY3JTtcbiAgbWFyZ2luOiAwIGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG4vKiBkcm9wZG93biAqL1xuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgZm9ybS5tb2QtY29uZmlnLWRyb3Bkb3duIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgZm9ybS5tb2QtY29uZmlnLWRyb3Bkb3duID4gc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBmb250LXNpemU6IDY3JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIHNsaWRlciAtLSBkbyBub3QgdXNlLCBzaW5jZSBzYWZhcmkgZG9lcyBub3QgZGlzcGxheSBkYXRhbGlzdCB2YWx1ZXMgKi9cbmRpdi5tb2RzID4gZGl2Lm1vZHMtaW5uZXItY29udGFpbmVyIGZvcm0ubW9kLWNvbmZpZy1zbGlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtLXRodW1iLXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYubW9kcyA+IGRpdi5tb2RzLWlubmVyLWNvbnRhaW5lciBmb3JtLm1vZC1jb25maWctc2xpZGVyID4gaW5wdXQge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiBjYWxjKDMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiAwLjVlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMCBjYWxjKDAuNSAqIHZhcigtLXRodW1iLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUgKiB2YXIoLS10aHVtYi1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtZnJvbnQpO1xuICB6LWluZGV4OiAxO1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgZm9ybS5tb2QtY29uZmlnLXNsaWRlciA+IGlucHV0Ojotd2Via2l0LXNsaWRlci10aHVtYixcbmRpdi5tb2RzID4gZGl2Lm1vZHMtaW5uZXItY29udGFpbmVyIGZvcm0ubW9kLWNvbmZpZy1zbGlkZXIgPiBpbnB1dDo6LW1vei1yYW5nZS10aHVtYiB7XG4gIHdpZHRoOiB2YXIoLS10aHVtYi1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS10aHVtYi1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItd2lkdGg6IGNhbGMoMC4wNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5kaXYubW9kcyA+IGRpdi5tb2RzLWlubmVyLWNvbnRhaW5lciBmb3JtLm1vZC1jb25maWctc2xpZGVyID4gaW5wdXQ6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgZm9ybS5tb2QtY29uZmlnLXNsaWRlciA+IGlucHV0OjotbW96LXJhbmdlLXRyYWNrIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tdGh1bWItc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC41ICogdmFyKC0tdGh1bWItc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuNSAqIHZhcigtLXRodW1iLXNpemUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYubW9kcyA+IGRpdi5tb2RzLWlubmVyLWNvbnRhaW5lciBmb3JtLm1vZC1jb25maWctc2xpZGVyID4gZGF0YWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3cml0aW5nLW1vZGU6IGhvcml6b250YWwtdGI7XG4gIGZvbnQtc2l6ZTogNTAlO1xuICBoZWlnaHQ6IDAuNWVtO1xufVxuZGl2Lm1vZHMgPiBkaXYubW9kcy1pbm5lci1jb250YWluZXIgZm9ybS5tb2QtY29uZmlnLXNsaWRlciA+IGRhdGFsaXN0ID4gb3B0aW9uIHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5cbi8qIGV4cGFuZCBidXR0b24gZm9yIHJ1bGVzZXRzLCBtb2RzLCBhbmQgY3VzdG9tIHJ1bGVzZXQgZW50cnkgKi9cbmRpdiNjb250YWluZXIgPiBpbnB1dC5leHBhbmQtY2hlY2tib3ggKyBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdG9wIDAuNXMsIHJpZ2h0IDAuNXM7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94LmZvci1ydWxlc2V0cyArIGxhYmVsIHtcbiAgcmlnaHQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYyg2ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94LmZvci1ydWxlc2V0czpjaGVja2VkICsgbGFiZWwge1xuICB0b3A6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94ICsgbGFiZWw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiK1wiOyB9XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHsgY29udGVudDogXCJcdTIwMTNcIjsgfVxuZGl2I2NvbnRhaW5lciA+IGZvcm0sXG5kaXYjY29udGFpbmVyID4gZGl2Lm1vZHMsXG5kaXYjY29udGFpbmVyID4gZGl2LmN1c3RvbS1qc29uIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXMsIHRvcCAwLjVzLCBsZWZ0IDAuNXM7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94OmNoZWNrZWQgfiBmb3JtIHtcbiAgaGVpZ2h0OiBjYWxjKDEzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYyg1MCUgLSA3ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQuZXhwYW5kLWNoZWNrYm94OmNoZWNrZWQgfiBkaXYubW9kcyxcbmRpdiNjb250YWluZXIgPiBpbnB1dC5leHBhbmQtY2hlY2tib3g6Y2hlY2tlZCB+IGRpdi5jdXN0b20tanNvbiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuLyogdG9wIHJpZ2h0IChtZW51IGJ1dHRvbnMsIHJpaWNoaSBzdGljayBkaXNwbGF5fSAqL1xuZGl2LnRvcC1yaWdodC1jb250YWluZXIge1xuICBoZWlnaHQ6IHZhcigtLXRpbGUtc2l6ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKC0xLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sdW1uLWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0xOyAvKiBiZWhpbmQgcmV2ZWFsZWQgdGlsZXMgKi9cbn1cbmRpdi5tZW51LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2Lm1lbnUtYnV0dG9ucyA+IGJ1dHRvbi5sYW5ndWFnZS1kcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5kaXYubWVudS1idXR0b25zID4gYnV0dG9uLmxhbmd1YWdlLWRyb3Bkb3duLWNvbnRhaW5lciBmb3JtLmxhbmd1YWdlLWRyb3Bkb3duID4gc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5kaXYubWVudS1idXR0b25zID4gYnV0dG9uLmxhbmd1YWdlLWRyb3Bkb3duLWNvbnRhaW5lciBmb3JtLmxhbmd1YWdlLWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAxMjAlOyAvKiBzbyB5b3UgY2FuIGNsaWNrIHRoZSBkcm9wIHNoYWRvdyBwYXJ0ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRpdi5tZW51LWJ1dHRvbnMgPiBidXR0b24ubGFuZ3VhZ2UtZHJvcGRvd24tY29udGFpbmVyIGZvcm0ubGFuZ3VhZ2UtZHJvcGRvd24gc2VsZWN0I2xhbmd1YWdlLWRyb3Bkb3duIG9wdGlvbiB7XG4gIGNvbG9yOiBibGFjaztcbn1cbmRpdi5tZW51LWJ1dHRvbnMgPiBidXR0b24ubGFuZ3VhZ2UtZHJvcGRvd24tY29udGFpbmVyIGZvcm0ubGFuZ3VhZ2UtZHJvcGRvd24gKyBkaXYge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbn1cbi8qIGxhbmRzY2FwZSAqL1xuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgZGl2LnRvcC1yaWdodC1jb250YWluZXIge1xuICAgIHdpZHRoOiBtaW4oNTAlLCBjYWxjKDQwdncgLSAyMCUgLSAwLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gICAgbGVmdDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbn1cbi8qIHBvcnRyYWl0IChtb2JpbGUpICovXG5AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBkaXYudG9wLXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHJpZ2h0OiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxufVxuLyogbWVudSBidXR0b25zICovXG5kaXYubWVudS1idXR0b25zID4gYnV0dG9uIHtcbiAgaGVpZ2h0OiBjYWxjKDAuOCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG4vKiBjZW50ZXJwaWVjZSBzdGF0dXMgY29tcG9uZW50ICovXG4vKiBsYW5kc2NhcGUgKi9cbkBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGRpdi5jZW50ZXJwaWVjZS1zdGF0dXMtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5kaXYuY2VudGVycGllY2Utc3RhdHVzLWJhciB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogd2hpdGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKSkgc2NhbGUoMik7XG59XG5kaXYuY2VudGVycGllY2Utc3RhdHVzLWJhciA+IGRpdi50aWxlcy1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKC0wLjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiBjYWxjKDAuMDIgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB3aGl0ZTtcbn1cbi8qIHNvbWV0aW1lcyB0aGVzZSBnZXQgZHVwbGljYXRlZCBieSBuZXR3b3JrIGNvbmRpdGlvbnMsIHNvIG9ubHkgc2hvdyB0aGUgbGF0ZXN0IG9uZSAqL1xuZGl2LnRvcC1yaWdodC1jb250YWluZXIgPiBkaXYubWVudS1idXR0b25zOm5vdCg6bnRoLWxhc3QtY2hpbGQoMSkpLFxuZGl2LnRvcC1yaWdodC1jb250YWluZXIgPiBkaXYuY2VudGVycGllY2Utc3RhdHVzLWJhcjpub3QoOm50aC1sYXN0LWNoaWxkKDIpKSxcbmRpdi52aXNpYmxlLXdhaXRzLWNvbnRhaW5lciA+IGRpdi5tZW51LWJ1dHRvbnMsXG5kaXYudmlzaWJsZS13YWl0cy1jb250YWluZXIgPiBkaXYuY2VudGVycGllY2Utc3RhdHVzLWJhcixcbmRpdi5kaXNwbGF5LWFtLWhhbmQtY29udGFpbmVyID4gZGl2Lm1lbnUtYnV0dG9ucyxcbmRpdi5kaXNwbGF5LWFtLWhhbmQtY29udGFpbmVyID4gZGl2LmNlbnRlcnBpZWNlLXN0YXR1cy1iYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBsb2cgY29udHJvbCAqL1xuXG5kaXYubG9nLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWJhY2spO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygyLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDMuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmRpdi5sb2ctY29udHJvbCA+IGJ1dHRvbi5sb2ctY29udHJvbC1idXR0b24ge1xuICBoZWlnaHQ6IGNhbGMoMC44ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLyogdHV0b3JpYWwgb3ZlcmxheSAqL1xuZGl2LnR1dG9yaWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5kaXYudHV0b3JpYWwtb3ZlcmxheS1vYmplY3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICsgMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi50dXRvcmlhbC1vdmVybGF5LW9iamVjdHMuYXdhaXRpbmctY2xpY2sge1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbn1cbmRpdi50dXRvcmlhbC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYyh2YXIoLS13aWR0aCkgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyh2YXIoLS14KSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGModmFyKC0teSkgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLXNpemUpICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKTtcbiAgei1pbmRleDogMTtcbn1cbmRpdi50dXRvcmlhbC10ZXh0ID4gcDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbmRpdi50dXRvcmlhbC10ZXh0ID4gcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuZGl2LnR1dG9yaWFsLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjU7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBtYXNrLWNvbXBvc2l0ZTogaW50ZXJzZWN0O1xufVxuZGl2LnR1dG9yaWFsLWZvY3VzLm1vYmlsZSB7IGRpc3BsYXk6IG5vbmU7IH1cbkBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYudHV0b3JpYWwtb3ZlcmxheSBkaXYudHV0b3JpYWwtZm9jdXMuZGVza3RvcCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi50dXRvcmlhbC1vdmVybGF5IGRpdi50dXRvcmlhbC1mb2N1cy5tb2JpbGUgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuXG4vKiB0dXRvcmlhbCBzZWxlY3QgbWVudSAqL1xuaGVhZGVyLnR1dG9yaWFsLW1lbnUtaGVhZGVyIHtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuaGVhZGVyLnR1dG9yaWFsLW1lbnUtaGVhZGVyID4gaDMge1xuICBmb250LXNpemU6IGNhbGMoMC44ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbjogMDtcbn1cbmRpdi50dXRvcmlhbC1tZW51LWNvbnRhaW5lciwgZGl2LnR1dG9yaWFsLW1lbnUtYnV0dG9ucyB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICBmbGV4LWdyb3c6IDE7XG4gIGJhY2tncm91bmQ6ICM2MDkwNjA7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudHV0b3JpYWwtbWVudS1jb250YWluZXIge1xuICBtYXJnaW46IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSkgMDtcbn1cbmRpdi50dXRvcmlhbC1tZW51LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudHV0b3JpYWwtbWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuZGl2LnR1dG9yaWFsLW1lbnUtYnV0dG9uczo6LXdlYmtpdC1zY3JvbGxiYXIgeyBcbiAgZGlzcGxheTogbm9uZTsgLyogU2FmYXJpL0Nocm9tZSAqL1xufVxuZGl2LnR1dG9yaWFsLW1lbnUtYnV0dG9ucyA+IGJ1dHRvbiB7XG4gIGhlaWdodDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbjogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZm9vdGVyLnR1dG9yaWFsLW1lbnUtZm9vdGVyLFxuZm9vdGVyLnR1dG9yaWFsLW1lbnUtZm9vdGVyID4gYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIHR1dG9yaWFsIGNyZWF0b3IgbWVudSAqL1xuZGl2I2NvbnRhaW5lciA+IGZvcm0udHV0b3JpYWwtbWVudS1jb250YWluZXIge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmZvcm0udHV0b3JpYWwtbWVudS1jb250YWluZXIgPiBoZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGhlaWdodDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZm9ybS50dXRvcmlhbC1tZW51LWNvbnRhaW5lciA+IGhlYWRlciA+IHNlbGVjdC5ydWxlc2V0LWRyb3Bkb3duIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZmxleC1ncm93OiAxO1xufVxuZm9ybS50dXRvcmlhbC1tZW51LWNvbnRhaW5lciA+IGhlYWRlciA+IGxhYmVsIHtcbiAgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmZvcm0udHV0b3JpYWwtbWVudS1jb250YWluZXIgPiB0ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5cblxuXG4vKiBtYWpzdGVzdCAqL1xuXG5kaXYubWFqc3Rlc3QtY29udGFpbmVyID4gbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG5kaXYubWFqc3Rlc3QtY29udGFpbmVyID4gZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSAwO1xufVxuZGl2Lm1hanN0ZXN0LWNvbnRhaW5lciA+IGZvcm0gPiBzZWxlY3Qge1xuICBmb250LXNpemU6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmbGV4LWdyb3c6IDE7XG59XG5kaXYubWFqc3Rlc3QtY29udGFpbmVyID4gZm9ybSA+IHRleHRhcmVhIHtcbiAgaGVpZ2h0OiBjYWxjKDUuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5tYWpzdGVzdC1jb250YWluZXIgPiBmb3JtID4gYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5kaXYubWFqc3Rlc3QtY29udGFpbmVyID4gZGl2Lm1vZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjNjA5MDYwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHotaW5kZXg6IDI7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH0gLyogU2FmYXJpL0Nocm9tZSAqL1xufVxuZGl2Lm1hanN0ZXN0LWNvbnRhaW5lciA+IGlucHV0I3Nob3ctbW9kczpjaGVja2VkIH4gZGl2Lm1vZHMtY29udGFpbmVyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG5cbi8qIHNjb3Jpbmd0ZXN0ICovXG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyID4gaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgY29sdW1uLWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyID4gaGVhZGVyID4gc2VsZWN0IHtcbiAgZmxleC1ncm93OiAxO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciA+IGhlYWRlciA+IGxhYmVsIHtcbiAgd2lkdGg6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGxhYmVsW2Zvcj1cInNob3cteWFrdVwiXSB7IG9yZGVyOiAxOyB9XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGxhYmVsW2Zvcj1cInNob3ctbW9kc1wiXSB7IG9yZGVyOiAyOyB9XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGxhYmVsW2Zvcj1cInNob3ctY29uZmlnXCJdIHsgb3JkZXI6IDM7IH1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgbGFiZWxbZm9yPVwic2hvdy1ub25lXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBpbnB1dCNzaG93LXlha3U6Y2hlY2tlZCB+IGhlYWRlciA+IGxhYmVsW2Zvcj1cInNob3cteWFrdVwiXSxcbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgaW5wdXQjc2hvdy1tb2RzOmNoZWNrZWQgfiBoZWFkZXIgPiBsYWJlbFtmb3I9XCJzaG93LW1vZHNcIl0sXG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGlucHV0I3Nob3ctY29uZmlnOmNoZWNrZWQgfiBoZWFkZXIgPiBsYWJlbFtmb3I9XCJzaG93LWNvbmZpZ1wiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGlucHV0I3Nob3cteWFrdTpjaGVja2VkIH4gaGVhZGVyID4gbGFiZWxbZm9yPVwic2hvdy1ub25lXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiBjYWxjKDQgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgaW5wdXQjc2hvdy1tb2RzOmNoZWNrZWQgfiBoZWFkZXIgPiBsYWJlbFtmb3I9XCJzaG93LW5vbmVcIl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBpbnB1dCNzaG93LWNvbmZpZzpjaGVja2VkIH4gaGVhZGVyID4gbGFiZWxbZm9yPVwic2hvdy1ub25lXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciA+IGhlYWRlciA+IGZvcm0ge1xuICBvcmRlcjogMDtcbiAgZmxleC1ncm93OiAxO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciA+IGhlYWRlciA+IGZvcm0gPiBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgdGV4dGFyZWEge1xuICBoZWlnaHQ6IGNhbGMoMTQuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgZGl2LmhhbmQtb3V0ZXItY29udGFpbmVyLFxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBkaXYueWFrdS1vdXRlci1jb250YWluZXIsXG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGRpdi5tb2RzLWNvbnRhaW5lcixcbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgZGl2LmNvbmZpZy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjg3NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogIzYwOTA2MDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBkaXNwbGF5OiBub25lOyB9IC8qIFNhZmFyaS9DaHJvbWUgKi9cbn1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgZGl2Lnlha3Utb3V0ZXItY29udGFpbmVyLFxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBkaXYubW9kcy1jb250YWluZXIsXG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGRpdi5jb25maWctY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBpbnB1dCNzaG93LXlha3U6Y2hlY2tlZCB+IGRpdi55YWt1LW91dGVyLWNvbnRhaW5lciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGlucHV0I3Nob3ctbW9kczpjaGVja2VkIH4gZGl2Lm1vZHMtY29udGFpbmVyIHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgaW5wdXQjc2hvdy1jb25maWc6Y2hlY2tlZCB+IGRpdi5jb25maWctY29udGFpbmVyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogYm90dG9tIGJ1dHRvbnMgKi9cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgPiBkaXYuc2NvcmluZy10ZXN0LWJvdHRvbS1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3JkZXI6IDI7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAmID4gZm9ybSB7IGZsZXgtZ3JvdzogMTsgZGlzcGxheTogZmxleDsgY29sdW1uLWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbiAgJiBidXR0b24geyBmb250LXNpemU6IDE1MCU7IGZsZXgtZ3JvdzogMTsgfVxuICAmIGJ1dHRvbi5jbGVhciB7IGZsZXgtZ3JvdzogMDsgfVxufVxuZGl2LnNjb3Jpbmd0ZXN0LWNvbnRhaW5lciBkaXYueWFrdS1vdXRlci1jb250YWluZXIge1xuICAmIHNwYW4ueWFrdS1ib3R0b20tbWluaXBvaW50LW5hbWUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgfVxuICAmIGlucHV0IHtcbiAgICAtLXdpZHRoOiA4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgd2lkdGg6IGNhbGModmFyKC0td2lkdGgpICogMC42ZW0pO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0Z3JheTtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuXG4vKiBoYW5kLXNlbGVjdGlvbi1jb250YWluZXIgKi9cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgZGl2LmhhbmQtc2VsZWN0aW9uLWhhbmQgYnV0dG9uLFxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciBkaXYuaGFuZC1zZWxlY3Rpb24tYnV0dG9ucyBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24taGFuZCxcbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tYnV0dG9ucyxcbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tY2FsbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICByb3ctZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24taGFuZCB7XG4gIHBhZGRpbmc6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1oYW5kID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7IC8qIGdhcCB0byBsZWZ0IG9mIHdpbm5pbmcgdGlsZSAqL1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1oYW5kID4gYnV0dG9uLmhhbmQtc2VsZWN0aW9uLWNhbGwge1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1idXR0b25zIHtcbiAgY29sdW1uLWdhcDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1idXR0b25zID4gYnV0dG9uLmNsZWFyIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSlcbiAgICAgICAgICBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKVxuICAgICAgICAgIGNvbnRyYXN0KDYwJSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuODc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuaGFuZC1zZWxlY3Rpb24taW5uZXItY29udGFpbmVyID4gZGl2LmhhbmQtc2VsZWN0aW9uLWJ1dHRvbnMgPiBidXR0b24uY2xlYXIgPiBkaXYudGlsZSB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjM1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICB0ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0O1xuICBsaW5lLWhlaWdodDogMC41O1xuICBsZXR0ZXItc3BhY2luZzogLTAuNWV4O1xuICBwYWRkaW5nOiAwIGNhbGMoMC4yNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tY2FsbHMge1xuICBnYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuXG4vKiBpbmRpdmlkdWFsIHlha3UgaW5zaWRlIHlha3UtY29udGFpbmVyICovXG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGRpdi55YWt1LWNvbnRhaW5lciA+IGRpdi55YWt1LWlubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHJvdy1nYXA6IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgJiA+IGRpdi55YWt1LWxpc3QsXG4gICYgPiBkaXYueWFrdS1saXN0LXNwYWNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMC41ZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gIH1cbiAgJiBkaXYueWFrdS1saXN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gICYgbGFiZWwueWFrdS1idXR0b24ge1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICYgbGFiZWwueWFrdS1idXR0b24gaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLS13aWR0aDogMTtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS13aWR0aCkgKiAwLjZlbSk7XG4gICAgbWFyZ2luOiAwIGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vKiBiYW5uZXIgdGhhdCBhcHBlYXJzIHdoZW4gY29ubmVjdGlvbiBpcyBsb3N0IChvciBvbiBjcmFzaCkgKi9cbmRpdi5yZWNvbm5lY3QtYmFubmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMCAwIGF1dG8gMDtcbiAgcGFkZGluZzogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBhbmltYXRpb246IHJlY29ubmVjdEJhbm5lciAxcyBsaW5lYXIgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIHJlY29ubmVjdEJhbm5lciB7XG4gIDAlIHsgb3BhY2l0eTogMCB9XG4gIDkwJSB7IG9wYWNpdHk6IDAgfVxuICAxMDAlIHsgb3BhY2l0eTogMSB9XG59XG5kaXYucmVjb25uZWN0LWJhbm5lciB7IGRpc3BsYXk6IG5vbmU7IH1cbmRpdi5waHgtbG9hZGluZyBkaXYucmVjb25uZWN0LWJhbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIkNvbm5lY3RpbmcuLi5cIjsgfVxufVxuZGl2LnBoeC1lcnJvciBkaXYucmVjb25uZWN0LWJhbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIkdhbWUgaGFzIGNyYXNoZWQsIHJlc3RhcnRpbmcuLi5cIjsgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFNRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFNRTtBQUFBO0FBQUE7QUFJSjtBQUFBO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBVztBQUFBO0FBQUE7QUFLYjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFPSjtBQUFBO0FBQUE7QUFBd0I7QUFBQTtBQUV4QjtBQUFBO0FBQThDO0FBQUE7QUFDOUM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQXdCO0FBQUE7QUFFeEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXVCO0FBQUE7QUFBaUM7QUFBQTtBQUV0RDtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQVc7QUFBQTtBQUNYO0FBQUE7QUFBc0I7QUFBQTtBQUN0QjtBQUFBO0FBQWdDO0FBQUE7QUFDaEM7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUErQjtBQUFBO0FBQy9CO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBQy9CO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBQy9CO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUVoQztBQUE0QztBQUFBO0FBQzVDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE0QztBQUFBO0FBQzVDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE0QztBQUFBO0FBQzVDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUFBO0FBQUE7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBa0I7QUFBQTtBQUNsQjtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUF3QjtBQUFBO0FBRXhCO0FBQUE7QUFDNEM7QUFBQTtBQUM1QztBQUFnRDtBQUFBO0FBQ2hEO0FBQW1CO0FBQUE7QUFDbkI7QUFBd0I7QUFBQTtBQUN4QjtBQUF5QjtBQUFBO0FBRXpCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBNEM7QUFBa0I7QUFBQTtBQUM5RDtBQUF5QztBQUFBO0FBQ3pDO0FBQXVDO0FBQUE7QUFDdkM7QUFBd0M7QUFBQTtBQUN4QztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBb0I7QUFBQTtBQUNwQjtBQUFvQjtBQUFjO0FBQUE7QUFDbEM7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNxRDtBQUFBO0FBQ3JEO0FBQWdDO0FBQWU7QUFBd0I7QUFBQTtBQUN2RTtBQUFrQjtBQUFBO0FBR2xCO0FBQWtCO0FBQUE7QUFDbEI7QUFBc0I7QUFBQTtBQUN0QjtBQUFzQjtBQUFBO0FBQ3RCO0FBQXdCO0FBQUE7QUFDeEI7QUFBdUI7QUFBQTtBQUN2QjtBQUF1QjtBQUFBO0FBQ3ZCO0FBQXNCO0FBQUE7QUFDdEI7QUFBd0I7QUFBQTtBQUN4QjtBQUF3QjtBQUFBO0FBQ3hCO0FBQXVCO0FBQUE7QUFDdkI7QUFBc0I7QUFBQTtBQUN0QjtBQUFvQjtBQUFBO0FBQ3BCO0FBQW9CO0FBQUE7QUFDcEI7QUFBb0I7QUFBQTtBQUNwQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQXFCO0FBQUE7QUFDckI7QUFBb0I7QUFBQTtBQUNwQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFXO0FBQUE7QUFBQTtBQUViO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFBQTtBQUNFO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQ3dDO0FBQWE7QUFBYTtBQUFBO0FBQ2xFO0FBQWdCO0FBQUE7QUFDaEI7QUFBK0I7QUFBQTtBQUMvQjtBQUFnQztBQUFBO0FBRWhDO0FBQXVCO0FBQUE7QUFDdkI7QUFBc0M7QUFBQTtBQUN0QztBQUF1QztBQUFBO0FBQ3ZDO0FBQXVDO0FBQUE7QUFDdkM7QUFBc0M7QUFBQTtBQUN0QztBQUFxRDtBQUFBO0FBQ3JEO0FBQXNEO0FBQUE7QUFDdEQ7QUFBc0Q7QUFBQTtBQUN0RDtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUFxQztBQUFBO0FBQUE7QUFHdkM7QUFDRTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXVDO0FBQUE7QUFDdkM7QUFBeUM7QUFBQTtBQUN6QztBQUF3QztBQUFBO0FBQ3hDO0FBQXlDO0FBQUE7QUFDekM7QUFBeUM7QUFBQTtBQUN6QztBQUEwQztBQUFBO0FBQzFDO0FBQXlDO0FBQUE7QUFDekM7QUFBMEM7QUFBQTtBQUMxQztBQUF3QztBQUFBO0FBQ3hDO0FBQXlDO0FBQUE7QUFDekM7QUFBd0M7QUFBQTtBQUN4QztBQUF5QztBQUFBO0FBQ3pDO0FBQXlDO0FBQUE7QUFDekM7QUFBMEM7QUFBQTtBQUMxQztBQUF5QztBQUFBO0FBQ3pDO0FBQTBDO0FBQUE7QUFDMUM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEyQjtBQUFBO0FBQzNCO0FBQW9CO0FBQUE7QUFDcEI7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUF3QjtBQUFBO0FBQ3hCO0FBQTJCO0FBQUE7QUFDM0I7QUFBeUI7QUFBQTtBQUN6QjtBQUEwQjtBQUFBO0FBQzFCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFDUTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUF5RDtBQUFBO0FBQ3pEO0FBQXlEO0FBQUE7QUFDekQ7QUFBeUQ7QUFBQTtBQUN6RDtBQUF5RDtBQUFBO0FBQ3pEO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUtGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUE7QUFFVDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBVztBQUFvRztBQUFBO0FBQy9HO0FBQW9CO0FBQTJCO0FBQTJCO0FBQUE7QUFDMUU7QUFBaUI7QUFBa0M7QUFBQTtBQUNuRDtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFrQztBQUFBO0FBQ25EO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQWtDO0FBQUE7QUFDbkQ7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFBO0FBQTZDO0FBQUE7QUFDN0M7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFxQjtBQUFBO0FBRXJCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFBO0FBQXFDO0FBQUE7QUFDckM7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQUE7QUFBcUM7QUFBQTtBQUNyQztBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXlCO0FBQUE7QUFDekI7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWlCO0FBQUE7QUFDakI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQUE7QUFBcUM7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RztBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUF5QjtBQUFtQztBQUFxQztBQUFBO0FBQ2pHO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXlCO0FBQW1DO0FBQXFDO0FBQUE7QUFDakc7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBeUI7QUFBbUM7QUFBcUM7QUFBQTtBQUNqRztBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUF5QjtBQUFtQztBQUFxQztBQUFBO0FBQ2pHO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXlCO0FBQW1DO0FBQXFDO0FBQUE7QUFDakc7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBeUI7QUFBK0I7QUFBaUM7QUFBQTtBQUN6RjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXlCO0FBQStCO0FBQWlDO0FBQUE7QUFDekY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBeUI7QUFBK0I7QUFBaUM7QUFBQTtBQUN6RjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQW9CO0FBQUE7QUFDckM7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFvQjtBQUFBO0FBQ3JDO0FBQWlCO0FBQW9CO0FBQUE7QUFDckM7QUFBaUI7QUFBb0I7QUFBQTtBQUNyQztBQUFpQjtBQUFvQjtBQUFBO0FBR3JDO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXlCO0FBQStCO0FBQWlDO0FBQUE7QUFDekY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUFBO0FBRXpCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUV6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUV6QjtBQUFxQjtBQUFBO0FBR3JCO0FBQW9CO0FBQUE7QUFHcEI7QUFBZTtBQUFnQztBQUFBO0FBQy9DO0FBQWdCO0FBQStCO0FBQUE7QUFDL0M7QUFBZ0I7QUFBbUM7QUFBQTtBQUNuRDtBQUFnQjtBQUFnQztBQUFBO0FBQ2hEO0FBQWtCO0FBQUE7QUFDbEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFpQjtBQUFxQjtBQUFBO0FBQ3RDO0FBQXFCO0FBQUE7QUFDckI7QUFBa0I7QUFBc0I7QUFBQTtBQUN4QztBQUFnQjtBQUFvQjtBQUFBO0FBQ3BDO0FBQWdCO0FBQW9CO0FBQUE7QUFDcEM7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWlCO0FBQXFCO0FBQUE7QUFDdEM7QUFBZ0I7QUFBQTtBQUNoQjtBQUFpQjtBQUFxQjtBQUFBO0FBQ3RDO0FBQWlCO0FBQUE7QUFDakI7QUFFRTtBQUFBO0FBZ0JGO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHSjtBQUVFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFHRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXFDO0FBQUE7QUFDckM7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXFDO0FBQUE7QUFDckM7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBRXRDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBR2xDO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQU9GO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVJO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFSTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUo7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFLRjtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFDRTtBQUFZO0FBQUE7QUFDWjtBQUFXO0FBQUE7QUFBQTtBQUViO0FBQUE7QUFDRTtBQUFZO0FBQUE7QUFDWjtBQUFXO0FBQUE7QUFBQTtBQUFBO0FBSWY7QUFDQTtBQUNBO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFDRTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBRUU7QUFDRTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQU9OO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQW9CO0FBQUE7QUFDcEI7QUFBdUI7QUFBMkM7QUFBQTtBQUNsRTtBQUFzQjtBQUFBO0FBQ3RCO0FBQXdCO0FBQTBDO0FBQUE7QUFJbEU7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEwQjtBQUFBO0FBQzFCO0FBQXlCO0FBQUE7QUFDekI7QUFBMkI7QUFBQTtBQUMzQjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFFVDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTJEO0FBQUE7QUFDM0Q7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQUFBO0FBSUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJTjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBb0Y7QUFBQTtBQUNwRjtBQUF3RTtBQUFBO0FBQ3hFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQW9CO0FBQWE7QUFBYztBQUFBO0FBQy9DO0FBQW1CO0FBQWE7QUFBYztBQUFBO0FBQzlDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU2dEO0FBQUE7QUFDaEQ7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQWlDO0FBQWdCO0FBQUE7QUFDakQ7QUFBeUM7QUFBQTtBQUN6QztBQUFnQztBQUFnQjtBQUFBO0FBQ2hEO0FBQXdDO0FBQUE7QUFDeEM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUE0QjtBQUFhO0FBQWE7QUFBQTtBQUN0RDtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEyQjtBQUFBO0FBQzNCO0FBQTBCO0FBQXVDO0FBQUE7QUFDakU7QUFBZ0M7QUFBQTtBQUNoQztBQUErQjtBQUF5QztBQUFBO0FBQ3hFO0FBQXFDO0FBQUE7QUFDckM7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlOO0FBQXdDO0FBQVU7QUFBVztBQUFBO0FBQzdEO0FBQTRDO0FBQVU7QUFBWTtBQUFBO0FBQ2xFO0FBQTBDO0FBQVU7QUFBYztBQUFVO0FBQUE7QUFDNUU7QUFBMkM7QUFBVTtBQUFhO0FBQUE7QUFDbEU7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0M7QUFBUTtBQUFBO0FBQ2hEO0FBQVc7QUFBVztBQUFBO0FBQ3RCO0FBQ0U7QUFBQTtBQUVGO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBMEM7QUFBQTtBQUMxQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBYztBQUFTO0FBQVU7QUFBcUI7QUFBQTtBQUN0RDtBQUFrQjtBQUFRO0FBQVc7QUFBb0I7QUFBQTtBQUN6RDtBQUFnQjtBQUFTO0FBQVU7QUFBcUI7QUFBQTtBQUN4RDtBQUFpQjtBQUFRO0FBQVc7QUFBb0I7QUFBQTtBQUN4RDtBQUFhO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJbkI7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFBQTtBQUVsQjtBQUFBO0FBQTRDO0FBQUE7QUFDNUM7QUFBQTtBQUFzRDtBQUFBO0FBQUE7QUFHeEQ7QUFBQTtBQUNFO0FBQUE7QUFFRjtBQUNJO0FBQUE7QUFFSjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlOO0FBQW1FO0FBQUE7QUFDbkU7QUFBNkU7QUFBQTtBQUM3RTtBQUFxRjtBQUFBO0FBQ3JGO0FBQWlGO0FBQUE7QUFDakY7QUFBbUY7QUFBQTtBQUNuRjtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUUzRTtBQU1BO0FBQUE7QUFDRTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQVU7QUFBQTtBQUFBO0FBRVo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZRTtBQUFBO0FBRUY7QUFBOEQ7QUFBQTtBQUM5RDtBQUE4RDtBQUFBO0FBSTlEO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUFnQjtBQUFlO0FBQUE7QUFDL0I7QUFBNkI7QUFBQTtBQUM3QjtBQUE2QjtBQUFBO0FBQzdCO0FBQTZCO0FBQUE7QUFDN0I7QUFBNkI7QUFBQTtBQUM3QjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBTUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBU0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTBCO0FBQUE7QUFDMUI7QUFBeUI7QUFBQTtBQUN6QjtBQUFBO0FBQWtEO0FBQUE7QUFDbEQ7QUFBQTtBQUF1RDtBQUFBO0FBQ3ZEO0FBQUE7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQW9HO0FBQXFEO0FBQUE7QUFDeko7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQW9HO0FBQXFEO0FBQUE7QUFDeko7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQStIO0FBQXFEO0FBQUE7QUFDcEw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQStIO0FBQXFEO0FBQUE7QUFDcEw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTRIO0FBQXFEO0FBQUE7QUFDakw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQW9HO0FBQXFEO0FBQUE7QUFDeko7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQW9HO0FBQXFEO0FBQUE7QUFDeko7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQStIO0FBQXFEO0FBQUE7QUFDcEw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQStIO0FBQXFEO0FBQUE7QUFDcEw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTRIO0FBQXFEO0FBQUE7QUFDakw7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQXVHO0FBQXFEO0FBQUE7QUFDNUo7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTRIO0FBQXFEO0FBQUE7QUFDakw7QUFBQTtBQUFBO0FBQW1IO0FBQXFEO0FBQUE7QUFDeEs7QUFBQTtBQUFBO0FBQTZHO0FBQXFEO0FBQUE7QUFDbEs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBQTtBQUFBO0FBQXNIO0FBQXFEO0FBQUE7QUFDM0s7QUFBQTtBQUFBO0FBQWdIO0FBQXFEO0FBQUE7QUFDcks7QUFBQTtBQUFBO0FBQXlIO0FBQXFEO0FBQUE7QUFDOUs7QUFBQTtBQUFBO0FBQTBHO0FBQXFEO0FBQUE7QUFDL0o7QUFBd0I7QUFBcUQ7QUFBQTtBQUM3RTtBQUFBO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQXlEO0FBQUE7QUFFekQ7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFBcUY7QUFBYTtBQUFxRDtBQUFBO0FBQ3ZKO0FBQWdEO0FBQWE7QUFBcUQ7QUFBQTtBQUNsSDtBQUFBO0FBQXFGO0FBQWE7QUFBcUQ7QUFBQTtBQUN2SjtBQUFnRDtBQUFhO0FBQXFEO0FBQUE7QUFDbEg7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUtGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQUE7QUFrQkY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBeUQ7QUFBQTtBQUN6RDtBQUF1RTtBQUFBO0FBRXZFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSU47QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFFRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBd0Q7QUFBQTtBQUN4RDtBQUFnRTtBQUFBO0FBQ2hFO0FBQUE7QUFBQTtBQUdFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBR0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1FO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFvQztBQUFBO0FBQ3BDO0FBQW1DO0FBQUE7QUFDbkM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTRCO0FBQUE7QUFDNUI7QUFDRTtBQUE2RjtBQUFBO0FBQzdGO0FBQTRGO0FBQUE7QUFBQTtBQUk5RjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUF1QjtBQUFBO0FBQUE7QUFFekI7QUFBd0U7QUFBQTtBQUt4RTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQW1EO0FBQUE7QUFDbkQ7QUFBbUQ7QUFBQTtBQUNuRDtBQUFxRDtBQUFBO0FBQ3JEO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUF1QjtBQUFBO0FBQUE7QUFFekI7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBK0U7QUFBQTtBQUMvRTtBQUF5RTtBQUFBO0FBQ3pFO0FBQTZFO0FBQUE7QUFHN0U7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQVc7QUFBYztBQUFlO0FBQUE7QUFDeEM7QUFBVztBQUFpQjtBQUFBO0FBQzVCO0FBQWlCO0FBQUE7QUFBQTtBQUVuQjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBTUo7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFHQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFDQztBQUFBO0FBQUE7QUFFVDtBQUF1QjtBQUFBO0FBQ3ZCO0FBQ0U7QUFDQTtBQUFZO0FBQUE7QUFBQTtBQUVkO0FBQ0U7QUFDQTtBQUFZO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K */
