/* 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;
  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 {
  display: flex;
  flex-direction: column-reverse;
  overflow-y: auto;
  scrollbar-color: white transparent;
}
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 {
  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: 1;
}
div.hand,
div.draws {
  z-index: 2;
}
div.hand.self,
div.draws.self {
  z-index: 3;
}
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.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.self {
  left: calc(50% - (2.375 * var(--tile-size)));
  top: calc(50% + (2.125 * var(--tile-size)));
  z-index: 3;
}
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)));
  z-index: 1;
}
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: 2;
}
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: 5;
}
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: 214;
  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(50%, 50%) rotate(135deg);
  }
}
div.tile.dora:not(.\31x):not(.selected) {
  position: relative;
  overflow: hidden;
}
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.\31j {
  --tile-index: 76;
}
div.tile.\30j {
  --tile-index: 77;
}
div.tile.\32j {
  --tile-index: 78;
}
div.tile.\39j {
  --tile-index: 79;
}
div.tile.\34j {
  --tile-index: 80;
}
div.tile.\35j {
  --tile-index: 81;
}
div.tile.\36j,
div.tile.\31 6j {
  --tile-index: 82;
}
div.tile.\37j {
  --tile-index: 83;
}
div.tile.\38j {
  --tile-index: 84;
}
div.tile.\31 0j {
  --tile-index: 85;
}
div.tile.\31 2j {
  --tile-index: 86;
}
div.tile.\33j,
div.tile.\31 3j {
  --tile-index: 87;
}
div.tile.\31 4j {
  --tile-index: 88;
}
div.tile.\31 5j {
  --tile-index: 89;
}
div.tile.\31 7j {
  --tile-index: 90;
}
div.tile.\31 8j {
  --tile-index: 91;
}
div.tile.\31 9j {
  --tile-index: 92;
}
div.tile.\33 7j {
  --tile-index: 93;
}
div.tile.\34 6j {
  --tile-index: 94;
}
div.tile.\31 47j {
  --tile-index: 95;
}
div.tile.\32 58j {
  --tile-index: 96;
}
div.tile.\33 69j {
  --tile-index: 97;
}
div.tile.\37 89j {
  --tile-index: 98;
}
div.tile.\34 56j {
  --tile-index: 99;
}
div.tile.\31 23j {
  --tile-index: 100;
}
div.tile.\31 1j {
  --tile-index: 101;
}
div.tile.\32 2j {
  --tile-index: 102;
}
div.tile.\32 0j {
  --tile-index: 103;
}
div.tile.\39 1j {
  --tile-index: 104;
}
div.tile.\36 4j {
  --tile-index: 105;
}
div.tile.\37 3j {
  --tile-index: 106;
}
div.tile.\38 52j {
  --tile-index: 107;
}
div.tile.\33 0j {
  --tile-index: 108;
}
div.tile.\33 1j {
  --tile-index: 109;
}
div.tile.\33 2j {
  --tile-index: 110;
}
div.tile.\33 3j {
  --tile-index: 111;
}
div.tile.\33 4j {
  --tile-index: 112;
}
div.tile.\32y {
  --tile-index: 113;
}
div.tile.\30 1m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 164;
}
div.tile.\30 2m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 165;
}
div.tile.\30 3m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 166;
}
div.tile.\30 4m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 167;
}
div.tile.\30 5m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 168;
}
div.tile.\30 6m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 169;
}
div.tile.\30 7m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 170;
}
div.tile.\30 8m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 171;
}
div.tile.\30 9m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 172;
}
div.tile.\30 10m {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 173;
}
div.tile.\30 1p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 174;
}
div.tile.\30 2p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 175;
}
div.tile.\30 3p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 176;
}
div.tile.\30 4p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 177;
}
div.tile.\30 5p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 178;
}
div.tile.\30 6p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 179;
}
div.tile.\30 7p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 180;
}
div.tile.\30 8p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 181;
}
div.tile.\30 9p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 182;
}
div.tile.\30 10p {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 183;
}
div.tile.\30 1s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 184;
}
div.tile.\30 2s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 185;
}
div.tile.\30 3s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 186;
}
div.tile.\30 4s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 187;
}
div.tile.\30 5s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 188;
}
div.tile.\30 6s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 189;
}
div.tile.\30 7s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 190;
}
div.tile.\30 8s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 191;
}
div.tile.\30 9s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 192;
}
div.tile.\30 10s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 193;
}
div.tile.\30 1t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 194;
}
div.tile.\30 2t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 195;
}
div.tile.\30 3t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 196;
}
div.tile.\30 4t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 197;
}
div.tile.\30 5t,
div.tile.\30t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 198;
}
div.tile.\30 6t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 199;
}
div.tile.\30 7t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 200;
}
div.tile.\30 8t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 201;
}
div.tile.\30 9t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 202;
}
div.tile.\30 10t {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 203;
}
div.tile.\30 0z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 204;
}
div.tile.\30 1z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 205;
}
div.tile.\30 2z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 206;
}
div.tile.\30 3z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 207;
}
div.tile.\30 4z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 208;
}
div.tile.\30 5z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 209;
}
div.tile.\30 6z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 210;
}
div.tile.\30 7z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 211;
}
div.tile.\30 8z {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 212;
}
div.tile.\30 00s {
  --tile-color: var(--aka-color);
  --number-color: var(--aka-color);
  --tile-index: 213;
}
div.tile.\31 1m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 114;
}
div.tile.\31 2m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 115;
}
div.tile.\31 3m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 116;
}
div.tile.\31 4m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 117;
}
div.tile.\31 5m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 118;
}
div.tile.\31 6m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 119;
}
div.tile.\31 7m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 120;
}
div.tile.\31 8m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 121;
}
div.tile.\31 9m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 122;
}
div.tile.\31 10m {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 123;
}
div.tile.\31 1p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 124;
}
div.tile.\31 2p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 125;
}
div.tile.\31 3p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 126;
}
div.tile.\31 4p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 127;
}
div.tile.\31 5p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 128;
}
div.tile.\31 6p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 129;
}
div.tile.\31 7p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 130;
}
div.tile.\31 8p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 131;
}
div.tile.\31 9p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 132;
}
div.tile.\31 10p {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 133;
}
div.tile.\31 1s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 134;
}
div.tile.\31 2s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 135;
}
div.tile.\31 3s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 136;
}
div.tile.\31 4s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 137;
}
div.tile.\31 5s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 138;
}
div.tile.\31 6s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 139;
}
div.tile.\31 7s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 140;
}
div.tile.\31 8s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 141;
}
div.tile.\31 9s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 142;
}
div.tile.\31 10s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 143;
}
div.tile.\31 1t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 144;
}
div.tile.\31 2t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 145;
}
div.tile.\31 3t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 146;
}
div.tile.\31 4t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 147;
}
div.tile.\31 5t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 148;
}
div.tile.\31 6t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 149;
}
div.tile.\31 7t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 150;
}
div.tile.\31 8t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 151;
}
div.tile.\31 9t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 152;
}
div.tile.\31 10t {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 153;
}
div.tile.\31 0z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 154;
}
div.tile.\31 1z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 155;
}
div.tile.\31 2z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 156;
}
div.tile.\31 3z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 157;
}
div.tile.\31 4z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 158;
}
div.tile.\31 5z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 159;
}
div.tile.\31 6z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 160;
}
div.tile.\31 7z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 161;
}
div.tile.\31 8z {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 162;
}
div.tile.\31 00s {
  --tile-color: var(--galaxy-color);
  --number-color: var(--galaxy-color);
  --tile-index: 163;
}
div.tile.\32 1m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 164;
}
div.tile.\32 2m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 165;
}
div.tile.\32 3m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 166;
}
div.tile.\32 4m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 167;
}
div.tile.\32 5m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 168;
}
div.tile.\32 6m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 169;
}
div.tile.\32 7m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 170;
}
div.tile.\32 8m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 171;
}
div.tile.\32 9m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 172;
}
div.tile.\32 10m {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 173;
}
div.tile.\32 1p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 174;
}
div.tile.\32 2p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 175;
}
div.tile.\32 3p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 176;
}
div.tile.\32 4p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 177;
}
div.tile.\32 5p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 178;
}
div.tile.\32 6p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 179;
}
div.tile.\32 7p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 180;
}
div.tile.\32 8p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 181;
}
div.tile.\32 9p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 182;
}
div.tile.\32 10p {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 183;
}
div.tile.\32 1s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 184;
}
div.tile.\32 2s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 185;
}
div.tile.\32 3s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 186;
}
div.tile.\32 4s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 187;
}
div.tile.\32 5s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 188;
}
div.tile.\32 6s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 189;
}
div.tile.\32 7s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 190;
}
div.tile.\32 8s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 191;
}
div.tile.\32 9s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 192;
}
div.tile.\32 10s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 193;
}
div.tile.\32 1t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 194;
}
div.tile.\32 2t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 195;
}
div.tile.\32 3t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 196;
}
div.tile.\32 4t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 197;
}
div.tile.\32 5t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 198;
}
div.tile.\32 6t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 199;
}
div.tile.\32 7t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 200;
}
div.tile.\32 8t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 201;
}
div.tile.\32 9t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 202;
}
div.tile.\32 10t {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 203;
}
div.tile.\32 0z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 204;
}
div.tile.\32 1z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 205;
}
div.tile.\32 2z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 206;
}
div.tile.\32 3z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 207;
}
div.tile.\32 4z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 208;
}
div.tile.\32 5z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 209;
}
div.tile.\32 6z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 210;
}
div.tile.\32 7z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 211;
}
div.tile.\32 8z {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 212;
}
div.tile.\32 00s {
  --tile-color: var(--ao-color);
  --number-color: var(--ao-color);
  --tile-index: 213;
}
div.tile.\33 1m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 164;
}
div.tile.\33 2m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 165;
}
div.tile.\33 3m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 166;
}
div.tile.\33 4m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 167;
}
div.tile.\33 5m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 168;
}
div.tile.\33 6m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 169;
}
div.tile.\33 7m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 170;
}
div.tile.\33 8m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 171;
}
div.tile.\33 9m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 172;
}
div.tile.\33 10m {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 173;
}
div.tile.\33 1p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 174;
}
div.tile.\33 2p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 175;
}
div.tile.\33 3p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 176;
}
div.tile.\33 4p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 177;
}
div.tile.\33 5p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 178;
}
div.tile.\33 6p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 179;
}
div.tile.\33 7p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 180;
}
div.tile.\33 8p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 181;
}
div.tile.\33 9p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 182;
}
div.tile.\33 10p {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 183;
}
div.tile.\33 1s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 184;
}
div.tile.\33 2s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 185;
}
div.tile.\33 3s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 186;
}
div.tile.\33 4s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 187;
}
div.tile.\33 5s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 188;
}
div.tile.\33 6s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 189;
}
div.tile.\33 7s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 190;
}
div.tile.\33 8s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 191;
}
div.tile.\33 9s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 192;
}
div.tile.\33 10s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 193;
}
div.tile.\33 1t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 194;
}
div.tile.\33 2t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 195;
}
div.tile.\33 3t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 196;
}
div.tile.\33 4t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 197;
}
div.tile.\33 5t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 198;
}
div.tile.\33 6t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 199;
}
div.tile.\33 7t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 200;
}
div.tile.\33 8t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 201;
}
div.tile.\33 9t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 202;
}
div.tile.\33 10t {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 203;
}
div.tile.\33 0z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 204;
}
div.tile.\33 1z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 205;
}
div.tile.\33 2z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 206;
}
div.tile.\33 3z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 207;
}
div.tile.\33 4z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 208;
}
div.tile.\33 5z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 209;
}
div.tile.\33 6z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 210;
}
div.tile.\33 7z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 211;
}
div.tile.\33 8z {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 212;
}
div.tile.\33 00s {
  --tile-color: var(--kin-color);
  --number-color: var(--kin-color);
  --tile-index: 213;
}
div.tile.\34 1m {
  --tile-index: 114;
}
div.tile.\34 2m {
  --tile-index: 115;
}
div.tile.\34 3m {
  --tile-index: 116;
}
div.tile.\34 4m {
  --tile-index: 117;
}
div.tile.\34 5m {
  --tile-index: 118;
}
div.tile.\34 6m {
  --tile-index: 119;
}
div.tile.\34 7m {
  --tile-index: 120;
}
div.tile.\34 8m {
  --tile-index: 121;
}
div.tile.\34 9m {
  --tile-index: 122;
}
div.tile.\34 10m {
  --tile-index: 123;
}
div.tile.\34 1p {
  --tile-index: 124;
}
div.tile.\34 2p {
  --tile-index: 125;
}
div.tile.\34 3p {
  --tile-index: 126;
}
div.tile.\34 4p {
  --tile-index: 127;
}
div.tile.\34 5p {
  --tile-index: 128;
}
div.tile.\34 6p {
  --tile-index: 129;
}
div.tile.\34 7p {
  --tile-index: 130;
}
div.tile.\34 8p {
  --tile-index: 131;
}
div.tile.\34 9p {
  --tile-index: 132;
}
div.tile.\34 10p {
  --tile-index: 133;
}
div.tile.\34 1s {
  --tile-index: 134;
}
div.tile.\34 2s {
  --tile-index: 135;
}
div.tile.\34 3s {
  --tile-index: 136;
}
div.tile.\34 4s {
  --tile-index: 137;
}
div.tile.\34 5s {
  --tile-index: 138;
}
div.tile.\34 6s {
  --tile-index: 139;
}
div.tile.\34 7s {
  --tile-index: 140;
}
div.tile.\34 8s {
  --tile-index: 141;
}
div.tile.\34 9s {
  --tile-index: 142;
}
div.tile.\34 10s {
  --tile-index: 143;
}
div.tile.\34 1t {
  --tile-index: 144;
}
div.tile.\34 2t {
  --tile-index: 145;
}
div.tile.\34 3t {
  --tile-index: 146;
}
div.tile.\34 4t {
  --tile-index: 147;
}
div.tile.\34 5t {
  --tile-index: 148;
}
div.tile.\34 6t {
  --tile-index: 149;
}
div.tile.\34 7t {
  --tile-index: 150;
}
div.tile.\34 8t {
  --tile-index: 151;
}
div.tile.\34 9t {
  --tile-index: 152;
}
div.tile.\34 10t {
  --tile-index: 153;
}
div.tile.\34 0z {
  --tile-index: 154;
}
div.tile.\34 1z {
  --tile-index: 155;
}
div.tile.\34 2z {
  --tile-index: 156;
}
div.tile.\34 3z {
  --tile-index: 157;
}
div.tile.\34 4z {
  --tile-index: 158;
}
div.tile.\34 5z {
  --tile-index: 159;
}
div.tile.\34 6z {
  --tile-index: 160;
}
div.tile.\34 7z {
  --tile-index: 161;
}
div.tile.\34 8z {
  --tile-index: 162;
}
div.tile.\34 00s {
  --tile-index: 163;
}
div.tile.\35 1m {
  --tile-index: 164;
}
div.tile.\35 2m {
  --tile-index: 165;
}
div.tile.\35 3m {
  --tile-index: 166;
}
div.tile.\35 4m {
  --tile-index: 167;
}
div.tile.\35 5m {
  --tile-index: 168;
}
div.tile.\35 6m {
  --tile-index: 169;
}
div.tile.\35 7m {
  --tile-index: 170;
}
div.tile.\35 8m {
  --tile-index: 171;
}
div.tile.\35 9m {
  --tile-index: 172;
}
div.tile.\35 10m {
  --tile-index: 173;
}
div.tile.\35 1p {
  --tile-index: 174;
}
div.tile.\35 2p {
  --tile-index: 175;
}
div.tile.\35 3p {
  --tile-index: 176;
}
div.tile.\35 4p {
  --tile-index: 177;
}
div.tile.\35 5p {
  --tile-index: 178;
}
div.tile.\35 6p {
  --tile-index: 179;
}
div.tile.\35 7p {
  --tile-index: 180;
}
div.tile.\35 8p {
  --tile-index: 181;
}
div.tile.\35 9p {
  --tile-index: 182;
}
div.tile.\35 10p {
  --tile-index: 183;
}
div.tile.\35 1s {
  --tile-index: 184;
}
div.tile.\35 2s {
  --tile-index: 185;
}
div.tile.\35 3s {
  --tile-index: 186;
}
div.tile.\35 4s {
  --tile-index: 187;
}
div.tile.\35 5s {
  --tile-index: 188;
}
div.tile.\35 6s {
  --tile-index: 189;
}
div.tile.\35 7s {
  --tile-index: 190;
}
div.tile.\35 8s {
  --tile-index: 191;
}
div.tile.\35 9s {
  --tile-index: 192;
}
div.tile.\35 10s {
  --tile-index: 193;
}
div.tile.\35 1t {
  --tile-index: 194;
}
div.tile.\35 2t {
  --tile-index: 195;
}
div.tile.\35 3t {
  --tile-index: 196;
}
div.tile.\35 4t {
  --tile-index: 197;
}
div.tile.\35 5t {
  --tile-index: 198;
}
div.tile.\35 6t {
  --tile-index: 199;
}
div.tile.\35 7t {
  --tile-index: 200;
}
div.tile.\35 8t {
  --tile-index: 201;
}
div.tile.\35 9t {
  --tile-index: 202;
}
div.tile.\35 10t {
  --tile-index: 203;
}
div.tile.\35 0z {
  --tile-index: 204;
}
div.tile.\35 1z {
  --tile-index: 205;
}
div.tile.\35 2z {
  --tile-index: 206;
}
div.tile.\35 3z {
  --tile-index: 207;
}
div.tile.\35 4z {
  --tile-index: 208;
}
div.tile.\35 5z {
  --tile-index: 209;
}
div.tile.\35 6z {
  --tile-index: 210;
}
div.tile.\35 7z {
  --tile-index: 211;
}
div.tile.\35 8z {
  --tile-index: 212;
}
div.tile.\35 00s {
  --tile-index: 213;
}
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: 10;
}
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;
}
@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(2 * 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));
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-end;
}
div.visible-waits > div.visible-wait {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: calc(0.25 * 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));
  bottom: calc(-1.5 * var(--tile-size));
  right: calc(0.75 * var(--tile-size));
}
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;
}
div.scryed-tiles-container {
  display: flex;
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  bottom: calc(1.5 * var(--tile-size));
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 1;
}
div.scryed-tiles {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  position: relative;
}
div.scryed-tiles::before {
  content: "";
  background: #0000001F;
  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 {
    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 {
      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.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 {
  position: absolute;
  font-size: calc(0.5 * var(--tile-size));
  color: white;
  left: 0;
  bottom: 0;
}
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: 0;
  }
  & button[type=submit] {
    flex-grow: 1;
  }
}
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 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 {
  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-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.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;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vYXNzZXRzL2Nzcy9hcHAuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJodG1sLCBib2R5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBBdmVuaXIsIE1vbnRzZXJyYXQsIENvcmJlbCwgXCJVUlcgR290aGljXCIsIHNvdXJjZS1zYW5zLXBybywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xufVxuYm9keTo6YWZ0ZXIge1xuICAvKiByZXF1aXJlZCBzaW5jZSBjaHJvbWUgZmFpbHMgdG8gb3ZlcmZsb3cgaHRtbC9ib2R5XG4gICAgIHRvIGFjY29tbW9kYXRlIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVtZW50cyAqL1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgKDYgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG4vKiBsYW5kc2NhcGUgKi9cbkBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIC8qIDE2ICh0YWJsZSBoZWlnaHQpXG4gICAgICArIDEgKHRhYmxlIG1hcmdpbilcbiAgICArIDEuNSAodG9wIG1hcmdpbilcbiAgICArIDEuNSAoYm90dG9tIG1hcmdpbilcbiAgICA9IDIwICovXG4gICAgLS10aWxlLXNpemU6IGNhbGMoMTAwdmggLyAyMCk7XG4gIH1cbiAgYm9keSA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbn1cbi8qIHBvcnRyYWl0IChtb2JpbGUpICovXG5AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBodG1sLCBib2R5IHtcbiAgICAvKiAxNiAodGFibGUgd2lkdGgvaGVpZ2h0KVxuICAgICAgKyAxICh0YWJsZSBtYXJnaW4pXG4gICAgICArIDEgKGxlZnQgbWFyZ2luKVxuICAgICAgKyAxIChyaWdodCBtYXJnaW4pXG4gICAgID0gMTkgKi9cbiAgICAtLXRpbGUtc2l6ZTogbWluKGNhbGMoMTAwdncgLyAxOSksIGNhbGMoODB2aCAvIDE5KSk7XG4gIH1cbn1cblxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXIsIGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgXG4gIGRpc3BsYXk6IG5vbmU7IC8qIFNhZmFyaS9DaHJvbWUgKi9cbn1cbm1haW4ge1xuICBoZWlnaHQ6IGNhbGMoMTYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSkgYXV0bztcbiAgLS10aWxlLWZyb250OiAjZjRmMGViO1xuICAtLXRpbGUtZnJvbnQtc2lkZTogI2VlZTRkODtcbiAgLS10aWxlLWJhY2s6ICNmMDk3NGM7XG4gIC0tdGlsZS1iYWNrLXNpZGU6ICNmMDk3NGM7XG4gIC0tYmctY29sb3I6ICMwZjZmMmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5tYWluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0xO1xufVxubWFpbiBkaXYjY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29udGFpbjogbGF5b3V0OyAvKiBtYWtlIHtwb3NpdGlvbjogZml4ZWQ7fSBlbGVtZW50cyByZWxhdGl2ZSB0byB0aGlzICovXG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xufVxubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjM2YzZjNmO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogbWluKDUwJSwgY2FsYyg0MHZ3IC0gMjAlIC0gMC41ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyID4gZGl2Lm1lc3NhZ2VzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiB3cmFwO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5tYWluIGRpdi5tZXNzYWdlcy1jb250YWluZXIgPiBkaXYubWVzc2FnZXMgc3Bhbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi8qIG1ha2Ugc2Nyb2xsaW5nIHdvcmsgKi9cbi8qIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83ODEyNDY2NCAqL1xubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBzY3JvbGxiYXItY29sb3I6IHdoaXRlIHRyYW5zcGFyZW50O1xufVxubWFpbiBkaXYubWVzc2FnZXMtY29udGFpbmVyID4gZGl2Lm1lc3NhZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi8qIGxhbmRzY2FwZSAqL1xuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgbWFpbjo6YmVmb3JlIHtcbiAgICBsZWZ0OiBjYWxjKC0yMHZoICsgMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgbWFpbiBkaXYjY29udGFpbmVyIHtcbiAgICBsZWZ0OiBjYWxjKC0yMHZoICsgMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gIG1haW4gZGl2Lm1lc3NhZ2VzLWNvbnRhaW5lciB7XG4gICAgbGVmdDogY2FsYygxMDAlICsgdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbn1cbi8qIHBvcnRyYWl0IChtb2JpbGUpICovXG5AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86IDYvNSkge1xuICBtYWluIGRpdi5tZXNzYWdlcy1jb250YWluZXIge1xuICAgIGxlZnQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHRvcDogY2FsYygxMDAlICsgMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGhlaWdodDogbWF4KDEwcmVtLCBjYWxjKDEwMHZoIC0gMTAwJSkpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIG1haW4gZGl2Lm1lc3NhZ2VzLWNvbnRhaW5lciA+IGRpdi5tZXNzYWdlcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG4vKiBhbGwgdG9vbHRpcHM6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS82MDY2MDIwNyAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpLCAoaG92ZXI6IG5vbmUpIHtcbiAgbGFiZWxbZGF0YS1uYW1lXVt0aXRsZV06bm90KC5zYWtpLWNhcmQpOmZvY3VzOjpiZWZvcmUsXG4gIGxhYmVsW2RhdGEtbmFtZV1bdGl0bGVdOm5vdCguc2FraS1jYXJkKTpmb2N1czo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxlZnQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGNvbG9yOiB2YXIoLS10aWxlLWZyb250KTtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cbiAgbGFiZWxbZGF0YS1uYW1lXVt0aXRsZV06bm90KC5zYWtpLWNhcmQpOmZvY3VzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1uYW1lKTtcbiAgICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIHRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgMDtcbiAgfVxuICBsYWJlbFtkYXRhLW5hbWVdW3RpdGxlXTpub3QoLnNha2ktY2FyZCk6Zm9jdXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKHRpdGxlKTtcbiAgICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgdG9wOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG59XG5cbi8qIGdsb2JhbCBzdHlsZXMgKi9cblxuLyogc3RhbmRhcmRpemUgcGFkZGluZyAqL1xuc2VsZWN0LCBidXR0b24sIGlucHV0IHsgcGFkZGluZzogMCBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbi8qIHRvZ2dsZSBidXR0b25zICovXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7IGRpc3BsYXk6IG5vbmU7IH1cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiBncmF5O1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IDAgY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dCArIGxhYmVsIHsgYmFja2dyb3VuZDogZ3JheTsgfVxuaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHsgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1iYWNrKTsgfVxuLyogdGV4dGFyZWFzICovXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzZjNmM2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMyk7XG59XG50ZXh0YXJlYTo6LXdlYmtpdC1zY3JvbGxiYXIgeyBcbiAgZGlzcGxheTogbm9uZTsgLyogU2FmYXJpL0Nocm9tZSAqL1xufVxuLyogYnV0dG9ucyAqL1xuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gOCkgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpKVxuICAgICAgICAgIGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gOCkgMCB2YXIoLS10aWxlLWJhY2stc2lkZSkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC04KSk7XG59XG5idXR0b246YWN0aXZlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cbmJ1dHRvbjphY3RpdmU6OmJlZm9yZSxcbmJ1dHRvbjphY3RpdmU6OmJlZm9yZSB7XG4gIC8qIGFkZCBhIGNsaWNrYWJsZSBhcmVhIGFib3ZlIHRoZSBidXR0b24gKi9cbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG59XG4vKiBudW1lcmljIGlucHV0ICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHsgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH0gICAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIGhhbmRzICovXG5kaXYuaGFuZCwgZGl2LnRpbGVzLCBkaXYuY2FsbHMsIGRpdi5mbG93ZXJzLCBkaXYuY2FsbCwgZGl2LmRyYXdzLCBkaXYuYnV0dG9ucywgZGl2LmNhbGwtYnV0dG9ucywgYnV0dG9uLmNhbGwtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5oYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnNlbGYgeyB6LWluZGV4OiAxOyB9IC8qIHlvdXIgc3R1ZmYgZ29lcyBhYm92ZSBvdGhlciBwZW9wbGUncyBzdHVmZiAqL1xuZGl2LmhhbmQsIGRpdi5kcmF3cyB7IHotaW5kZXg6IDI7IH0gLyogc28gaWYgdGhleSBvdmVybGFwIHdpdGggY2FsbHMsIHRoZSBoYW5kIGdvZXMgb24gdG9wICovXG5kaXYuaGFuZC5zZWxmLCBkaXYuZHJhd3Muc2VsZiB7IHotaW5kZXg6IDM7IH0gLyogeW91ciBzdHVmZiBnb2VzIGFib3ZlIG90aGVyIHBlb3BsZSdzIHN0dWZmICovXG5kaXYudGlsZXMsIGRpdi5jYWxsLmFzaWRlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTcuNSAqIDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jYWxsLmFzaWRlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWF4LXdpZHRoOiBjYWxjKDUuNSAqIDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jYWxscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAwO1xufVxuZGl2LmNhbGwge1xuICAvKiB3ZSBuZWVkIHRoaXMgc2luY2UgdGhlIGNhbGxzIGNvbnRhaW5lciBpcyB6ZXJvIHdpZHRoICovXG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuZGl2LmZsb3dlcnMge1xuICByaWdodDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0yO1xufVxuLyogcmV2ZXJzZSB0aGUgei1pbmRleCBvZiBjYWxscyBzbyB0aGV5IG92ZXJsYXAgY29ycmVjdGx5ICovXG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogLTE7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMikgeyB6LWluZGV4OiAtMjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgzKSB7IHotaW5kZXg6IC0zOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTQ7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoNSkgeyB6LWluZGV4OiAtNTsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg2KSB7IHotaW5kZXg6IC02OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTc7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoOCkgeyB6LWluZGV4OiAtODsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg5KSB7IHotaW5kZXg6IC05OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC0xMDsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxMSkgeyB6LWluZGV4OiAtMTE7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTIpIHsgei1pbmRleDogLTEyOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IC0xMzsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNCkgeyB6LWluZGV4OiAtMTQ7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTUpIHsgei1pbmRleDogLTE1OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IC0xNjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNykgeyB6LWluZGV4OiAtMTc7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTgpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IC0xOTsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMCkgeyB6LWluZGV4OiAtMjA7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjEpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IC0yMjsgfVxuZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMykgeyB6LWluZGV4OiAtMjM7IH1cbmRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjQpIHsgei1pbmRleDogLTI0OyB9XG4vKiBzaGltb2NoYSdzIGNhbGxzIG92ZXJsYXAgaW4gdGhlIHJldmVyc2Ugb3JkZXIgKi9cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogLTI0OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyKSB7IHotaW5kZXg6IC0yMzsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMykgeyB6LWluZGV4OiAtMjI7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg1KSB7IHotaW5kZXg6IC0yMDsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoNikgeyB6LWluZGV4OiAtMTk7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCg4KSB7IHotaW5kZXg6IC0xNzsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoOSkgeyB6LWluZGV4OiAtMTY7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IC0xNTsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTEpIHsgei1pbmRleDogLTE0OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxMikgeyB6LWluZGV4OiAtMTM7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDEzKSB7IHotaW5kZXg6IC0xMjsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTQpIHsgei1pbmRleDogLTExOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNSkgeyB6LWluZGV4OiAtMTA7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE2KSB7IHotaW5kZXg6IC05OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgxNykgeyB6LWluZGV4OiAtODsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMTgpIHsgei1pbmRleDogLTc7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDE5KSB7IHotaW5kZXg6IC02OyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMCkgeyB6LWluZGV4OiAtNTsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjEpIHsgei1pbmRleDogLTQ7IH1cbmRpdi5zaGltb2NoYSBkaXYuY2FsbHMgPiBkaXY6bnRoLWNoaWxkKDIyKSB7IHotaW5kZXg6IC0zOyB9XG5kaXYuc2hpbW9jaGEgZGl2LmNhbGxzID4gZGl2Om50aC1jaGlsZCgyMykgeyB6LWluZGV4OiAtMjsgfVxuZGl2LnNoaW1vY2hhIGRpdi5jYWxscyA+IGRpdjpudGgtY2hpbGQoMjQpIHsgei1pbmRleDogLTE7IH1cbmRpdi5jYWxsLCBkaXYuZHJhd3MsIGRpdi53aW5uaW5nLXRpbGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC4zNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi53aW5uaW5nLXRpbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2Lndpbm5pbmctdGlsZS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MDAlO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAtMjAwJTtcbiAgY29sb3I6IHdoaXRlO1xufVxuZGl2LmhhbmQuc2VsZiB7XG4gIGJvdHRvbTogMDtcbn1cbmRpdi5oYW5kLnNlbGYgPiBkaXYudGlsZXMgPiBkaXYudGlsZSxcbmRpdi5oYW5kLnNlbGYgPiBkaXYuZHJhd3MgPiBkaXYudGlsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRpdi5oYW5kLnNoaW1vY2hhIHtcbiAgcmlnaHQ6IHZhcigtLXRpbGUtc2l6ZSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbn1cbmRpdi5oYW5kLnRvaW1lbiB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbmRpdi5oYW5kLmthbWljaGEge1xuICBsZWZ0OiB2YXIoLS10aWxlLXNpemUpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWChjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuZGl2LmhhbmQuc2VsZiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuY2FsbHM6aG92ZXIgeyB6LWluZGV4OiAxMDA7IH1cbmRpdi5kcmF3czo6YmVmb3JlLCBkaXYudGlsZXM6aG92ZXI6OmJlZm9yZSwgZGl2LmNhbGxzOmhvdmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygxMDAlICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuLyogdG9pbWVuJ3MgaGFuZCBjb3ZlcnMgc2hpbW8ncyBjYWxscyAqL1xuLyogYnV0IGlmIHdlIGxvd2VyIGl0cyB6LWluZGV4LCB0aGVuIHRvaW1lbidzIGNhbGxzIGFyZSBjb3ZlcmVkIGJ5IGthbWkgKi9cbi8qIGJlc3Qgd2F5IHRvIG1ha2Ugc2hpbW8ncyBkaXNjYXJkcyBjbGlja2FibGUgaXMgdG8gei1maWdodCAqL1xuZGl2LmhhbmQudG9pbWVuOmhvdmVyIHsgei1pbmRleDogLTE7IH1cbi8qIHNoaW1vIHVzZXMgbmVnYXRpdmUgei1pbmRleCBzbyB3ZSBuZWVkIHRvIGRvIHNvbWUgd2VpcmRuZXNzICovXG5kaXYuaGFuZC5zaGltb2NoYSBkaXYudGlsZXM6aG92ZXI6OmJlZm9yZSxcbmRpdi5oYW5kLnNoaW1vY2hhIGRpdi5jYWxsczpob3Zlcjo6YmVmb3JlIHsgei1pbmRleDogLTIwOyB9XG5kaXYuaGFuZC5zaGltb2NoYSBkaXYudGlsZXM6aG92ZXIgfiBkaXYuY2FsbHMgeyB6LWluZGV4OiAtNDA7IH1cbmRpdi5oYW5kLm1hcmtpbmcgeyB6LWluZGV4OiAxMDsgfVxuZGl2LmhhbmQubWFya2luZy5zZWxmIHsgei1pbmRleDogMTE7IH1cbmRpdi5oYW5kLm1hcmtpbmc6aG92ZXIgeyB6LWluZGV4OiAyMDsgfVxuLyogZGVhZCBoYW5kIGJ1dHRvbnMgKi9cbmRpdi5jYWxscyA+IGRpdi5kZWFkLWhhbmQtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtYmFjayk7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b24uaW5hY3RpdmUgeyBiYWNrZ3JvdW5kOiBncmF5OyBvcGFjaXR5OiAwLjU7IH1cbmRpdi5oYW5kLnNoaW1vY2hhIGRpdi5kZWFkLWhhbmQtYnV0dG9uIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5kaXYuaGFuZC50b2ltZW4gZGl2LmRlYWQtaGFuZC1idXR0b24geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuaGFuZC5rYW1pY2hhIGRpdi5kZWFkLWhhbmQtYnV0dG9uIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXHUyNjIwXCI7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjggKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMC4xICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCI/XCI7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKSwgY2FsYygtMC45ICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmNhbGxzID4gZGl2LmRlYWQtaGFuZC1idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIHRpbGUgYXR0cnMgKi9cbmRpdi50aWxlLnJldmVyc2VkIHsgdHJhbnNmb3JtOiBzY2FsZVgoLTEwMCUpOyB9XG5kaXYudGlsZS5pbmFjdGl2ZSB7IG9wYWNpdHk6IDAuNzsgLS10aWxlLWJyaWdodG5lc3M6IDYwJTsgfVxuZGl2LnRpbGUuaGlnaGxpZ2h0LFxuZGl2LnBvbmQuaGlnaGxpZ2h0IGRpdi50aWxlOmxhc3QtY2hpbGQge1xuICAtLXRpbGUtYnJpZ2h0bmVzczogODAlO1xuICAtLXRpbGUtc2F0dXJhdGU6IDEwMCU7XG59XG5kaXYudGlsZS50cmFuc3BhcmVudCB7XG4gIC0tdGlsZS1icmlnaHRuZXNzOiA4MCU7XG4gIC0tdGlsZS1zYXR1cmF0ZTogMjUwJTtcbiAgLS10aWxlLWJhY2s6IHZhcigtLXRpbGUtZnJvbnQpO1xuICAtLXRpbGUtYmFjay1zaWRlOiB2YXIoLS10aWxlLWZyb250LXNpZGUpO1xuICBvcGFjaXR5OiAwLjU7XG59XG5kaXYudGlsZS50cmFuc3BhcmVudC5oaWdobGlnaHQsXG5kaXYucG9uZC5oaWdobGlnaHQgZGl2LnRpbGUudHJhbnNwYXJlbnQ6bGFzdC1jaGlsZCB7IC0tdGlsZS1icmlnaHRuZXNzOiA0OCU7IH1cbmRpdi50aWxlLnRyYW5zcGFyZW50LmluYWN0aXZlIHsgb3BhY2l0eTogMC4zNTsgLS10aWxlLWJyaWdodG5lc3M6IDYwJTsgLS10aWxlLXNhdHVyYXRlOiAxMDAlOyB9XG5kaXYudGlsZS5oaWRkZW4geyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHRpbGUgbnVtYmVycyAqL1xuZGl2LnRpbGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuZGl2LnRpbGUub25lOjphZnRlciB7IGNvbnRlbnQ6IFwiMVwiOyB9XG5kaXYudGlsZS50d286OmFmdGVyIHsgY29udGVudDogXCIyXCI7IH1cbmRpdi50aWxlLnRocmVlOjphZnRlciB7IGNvbnRlbnQ6IFwiM1wiOyB9XG5kaXYudGlsZS5mb3VyOjphZnRlciB7IGNvbnRlbnQ6IFwiNFwiOyB9XG5kaXYudGlsZS5maXZlOjphZnRlciB7IGNvbnRlbnQ6IFwiNVwiOyB9XG5kaXYudGlsZS5zaXg6OmFmdGVyIHsgY29udGVudDogXCI2XCI7IH1cbmRpdi50aWxlLnNldmVuOjphZnRlciB7IGNvbnRlbnQ6IFwiN1wiOyB9XG5kaXYudGlsZS5laWdodDo6YWZ0ZXIgeyBjb250ZW50OiBcIjhcIjsgfVxuZGl2LnRpbGUubmluZTo6YWZ0ZXIgeyBjb250ZW50OiBcIjlcIjsgfVxuZGl2LnRpbGUudGVuOjphZnRlciB7IGNvbnRlbnQ6IFwiMTBcIjsgfVxuZGl2LnRpbGUuRTo6YWZ0ZXIgeyBjb250ZW50OiBcIkVcIjsgfVxuZGl2LnRpbGUuUzo6YWZ0ZXIgeyBjb250ZW50OiBcIlNcIjsgfVxuZGl2LnRpbGUuVzo6YWZ0ZXIgeyBjb250ZW50OiBcIldcIjsgfVxuZGl2LnRpbGUuTjo6YWZ0ZXIgeyBjb250ZW50OiBcIk5cIjsgfVxuZGl2LnRpbGUuV2g6OmFmdGVyIHsgY29udGVudDogXCJXaFwiOyB9XG5kaXYudGlsZS5HOjphZnRlciB7IGNvbnRlbnQ6IFwiR1wiOyB9XG5kaXYudGlsZS5SOjphZnRlciB7IGNvbnRlbnQ6IFwiUlwiOyB9XG5kaXYjY29udGFpbmVyID4gaW5wdXQudGlsZS1udW1iZXJzLWNoZWNrYm94OmNoZWNrZWQgfiAqIGRpdi50aWxlOjphZnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLW51bWJlci1jb2xvcik7XG4gIHRleHQtc2hhZG93OlxuICAgIDAuMTVlbSAwIDAgdmFyKC0tdGlsZS1mcm9udCksXG4gICAgLTAuMTVlbSAwIDAgdmFyKC0tdGlsZS1mcm9udCksXG4gICAgMCAwLjE1ZW0gMCB2YXIoLS10aWxlLWZyb250KSxcbiAgICAwIC0wLjE1ZW0gMCB2YXIoLS10aWxlLWZyb250KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjA0ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMC4wNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYjY29udGFpbmVyID4gaW5wdXQudGlsZS1udW1iZXJzLWNoZWNrYm94OmNoZWNrZWQgfiAqIGRpdi50aWxlLnNpZGV3YXlzOjphZnRlciB7XG4gIHRvcDogdW5zZXQ7XG4gIGJvdHRvbTogY2FsYygwLjA0ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi8qIHBvbmRzICovXG5kaXYucG9uZCwgZGl2LnNlY29uZGFyeS1wb25kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgLypmbGV4LWRpcmVjdGlvbjogcm93OyovXG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYygyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoLTIuNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5mb3VyLXJvd3MgPiBkaXYucG9uZCB7XG4gIHdpZHRoOiBjYWxjKDUuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYyg0ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZm91ci1yb3dzID4gZGl2LnNlY29uZGFyeS1wb25kIHtcbiAgd2lkdGg6IGNhbGMoNC4zNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2FsYygtMi4zNzUgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKC0yLjg3NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2Om5vdCguZm91ci1yb3dzKSA+IGRpdi5wb25kOjpiZWZvcmUsXG5kaXY6bm90KC5mb3VyLXJvd3MpID4gZGl2LnBvbmQ6OmFmdGVyIHsgY29udGVudDogXCJcIjsgd2lkdGg6IDEwMCU7IG9yZGVyOiAxOyB9XG4ucG9uZCA+IC50aWxlIHsgb3JkZXI6IDA7IH1cbi5wb25kID4gLnRpbGU6bnRoLWNoaWxkKG4rNykgeyBvcmRlcjogMTsgfVxuLnBvbmQgPiAudGlsZTpudGgtY2hpbGQobisxMykgeyBvcmRlcjogMjsgfVxuLyogZm9yIHRvaW1lbiwgdGhlaXIgdGlsZXMgb3ZlcmxhcCBiYWNrd2FyZHMsIHNvIHdlIG5lZWQgdG8gei1pbmRleCB0aGVtICovXG4ucG9uZC50b2ltZW4gPiAudGlsZSB7IHotaW5kZXg6IDM7IH1cbi5wb25kLnRvaW1lbiA+IC50aWxlOm50aC1jaGlsZChuKzcpIHsgei1pbmRleDogMjsgfVxuLnBvbmQudG9pbWVuID4gLnRpbGU6bnRoLWNoaWxkKG4rMTMpIHsgei1pbmRleDogMTsgfVxuLnBvbmQudG9pbWVuID4gLnRpbGU6bnRoLWNoaWxkKG4rMTkpIHsgei1pbmRleDogMDsgfVxuLnBvbmQudG9pbWVuLnNlY29uZGFyeS1wb25kID4gLnRpbGUgeyB6LWluZGV4OiAzOyB9XG4ucG9uZC50b2ltZW4uc2Vjb25kYXJ5LXBvbmQgPiAudGlsZTpudGgtY2hpbGQobis2KSB7IHotaW5kZXg6IDI7IH1cbi5wb25kLnRvaW1lbi5zZWNvbmRhcnktcG9uZCA+IC50aWxlOm50aC1jaGlsZChuKzExKSB7IHotaW5kZXg6IDE7IH1cbi5wb25kLnRvaW1lbi5zZWNvbmRhcnktcG9uZCA+IC50aWxlOm50aC1jaGlsZChuKzE2KSB7IHotaW5kZXg6IDA7IH1cbmRpdi5wb25kLnNlbGYge1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSArICgyLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgei1pbmRleDogMzsgLyogYWJvdmUgY29tcGFzcyAqL1xufVxuZGl2LnBvbmQuc2hpbW9jaGEge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSArICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5wb25kLnRvaW1lbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDIuMzc1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB0b3A6IGNhbGMoNTAlICsgKDIuNjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB6LWluZGV4OiAxOyAvKiBiZWxvdyBjb21wYXNzICovXG59XG5kaXYucG9uZC5rYW1pY2hhIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSArICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cblxuLyogbW9iaWxlIHpvb20gYnV0dG9uIGZvciBoYW5kICovXG4vKiBsYW5kc2NhcGUgKi9cbkBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogNi81KSB7XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94ICsgbGFiZWwgeyBkaXNwbGF5OiBub25lOyB9XG59XG4vKiBwb3J0cmFpdCAobW9iaWxlKSAqL1xuQG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgbWFpbiB7XG4gICAgLS1tb2JpbGUtc2NhbGUtZmFjdG9yOiAxLjU7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYygxLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgYm90dG9tOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgaGVpZ2h0OiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCA+IHN2ZzpmaXJzdC1jaGlsZCxcbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6Y2hlY2tlZCArIGxhYmVsID4gc3ZnOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogaG92ZXItem9vbSB2aWV3IG9mIG91ciBvd24gaGFuZCAqL1xuICBpbnB1dC5tb2JpbGUtem9vbS1jaGVja2JveDpub3QoOmNoZWNrZWQpIH4gZGl2LmhhbmQuc2VsZiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1tb2JpbGUtc2NhbGUtZmFjdG9yKSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDExICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXAtcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYgPiBkaXYudGlsZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LmNhbGxzIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKGNhbGMoMSAvIHZhcigtLW1vYmlsZS1zY2FsZS1mYWN0b3IpKSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICB9XG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LnRpbGVzOmhvdmVyOjpiZWZvcmUsXG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuaGFuZC5zZWxmID4gZGl2LmNhbGxzOmhvdmVyOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogbW92ZSBidXR0b25zIHVwICovXG4gIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuYnV0dG9ucyxcbiAgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5jYWxsLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBib3R0b206IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG4gIGRpdiNjb250YWluZXIubWluZWZpZWxkIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94ICsgbGFiZWwge1xuICAgIGJvdHRvbTogY2FsYyg3ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIH1cbiAgZGl2I2NvbnRhaW5lci5taW5lZmllbGQgaW5wdXQubW9iaWxlLXpvb20tY2hlY2tib3g6bm90KDpjaGVja2VkKSB+IGRpdi5oYW5kLnNlbGYgPiBkaXYuY2FsbHMgPiBkaXYuY2FsbC5hc2lkZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTIgKiB2YXIoLS10aWxlLXNpemUpKSkgc2NhbGUodmFyKC0tbW9iaWxlLXNjYWxlLWZhY3RvcikpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgfVxuICBkaXYjY29udGFpbmVyLm1pbmVmaWVsZCBpbnB1dC5tb2JpbGUtem9vbS1jaGVja2JveDpub3QoOmNoZWNrZWQpIH4gZGl2LmJ1dHRvbnMsXG4gIGRpdiNjb250YWluZXIubWluZWZpZWxkIGlucHV0Lm1vYmlsZS16b29tLWNoZWNrYm94Om5vdCg6Y2hlY2tlZCkgfiBkaXYuY2FsbC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgYm90dG9tOiBjYWxjKDUuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxufVxuXG4vKiBjb21wYXNzICovXG5kaXYuY29tcGFzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoNC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoNC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgyLjM3NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgyLjYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG59XG5kaXYuY29tcGFzczo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBncmF5O1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogLTI7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA0KSAwICMzRjNGM0YpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuc2NvcmUtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgxLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB0b3A6IGNhbGMoNTAlIC0gKDEuMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXI6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIGJsYWNrO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmRpdi5jb21wYXNzLmVhc3QgPiBkaXYuZGlyZWN0aW9uLmVhc3Qge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy5lYXN0ID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLmVhc3QgPiBkaXYuZGlyZWN0aW9uLndlc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuY29tcGFzcy5lYXN0ID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuZGl2LmNvbXBhc3Muc291dGggPiBkaXYuZGlyZWN0aW9uLmVhc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbmRpdi5jb21wYXNzLnNvdXRoID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy5zb3V0aCA+IGRpdi5kaXJlY3Rpb24ud2VzdCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLnNvdXRoID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbmRpdi5jb21wYXNzLndlc3QgPiBkaXYuZGlyZWN0aW9uLmVhc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5kaXYuY29tcGFzcy53ZXN0ID4gZGl2LmRpcmVjdGlvbi5zb3V0aCB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuZGl2LmNvbXBhc3Mud2VzdCA+IGRpdi5kaXJlY3Rpb24ud2VzdCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcy53ZXN0ID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbmRpdi5jb21wYXNzLm5vcnRoID4gZGl2LmRpcmVjdGlvbi5lYXN0IHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNvbXBhc3Mubm9ydGggPiBkaXYuZGlyZWN0aW9uLnNvdXRoIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuZGl2LmNvbXBhc3Mubm9ydGggPiBkaXYuZGlyZWN0aW9uLndlc3QgeyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbmRpdi5jb21wYXNzLm5vcnRoID4gZGl2LmRpcmVjdGlvbi5ub3J0aCB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygwLjMxMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMS4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiBkYXJrZ3JheTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5yaWljaGktdHJheS5oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkucmlpY2hpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgxICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBib3R0b206IGNhbGMoNTAlIC0gKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYucmlpY2hpLXRyYXkucmlpY2hpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMC4xICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsZWZ0OiBjYWxjKDUwJSAtICgwLjA1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBib3R0b206IGNhbGMoNTAlIC0gKDAuMDUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIGJhY2tncm91bmQ6IHJlZDtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi53aW5kLW1hcmtlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICB3aWR0aDogdmFyKC0tdGlsZS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS10aWxlLXNpemUpO1xuICBib3R0b206IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoLTAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LndpbmQtbWFya2VyLmhpZ2hsaWdodGVkIHtcbiAgY29sb3I6IHZhcigtLXRpbGUtYmFjayk7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYud2luZC1tYXJrZXIuYm90LFxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LndpbmQtbWFya2VyLmhpZ2hsaWdodGVkLmJvdCB7XG4gIGNvbG9yOiAjRkY3RjdGO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjYgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtYmFjayk7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXIuc2NpZW50aWZpYyB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyLnJlbGF0aXZlIHtcbiAgY29sb3I6IGxpZ2h0Z3JlZW47XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYuc2NvcmUtY291bnRlci5uZWdhdGl2ZSB7XG4gIGNvbG9yOiByZWQ7XG59XG5kaXYuY29tcGFzcyA+IGRpdi5kaXJlY3Rpb24gPiBkaXYuc2NvcmUtY291bnRlcjpob3ZlcixcbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyLnNjaWVudGlmaWM6aG92ZXIge1xuICB3aWR0aDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjI1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICBmb250LXNpemU6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICB6LWluZGV4OiAxMDtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmRpcmVjdGlvbiA+IGRpdi5zY29yZS1jb3VudGVyID4gYiB7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xufVxuZGl2LmNvbXBhc3MgPiBkaXYuZGlyZWN0aW9uID4gZGl2LnNjb3JlLWNvdW50ZXI6aG92ZXIgPiBiIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogYmxhY2s7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICM1RjVGNUY7XG4gIGJvcmRlcjogY2FsYygwLjU1ICogdmFyKC0tdGlsZS1zaXplKSkgcmlkZ2UgIzVGNUY1RjtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMC41NSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgdG9wOiBjYWxjKDUwJSAtICgwLjU1ICogdmFyKC0tdGlsZS1zaXplKSkpO1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5jb21wYXNzID4gZGl2LmNlbnRlcnBpZWNlID4gZGl2LnRpbGVzLWxlZnQ6bGFzdC1jaGlsZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5yaWljaGktc3RpY2stY291bnRlcixcbmRpdi5ob25iYS1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuMDc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDAuMDc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjE1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbi1jb250ZW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJpaWNoaS1zdGljay1jb3VudGVyIHsgYm90dG9tOiBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYuaG9uYmEtY291bnRlciB7IGJvdHRvbTogY2FsYygtMC4wNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYucmlpY2hpLXN0aWNrLWNvdW50ZXI6OmJlZm9yZSxcbmRpdi5yaWljaGktc3RpY2stY291bnRlcjo6YWZ0ZXIsXG5kaXYuaG9uYmEtY291bnRlcjo6YmVmb3JlLFxuZGl2LmhvbmJhLWNvdW50ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZ3JpZC1jb2x1bW46IDA7XG59XG5kaXYucmlpY2hpLXN0aWNrLWNvdW50ZXI6OmJlZm9yZSxcbmRpdi5ob25iYS1jb3VudGVyOjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjA4ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB6LWluZGV4OiAxO1xufVxuZGl2LnJpaWNoaS1zdGljay1jb3VudGVyOjphZnRlcixcbmRpdi5ob25iYS1jb3VudGVyOjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgZm9udC1zaXplOiBjYWxjKDAuMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMjtcbn1cbmRpdi5yaWljaGktc3RpY2stY291bnRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlx1MjAyMlwiO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4zOCAqIHZhcigtLXRpbGUtc2l6ZSkpKSB0cmFuc2xhdGVYKGNhbGMoLTAuMDMgKiB2YXIoLS10aWxlLXNpemUpKSkgcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIGNhbGMoMC4yICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiByZWQ7XG59XG5kaXYuaG9uYmEtY291bnRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlx1MjhGRlwiO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4zOCAqIHZhcigtLXRpbGUtc2l6ZSkpKSByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgY2FsYygwLjIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6ICMxODI4OTA7XG59XG4vKiBzb21ldGltZXMgdGhlIGNvbXBhc3MgZHVwbGljYXRlcyBpdHNlbGYsIHJlbW92ZSB0aGUgZHVwbGljYXRlICovXG5kaXYuY29tcGFzcyB+IGRpdi5jb21wYXNzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBjb3JuZXIgaW5mbyAqL1xuZGl2LmNvcm5lci1pbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAwRjtcbiAgY29sb3I6ICNGRkZGRkYzRjtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNhbGMoLTIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoLTIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHJpZ2h0OiBjYWxjKDIuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoMi41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSAtIDJlbSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAyO1xufVxuZGl2LmNvcm5lci1pbmZvOmhvdmVyIHsgei1pbmRleDogNTsgfSAvKiBob3ZlcmVkIGNvcm5lciBzaG91bGQgY292ZXIgb3RoZXIgY29ybmVycyAqL1xuZGl2LmNvcm5lci1pbmZvLnNoaW1vY2hhIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuZGl2LmNvcm5lci1pbmZvLnRvaW1lbiB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbmRpdi5jb3JuZXItaW5mby5rYW1pY2hhIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5kaXYuY29ybmVyLWluZm8gPiBkaXYucm91bmQtbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNTUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1iYWNrKTtcbiAgY29sb3I6IHZhcigtLXRpbGUtZnJvbnQpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKVxuICAgICAgICAgIGRyb3Atc2hhZG93KDAgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gMTYpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSk7XG4gIHdpZHRoOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygtMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmNvcm5lci1pbmZvID4gZGl2LnNha2ktY2FyZHMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQGtleWZyYW1lcyBhaVRoaW5raW5nIHtcbiAgMjUlIHsgY29udGVudDogXCIuXCI7IH1cbiAgNTAlIHsgY29udGVudDogXCIuLlwiOyB9XG4gIDc1JSB7IGNvbnRlbnQ6IFwiLi4uXCI7IH1cbn1cbmRpdi5jb3JuZXItaW5mbyA+IGRpdi5haS10aGlua2luZzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGJvdHRvbTogY2FsYyg1MCUgLSAwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYyg1MCUgLSAwLjQgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYW5pbWF0aW9uOiBhaVRoaW5raW5nIDNzIGxpbmVhciBmb3J3YXJkcyBpbmZpbml0ZTtcbn1cbmRpdi5jb3JuZXItaW5mby5zZWxmIHtcbiAgei1pbmRleDogNTsgLyogYWJvdmUgcG9uZCAqL1xufVxuXG4vKiB0aWxlcyAqL1xuZGl2LnRpbGUge1xuICAtLXRpbGUtc2NhbGUtZmFjdG9yOiAxO1xuICAtLXRpbGUtd2lkdGg6IGNhbGModmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpICogMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAtLXRpbGUtaGVpZ2h0OiBjYWxjKHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAqIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgLS10aWxlLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1udW1iZXItY29sb3I6IGJsYWNrO1xuICAtLWFrYS1jb2xvcjogI2Q3MWUxZTtcbiAgLS1nYWxheHktY29sb3I6ICM2N2I1ZWY7XG4gIC0tYW8tY29sb3I6ICMyZjUyOTg7XG4gIC0ta2luLWNvbG9yOiAjYzlhMTQ2O1xuICAtLWJvcmRlci13aWR0aDogY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1udW0tdGlsZXM6IDIxNDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tdGlsZS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tdGlsZS1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBcbiAgICB1cmwoXCIvaW1hZ2VzL3RpbGVzLnBuZ1wiKSwgXG4gICAgY29uaWMtZ3JhZGllbnQodmFyKC0tdGlsZS1jb2xvcikgMCAwKSxcbiAgICAvKiBmaWxsIGdhcCBiZXR3ZWVuIHRpbGUgZmFjZSBhbmQgdG9wIG9mIHRpbGUgKi9cbiAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgICAgMGRlZyxcbiAgICAgIHRyYW5zcGFyZW50IGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgICAgdHJhbnNwYXJlbnQgY2FsYyg1Ljc1ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgICB2YXIoLS10aWxlLWZyb250LXNpZGUpIGNhbGMoNS43NSAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgICAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSBjYWxjKDYgKiB2YXIoLS10aWxlLXNpemUpKVxuICAgICk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIGluaXRpYWwsIGluaXRpYWw7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAqIHZhcigtLW51bS10aWxlcykgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEwICogdmFyKC0tdGlsZS1zaXplKSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuZGl2LnRpbGUuZmxhdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgdXJsKFwiL2ltYWdlcy90aWxlcy5wbmdcIiksXG4gICAgY29uaWMtZ3JhZGllbnQodmFyKC0tdGlsZS1jb2xvcikgMCAwKTtcbn1cbi8qIGRvcmEgc2hpbmUgKi9cbkBrZXlmcmFtZXMgZG9yYVNoaW5lIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTEwMCUpIHJvdGF0ZSgxMzVkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSkgcm90YXRlKDEzNWRlZyk7IH1cbn1cbmRpdi50aWxlLmRvcmE6bm90KC5cXDMxIHgpOm5vdCguc2VsZWN0ZWQpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG5kaXYudGlsZS5kb3JhOm5vdCguXFwzMSB4KTpub3QoLnNlbGVjdGVkKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGFuaW1hdGlvbjogZG9yYVNoaW5lIDNzIGluZmluaXRlO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWRvcmEtYW5pbS1kZWxheSwgMG1zKTtcbiAgd2lkdGg6IDQwMCU7XG4gIGhlaWdodDogNDAwJTtcbiAgYmFja2dyb3VuZDogXG4gICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDI1JSwgI2ZmZmZmZjdmIDM1JSwgdHJhbnNwYXJlbnQgNDUlKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgNDUlLCAjZmZmZmZmN2YgNjUlLCB0cmFuc3BhcmVudCA4NSUpO1xufVxuZGl2LnRpbGUuc2lkZXdheXMgKyBkaXYudGlsZS5zaWRld2F5cyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLXRpbGUtaGVpZ2h0KSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbn1cbmRpdi50aWxlLnNpZGV3YXlzICsgZGl2LnRpbGUuc2lkZXdheXMgKyBkaXYudGlsZS5zaWRld2F5cyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xICogdmFyKC0tdGlsZS1oZWlnaHQpKSkgdHJhbnNsYXRlWShjYWxjKC0yICogdmFyKC0tdGlsZS13aWR0aCkpKTtcbn1cbmRpdi50aWxlLm1hcmthYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtLWJvcmRlci13aWR0aDogY2FsYygwLjA1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS10aWxlLWJhY2spO1xufVxuZGl2LnRpbGUubWFya2FibGU6aG92ZXIsIGRpdi50aWxlLm1hcmtlZCB7XG4gIC0tYm9yZGVyLXdpZHRoOiBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAtLWJvcmRlci1jb2xvcjogdmFyKC0tdGlsZS1iYWNrKTtcbn1cbmRpdi50aWxlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtMSAqIHZhcigtLXRpbGUtaW5kZXgpICogdmFyKC0tdGlsZS1zaXplKSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAtIHZhcigtLWJvcmRlci13aWR0aCkpOyB9XG5kaXYudGlsZS5zaWRld2F5cyB7IHdpZHRoOiB2YXIoLS10aWxlLWhlaWdodCk7IGhlaWdodDogdmFyKC0tdGlsZS13aWR0aCk7IGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygtMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkgKiB2YXIoLS10aWxlLXNjYWxlLWZhY3RvcikgLSB2YXIoLS1ib3JkZXItd2lkdGgpKTsgfVxuZGl2LnRpbGUuXFwzMCBtIHsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMDsgfVxuZGl2LnRpbGUuXFwzMSBtIHsgLS10aWxlLWluZGV4OiAxOyB9XG5kaXYudGlsZS5cXDMyIG0geyAtLXRpbGUtaW5kZXg6IDI7IH1cbmRpdi50aWxlLlxcMzMgbSB7IC0tdGlsZS1pbmRleDogMzsgfVxuZGl2LnRpbGUuXFwzNCBtIHsgLS10aWxlLWluZGV4OiA0OyB9XG5kaXYudGlsZS5cXDM1IG0geyAtLXRpbGUtaW5kZXg6IDU7IH1cbmRpdi50aWxlLlxcMzYgbSB7IC0tdGlsZS1pbmRleDogNjsgfVxuZGl2LnRpbGUuXFwzNyBtIHsgLS10aWxlLWluZGV4OiA3OyB9XG5kaXYudGlsZS5cXDM4IG0geyAtLXRpbGUtaW5kZXg6IDg7IH1cbmRpdi50aWxlLlxcMzkgbSB7IC0tdGlsZS1pbmRleDogOTsgfVxuZGl2LnRpbGUuXFwzMCBwIHsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTA7IH1cbmRpdi50aWxlLlxcMzEgcCB7IC0tdGlsZS1pbmRleDogMTE7IH1cbmRpdi50aWxlLlxcMzIgcCB7IC0tdGlsZS1pbmRleDogMTI7IH1cbmRpdi50aWxlLlxcMzMgcCB7IC0tdGlsZS1pbmRleDogMTM7IH1cbmRpdi50aWxlLlxcMzQgcCB7IC0tdGlsZS1pbmRleDogMTQ7IH1cbmRpdi50aWxlLlxcMzUgcCB7IC0tdGlsZS1pbmRleDogMTU7IH1cbmRpdi50aWxlLlxcMzYgcCB7IC0tdGlsZS1pbmRleDogMTY7IH1cbmRpdi50aWxlLlxcMzcgcCB7IC0tdGlsZS1pbmRleDogMTc7IH1cbmRpdi50aWxlLlxcMzggcCB7IC0tdGlsZS1pbmRleDogMTg7IH1cbmRpdi50aWxlLlxcMzkgcCB7IC0tdGlsZS1pbmRleDogMTk7IH1cbmRpdi50aWxlLlxcMzAgcyB7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOyB9XG5kaXYudGlsZS5cXDMxIHMgeyAtLXRpbGUtaW5kZXg6IDIxOyB9XG5kaXYudGlsZS5cXDMyIHMgeyAtLXRpbGUtaW5kZXg6IDIyOyB9XG5kaXYudGlsZS5cXDMzIHMgeyAtLXRpbGUtaW5kZXg6IDIzOyB9XG5kaXYudGlsZS5cXDM0IHMgeyAtLXRpbGUtaW5kZXg6IDI0OyB9XG5kaXYudGlsZS5cXDM1IHMgeyAtLXRpbGUtaW5kZXg6IDI1OyB9XG5kaXYudGlsZS5cXDM2IHMgeyAtLXRpbGUtaW5kZXg6IDI2OyB9XG5kaXYudGlsZS5cXDM3IHMgeyAtLXRpbGUtaW5kZXg6IDI3OyB9XG5kaXYudGlsZS5cXDM4IHMgeyAtLXRpbGUtaW5kZXg6IDI4OyB9XG5kaXYudGlsZS5cXDM5IHMgeyAtLXRpbGUtaW5kZXg6IDI5OyB9XG5kaXYudGlsZS5cXDMxIHogeyAtLXRpbGUtaW5kZXg6IDMwOyB9XG5kaXYudGlsZS5cXDMyIHogeyAtLXRpbGUtaW5kZXg6IDMxOyB9XG5kaXYudGlsZS5cXDMzIHogeyAtLXRpbGUtaW5kZXg6IDMyOyB9XG5kaXYudGlsZS5cXDM0IHogeyAtLXRpbGUtaW5kZXg6IDMzOyB9XG5kaXYudGlsZS5cXDM1IHosIGRpdi50aWxlLlxcMzEgeC50cmFuc3BhcmVudCB7IC0tdGlsZS1pbmRleDogMzQ7IH1cbmRpdi50aWxlLlxcMzYgeiB7IC0tdGlsZS1pbmRleDogMzU7IH1cbmRpdi50aWxlLlxcMzcgeiB7IC0tdGlsZS1pbmRleDogMzY7IH1cbmRpdi50aWxlLlxcMzAgeiB7IC0tdGlsZS1pbmRleDogMzc7IH1cbmRpdi50aWxlLlxcMzggeiB7IC0tdGlsZS1pbmRleDogMzg7IH1cbmRpdi50aWxlLlxcMzkgeiB7IC0tdGlsZS1pbmRleDogMzk7IH1cbmRpdi50aWxlLlxcMzAgXFwzMCBzIHsgLS10aWxlLWluZGV4OiA0MDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMwIG0geyAtLXRpbGUtaW5kZXg6IDQxOyB9XG5kaXYudGlsZS5cXDMxIFxcMzAgcCB7IC0tdGlsZS1pbmRleDogNDI7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCBzIHsgLS10aWxlLWluZGV4OiA0MzsgfVxuZGl2LnRpbGUuXFwzMSB4IHsgLS10aWxlLWluZGV4OiA0NDsgfVxuZGl2LnRpbGUuXFwzMSBmIHsgLS10aWxlLWluZGV4OiA0NTsgfVxuZGl2LnRpbGUuXFwzMiBmIHsgLS10aWxlLWluZGV4OiA0NjsgfVxuZGl2LnRpbGUuXFwzMyBmIHsgLS10aWxlLWluZGV4OiA0NzsgfVxuZGl2LnRpbGUuXFwzNCBmIHsgLS10aWxlLWluZGV4OiA0ODsgfVxuZGl2LnRpbGUuXFwzMSBnIHsgLS10aWxlLWluZGV4OiA0OTsgfVxuZGl2LnRpbGUuXFwzMiBnIHsgLS10aWxlLWluZGV4OiA1MDsgfVxuZGl2LnRpbGUuXFwzMyBnIHsgLS10aWxlLWluZGV4OiA1MTsgfVxuZGl2LnRpbGUuXFwzNCBnIHsgLS10aWxlLWluZGV4OiA1MjsgfVxuZGl2LnRpbGUuXFwzMSBhIHsgLS10aWxlLWluZGV4OiA1MzsgfVxuZGl2LnRpbGUuXFwzMiBhIHsgLS10aWxlLWluZGV4OiA1NDsgfVxuZGl2LnRpbGUuXFwzMyBhIHsgLS10aWxlLWluZGV4OiA1NTsgfVxuZGl2LnRpbGUuXFwzNCBhIHsgLS10aWxlLWluZGV4OiA1NjsgfVxuZGl2LnRpbGUuXFwzMSBrIHsgLS10aWxlLWluZGV4OiA1NzsgfVxuZGl2LnRpbGUuXFwzMiBrIHsgLS10aWxlLWluZGV4OiA1ODsgfVxuZGl2LnRpbGUuXFwzMyBrIHsgLS10aWxlLWluZGV4OiA1OTsgfVxuZGl2LnRpbGUuXFwzNCBrIHsgLS10aWxlLWluZGV4OiA2MDsgfVxuZGl2LnRpbGUuXFwzMSBxIHsgLS10aWxlLWluZGV4OiA2MTsgfVxuZGl2LnRpbGUuXFwzMiBxIHsgLS10aWxlLWluZGV4OiA2MjsgfVxuZGl2LnRpbGUuXFwzMyBxIHsgLS10aWxlLWluZGV4OiA2MzsgfVxuZGl2LnRpbGUuXFwzNCBxIHsgLS10aWxlLWluZGV4OiA2NDsgfVxuZGl2LnRpbGUuXFwzMSB5IHsgLS10aWxlLWluZGV4OiA2NTsgfVxuZGl2LnRpbGUuXFwzMSB0IHsgLS10aWxlLWluZGV4OiA2NjsgfVxuZGl2LnRpbGUuXFwzMiB0IHsgLS10aWxlLWluZGV4OiA2NzsgfVxuZGl2LnRpbGUuXFwzMyB0IHsgLS10aWxlLWluZGV4OiA2ODsgfVxuZGl2LnRpbGUuXFwzNCB0IHsgLS10aWxlLWluZGV4OiA2OTsgfVxuZGl2LnRpbGUuXFwzNSB0IHsgLS10aWxlLWluZGV4OiA3MDsgfVxuZGl2LnRpbGUuXFwzNiB0IHsgLS10aWxlLWluZGV4OiA3MTsgfVxuZGl2LnRpbGUuXFwzNyB0IHsgLS10aWxlLWluZGV4OiA3MjsgfVxuZGl2LnRpbGUuXFwzOCB0IHsgLS10aWxlLWluZGV4OiA3MzsgfVxuZGl2LnRpbGUuXFwzOSB0IHsgLS10aWxlLWluZGV4OiA3NDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMwIHQgeyAtLXRpbGUtaW5kZXg6IDc1OyB9XG5kaXYudGlsZS5cXDMxIGogeyAtLXRpbGUtaW5kZXg6IDc2OyB9XG5kaXYudGlsZS5cXDMwIGogeyAtLXRpbGUtaW5kZXg6IDc3OyB9XG5kaXYudGlsZS5cXDMyIGogeyAtLXRpbGUtaW5kZXg6IDc4OyB9XG5kaXYudGlsZS5cXDM5IGogeyAtLXRpbGUtaW5kZXg6IDc5OyB9XG5kaXYudGlsZS5cXDM0IGogeyAtLXRpbGUtaW5kZXg6IDgwOyB9XG5kaXYudGlsZS5cXDM1IGogeyAtLXRpbGUtaW5kZXg6IDgxOyB9XG5kaXYudGlsZS5cXDM2IGosIGRpdi50aWxlLlxcMzEgXFwzNiBqIHsgLS10aWxlLWluZGV4OiA4MjsgfVxuZGl2LnRpbGUuXFwzNyBqIHsgLS10aWxlLWluZGV4OiA4MzsgfVxuZGl2LnRpbGUuXFwzOCBqIHsgLS10aWxlLWluZGV4OiA4NDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMwIGogeyAtLXRpbGUtaW5kZXg6IDg1OyB9XG5kaXYudGlsZS5cXDMxIFxcMzIgaiB7IC0tdGlsZS1pbmRleDogODY7IH1cbmRpdi50aWxlLlxcMzMgaiwgZGl2LnRpbGUuXFwzMSBcXDMzIGogeyAtLXRpbGUtaW5kZXg6IDg3OyB9XG5kaXYudGlsZS5cXDMxIFxcMzQgaiB7IC0tdGlsZS1pbmRleDogODg7IH1cbmRpdi50aWxlLlxcMzEgXFwzNSBqIHsgLS10aWxlLWluZGV4OiA4OTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM3IGogeyAtLXRpbGUtaW5kZXg6IDkwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzggaiB7IC0tdGlsZS1pbmRleDogOTE7IH1cbmRpdi50aWxlLlxcMzEgXFwzOSBqIHsgLS10aWxlLWluZGV4OiA5MjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IGogeyAtLXRpbGUtaW5kZXg6IDkzOyB9XG5kaXYudGlsZS5cXDM0IFxcMzYgaiB7IC0tdGlsZS1pbmRleDogOTQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzNCBcXDM3IGogeyAtLXRpbGUtaW5kZXg6IDk1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgXFwzOCBqIHsgLS10aWxlLWluZGV4OiA5NjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM2IFxcMzkgaiB7IC0tdGlsZS1pbmRleDogOTc7IH1cbmRpdi50aWxlLlxcMzcgXFwzOCBcXDM5IGogeyAtLXRpbGUtaW5kZXg6IDk4OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgXFwzNiBqIHsgLS10aWxlLWluZGV4OiA5OTsgfVxuZGl2LnRpbGUuXFwzMSBcXDMyIFxcMzMgaiB7IC0tdGlsZS1pbmRleDogMTAwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgaiB7IC0tdGlsZS1pbmRleDogMTAxOyB9XG5kaXYudGlsZS5cXDMyIFxcMzIgaiB7IC0tdGlsZS1pbmRleDogMTAyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzAgaiB7IC0tdGlsZS1pbmRleDogMTAzOyB9XG5kaXYudGlsZS5cXDM5IFxcMzEgaiB7IC0tdGlsZS1pbmRleDogMTA0OyB9XG5kaXYudGlsZS5cXDM2IFxcMzQgaiB7IC0tdGlsZS1pbmRleDogMTA1OyB9XG5kaXYudGlsZS5cXDM3IFxcMzMgaiB7IC0tdGlsZS1pbmRleDogMTA2OyB9XG5kaXYudGlsZS5cXDM4IFxcMzUgXFwzMiBqIHsgLS10aWxlLWluZGV4OiAxMDc7IH1cbmRpdi50aWxlLlxcMzMgXFwzMCBqIHsgLS10aWxlLWluZGV4OiAxMDg7IH1cbmRpdi50aWxlLlxcMzMgXFwzMSBqIHsgLS10aWxlLWluZGV4OiAxMDk7IH1cbmRpdi50aWxlLlxcMzMgXFwzMiBqIHsgLS10aWxlLWluZGV4OiAxMTA7IH1cbmRpdi50aWxlLlxcMzMgXFwzMyBqIHsgLS10aWxlLWluZGV4OiAxMTE7IH1cbmRpdi50aWxlLlxcMzMgXFwzNCBqIHsgLS10aWxlLWluZGV4OiAxMTI7IH1cbmRpdi50aWxlLlxcMzIgeSB7IC0tdGlsZS1pbmRleDogMTEzOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY0OyB9XG5kaXYudGlsZS5cXDMwIFxcMzIgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY1OyB9XG5kaXYudGlsZS5cXDMwIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY2OyB9XG5kaXYudGlsZS5cXDMwIFxcMzQgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY3OyB9XG5kaXYudGlsZS5cXDMwIFxcMzUgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY4OyB9XG5kaXYudGlsZS5cXDMwIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY5OyB9XG5kaXYudGlsZS5cXDMwIFxcMzcgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTcwOyB9XG5kaXYudGlsZS5cXDMwIFxcMzggbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTcxOyB9XG5kaXYudGlsZS5cXDMwIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTcyOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgXFwzMCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzM7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzQ7IH1cbmRpdi50aWxlLlxcMzAgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzU7IH1cbmRpdi50aWxlLlxcMzAgXFwzMyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzY7IH1cbmRpdi50aWxlLlxcMzAgXFwzNCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzc7IH1cbmRpdi50aWxlLlxcMzAgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzg7IH1cbmRpdi50aWxlLlxcMzAgXFwzNiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzk7IH1cbmRpdi50aWxlLlxcMzAgXFwzNyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODA7IH1cbmRpdi50aWxlLlxcMzAgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODE7IH1cbmRpdi50aWxlLlxcMzAgXFwzOSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODI7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBcXDMwIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4MzsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NDsgfVxuZGl2LnRpbGUuXFwzMCBcXDMyIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMzIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NjsgfVxuZGl2LnRpbGUuXFwzMCBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4ODsgfVxuZGl2LnRpbGUuXFwzMCBcXDM2IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4OTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MDsgfVxuZGl2LnRpbGUuXFwzMCBcXDM4IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM5IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkzOyB9XG5kaXYudGlsZS5cXDMwIFxcMzEgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk0OyB9XG5kaXYudGlsZS5cXDMwIFxcMzIgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDMwIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk2OyB9XG5kaXYudGlsZS5cXDMwIFxcMzQgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk3OyB9XG5kaXYudGlsZS5cXDMwIFxcMzUgdCwgZGl2LnRpbGUuXFwzMCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTg7IH1cbmRpdi50aWxlLlxcMzAgXFwzNiB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTk7IH1cbmRpdi50aWxlLlxcMzAgXFwzNyB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDA7IH1cbmRpdi50aWxlLlxcMzAgXFwzOCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDE7IH1cbmRpdi50aWxlLlxcMzAgXFwzOSB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDI7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBcXDMwIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMzsgfVxuZGl2LnRpbGUuXFwzMCBcXDMwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNDsgfVxuZGl2LnRpbGUuXFwzMCBcXDMxIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNTsgfVxuZGl2LnRpbGUuXFwzMCBcXDMyIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMzIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM0IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwODsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM2IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMDsgfVxuZGl2LnRpbGUuXFwzMCBcXDM3IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMTsgfVxuZGl2LnRpbGUuXFwzMCBcXDM4IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMCBcXDMwIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEzOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE0OyB9XG5kaXYudGlsZS5cXDMxIFxcMzIgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE1OyB9XG5kaXYudGlsZS5cXDMxIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE2OyB9XG5kaXYudGlsZS5cXDMxIFxcMzQgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE3OyB9XG5kaXYudGlsZS5cXDMxIFxcMzUgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE4OyB9XG5kaXYudGlsZS5cXDMxIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTE5OyB9XG5kaXYudGlsZS5cXDMxIFxcMzcgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTIwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzggbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTIxOyB9XG5kaXYudGlsZS5cXDMxIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTIyOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgXFwzMCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjM7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjU7IH1cbmRpdi50aWxlLlxcMzEgXFwzMyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjY7IH1cbmRpdi50aWxlLlxcMzEgXFwzNCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjc7IH1cbmRpdi50aWxlLlxcMzEgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjg7IH1cbmRpdi50aWxlLlxcMzEgXFwzNiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMjk7IH1cbmRpdi50aWxlLlxcMzEgXFwzNyBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMzA7IH1cbmRpdi50aWxlLlxcMzEgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMzE7IH1cbmRpdi50aWxlLlxcMzEgXFwzOSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxMzI7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSBcXDMwIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzMzsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzNDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMyIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzNTsgfVxuZGl2LnRpbGUuXFwzMSBcXDMzIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzNjsgfVxuZGl2LnRpbGUuXFwzMSBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzNzsgfVxuZGl2LnRpbGUuXFwzMSBcXDM1IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzODsgfVxuZGl2LnRpbGUuXFwzMSBcXDM2IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDEzOTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE0MDsgfVxuZGl2LnRpbGUuXFwzMSBcXDM4IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE0MTsgfVxuZGl2LnRpbGUuXFwzMSBcXDM5IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE0MjsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQzOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ0OyB9XG5kaXYudGlsZS5cXDMxIFxcMzIgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ1OyB9XG5kaXYudGlsZS5cXDMxIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ2OyB9XG5kaXYudGlsZS5cXDMxIFxcMzQgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ3OyB9XG5kaXYudGlsZS5cXDMxIFxcMzUgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ4OyB9XG5kaXYudGlsZS5cXDMxIFxcMzYgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTQ5OyB9XG5kaXYudGlsZS5cXDMxIFxcMzcgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTUwOyB9XG5kaXYudGlsZS5cXDMxIFxcMzggdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTUxOyB9XG5kaXYudGlsZS5cXDMxIFxcMzkgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tdGlsZS1pbmRleDogMTUyOyB9XG5kaXYudGlsZS5cXDMxIFxcMzEgXFwzMCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTM7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTQ7IH1cbmRpdi50aWxlLlxcMzEgXFwzMSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTU7IH1cbmRpdi50aWxlLlxcMzEgXFwzMiB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTY7IH1cbmRpdi50aWxlLlxcMzEgXFwzMyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTc7IH1cbmRpdi50aWxlLlxcMzEgXFwzNCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTg7IH1cbmRpdi50aWxlLlxcMzEgXFwzNSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNTk7IH1cbmRpdi50aWxlLlxcMzEgXFwzNiB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNjA7IH1cbmRpdi50aWxlLlxcMzEgXFwzNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNjE7IH1cbmRpdi50aWxlLlxcMzEgXFwzOCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNjI7IH1cbmRpdi50aWxlLlxcMzEgXFwzMCBcXDMwIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWdhbGF4eS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2MzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNjQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2NjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNjc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTY4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2OTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzA7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBtIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTcxOyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3MjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3MzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3NjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxNzc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3OTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHAgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODA7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTgxOyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4MjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4MzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTg1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTg4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4OTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTA7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTkxOyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzMiB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzMgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NjsgfVxuZGl2LnRpbGUuXFwzMiBcXDM0IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTk4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzYgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5OTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM3IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDA7IH1cbmRpdi50aWxlLlxcMzIgXFwzOCB0IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAxOyB9XG5kaXYudGlsZS5cXDMyIFxcMzkgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMxIFxcMzAgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMzsgfVxuZGl2LnRpbGUuXFwzMiBcXDMwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDQ7IH1cbmRpdi50aWxlLlxcMzIgXFwzMSB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA1OyB9XG5kaXYudGlsZS5cXDMyIFxcMzIgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwNjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMzIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDc7IH1cbmRpdi50aWxlLlxcMzIgXFwzNCB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA4OyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuZGl2LnRpbGUuXFwzMiBcXDM2IHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTA7IH1cbmRpdi50aWxlLlxcMzIgXFwzNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjExOyB9XG5kaXYudGlsZS5cXDMyIFxcMzggeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzMiBcXDMwIFxcMzAgcyB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMzsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2NDsgfVxuZGl2LnRpbGUuXFwzMyBcXDMyIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2NTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMzIG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2NjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM0IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2NzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM1IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2ODsgfVxuZGl2LnRpbGUuXFwzMyBcXDM2IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE2OTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3MDsgfVxuZGl2LnRpbGUuXFwzMyBcXDM4IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3MTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM5IG0geyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE3MjsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIFxcMzAgbSB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTczOyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzIgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc1OyB9XG5kaXYudGlsZS5cXDMzIFxcMzMgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc2OyB9XG5kaXYudGlsZS5cXDMzIFxcMzQgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc3OyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc4OyB9XG5kaXYudGlsZS5cXDMzIFxcMzYgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTc5OyB9XG5kaXYudGlsZS5cXDMzIFxcMzcgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTgwOyB9XG5kaXYudGlsZS5cXDMzIFxcMzggcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTgxOyB9XG5kaXYudGlsZS5cXDMzIFxcMzkgcCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMTgyOyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgXFwzMCBwIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODM7IH1cbmRpdi50aWxlLlxcMzMgXFwzMSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODQ7IH1cbmRpdi50aWxlLlxcMzMgXFwzMiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODU7IH1cbmRpdi50aWxlLlxcMzMgXFwzMyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODY7IH1cbmRpdi50aWxlLlxcMzMgXFwzNCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODc7IH1cbmRpdi50aWxlLlxcMzMgXFwzNSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODg7IH1cbmRpdi50aWxlLlxcMzMgXFwzNiBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODk7IH1cbmRpdi50aWxlLlxcMzMgXFwzNyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTA7IH1cbmRpdi50aWxlLlxcMzMgXFwzOCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTE7IH1cbmRpdi50aWxlLlxcMzMgXFwzOSBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxOTI7IH1cbmRpdi50aWxlLlxcMzMgXFwzMSBcXDMwIHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5MzsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NDsgfVxuZGl2LnRpbGUuXFwzMyBcXDMyIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NTsgfVxuZGl2LnRpbGUuXFwzMyBcXDMzIHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NjsgfVxuZGl2LnRpbGUuXFwzMyBcXDM0IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5NzsgfVxuZGl2LnRpbGUuXFwzMyBcXDM1IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5ODsgfVxuZGl2LnRpbGUuXFwzMyBcXDM2IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE5OTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM3IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMDsgfVxuZGl2LnRpbGUuXFwzMyBcXDM4IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMTsgfVxuZGl2LnRpbGUuXFwzMyBcXDM5IHQgeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIwMjsgfVxuZGl2LnRpbGUuXFwzMyBcXDMxIFxcMzAgdCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjAzOyB9XG5kaXYudGlsZS5cXDMzIFxcMzAgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA1OyB9XG5kaXYudGlsZS5cXDMzIFxcMzIgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA2OyB9XG5kaXYudGlsZS5cXDMzIFxcMzMgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA3OyB9XG5kaXYudGlsZS5cXDMzIFxcMzQgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA4OyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA5OyB9XG5kaXYudGlsZS5cXDMzIFxcMzYgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEwOyB9XG5kaXYudGlsZS5cXDMzIFxcMzcgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjExOyB9XG5kaXYudGlsZS5cXDMzIFxcMzggeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDMzIFxcMzAgXFwzMCBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTM7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBtIHsgLS10aWxlLWluZGV4OiAxMTQ7IH1cbmRpdi50aWxlLlxcMzQgXFwzMiBtIHsgLS10aWxlLWluZGV4OiAxMTU7IH1cbmRpdi50aWxlLlxcMzQgXFwzMyBtIHsgLS10aWxlLWluZGV4OiAxMTY7IH1cbmRpdi50aWxlLlxcMzQgXFwzNCBtIHsgLS10aWxlLWluZGV4OiAxMTc7IH1cbmRpdi50aWxlLlxcMzQgXFwzNSBtIHsgLS10aWxlLWluZGV4OiAxMTg7IH1cbmRpdi50aWxlLlxcMzQgXFwzNiBtIHsgLS10aWxlLWluZGV4OiAxMTk7IH1cbmRpdi50aWxlLlxcMzQgXFwzNyBtIHsgLS10aWxlLWluZGV4OiAxMjA7IH1cbmRpdi50aWxlLlxcMzQgXFwzOCBtIHsgLS10aWxlLWluZGV4OiAxMjE7IH1cbmRpdi50aWxlLlxcMzQgXFwzOSBtIHsgLS10aWxlLWluZGV4OiAxMjI7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBcXDMwIG0geyAtLXRpbGUtaW5kZXg6IDEyMzsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIHAgeyAtLXRpbGUtaW5kZXg6IDEyNDsgfVxuZGl2LnRpbGUuXFwzNCBcXDMyIHAgeyAtLXRpbGUtaW5kZXg6IDEyNTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMzIHAgeyAtLXRpbGUtaW5kZXg6IDEyNjsgfVxuZGl2LnRpbGUuXFwzNCBcXDM0IHAgeyAtLXRpbGUtaW5kZXg6IDEyNzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM1IHAgeyAtLXRpbGUtaW5kZXg6IDEyODsgfVxuZGl2LnRpbGUuXFwzNCBcXDM2IHAgeyAtLXRpbGUtaW5kZXg6IDEyOTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM3IHAgeyAtLXRpbGUtaW5kZXg6IDEzMDsgfVxuZGl2LnRpbGUuXFwzNCBcXDM4IHAgeyAtLXRpbGUtaW5kZXg6IDEzMTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM5IHAgeyAtLXRpbGUtaW5kZXg6IDEzMjsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIFxcMzAgcCB7IC0tdGlsZS1pbmRleDogMTMzOyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgcyB7IC0tdGlsZS1pbmRleDogMTM0OyB9XG5kaXYudGlsZS5cXDM0IFxcMzIgcyB7IC0tdGlsZS1pbmRleDogMTM1OyB9XG5kaXYudGlsZS5cXDM0IFxcMzMgcyB7IC0tdGlsZS1pbmRleDogMTM2OyB9XG5kaXYudGlsZS5cXDM0IFxcMzQgcyB7IC0tdGlsZS1pbmRleDogMTM3OyB9XG5kaXYudGlsZS5cXDM0IFxcMzUgcyB7IC0tdGlsZS1pbmRleDogMTM4OyB9XG5kaXYudGlsZS5cXDM0IFxcMzYgcyB7IC0tdGlsZS1pbmRleDogMTM5OyB9XG5kaXYudGlsZS5cXDM0IFxcMzcgcyB7IC0tdGlsZS1pbmRleDogMTQwOyB9XG5kaXYudGlsZS5cXDM0IFxcMzggcyB7IC0tdGlsZS1pbmRleDogMTQxOyB9XG5kaXYudGlsZS5cXDM0IFxcMzkgcyB7IC0tdGlsZS1pbmRleDogMTQyOyB9XG5kaXYudGlsZS5cXDM0IFxcMzEgXFwzMCBzIHsgLS10aWxlLWluZGV4OiAxNDM7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSB0IHsgLS10aWxlLWluZGV4OiAxNDQ7IH1cbmRpdi50aWxlLlxcMzQgXFwzMiB0IHsgLS10aWxlLWluZGV4OiAxNDU7IH1cbmRpdi50aWxlLlxcMzQgXFwzMyB0IHsgLS10aWxlLWluZGV4OiAxNDY7IH1cbmRpdi50aWxlLlxcMzQgXFwzNCB0IHsgLS10aWxlLWluZGV4OiAxNDc7IH1cbmRpdi50aWxlLlxcMzQgXFwzNSB0IHsgLS10aWxlLWluZGV4OiAxNDg7IH1cbmRpdi50aWxlLlxcMzQgXFwzNiB0IHsgLS10aWxlLWluZGV4OiAxNDk7IH1cbmRpdi50aWxlLlxcMzQgXFwzNyB0IHsgLS10aWxlLWluZGV4OiAxNTA7IH1cbmRpdi50aWxlLlxcMzQgXFwzOCB0IHsgLS10aWxlLWluZGV4OiAxNTE7IH1cbmRpdi50aWxlLlxcMzQgXFwzOSB0IHsgLS10aWxlLWluZGV4OiAxNTI7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBcXDMwIHQgeyAtLXRpbGUtaW5kZXg6IDE1MzsgfVxuZGl2LnRpbGUuXFwzNCBcXDMwIHogeyAtLXRpbGUtaW5kZXg6IDE1NDsgfVxuZGl2LnRpbGUuXFwzNCBcXDMxIHogeyAtLXRpbGUtaW5kZXg6IDE1NTsgfVxuZGl2LnRpbGUuXFwzNCBcXDMyIHogeyAtLXRpbGUtaW5kZXg6IDE1NjsgfVxuZGl2LnRpbGUuXFwzNCBcXDMzIHogeyAtLXRpbGUtaW5kZXg6IDE1NzsgfVxuZGl2LnRpbGUuXFwzNCBcXDM0IHogeyAtLXRpbGUtaW5kZXg6IDE1ODsgfVxuZGl2LnRpbGUuXFwzNCBcXDM1IHogeyAtLXRpbGUtaW5kZXg6IDE1OTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM2IHogeyAtLXRpbGUtaW5kZXg6IDE2MDsgfVxuZGl2LnRpbGUuXFwzNCBcXDM3IHogeyAtLXRpbGUtaW5kZXg6IDE2MTsgfVxuZGl2LnRpbGUuXFwzNCBcXDM4IHogeyAtLXRpbGUtaW5kZXg6IDE2MjsgfVxuZGl2LnRpbGUuXFwzNCBcXDMwIFxcMzAgcyB7IC0tdGlsZS1pbmRleDogMTYzOyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgbSB7IC0tdGlsZS1pbmRleDogMTY0OyB9XG5kaXYudGlsZS5cXDM1IFxcMzIgbSB7IC0tdGlsZS1pbmRleDogMTY1OyB9XG5kaXYudGlsZS5cXDM1IFxcMzMgbSB7IC0tdGlsZS1pbmRleDogMTY2OyB9XG5kaXYudGlsZS5cXDM1IFxcMzQgbSB7IC0tdGlsZS1pbmRleDogMTY3OyB9XG5kaXYudGlsZS5cXDM1IFxcMzUgbSB7IC0tdGlsZS1pbmRleDogMTY4OyB9XG5kaXYudGlsZS5cXDM1IFxcMzYgbSB7IC0tdGlsZS1pbmRleDogMTY5OyB9XG5kaXYudGlsZS5cXDM1IFxcMzcgbSB7IC0tdGlsZS1pbmRleDogMTcwOyB9XG5kaXYudGlsZS5cXDM1IFxcMzggbSB7IC0tdGlsZS1pbmRleDogMTcxOyB9XG5kaXYudGlsZS5cXDM1IFxcMzkgbSB7IC0tdGlsZS1pbmRleDogMTcyOyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgXFwzMCBtIHsgLS10aWxlLWluZGV4OiAxNzM7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSBwIHsgLS10aWxlLWluZGV4OiAxNzQ7IH1cbmRpdi50aWxlLlxcMzUgXFwzMiBwIHsgLS10aWxlLWluZGV4OiAxNzU7IH1cbmRpdi50aWxlLlxcMzUgXFwzMyBwIHsgLS10aWxlLWluZGV4OiAxNzY7IH1cbmRpdi50aWxlLlxcMzUgXFwzNCBwIHsgLS10aWxlLWluZGV4OiAxNzc7IH1cbmRpdi50aWxlLlxcMzUgXFwzNSBwIHsgLS10aWxlLWluZGV4OiAxNzg7IH1cbmRpdi50aWxlLlxcMzUgXFwzNiBwIHsgLS10aWxlLWluZGV4OiAxNzk7IH1cbmRpdi50aWxlLlxcMzUgXFwzNyBwIHsgLS10aWxlLWluZGV4OiAxODA7IH1cbmRpdi50aWxlLlxcMzUgXFwzOCBwIHsgLS10aWxlLWluZGV4OiAxODE7IH1cbmRpdi50aWxlLlxcMzUgXFwzOSBwIHsgLS10aWxlLWluZGV4OiAxODI7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSBcXDMwIHAgeyAtLXRpbGUtaW5kZXg6IDE4MzsgfVxuZGl2LnRpbGUuXFwzNSBcXDMxIHMgeyAtLXRpbGUtaW5kZXg6IDE4NDsgfVxuZGl2LnRpbGUuXFwzNSBcXDMyIHMgeyAtLXRpbGUtaW5kZXg6IDE4NTsgfVxuZGl2LnRpbGUuXFwzNSBcXDMzIHMgeyAtLXRpbGUtaW5kZXg6IDE4NjsgfVxuZGl2LnRpbGUuXFwzNSBcXDM0IHMgeyAtLXRpbGUtaW5kZXg6IDE4NzsgfVxuZGl2LnRpbGUuXFwzNSBcXDM1IHMgeyAtLXRpbGUtaW5kZXg6IDE4ODsgfVxuZGl2LnRpbGUuXFwzNSBcXDM2IHMgeyAtLXRpbGUtaW5kZXg6IDE4OTsgfVxuZGl2LnRpbGUuXFwzNSBcXDM3IHMgeyAtLXRpbGUtaW5kZXg6IDE5MDsgfVxuZGl2LnRpbGUuXFwzNSBcXDM4IHMgeyAtLXRpbGUtaW5kZXg6IDE5MTsgfVxuZGl2LnRpbGUuXFwzNSBcXDM5IHMgeyAtLXRpbGUtaW5kZXg6IDE5MjsgfVxuZGl2LnRpbGUuXFwzNSBcXDMxIFxcMzAgcyB7IC0tdGlsZS1pbmRleDogMTkzOyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgdCB7IC0tdGlsZS1pbmRleDogMTk0OyB9XG5kaXYudGlsZS5cXDM1IFxcMzIgdCB7IC0tdGlsZS1pbmRleDogMTk1OyB9XG5kaXYudGlsZS5cXDM1IFxcMzMgdCB7IC0tdGlsZS1pbmRleDogMTk2OyB9XG5kaXYudGlsZS5cXDM1IFxcMzQgdCB7IC0tdGlsZS1pbmRleDogMTk3OyB9XG5kaXYudGlsZS5cXDM1IFxcMzUgdCB7IC0tdGlsZS1pbmRleDogMTk4OyB9XG5kaXYudGlsZS5cXDM1IFxcMzYgdCB7IC0tdGlsZS1pbmRleDogMTk5OyB9XG5kaXYudGlsZS5cXDM1IFxcMzcgdCB7IC0tdGlsZS1pbmRleDogMjAwOyB9XG5kaXYudGlsZS5cXDM1IFxcMzggdCB7IC0tdGlsZS1pbmRleDogMjAxOyB9XG5kaXYudGlsZS5cXDM1IFxcMzkgdCB7IC0tdGlsZS1pbmRleDogMjAyOyB9XG5kaXYudGlsZS5cXDM1IFxcMzEgXFwzMCB0IHsgLS10aWxlLWluZGV4OiAyMDM7IH1cbmRpdi50aWxlLlxcMzUgXFwzMCB6IHsgLS10aWxlLWluZGV4OiAyMDQ7IH1cbmRpdi50aWxlLlxcMzUgXFwzMSB6IHsgLS10aWxlLWluZGV4OiAyMDU7IH1cbmRpdi50aWxlLlxcMzUgXFwzMiB6IHsgLS10aWxlLWluZGV4OiAyMDY7IH1cbmRpdi50aWxlLlxcMzUgXFwzMyB6IHsgLS10aWxlLWluZGV4OiAyMDc7IH1cbmRpdi50aWxlLlxcMzUgXFwzNCB6IHsgLS10aWxlLWluZGV4OiAyMDg7IH1cbmRpdi50aWxlLlxcMzUgXFwzNSB6IHsgLS10aWxlLWluZGV4OiAyMDk7IH1cbmRpdi50aWxlLlxcMzUgXFwzNiB6IHsgLS10aWxlLWluZGV4OiAyMTA7IH1cbmRpdi50aWxlLlxcMzUgXFwzNyB6IHsgLS10aWxlLWluZGV4OiAyMTE7IH1cbmRpdi50aWxlLlxcMzUgXFwzOCB6IHsgLS10aWxlLWluZGV4OiAyMTI7IH1cbmRpdi50aWxlLlxcMzUgXFwzMCBcXDMwIHMgeyAtLXRpbGUtaW5kZXg6IDIxMzsgfVxuZGl2LnRpbGUuXFwzMiB4IHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9IC8qIGJsYW5rIHNwYWNlICovXG5kaXYudGlsZS5cXDMzIHggeyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtd2lkdGgpKTsgfSAvKiBoYWxmIGJsYW5rIHNwYWNlICovXG5kaXYudGlsZS5cXDM0IHggeyBkaXNwbGF5OiBub25lOyB9IC8qIGZ1bGx5IGludmlzaWJsZSB0aWxlICovXG5kaXYudGlsZS5cXDM1IHggeyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXdpZHRoKSk7IH0gLyogcXVhcnRlciBibGFuayBzcGFjZSAqL1xuZGl2LnRpbGUuXFwzNiB4IHsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtd2lkdGgpKTsgfSAvKiBlaWdodGggYmxhbmsgc3BhY2UgKi9cbmRpdi50aWxlLlxcMzcgeCB7IHZpc2liaWxpdHk6IGhpZGRlbjsgd2lkdGg6IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS13aWR0aCkpOyB9IC8qIHNpeHRlZW50aCBibGFuayBzcGFjZSAqL1xuZGl2LnRpbGUuXFwzOCB4IHsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogY2FsYygwLjAzMTI1ICogdmFyKC0tdGlsZS13aWR0aCkpOyB9IC8qIDMydGggYmxhbmsgc3BhY2UgKi9cbi8qIHB1bmN0dWF0aW9uIG5hbWVzIGZvciBhbHQgdGlsZXMgKi9cbi8qIGFsdGVybmF0ZSAxczogMSdzICovXG5kaXYudGlsZS5cXDMxIFxcMjcgcyB7IC0tdGlsZS1pbmRleDogNDA7IH1cbmRpdi50aWxlLlxcMzAgXFwzMSBcXDI3IHMgeyAtLXRpbGUtY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLXRpbGUtaW5kZXg6IDE4NDsgfVxuZGl2LnRpbGUuXFwzMSBcXDMxIFxcMjcgcyB7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDMyIFxcMzEgXFwyNyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMTg0OyB9XG5kaXYudGlsZS5cXDMzIFxcMzEgXFwyNyBzIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAxODQ7IH1cbmRpdi50aWxlLlxcMzQgXFwzMSBcXDI3IHMgeyAtLXRpbGUtaW5kZXg6IDE4NDsgfVxuLyogYWx0ZXJuYXRlIDB6OiA1J3ogKi9cbmRpdi50aWxlLlxcMzUgXFwyNyB6IHsgLS10aWxlLWluZGV4OiAzNzsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IFxcMjcgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA5OyB9XG5kaXYudGlsZS5cXDMyIFxcMzUgXFwyNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1hby1jb2xvcik7IC0tdGlsZS1pbmRleDogMjA5OyB9XG5kaXYudGlsZS5cXDMzIFxcMzUgXFwyNyB6IHsgLS10aWxlLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMDk7IH1cbmRpdi50aWxlLlxcMzQgXFwzNSBcXDI3IHogeyAtLXRpbGUtaW5kZXg6IDIwOTsgfVxuLyogbWFsYXlzaWFuIDB6OiA1YHogKi9cbmRpdi50aWxlLlxcMzUgXFw2MCB6IHsgLS10aWxlLWluZGV4OiAzODsgfVxuZGl2LnRpbGUuXFwzMCBcXDM1IFxcNjAgeiB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFrYS1jb2xvcik7IC0tdGlsZS1pbmRleDogMjEyOyB9XG5kaXYudGlsZS5cXDMxIFxcMzUgXFw2MCB6IHsgLS10aWxlLWluZGV4OiAxNjI7IH1cbmRpdi50aWxlLlxcMzIgXFwzNSBcXDYwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWFvLWNvbG9yKTsgLS10aWxlLWluZGV4OiAyMTI7IH1cbmRpdi50aWxlLlxcMzMgXFwzNSBcXDYwIHogeyAtLXRpbGUtY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IC0tbnVtYmVyLWNvbG9yOiB2YXIoLS1raW4tY29sb3IpOyAtLXRpbGUtaW5kZXg6IDIxMjsgfVxuZGl2LnRpbGUuXFwzNCBcXDM1IFxcNjAgeiB7IC0tdGlsZS1pbmRleDogMjEyOyB9XG4vKiBzaGlybyBwb2NjaGk6IDVeeiAqL1xuZGl2LnRpbGUuXFwzNSBcXDVlIHogeyAtLXRpbGUtaW5kZXg6IDM5OyB9XG5cbi8qIGZhY2Vkb3duIHRpbGVzIHNob3VsZCBtYXRjaCAxeCAqL1xuZGl2LnRpbGUuZmFjZWRvd24geyAtLXRpbGUtaW5kZXg6IDQ0OyB9XG5cbi8qIGN1c3RvbSBjb2xvcmluZyAqL1xuZGl2LnRpbGUucmVkIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1ha2EtY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYWthLWNvbG9yKTsgfVxuZGl2LnRpbGUuYmx1ZSB7IC0tdGlsZS1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tYW8tY29sb3IpOyB9XG5kaXYudGlsZS5jeWFuIHsgLS10aWxlLWNvbG9yOiB2YXIoLS1nYWxheHktY29sb3IpOyAtLW51bWJlci1jb2xvcjogdmFyKC0tZ2FsYXh5LWNvbG9yKTsgfVxuZGl2LnRpbGUuZ29sZCB7IC0tdGlsZS1jb2xvcjogdmFyKC0ta2luLWNvbG9yKTsgLS1udW1iZXItY29sb3I6IHZhcigtLWtpbi1jb2xvcik7IH1cbmRpdi50aWxlLm9yYW5nZSB7IC0tdGlsZS1jb2xvcjogb3JhbmdlOyB9XG5kaXYudGlsZS55ZWxsb3cgeyAtLXRpbGUtY29sb3I6IHllbGxvdzsgfVxuZGl2LnRpbGUuZ3JlZW4geyAtLXRpbGUtY29sb3I6IGdyZWVuOyAtLW51bWJlci1jb2xvcjogZ3JlZW47IH1cbmRpdi50aWxlLmxpZ2h0Ymx1ZSB7IC0tdGlsZS1jb2xvcjogbGlnaHRibHVlOyB9XG5kaXYudGlsZS5wdXJwbGUgeyAtLXRpbGUtY29sb3I6IHB1cnBsZTsgLS1udW1iZXItY29sb3I6IHB1cnBsZTsgfVxuZGl2LnRpbGUuZ3JheSB7IC0tdGlsZS1jb2xvcjogZ3JheTsgLS1udW1iZXItY29sb3I6IGdyYXk7IH1cbmRpdi50aWxlLmdyZXkgeyAtLXRpbGUtY29sb3I6IGdyZXk7IC0tbnVtYmVyLWNvbG9yOiBncmV5OyB9XG5kaXYudGlsZS5saWdodGdyYXkgeyAtLXRpbGUtY29sb3I6IGxpZ2h0Z3JheTsgfVxuZGl2LnRpbGUubGlnaHRncmV5IHsgLS10aWxlLWNvbG9yOiBsaWdodGdyZXk7IH1cbmRpdi50aWxlLmJyb3duIHsgLS10aWxlLWNvbG9yOiBicm93bjsgLS1udW1iZXItY29sb3I6IGJyb3duOyB9XG5kaXYudGlsZS5waW5rIHsgLS10aWxlLWNvbG9yOiBwaW5rOyB9XG5kaXYudGlsZS5ibGFjayB7IC0tdGlsZS1jb2xvcjogYmxhY2s7IC0tbnVtYmVyLWNvbG9yOiBibGFjazsgfVxuZGl2LnRpbGUud2hpdGUgeyAtLXRpbGUtY29sb3I6IHdoaXRlOyB9XG5kaXYudGlsZS5yYWluYm93IHtcbiAgLyogZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjQxODc2My8gKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy90aWxlcy5wbmdcIiksIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgMTgwZGVnLFxuICAgIHJnYmEoMjU1LCAwLCAwLCAxKSAwJSxcbiAgICByZ2JhKDI1NSwgMTU0LCAwLCAxKSBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoMjA4LCAyMjIsIDMzLCAxKSBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoNzksIDIyMCwgNzQsIDEpIGNhbGMoMC4zICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSg2MywgMjE4LCAyMTYsIDEpIGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSg0NywgMjAxLCAyMjYsIDEpIGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSgyOCwgMTI3LCAyMzgsIDEpIGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSksXG4gICAgcmdiYSg5NSwgMjEsIDI0MiwgMSkgY2FsYygwLjcgKiB2YXIoLS10aWxlLXNpemUpKSxcbiAgICByZ2JhKDE4NiwgMTIsIDI0OCwgMSkgY2FsYygwLjggKiB2YXIoLS10aWxlLXNpemUpKSxcbiAgICByZ2JhKDI1MSwgNywgMjE3LCAxKSBjYWxjKDAuOSAqIHZhcigtLXRpbGUtc2l6ZSkpLFxuICAgIHJnYmEoMjU1LCAwLCAwLCAxKSBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKVxuICApO1xufVxuLyogdGlsZSBhbmltYXRpb25zICovXG5Aa2V5ZnJhbWVzIHJhaW5ib3dBbmltIHtcbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC0xICogdmFyKC0tdGlsZS1pbmRleCkgKiB2YXIoLS10aWxlLXNpemUpICogdmFyKC0tdGlsZS1zY2FsZS1mYWN0b3IpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSksIGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB9XG59XG5kaXYudGlsZS5yYWluYm93LmFuaW0ge1xuICAvKiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU2NDE4NzYzLyAqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS10aWxlLWluZGV4KSAqIHZhcigtLXRpbGUtc2l6ZSkgKiB2YXIoLS10aWxlLXNjYWxlLWZhY3RvcikgLSB2YXIoLS1ib3JkZXItd2lkdGgpKSwgY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGFuaW1hdGlvbjogcmFpbmJvd0FuaW0gNHMgbGluZWFyIGZvcndhcmRzIGluZmluaXRlO1xufVxuLyogdGlsZSAzZCAqL1xuZGl2LnRpbGUge1xuICAtLXRpbGUtYnJpZ2h0bmVzczogMTAwJTtcbiAgLS10aWxlLXNhdHVyYXRlOiAxMDAlO1xuICBmaWx0ZXI6IGJyaWdodG5lc3ModmFyKC0tdGlsZS1icmlnaHRuZXNzKSkgc2F0dXJhdGUodmFyKC0tdGlsZS1zYXR1cmF0ZSkpO1xufVxuZGl2LnRpbGU6bm90KC5mbGF0KSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC04KSAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSxcbiAgICAgICAgICAgICAgMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC00KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpO1xufVxuZGl2LmhhbmQuc2VsZiBkaXYudGlsZXMgPiBkaXYudGlsZS5zZWxlY3RlZCxcbmRpdi5oYW5kLnNlbGYgZGl2LmRyYXdzID4gZGl2LnRpbGUuc2VsZWN0ZWQge1xuICAvKiB0aGlzIGlzIGhlcmUgdG8gb3ZlcnJpZGUgdGhlIHRyYW5zbGF0ZVooMCkgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5oYW5kLnNlbGYgZGl2LnRpbGVzID4gZGl2LnRpbGUuc2VsZWN0ZWQ6OmJlZm9yZSxcbmRpdi5oYW5kLnNlbGYgZGl2LmRyYXdzID4gZGl2LnRpbGUuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gIC8qIGFkZCBhIGNsaWNrYWJsZSBhcmVhIHVuZGVyIHRoZSB0aWxlICovXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi50aWxlLnNpZGV3YXlzOm5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTE2KSAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSxcbiAgICAgICAgICAgICAgMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIC04KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpO1xufVxuZGl2LnBvbmQuc2VsZiBkaXYudGlsZTpub3QoLmZsYXQpLFxuZGl2LnNlbGYgZGl2LmZsb3dlcnMgZGl2LnRpbGU6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA4KSAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSxcbiAgICAgICAgICAgICAgMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDQpIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSk7XG59XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTgpIDAgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpIDAgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKTtcbn1cbmRpdi5rYW1pY2hhIGRpdi50aWxlOm5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDgpIDAgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkgMCAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpO1xufVxuZGl2LnRpbGUucmV2ZXJzZWQ6bm90KC5mbGF0KSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xMDAlKSB0cmFuc2xhdGVZKGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTQpKSB0cmFuc2xhdGVaKDApO1xuICBib3gtc2hhZG93OiAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gOCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA0KSAwIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpO1xufVxuZGl2LnBvbmQuc2VsZiBkaXYudGlsZS5yZXZlcnNlZDpub3QoLmZsYXQpIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEwMCUpIHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkpIHRyYW5zbGF0ZVooMCk7XG59XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGUucmV2ZXJzZWQ6bm90KC5mbGF0KSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xMDAlKSB0cmFuc2xhdGVYKGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkpIHRyYW5zbGF0ZVooMCk7XG59XG5kaXYua2FtaWNoYSBkaXYudGlsZS5yZXZlcnNlZDpub3QoLmZsYXQpIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEwMCUpIHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkpIHRyYW5zbGF0ZVooMCk7XG59XG4vKiBzaGltb2NoYSdzIHRpbGVzIG5lZWQgdG8gb3ZlcmxhcCBpbiB0aGUgcmV2ZXJzZSBvcmRlciAqL1xuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyKSB7IHotaW5kZXg6IC0xOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDMpIHsgei1pbmRleDogLTI7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoNCkgeyB6LWluZGV4OiAtMzsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCg1KSB7IHotaW5kZXg6IC00OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDYpIHsgei1pbmRleDogLTU7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoNykgeyB6LWluZGV4OiAtNjsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCg4KSB7IHotaW5kZXg6IC03OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDkpIHsgei1pbmRleDogLTg7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTApIHsgei1pbmRleDogLTk7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTEpIHsgei1pbmRleDogLTEwOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDEyKSB7IHotaW5kZXg6IC0xMTsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxMykgeyB6LWluZGV4OiAtMTI7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTQpIHsgei1pbmRleDogLTEzOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDE1KSB7IHotaW5kZXg6IC0xNDsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxNikgeyB6LWluZGV4OiAtMTU7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMTcpIHsgei1pbmRleDogLTE2OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDE4KSB7IHotaW5kZXg6IC0xNzsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgxOSkgeyB6LWluZGV4OiAtMTg7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjApIHsgei1pbmRleDogLTE5OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDIxKSB7IHotaW5kZXg6IC0yMDsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyMikgeyB6LWluZGV4OiAtMjE7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjMpIHsgei1pbmRleDogLTIyOyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDI0KSB7IHotaW5kZXg6IC0yMzsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyNSkgeyB6LWluZGV4OiAtMjQ7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjYpIHsgei1pbmRleDogLTI1OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDI3KSB7IHotaW5kZXg6IC0yNjsgfVxuZGl2LnNoaW1vY2hhIGRpdi50aWxlOm50aC1jaGlsZCgyOCkgeyB6LWluZGV4OiAtMjc7IH1cbmRpdi5zaGltb2NoYSBkaXYudGlsZTpudGgtY2hpbGQoMjkpIHsgei1pbmRleDogLTI4OyB9XG5kaXYuc2hpbW9jaGEgZGl2LnRpbGU6bnRoLWNoaWxkKDMwKSB7IHotaW5kZXg6IC0yOTsgfVxuLyogc2VsZidzIHRpbGVzIG5lZWQgdG8gb3ZlcmxhcCBpbiB0aGUgZm9yd2FyZCBvcmRlciAqL1xuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDEpIHsgei1pbmRleDogMDsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDIpIHsgei1pbmRleDogMTsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDMpIHsgei1pbmRleDogMjsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDQpIHsgei1pbmRleDogMzsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDUpIHsgei1pbmRleDogNDsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDYpIHsgei1pbmRleDogNTsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDcpIHsgei1pbmRleDogNjsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDgpIHsgei1pbmRleDogNzsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDkpIHsgei1pbmRleDogODsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDEwKSB7IHotaW5kZXg6IDk7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxMSkgeyB6LWluZGV4OiAxMDsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDEyKSB7IHotaW5kZXg6IDExOyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTMpIHsgei1pbmRleDogMTI7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxNCkgeyB6LWluZGV4OiAxMzsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDE1KSB7IHotaW5kZXg6IDE0OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTYpIHsgei1pbmRleDogMTU7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgxNykgeyB6LWluZGV4OiAxNjsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDE4KSB7IHotaW5kZXg6IDE3OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMTkpIHsgei1pbmRleDogMTg7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyMCkgeyB6LWluZGV4OiAxOTsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDIxKSB7IHotaW5kZXg6IDIwOyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjIpIHsgei1pbmRleDogMjE7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyMykgeyB6LWluZGV4OiAyMjsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDI0KSB7IHotaW5kZXg6IDIzOyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjUpIHsgei1pbmRleDogMjQ7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyNikgeyB6LWluZGV4OiAyNTsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDI3KSB7IHotaW5kZXg6IDI2OyB9XG5kaXYuc2VsZiBkaXYudGlsZTpudGgtY2hpbGQoMjgpIHsgei1pbmRleDogMjc7IH1cbmRpdi5zZWxmIGRpdi50aWxlOm50aC1jaGlsZCgyOSkgeyB6LWluZGV4OiAyODsgfVxuZGl2LnNlbGYgZGl2LnRpbGU6bnRoLWNoaWxkKDMwKSB7IHotaW5kZXg6IDI5OyB9XG5cbi8qIGFsbCAzZCBlZmZlY3RzIHNob3VsZCBoYXZlIHJldmVyc2VkIGNvbG9yIGZvciB1cHNpZGUgZG93biB0aWxlcyAqL1xuZGl2LnRpbGUuXFwzMSB4Om5vdCguZmxhdCkge1xuICBib3gtc2hhZG93OiAwIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTgpIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG5kaXYudGlsZS5cXDMxIHguc2lkZXdheXM6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtMTYpIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtOCkgMCAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSk7XG59XG5kaXYucG9uZC5zZWxmIGRpdi50aWxlLlxcMzEgeDpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDgpIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA0KSAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKTtcbn1cbmRpdi5zaGltb2NoYSBkaXYudGlsZS5cXDMxIHg6bm90KC5mbGF0KSB7XG4gIGJveC1zaGFkb3c6IGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gLTgpIDAgMCAwIHZhcigtLXRpbGUtYmFjay1zaWRlKSxcbiAgICAgICAgICAgICAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyAtNCkgMCAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKTtcbn1cbmRpdi5rYW1pY2hhIGRpdi50aWxlLlxcMzEgeDpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA4KSAwIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIGNhbGModmFyKC0tdGlsZS1oZWlnaHQpIC8gNCkgMCAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKTtcbn1cbi8qIGZhY2Vkb3duIHRpbGVzIGluIGhhbmQgc2hvdWxkIGxvb2sgZmFjZWRvd24gKi9cbmRpdi50aWxlcyBkaXYudGlsZS5mYWNlZG93bjpub3QoLmZsYXQpIHtcbiAgYm94LXNoYWRvdzogMCBjYWxjKHZhcigtLXRpbGUtaGVpZ2h0KSAvIDgpIDAgMCB2YXIoLS10aWxlLWJhY2stc2lkZSksXG4gICAgICAgICAgICAgIDAgY2FsYyh2YXIoLS10aWxlLWhlaWdodCkgLyA0KSAwIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKTtcbn1cblxuXG5cbi8qIHRpbGUgYW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyB0aWxlUGxheWVkIHtcbiAgNjclIHtcbiAgICB3aWR0aDogdmFyKC0tdGlsZS13aWR0aCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cbmRpdi50aWxlLnJlbW92ZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYW5pbWF0aW9uOiB0aWxlUGxheWVkIDAuNzVzIGVhc2UgZm9yd2FyZHM7XG59XG5kaXYudGlsZS5yZW1vdmVkIH4gZGl2LnRpbGUuZHJhdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLyogdGlsZXMganVzdCBkaXNjYXJkZWQgaW4gcG9uZCAqL1xuQGtleWZyYW1lcyBzbGlkZVVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHt9XG59XG5kaXYucG9uZCA+IGRpdi50aWxlLmp1c3QtcGxheWVkOmxhc3QtY2hpbGQge1xuICBhbmltYXRpb246IHNsaWRlVXAgMC4ycyBlYXNlIGZvcndhcmRzO1xufVxuLyogdGlsZXMganVzdCBwbGF5ZWQgaW4gaGFuZCAqL1xuQGtleWZyYW1lcyBzbGlkZVVwMiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMiAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5kaXYudGlsZS5wbGF5ZWQge1xuICBhbmltYXRpb246IHNsaWRlVXAyIDAuMnMgZWFzZSBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge31cbn1cbmRpdi5oYW5kLmp1c3QtZHJldyA+IGRpdi5kcmF3cyA+IGRpdi50aWxlIHtcbiAgYW5pbWF0aW9uOiBzbGlkZUxlZnQgMC4ycyBlYXNlIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTYgKiB2YXIoLS10aWxlLXNpemUpKSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHt9XG59XG5kaXYuaGFuZC5qdXN0LWNhbGxlZCA+IGRpdi5jYWxscyA+IGRpdi5jYWxsLmp1c3QtY2FsbGVkLFxuZGl2LmhhbmQuanVzdC1jYWxsZWQtZmxvd2VyID4gZGl2LmZsb3dlcnMgPiBkaXYudGlsZTpsYXN0LWNoaWxkIHtcbiAgYW5pbWF0aW9uOiBzbGlkZVJpZ2h0IDAuNHMgZWFzZSBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTMgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlRG93bjIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTQgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEgKiB2YXIoLS10aWxlLWhlaWdodCkpKSB0cmFuc2xhdGVZKGNhbGMoLTIgKiB2YXIoLS10aWxlLXdpZHRoKSkpO1xuICB9XG59XG5kaXYuaGFuZC5qdXN0LXVwZ3JhZGVkID4gZGl2LmNhbGxzID4gZGl2LmNhbGwuanVzdC11cGdyYWRlZCBkaXYudGlsZS5zaWRld2F5cyArIGRpdi50aWxlLmxhc3Qtc2lkZXdheXM6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogc2xpZGVEb3duIDAuMnMgZWFzZSBmb3J3YXJkcztcbn1cbmRpdi5oYW5kLmp1c3QtdXBncmFkZWQgPiBkaXYuY2FsbHMgPiBkaXYuY2FsbC5qdXN0LXVwZ3JhZGVkIGRpdi50aWxlLnNpZGV3YXlzICsgZGl2LnRpbGUuc2lkZXdheXMgKyBkaXYudGlsZS5sYXN0LXNpZGV3YXlzOjpiZWZvcmUge1xuICBhbmltYXRpb246IHNsaWRlRG93bjIgMC4ycyBlYXNlIGZvcndhcmRzO1xufVxuXG5cbi8qIGJ1dHRvbnMsIGF1dG8gYnV0dG9ucywgYW5kIGNhbGwgY2hvaWNlIGJ1dHRvbnMgKi9cbmRpdi5idXR0b25zLCBkaXYuY2FsbC1idXR0b25zLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB6LWluZGV4OiAxMDtcbn1cbmRpdiNjb250YWluZXIubWluZWZpZWxkIGRpdi5idXR0b25zLCBkaXYjY29udGFpbmVyLm1pbmVmaWVsZCBkaXYuY2FsbC1idXR0b25zLWNvbnRhaW5lciB7XG4gIGJvdHRvbTogY2FsYygyLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogYXV0bztcbn1cbmRpdi5jYWxsLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICByb3ctZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoNC41ICogdmFyKC0tdGlsZS1zaXplKSk7IC8qIG1ha2Ugcm9vbSBmb3IgJ2NhbmNlbCcgYnV0dG9uICovXG59XG5kaXYuYnV0dG9ucywgZGl2LmNhbGwtYnV0dG9ucyB7XG4gIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5kaXYuY2FsbC1idXR0b25zID4gZGl2LnRpbGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5jYWxsLWJ1dHRvbnMgPiBkaXYuY2FsbC1idXR0b24tc2VwYXJhdG9yIHtcbiAgYm9yZGVyLWxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgdmFyKC0tdGlsZS1iYWNrKTtcbiAgYm9yZGVyLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuZGl2LmJ1dHRvbnMgPiBidXR0b24sXG5kaXYuY2FsbC1idXR0b25zID4gYnV0dG9uIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogMCBjYWxjKDAuMTYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aWxlLWJhY2spO1xuICBmaWx0ZXI6IG5vbmU7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbmRpdi5idXR0b25zID4gYnV0dG9uLnNtYWxsLXRleHQge1xuICBmb250LXNpemU6IGNhbGMoMC4zMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXgtd2lkdGg6IGNhbGMoNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmJ1dHRvbnMgPiBidXR0b24ge1xuICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0cmFuc2Zvcm06IHNrZXcoLTE1ZGVnKTtcbn1cbmRpdi5jYWxsLWJ1dHRvbnMgPiBidXR0b24ge1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuYXV0by1idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoLTEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xufVxuXG5cbi8qIGJpZyB0ZXh0ICovXG5Aa2V5ZnJhbWVzIHRleHRGYWRlIHtcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbmRpdi5iaWctdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IGNhbGMoNDAgKiB2YXIoLS10aWxlLXNpemUpIC8gKDggKyB2YXIoLS1iaWctdGV4dC1sZW5ndGgpKSk7XG4gIHRleHQtc2hhZG93OiBibGFjayBjYWxjKDAuMSAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4xICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IDUwO1xuICBhbmltYXRpb246IHRleHRGYWRlIDEuNXMgZWFzZSBmb3J3YXJkcztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuZGl2LmJpZy10ZXh0LnNlbGYgeyBib3R0b206IDA7IH1cbmRpdi5iaWctdGV4dC5rYW1pY2hhIHsgbGVmdDogY2FsYygtNTAlICsgKDMgKiB2YXIoLS10aWxlLXNpemUpKSk7IHRvcDogY2FsYyg1MCUgLSAoMyAqIHZhcigtLXRpbGUtc2l6ZSkpKTsgfVxuZGl2LmJpZy10ZXh0LnRvaW1lbiB7IHRvcDogMDsgfVxuZGl2LmJpZy10ZXh0LnNoaW1vY2hhIHsgbGVmdDogY2FsYyg1MCUgLSAoMyAqIHZhcigtLXRpbGUtc2l6ZSkpKTsgdG9wOiBjYWxjKDUwJSAtICgzICogdmFyKC0tdGlsZS1zaXplKSkpOyB9XG5cbi8qIHN0YXR1cyBsaW5lcyAqL1xuXG5kaXYuc3RhdHVzLWxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAxRjtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIGNhbGMoLTguMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuc3RhdHVzLWxpbmUua2FtaWNoYSB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTt9XG5kaXYuc3RhdHVzLWxpbmUudG9pbWVuIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTt9XG5kaXYuc3RhdHVzLWxpbmUuc2hpbW9jaGEgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO31cbmRpdi5zdGF0dXMtbGluZSA+IGRpdi5zdGF0dXMtdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cblxuLyogdmlzaWJsZSB3YWl0cyAqL1xuZGl2LnZpc2libGUtd2FpdHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gOC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDQuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHotaW5kZXg6IDEwMDtcbn1cbmRpdi52aXNpYmxlLXdhaXRzIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDdGO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuZGl2LnZpc2libGUtd2FpdHMgPiBkaXYudmlzaWJsZS13YWl0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5cbi8qIG5lYXJlc3QgYW1lcmljYW4gaGFuZHMgKi9cbmRpdi5kaXNwbGF5LWFtLWhhbmQtaG92ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiKG5lYXJlc3QgaGFuZHMpXCI7XG4gIGJhY2tncm91bmQ6IGdyYXk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMCBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKC0xLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRpc3BsYXktYW0taGFuZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygyLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDdGO1xuICBmb250LXNpemU6IGNhbGMoMC40ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nLXRvcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQtaG92ZXI6aG92ZXIgKyBkaXYuZGlzcGxheS1hbS1oYW5kLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgcm93LWdhcDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5kaXNwbGF5LWFtLWhhbmQtdHlwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuXG4vKiByZXZlYWxlZCB0aWxlcyAqL1xuZGl2LnJldmVhbGVkLXRpbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IDA7XG59XG5cbi8qIHNjcnllZCB0aWxlcyAqL1xuZGl2LnNjcnllZC10aWxlcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm90dG9tOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYuc2NyeWVkLXRpbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmRpdi5zY3J5ZWQtdGlsZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDAxRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKC0wLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5cbi8qIGRlY2xhcmUgeWFrdSAqL1xuZGl2LmRlY2xhcmUteWFrdS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDMuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwO1xufVxuZGl2LmRlY2xhcmUteWFrdS1jb250YWluZXIgPiBpbnB1dC5kZWNsYXJlLXlha3UtbWluaW1pemUgeyBkaXNwbGF5OiBub25lOyB9XG5kaXYuZGVjbGFyZS15YWt1LWNvbnRhaW5lciA+IGxhYmVsLmRlY2xhcmUteWFrdS1taW5pbWl6ZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGhlaWdodDogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygtMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogMDtcbn1cbmRpdi5kZWNsYXJlLXlha3Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbn1cbmRpdi5kZWNsYXJlLXlha3UubWluaW1pemVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRpdi5kZWNsYXJlLXlha3UgPiBmb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRlY2xhcmUteWFrdTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY29sb3IpO1xuICBib3JkZXI6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKSBzb2xpZCB2YXIoLS10aWxlLWJhY2spO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5kZWNsYXJlLXlha3UgZGl2LmRlY2xhcmFibGUteWFrdXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRlY2xhcmUteWFrdSBidXR0b24uZGVjbGFyZS15YWt1LWJ1dHRvbiB7XG4gIG1hcmdpbjogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSkgMDtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSkpXG4gICAgICAgICAgZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtYmFjay1zaWRlKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmRpdi5kZWNsYXJlLXlha3UgYnV0dG9uLmRlY2xhcmUteWFrdS1idXR0b246YWN0aXZlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIDgpIDAgdmFyKC0tdGlsZS1mcm9udC1zaWRlKSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSk7XG59XG5cbi8qIHJ1bGVzICovXG5kaXYucnVsZXMtd3JhcHBlciB7XG4gIHotaW5kZXg6IDEwMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogY2FsYygtMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJ1bGVzLXdyYXBwZXIgPiBsYWJlbCB7XG4gIHBhZGRpbmc6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgd3JpdGluZy1tb2RlOiB0YjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5kaXYucnVsZXMtd3JhcHBlciA+IGxhYmVsLmxhbmctZW4ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAvKiBtYWtlIHRleHQgZmFjZSByaWdodCAqL1xufVxuXG4vKlxuICBoYWNrOyBhZGQgaW52aXNpYmxlIFwidW5zZWxlY3RcIiByYWRpbyBvcHRpb24gdG8gYWxsb3cgdW5zZWxlY3RpbmdcbiAgdGhpcyBhcHBlYXJzIGFib3ZlIHRoZSBzZWxlY3RlZCBsYWJlbCwgYnV0IGJlbG93IHVuc2VsZWN0ZWQgbGFiZWxzXG4qL1xuaW5wdXQucnVsZXMtcG9wb3Zlci11bnNlbGVjdCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0yO1xufVxuaW5wdXQucnVsZXMtcG9wb3Zlci1yYWRpbzpjaGVja2VkIH4gaW5wdXQucnVsZXMtcG9wb3Zlci11bnNlbGVjdCArIGxhYmVsIHtcbiAgei1pbmRleDogMDtcbn1cbmlucHV0LnJ1bGVzLXBvcG92ZXItcmFkaW86Y2hlY2tlZCArIGxhYmVsIHtcbiAgei1pbmRleDogLTE7XG59XG5pbnB1dC5ydWxlcy1wb3BvdmVyLXJhZGlvOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCB7XG4gIHotaW5kZXg6IDE7XG59XG5kaXYucnVsZXMtcG9wb3Zlci1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBjYWxjKDEuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItY29udGFpbmVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiAjM2YzZjNmO1xuICBib3JkZXI6IDAgc29saWQgdmFyKC0tdGlsZS1mcm9udCk7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4xcyBjdWJpYy1iZXppZXIoMCwgMSwgMCwgMSk7XG59XG5pbnB1dC5ydWxlcy1wb3BvdmVyLXJhZGlvOmNoZWNrZWQgKyBsYWJlbCArIGRpdi5ydWxlcy1wb3BvdmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5pbnB1dC5ydWxlcy1wb3BvdmVyLXJhZGlvOmNoZWNrZWQgKyBsYWJlbCArIGRpdi5ydWxlcy1wb3BvdmVyLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucnVsZXMtcG9wb3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbiAgbWFyZ2luOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSkgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbn1cbmRpdi5ydWxlcy1wb3BvdmVyOjotd2Via2l0LXNjcm9sbGJhciB7IFxuICBkaXNwbGF5OiBub25lOyAvKiBTYWZhcmkvQ2hyb21lICovXG59XG5kaXYucnVsZXMtcG9wb3Zlci1ydWxlIHtcbiAgZmxleC1iYXNpczogNTAlO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItcnVsZS5mdWxsLXdpZHRoIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbn1cbmRpdi5ydWxlcy1wb3BvdmVyLXRpdGxlIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItYm90dG9tOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHZhcigtLXRpbGUtZnJvbnQpO1xuICBtYXJnaW46IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItdGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW46IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItdGV4dCA+IGRpdi50aWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtLXRpbGUtc2NhbGUtZmFjdG9yOiAwLjY1OyAvKiBlbm91Z2ggZm9yIDE0IHRpbGVzIHRvIGJlIGluIGEgcm93ICovXG4gIG1hcmdpbi10b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2NhbGUtZmFjdG9yKSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnJ1bGVzLXBvcG92ZXItdGV4dCA+IGRpdi50aWxlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NSUpIHNjYWxlKDIuNSk7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4vKiB0aWxlIG51bWJlcnMgKi9cbmlucHV0LnRpbGUtbnVtYmVycy1jaGVja2JveCArIGxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogY2FsYygtMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogZGlzcGxheSB3YWxsICovXG5kaXYuZGlzcGxheS13YWxsLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXNpemU6IGNhbGMoMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoLTEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuZGlzcGxheS13YWxsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogLTEwMDtcbn1cbmRpdi5kaXNwbGF5LXdhbGwtaG92ZXI6aG92ZXIgKyBkaXYuZGlzcGxheS13YWxsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDA7XG59XG5kaXYuZGlzcGxheS13YWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5kaXYuZGlzcGxheS13YWxsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDdGO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwubWluaW1pemVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93LXJldmVyc2U7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHdpZHRoOiBjYWxjKDE4ICogMC43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IHZhcigtLXRpbGUtc2l6ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qIGRlYnVnICovXG4vKlxuZGl2LmRpc3BsYXktd2FsbC1jb250YWluZXIgeyBkaXNwbGF5OiBibG9jazsgei1pbmRleDogMTAwOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwgeyBiYWNrZ3JvdW5kOiByZWQ7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbCAqIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4qL1xuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLnRvaW1lbiB7XG4gIGp1c3RpZnktaXRlbXM6IGZsZXgtZW5kO1xuICB0b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLnNoaW1vY2hhIHtcbiAgcmlnaHQ6IGNhbGMoMS41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogY2FsYygwLjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5zZWxmIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm90dG9tOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDEuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhIHtcbiAgbGVmdDogY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsID4gZGl2LnRpbGUtc3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwgPiBkaXYuc3BhY2VyIHtcbiAgbWluLXdpZHRoOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsID4gZGl2LnRpbGUtc3RhY2sgPiBkaXYudGlsZSB7XG4gIHotaW5kZXg6IHZhcigtLWxldmVsKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoMS4yNSAqIHZhcigtLWxldmVsKSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5zaGltb2NoYSA+IGRpdi50aWxlLXN0YWNrID4gZGl2LnRpbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygwLjI1ICogdmFyKC0tbGV2ZWwpICogdmFyKC0tdGlsZS1zaXplKSkpIHRyYW5zbGF0ZVkoY2FsYygxICogdmFyKC0tbGV2ZWwpICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjayA+IGRpdi50aWxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTAuMjUgKiB2YXIoLS1sZXZlbCkgKiB2YXIoLS10aWxlLXNpemUpKSkgdHJhbnNsYXRlWShjYWxjKDEgKiB2YXIoLS1sZXZlbCkgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxKSB7IHotaW5kZXg6IC0xOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyKSB7IHotaW5kZXg6IC0yOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgzKSB7IHotaW5kZXg6IC0zOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg0KSB7IHotaW5kZXg6IC00OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg1KSB7IHotaW5kZXg6IC01OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg2KSB7IHotaW5kZXg6IC02OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg3KSB7IHotaW5kZXg6IC03OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg4KSB7IHotaW5kZXg6IC04OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCg5KSB7IHotaW5kZXg6IC05OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxMCkgeyB6LWluZGV4OiAtMTA7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDExKSB7IHotaW5kZXg6IC0xMTsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTIpIHsgei1pbmRleDogLTEyOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxMykgeyB6LWluZGV4OiAtMTM7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDE0KSB7IHotaW5kZXg6IC0xNDsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTUpIHsgei1pbmRleDogLTE1OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxNikgeyB6LWluZGV4OiAtMTY7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDE3KSB7IHotaW5kZXg6IC0xNzsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMTgpIHsgei1pbmRleDogLTE4OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgxOSkgeyB6LWluZGV4OiAtMTk7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDIwKSB7IHotaW5kZXg6IC0yMDsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjEpIHsgei1pbmRleDogLTIxOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyMikgeyB6LWluZGV4OiAtMjI7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDIzKSB7IHotaW5kZXg6IC0yMzsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjQpIHsgei1pbmRleDogLTI0OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyNSkgeyB6LWluZGV4OiAtMjU7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDI2KSB7IHotaW5kZXg6IC0yNjsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMjcpIHsgei1pbmRleDogLTI3OyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgyOCkgeyB6LWluZGV4OiAtMjg7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDI5KSB7IHotaW5kZXg6IC0yOTsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi53YWxsLmthbWljaGEgPiBkaXYudGlsZS1zdGFjazpudGgtY2hpbGQoMzApIHsgei1pbmRleDogLTMwOyB9XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LndhbGwua2FtaWNoYSA+IGRpdi50aWxlLXN0YWNrOm50aC1jaGlsZCgzMSkgeyB6LWluZGV4OiAtMzE7IH1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYud2FsbC5rYW1pY2hhID4gZGl2LnRpbGUtc3RhY2s6bnRoLWNoaWxkKDMyKSB7IHotaW5kZXg6IC0zMjsgfVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB0b3A6IGNhbGMoNTAlICsgMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2x1bW4tZ2FwOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHdpZHRoOiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllOjpiZWZvcmUsXG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDAuMTMgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygwLjEzICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdpZHRoOiBjYWxjKDAuMTcgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuMTcgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogMTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllLm9uZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmVkO1xuICB0b3A6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZS50d286OmJlZm9yZSB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coY2FsYygwLjMyICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjMyICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjayk7XG59XG5kaXYuZGlzcGxheS13YWxsID4gZGl2LmRpY2UgPiBkaXYuZGllLnRocmVlOjpiZWZvcmUge1xuICBmaWx0ZXI6XG4gICAgZHJvcC1zaGFkb3coY2FsYygwLjE2ICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjE2ICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjaylcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMTYgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWUuZm91cjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmVkO1xuICBmaWx0ZXI6XG4gICAgZHJvcC1zaGFkb3coY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjMyICogdmFyKC0tdGlsZS1zaXplKSkgMCByZWQpXG4gICAgZHJvcC1zaGFkb3coY2FsYygwLjMyICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSkgMCByZWQpO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZS5maXZlOjpiZWZvcmUge1xuICBmaWx0ZXI6XG4gICAgZHJvcC1zaGFkb3coY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjMyICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjaylcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKTtcbn1cbmRpdi5kaXNwbGF5LXdhbGwgPiBkaXYuZGljZSA+IGRpdi5kaWUuZml2ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KGNhbGMoMC4xNiAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4xNiAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgYmxhY2spO1xufVxuZGl2LmRpc3BsYXktd2FsbCA+IGRpdi5kaWNlID4gZGl2LmRpZS5zaXg6OmJlZm9yZSB7XG4gIHRvcDogY2FsYygwLjA5ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZpbHRlcjpcbiAgICBkcm9wLXNoYWRvdyhjYWxjKDAuMzIgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAgKiB2YXIoLS10aWxlLXNpemUpKSAwIGJsYWNrKVxuICAgIGRyb3Atc2hhZG93KGNhbGMoMCAqIHZhcigtLXRpbGUtc2l6ZSkpIGNhbGMoMC4yMSAqIHZhcigtLXRpbGUtc2l6ZSkpIDAgYmxhY2spXG4gICAgZHJvcC1zaGFkb3coY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSkgY2FsYygwLjIxICogdmFyKC0tdGlsZS1zaXplKSkgMCBibGFjayk7XG59XG5cbi8qIGdhbWUgbW9kYWxzICh3aW4vZHJhdy9lcnJvciB3aW5kb3dzKSAqL1xuZGl2LmdhbWUtbW9kYWwtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbiAgbGVmdDogMTAlO1xuICB0b3A6IDEwJTtcbiAgei1pbmRleDogMTAwO1xuICBmbG9hdDogbGVmdDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIGNvbG9yOiBibGFjaztcbn1cbi8qIGxhbmRzY2FwZSAqL1xuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgZGl2LmdhbWUtbW9kYWwtY29udGFpbmVyLmluYWN0aXZlLFxuICBkaXYuZ2FtZS1tb2RhbC1oaWRlOmFjdGl2ZSxcbiAgZGl2LmdhbWUtbW9kYWwtaGlkZTphY3RpdmUgKyBkaXYudGltZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG4vKiBwb3J0cmFpdCAqL1xuQG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgZGl2LmdhbWUtbW9kYWwtY29udGFpbmVyLmluYWN0aXZlLFxuICBkaXYuZ2FtZS1tb2RhbC1oaWRlOmFjdGl2ZTpub3QoOmhhcyg6aXMoZGl2LnNjb3JlLWJhZGdlOmFjdGl2ZSwgc3ZnLmFycm93OmFjdGl2ZSwgc3ZnLmN1cnZlOmFjdGl2ZSkpKSB7XG4gICAgJiwgJiArIGRpdi50aW1lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbn1cbmRpdi5nYW1lLW1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbmRpdi5nYW1lLW1vZGFsOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDglO1xuICBoZWlnaHQ6IDEwOCU7XG4gIHRvcDogLTQlO1xuICBsZWZ0OiAtNCU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgb3BhY2l0eTogMC42O1xuICB6LWluZGV4OiAtMTtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2Lndpbm5pbmctaGFuZCxcbmRpdi5nYW1lLW1vZGFsID4gZGl2Lnlha3VzLFxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtZGlzcGxheSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmRpdi5nYW1lLW1vZGFsLmVycm9yLXdpbmRvdyA+IGJ1dHRvbi5kaXNtaXNzLWVycm9yLFxuZGl2LmdhbWUtbW9kYWwtY29udGFpbmVyID4gYnV0dG9uLmVuZC1iYWNrLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvdHRvbTogMDtcbn1cbmRpdi53aW5uaW5nLWhhbmQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi53aW5uaW5nLWhhbmQtY29udGFpbmVyOm5vdCg6aG92ZXIpIGRpdi5oYW5kLndpbm5pbmctaGFuZDpub3QoLnNlcGFyYXRlZC1oYW5kKSB7IGRpc3BsYXk6IGZsZXg7IH1cbmRpdi53aW5uaW5nLWhhbmQtY29udGFpbmVyOmhvdmVyIGRpdi5oYW5kLndpbm5pbmctaGFuZC5zZXBhcmF0ZWQtaGFuZCB7IGRpc3BsYXk6IGZsZXg7IH1cbmRpdi5oYW5kLndpbm5pbmctaGFuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIHN0YWNrIGZsb3dlcnMgaW4gd2lubmluZyBoYW5kIGlmIG5lZWRlZCAqL1xuZGl2LmhhbmQud2lubmluZy1oYW5kID4gZGl2LmNhbGwud2lubmluZy1mbG93ZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZGl2LmhhbmQud2lubmluZy1oYW5kID4gZGl2LmNhbGwud2lubmluZy1mbG93ZXJzID4gZGl2LnRpbGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYuaGFuZC53aW5uaW5nLWhhbmQgPiBkaXYuY2FsbC53aW5uaW5nLWZsb3dlcnMgPiBkaXYuZmxvd2VyLWNvdW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIHBhZGRpbmc6IGNhbGMoMC4wNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC0xNikgY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTE2KSAwIHZhcigtLXRpbGUtYmFjay1zaWRlKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDAuNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcmlnaHQ6IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgei1pbmRleDogMTtcbn1cbi8qIHlha3VzICovXG5kaXYueWFrdXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHJvdy1nYXA6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW4tdG9wOiBjYWxjKDEuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOTAlO1xufVxuLyogd3JhcCBoYWNrLCBzdXBwb3J0cyAxOSBpdGVtcyAqL1xuZGl2Lnlha3VzOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBoZWlnaHQ6IDEwMCU7IG9yZGVyOiAxOyB9XG5kaXYueWFrdXM6OmFmdGVyIHsgY29udGVudDogXCJcIjsgaGVpZ2h0OiAxMDAlOyBvcmRlcjogLTE7IH0gLyogZm9yIHNwYWNlLWV2ZW5seSB0byB3b3JrICovXG5kaXYueWFrdTpudGgtY2hpbGQobisxKTpudGgtbGFzdC1jaGlsZCgtbiswKSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzIpOm50aC1sYXN0LWNoaWxkKC1uKzEpLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rMyk6bnRoLWxhc3QtY2hpbGQoLW4rMiksXG5kaXYueWFrdTpudGgtY2hpbGQobis0KTpudGgtbGFzdC1jaGlsZCgtbiszKSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzUpOm50aC1sYXN0LWNoaWxkKC1uKzQpLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rNik6bnRoLWxhc3QtY2hpbGQoLW4rNSksXG5kaXYueWFrdTpudGgtY2hpbGQobis3KTpudGgtbGFzdC1jaGlsZCgtbis2KSxcbmRpdi55YWt1Om50aC1jaGlsZChuKzgpOm50aC1sYXN0LWNoaWxkKC1uKzcpLFxuZGl2Lnlha3U6bnRoLWNoaWxkKG4rOSk6bnRoLWxhc3QtY2hpbGQoLW4rOCksXG5kaXYueWFrdTpudGgtY2hpbGQobisxMCk6bnRoLWxhc3QtY2hpbGQoLW4rOSkgeyBvcmRlcjogMTsgfVxuZGl2Lnlha3UsXG5kaXYueWFrdSA+IGRpdi5oYW4tY291bnRlcixcbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dDo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBoZWlnaHQ6IDEuMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5kaXYueWFrdSA+IGRpdi55YWt1LXRleHQ6OmJlZm9yZSB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTgpIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC0xNikgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpKVxuICAgICAgICAgIGRyb3Atc2hhZG93KGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC04KSBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAtMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKTtcbn1cbmRpdi55YWt1IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0LnNtYWxsIHsgZm9udC1zaXplOiA3NSU7IHRvcDogMTAlOyB9XG5kaXYueWFrdSA+IGRpdi55YWt1LXRleHQuc21hbGw6OmJlZm9yZSB7IHRvcDogLTEwJTsgfVxuZGl2Lnlha3UgPiBkaXYueWFrdS10ZXh0LnRpbnkgeyBmb250LXNpemU6IDUwJTsgdG9wOiAyMCU7IH1cbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dC50aW55OjpiZWZvcmUgeyB0b3A6IC0yMCU7IH1cbmRpdi55YWt1ID4gZGl2Lnlha3UtdGV4dDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogLTEwJTtcbiAgaGVpZ2h0OiAxMTAlO1xuICB0b3A6IDAlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTtcbn1cbmRpdi55YWt1ID4gZGl2Lmhhbi1jb3VudGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYueWFrdSA+IGRpdi5oYW4tY291bnRlcjo6YmVmb3JlLFxuZGl2LnRvdGFsLXBvaW50cy1kaXNwbGF5OjpiZWZvcmUsXG5kaXYudG90YWwtc2NvcmUtZGlzcGxheTo6YmVmb3JlLFxuZGl2LnRvdGFsLXNjb3JlLW5hbWUtZGlzcGxheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYnJ1c2gtYmcuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5kaXYudG90YWwtcG9pbnRzLWRpc3BsYXk6bm90KDpmaXJzdC1vZi10eXBlKTo6YmVmb3JlLFxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JydXNoLWJnMi5zdmcpO1xufVxuZGl2Lnlha3UgPiBkaXYuaGFuLWNvdW50ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiAxNjAlO1xuICBsZWZ0OiBjYWxjKC0wLjY2ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHRvcDogLTM3LjUlO1xufVxuXG4vKiBzY29yZSBkaXNwbGF5ICovXG5kaXYuc2NvcmUtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICByb3ctZ2FwOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbn1cbmRpdi5zY29yZS1kaXNwbGF5OjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyB3aWR0aDogMTAwJTsgb3JkZXI6IDE7IH1cbmRpdi50b3RhbC1wb2ludHMtZGlzcGxheSxcbmRpdi50b3RhbC1zY29yZS1kaXNwbGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB6LWluZGV4OiAxO1xufVxuZGl2LnRvdGFsLXBvaW50cy1kaXNwbGF5IHsgZm9udC1zaXplOiBjYWxjKDEuMjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXkgeyBmb250LXNpemU6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpOyBvcmRlcjogMTsgfVxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXkuc21hbGwgeyBmb250LXNpemU6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYudG90YWwtc2NvcmUtbmFtZS1kaXNwbGF5IHsgZm9udC1zaXplOiBjYWxjKDEuMiAqIHZhcigtLXRpbGUtc2l6ZSkpOyBvcmRlcjogMTsgfVxuZGl2LnRvdGFsLXNjb3JlLW5hbWUtZGlzcGxheS5zbWFsbCB7IGZvbnQtc2l6ZTogY2FsYygxICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi50b3RhbC1wb2ludHMtZGlzcGxheTo6YmVmb3JlLFxuZGl2LnRvdGFsLXNjb3JlLWRpc3BsYXk6OmJlZm9yZSxcbmRpdi50b3RhbC1zY29yZS1uYW1lLWRpc3BsYXk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDE1MCU7XG4gIGhlaWdodDogMTQwJTtcbiAgbGVmdDogLTI1JTtcbiAgYm90dG9tOiAtNy41JTtcbiAgei1pbmRleDogLTE7XG59XG5kaXYudG90YWwtcG9pbnRzLWRpc3BsYXk6bm90KDpmaXJzdC1vZi10eXBlKTo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgd2lkdGg6IDE2MCU7XG4gIGxlZnQ6IC0zNSU7XG4gIGJvdHRvbTogLTM1JTtcbn1cbmRpdi50b3RhbC1zY29yZS1kaXNwbGF5OjpiZWZvcmUge1xuICB3aWR0aDogMTgwJTtcbiAgaGVpZ2h0OiAxNjAlO1xuICBsZWZ0OiAtNDAlO1xufVxuZGl2LnRvdGFsLXNjb3JlLW5hbWUtZGlzcGxheSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbn1cbmRpdi50b3RhbC1zY29yZS1uYW1lLWRpc3BsYXk6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHdpZHRoOiAxNDAlO1xuICBoZWlnaHQ6IDEyMCU7XG4gIGxlZnQ6IC0yMCU7XG4gIGJvdHRvbTogLTE1JTtcbn1cblxuLyogZGVsdGEgc2NvcmUgd2luZG93ICovXG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5kZWx0YS1zY29yZS1yZWFzb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjggKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IGNhbGMoNTAlIC0gMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIC0td2lkdGg6IDEwO1xuICB3aWR0aDogY2FsYyh2YXIoLS13aWR0aCkgKiAwLjc1ZW0gKyAxZW0pO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5kZWx0YS1zY29yZS1yZWFzb246OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYnJ1c2gtYmcuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSBjYWxjKDUwJSArIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiBjYWxjKC0wLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMC4xICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKSBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMi41ZW07XG4gIHdpZHRoOiAxMmV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHdoaXRlO1xuICAmOmhvdmVyID4gZGl2IHtcbiAgICAmLmluaXRpYWwtc2NvcmUsICYucGxheWVyLW5hbWUsICYuaGxpbmU6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg3NSUpIHNlcGlhKDEwMCUpIHNhdHVyYXRlKDgwMCUpIGh1ZS1yb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gIH1cbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlLnNlbGYgeyBpbnNldDogMDsgdG9wOiBhdXRvOyBtYXJnaW46IDAgYXV0bzsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2Uuc2hpbW9jaGEgeyBpbnNldDogMDsgbGVmdDogYXV0bzsgbWFyZ2luOiBhdXRvIDA7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlLnRvaW1lbiB7IGluc2V0OiAwOyBib3R0b206IGF1dG87IHJpZ2h0OiAwOyBtYXJnaW46IDAgYXV0bzsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2Uua2FtaWNoYSB7IGluc2V0OiAwOyByaWdodDogYXV0bzsgbWFyZ2luOiBhdXRvIDA7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlID4gZGl2LmhsaW5lOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB3aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbWFyZ2luLXRvcDogY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWJhZGdlID4gZGl2LmluaXRpYWwtc2NvcmUge1xuICBmb250LXNpemU6IDE1MCU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2UgPiBkaXYuZGVsdGEtc2NvcmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjNlbTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtYmFkZ2UgPiBkaXYucGxheWVyLW5hbWUge1xuICBtYXJnaW4tdG9wOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSA+IGRpdi5wbGFjZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygtNTAlICsgMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGxlZnQ6IGNhbGMoLTI1JSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoNzUlKTtcbn1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIgPiB0YWJsZS5zY29yZS1sZWRnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYmFja2dyb3VuZDogIzBmNmYyZjtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgJi5rYW1pY2hhLCAmLmsydSwgJi5rMnQsICYudTJrLCAmLnQyayB7IHRvcDogMDsgcmlnaHQ6IDA7IH1cbiAgJi50b2ltZW4geyBib3R0b206IDA7IGxlZnQ6IDA7IH1cbiAgJjpoYXModGJvZHkgPiB0cikgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIGJvcmRlci1ib3R0b206IGNhbGMoMC4wNjI1ICogdmFyKC0tdGlsZS1zaXplKSkgc29saWQgd2hpdGU7XG4gIH1cbiAgLS1sZWRnZXItc2NhbGU6IDg1JTtcbiAgJi5zZWxmLCAmLnNoaW1vY2hhLCAmLnRvaW1lbiwgJi5rYW1pY2hhIHsgLS1sZWRnZXItc2NhbGU6IDEyNSU7IH1cbiAgJiA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1sZWRnZXItc2NhbGUpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBoZWlnaHQ6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgIG1pbi13aWR0aDogY2FsYyg4ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgJiA+IGRpdi5zY29yZS1sZWRnZXItbWluaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgIHJpZ2h0OiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICB3aWR0aDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogY2FsYygwLjcgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDAuNCAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMTI1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAmLm1pbmktc2VsZiB7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBtYXJnaW4taW5saW5lOiBhdXRvOyBib3R0b206IDA7IH1cbiAgICAgICAgJi5taW5pLXNoaW1vY2hhIHsgdG9wOiAwOyBib3R0b206IDA7IG1hcmdpbi1ibG9jazogYXV0bzsgcmlnaHQ6IDA7IH1cbiAgICAgICAgJi5taW5pLXRvaW1lbiB7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBtYXJnaW4taW5saW5lOiBhdXRvOyB0b3A6IDA7IH1cbiAgICAgICAgJi5taW5pLWthbWljaGEgeyB0b3A6IDA7IGJvdHRvbTogMDsgbWFyZ2luLWJsb2NrOiBhdXRvOyBsZWZ0OiAwOyB9XG4gICAgICAgICYuc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmID4gdGJvZHkgPiB0ciB7XG4gICAgJiA+IHRkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBwYWRkaW5nOiAwIGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICAgICY6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6ICBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG4gICAgICAmOmxhc3QtY2hpbGQgIHsgcGFkZGluZy1yaWdodDogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHRkLCAmLnNjb3JlLWxlZGdlci10b3RhbCB0ZCB7IHBhZGRpbmctdG9wOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuICAgICY6bGFzdC1jaGlsZCAgdGQsICY6aGFzKCsgdHIuc2NvcmUtbGVkZ2VyLXRvdGFsKSB0ZCB7IHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTsgfVxuICB9XG5cbiAgJiB0ZC5zY29yZS1sZWRnZXItcmVhc29uLCAmIHRkLnNjb3JlLWxlZGdlci1vcCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgJiB0ZC5zY29yZS1sZWRnZXItb3Age1xuICAgICAgcGFkZGluZzogMCBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgfVxuICAmIHRkLnNjb3JlLWxlZGdlci1hbW91bnQsXG4gICYgdGQuc2NvcmUtbGVkZ2VyLXJlc3VsdCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxuICAmIHRyLnNjb3JlLWxlZGdlci10b3RhbCB7XG4gICAgJiB0ZCB7XG4gICAgICBib3JkZXItdG9wOiBjYWxjKDAuMDYyNSAqIHZhcigtLXRpbGUtc2l6ZSkpIHNvbGlkIHdoaXRlO1xuICAgICAgcGFkZGluZzogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEyNSU7XG4gICAgfVxuICB9XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyID4gdGFibGUuc2NvcmUtbGVkZ2VyIHsgZGlzcGxheTogbm9uZTsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5zZWxmID4gdGFibGUuc2NvcmUtbGVkZ2VyLnNlbGYgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5zaGltb2NoYSA+IHRhYmxlLnNjb3JlLWxlZGdlci5zaGltb2NoYSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnRvaW1lbiA+IHRhYmxlLnNjb3JlLWxlZGdlci50b2ltZW4geyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5rYW1pY2hhID4gdGFibGUuc2NvcmUtbGVkZ2VyLmthbWljaGEgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci50MnUgPiB0YWJsZS5zY29yZS1sZWRnZXIudDJ1IHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIudTJ0ID4gdGFibGUuc2NvcmUtbGVkZ2VyLnUydCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLmsycyA+IHRhYmxlLnNjb3JlLWxlZGdlci5rMnMgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5zMmsgPiB0YWJsZS5zY29yZS1sZWRnZXIuczJrIHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIuazJ1ID4gdGFibGUuc2NvcmUtbGVkZ2VyLmsydSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnMydSA+IHRhYmxlLnNjb3JlLWxlZGdlci5zMnUgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci5zMnQgPiB0YWJsZS5zY29yZS1sZWRnZXIuczJ0IHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIuazJ0ID4gdGFibGUuc2NvcmUtbGVkZ2VyLmsydCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnUyayA+IHRhYmxlLnNjb3JlLWxlZGdlci51MmsgeyBkaXNwbGF5OiBibG9jazsgfVxuZGl2LmdhbWUtbW9kYWwgPiBkaXYuc2NvcmUtbGVkZ2VyLWNvbnRhaW5lci51MnMgPiB0YWJsZS5zY29yZS1sZWRnZXIudTJzIHsgZGlzcGxheTogYmxvY2s7IH1cbmRpdi5nYW1lLW1vZGFsID4gZGl2LnNjb3JlLWxlZGdlci1jb250YWluZXIudDJzID4gdGFibGUuc2NvcmUtbGVkZ2VyLnQycyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1sZWRnZXItY29udGFpbmVyLnQyayA+IHRhYmxlLnNjb3JlLWxlZGdlci50MmsgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5AcHJvcGVydHkgLS10aWxlLXNpemUge1xuICAvKiByZXF1aXJlZCBmb3IgbWFraW5nIGl0IHVuaXRsZXNzIGJlbG93ICovXG4gIHN5bnRheDogJzxsZW5ndGg+JztcbiAgaW5oZXJpdHM6IHRydWU7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5zdmcuYXJyb3csIHN2Zy5jdXJ2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZmlsbDogd2hpdGU7XG4gIC8qIGZpcnN0IHNjYWxlIGJhc2VkIG9uIHVuaXRsZXNzIHRpbGUtc2l6ZSwgdGhlbiBtb3ZlIHRoZSB0YWlsLCB0aGVuIHJvdGF0ZSBhYm91dCB0aGUgdGFpbCAqL1xuICB6b29tOiBjYWxjKHRhbihhdGFuMih2YXIoLS10aWxlLXNpemUpLCAyMDBweCkpKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICY6aG92ZXIgeyBmaWx0ZXI6IGJyaWdodG5lc3MoNzUlKSBzZXBpYSgxMDAlKSBzYXR1cmF0ZSg4MDAlKSBodWUtcm90YXRlKC00NWRlZyk7IH1cbn1cbnN2Zy5hcnJvdyB7XG4gIC0teHBvczogMDtcbiAgLS15cG9zOiAwO1xuICAtLXJvdGF0ZTogMDtcbiAgLS1sZW5ndGg6IDA7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWxlbmd0aCkgKiAyMDBweCk7XG4gIGhlaWdodDogMjAwcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgdHJhbnNmb3JtOlxuICAgIHRyYW5zbGF0ZSggY2FsYyh2YXIoLS14cG9zKSAqIDIwMHB4IC0gMTAwcHgpXG4gICAgICAgICAgICAgLCBjYWxjKHZhcigtLXlwb3MpICogMjAwcHggLSAyMDBweCkgKVxuICAgIHJvdGF0ZShjYWxjKHZhcigtLXJvdGF0ZSkgKiAxZGVnKSk7XG59XG5zdmcuY3VydmUge1xuICAtLXhwb3M6IDA7XG4gIC0teXBvczogMDtcbiAgLS14c2NhbGU6IDE7XG4gIC0teXNjYWxlOiAxO1xuICB3aWR0aDogNTUwcHg7XG4gIGhlaWdodDogODAwcHg7XG4gIHRyYW5zZm9ybTpcbiAgICB0cmFuc2xhdGUoIGNhbGModmFyKC0teHBvcykgKiAyMDBweCAtIDEwMHB4KVxuICAgICAgICAgICAgICwgY2FsYyh2YXIoLS15cG9zKSAqIDIwMHB4IC0gMTAwcHgpIClcbiAgICBzY2FsZSh2YXIoLS14c2NhbGUpLCB2YXIoLS15c2NhbGUpKTtcbn1cbmRpdi5nYW1lLW1vZGFsOm5vdCgudDJ1KSA+IHN2Zy50MnUsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLnUydCkgPiBzdmcudTJ0LFxuZGl2LmdhbWUtbW9kYWw6bm90KC5rMnMpID4gc3ZnLmsycyxcbmRpdi5nYW1lLW1vZGFsOm5vdCguczJrKSA+IHN2Zy5zMmssXG5kaXYuZ2FtZS1tb2RhbDpub3QoLmsydSkgPiBzdmcuazJ1LFxuZGl2LmdhbWUtbW9kYWw6bm90KC5zMnUpID4gc3ZnLnMydSxcbmRpdi5nYW1lLW1vZGFsOm5vdCguczJ0KSA+IHN2Zy5zMnQsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLmsydCkgPiBzdmcuazJ0LFxuZGl2LmdhbWUtbW9kYWw6bm90KC51MmspID4gc3ZnLnUyayxcbmRpdi5nYW1lLW1vZGFsOm5vdCgudTJzKSA+IHN2Zy51MnMsXG5kaXYuZ2FtZS1tb2RhbDpub3QoLnQycykgPiBzdmcudDJzLFxuZGl2LmdhbWUtbW9kYWw6bm90KC50MmspID4gc3ZnLnQyayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSA+IGRpdi5kZWx0YS1zY29yZS5wb3NpdGl2ZSB7IGNvbG9yOiBsaWdodGdyZWVuOyB9XG5kaXYuZ2FtZS1tb2RhbCA+IGRpdi5zY29yZS1iYWRnZSA+IGRpdi5kZWx0YS1zY29yZS5uZWdhdGl2ZSB7IGNvbG9yOiBwaW5rOyB9XG5cbi8qIGdhbWUgZW5kIHRpbWVyICovXG5cbmRpdi5nYW1lLW1vZGFsLWNvbnRhaW5lciA+IGRpdi50aW1lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiBjYWxjKDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICByaWdodDogY2FsYygtMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBib3R0b206IGNhbGMoLTAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNzUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB6LWluZGV4OiAxO1xufVxuXG4vKiBlcnJvciBib3ggKi9cbmRpdi5nYW1lLW1vZGFsLmVycm9yLXdpbmRvdyB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmRpdi5nYW1lLW1vZGFsLmVycm9yLXdpbmRvdyA+IGgxIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbmRpdi5nYW1lLW1vZGFsLmVycm9yLXdpbmRvdyA+IHRleHRhcmVhLmVycm9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogMDtcbn1cbmRpdi5nYW1lLW1vZGFsLmVycm9yLXdpbmRvdzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmVkO1xufVxuXG4vKiBnYW1lIGNvbmNsdWRlZCB3aW5kb3cgKi9cbmRpdi5zY29yZWJvYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogdmFyKC0tdGlsZS1zaXplKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tdGlsZS1zaXplKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdGlsZS1zaXplKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAgLSAxICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYucGxhY2VtZW50ID4gZGl2LnBsYWNlbWVudC1wbGFjZSxcbmRpdi5wbGFjZW1lbnQgPiBkaXYucGxhY2VtZW50LW5hbWUge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjYgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiAxLjJlbTtcbn1cbmRpdi5wbGFjZW1lbnQgPiBkaXYucGxhY2VtZW50LW5hbWU6OmJlZm9yZSB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coY2FsYyh2YXIoLS10aWxlLXNpemUpIC8gLTgpIGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC0xNikgMCB2YXIoLS10aWxlLWZyb250LXNpZGUpKVxuICAgICAgICAgIGRyb3Atc2hhZG93KGNhbGModmFyKC0tdGlsZS1zaXplKSAvIC04KSBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyAtMTYpIDAgdmFyKC0tdGlsZS1iYWNrLXNpZGUpKTtcbn1cbmRpdi5wbGFjZW1lbnQgeyBkaXNwbGF5OiBmbGV4OyB1c2VyLXNlbGVjdDogbm9uZTsgfVxuZGl2LnBsYWNlbWVudDpudGgtY2hpbGQoMSkgeyBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi5wbGFjZW1lbnQ6bnRoLWNoaWxkKDIpIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbmRpdi5wbGFjZW1lbnQ6bnRoLWNoaWxkKDMpIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYucGxhY2VtZW50Om50aC1jaGlsZCg0KSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDEuNSAqIHZhcigtLXRpbGUtc2l6ZSkpOyB9XG5kaXYucGxhY2VtZW50ID4gZGl2LnBsYWNlbWVudC1uYW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IGNhbGMoMSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS43NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICB6LWluZGV4OiAxO1xufVxuZGl2LnBsYWNlbWVudCA+IGRpdi5wbGFjZW1lbnQtbmFtZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGlsZS1mcm9udCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS10aWxlLXNpemUpKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBsZWZ0OiAtMTAlO1xuICBoZWlnaHQ6IDExMCU7XG4gIHRvcDogMCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xufVxuZGl2LnBsYWNlbWVudCA+IGRpdi5wbGFjZW1lbnQtcGxhY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXRpbGUtc2l6ZSkpIHJvdGF0ZSgtMjBkZWcpO1xuICB6LWluZGV4OiAyO1xufVxuZGl2LnBsYWNlbWVudCA+IGRpdi5wbGFjZW1lbnQtcGxhY2U6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYnJ1c2gtYmcuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGxlZnQ6IC00MCU7XG4gIHRvcDogLTMwJTtcbiAgd2lkdGg6IDE4MCU7XG4gIGhlaWdodDogMTQwJTtcbiAgei1pbmRleDogLTE7XG59XG5kaXYucGxhY2VtZW50IHNwYW4ucGxhY2VtZW50LXNjb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMC41ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5cblxuXG4vKiBydWxlc2V0IHRleHRib3ggKi9cbmRpdi5ydWxlc2V0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwdmggKyAoMiAqIHZhcigtLXRpbGUtc2l6ZSkpICsgMS4yZW0pO1xuICBsZWZ0OiBjYWxjKDUwJSAtIG1pbig5MHZ3LCA4MHZoKSAvIDIpO1xuICB3aWR0aDogbWluKDkwdncsIDgwdmgpO1xuICBoZWlnaHQ6IGNhbGMoMjAgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5kaXYucnVsZXNldCA+IGRpdi5ydWxlc2V0LXRleHQge1xuICBjb250ZW50OiBcIlJ1bGVzZXQ6XCI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbi8qIGxhbmRzY2FwZSAqL1xuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiA2LzUpIHtcbiAgZGl2LnJ1bGVzZXQge1xuICAgIHdpZHRoOiBjYWxjKG1pbig5MHZ3LCA4MHZoKSArIDAuNSAqIHZhcigtLXRpbGUtc2l6ZSkgKyBtaW4oNTAlLCBjYWxjKDQwdncgLSAyMCUgLSAwLjUgKiB2YXIoLS10aWxlLXNpemUpKSkpO1xuICB9XG59XG5cblxuXG5cblxuLyogc2FraSBjYXJkcyAqL1xuZGl2LnNha2ktY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHZhcigtLWNhcmQtd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWNhcmQtaGVpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjE1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB6LWluZGV4OiAwO1xufVxuZGl2LnNha2ktY2FyZDpob3ZlciB7XG4gIHotaW5kZXg6IDE7XG59XG5sYWJlbC5tb2Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5kaXYuc2FraS1jYXJkOjpiZWZvcmUsIGRpdi5zYWtpLWNhcmQ6OmFmdGVyLCBsYWJlbC5tb2Q6OmJlZm9yZSwgbGFiZWwubW9kOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IHZhcigtLWNhcmQtd2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWNhcmQtaGVpZ2h0KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGxlZnQ6IC0zNTAlO1xuICBib3R0b206IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBjb250ZW50OiBub25lO1xufVxubGFiZWwubW9kOmhvdmVyOjpiZWZvcmUgeyBsZWZ0OiAwOyB9XG5sYWJlbC5tb2Q6aG92ZXI6OmFmdGVyIHsgbGVmdDogY2FsYygxICogdmFyKC0tY2FyZC13aWR0aCkpOyB9XG5sYWJlbC5tb2Q6aG92ZXI6OmJlZm9yZSwgbGFiZWwubW9kOmhvdmVyOjphZnRlciB7IHRvcDogY2FsYygtMSAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQ6aG92ZXI6OmJlZm9yZSwgbGFiZWwubW9kOmhvdmVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyB9XG5kaXYuc2FraS1jYXJkLnYxMiwgbGFiZWwubW9kLnYxMjo6YmVmb3JlLCBsYWJlbC5tb2QudjEyOjphZnRlciB7XG4gIC0tY2FyZC13aWR0aDogY2FsYygwLjg5ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tY2FyZC1oZWlnaHQ6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1hZ2VzL3Nha2ljYXJkc3YxMi5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYyg2ICogdmFyKC0tY2FyZC1oZWlnaHQpKTtcbn1cbmRpdi5zYWtpLWNhcmQudjEzLCBsYWJlbC5tb2QudjEzOjpiZWZvcmUsIGxhYmVsLm1vZC52MTM6OmFmdGVyIHtcbiAgLS1jYXJkLXdpZHRoOiBjYWxjKDAuODY1ICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tY2FyZC1oZWlnaHQ6IGNhbGMoMS4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvaW1hZ2VzL3Nha2ljYXJkc3YxMy5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYyg3ICogdmFyKC0tY2FyZC1oZWlnaHQpKTtcbn1cbmRpdi5zYWtpLWNhcmQudjEyOjpiZWZvcmUsIGRpdi5zYWtpLWNhcmQudjEyOjphZnRlciwgbGFiZWwubW9kLnYxMjo6YWZ0ZXIsIGxhYmVsLm1vZC52MTI6OmJlZm9yZSwgbGFiZWwubW9kLnYxMjo6YWZ0ZXIge1xuICAtLWNhcmQtd2lkdGg6IGNhbGMoNy4xMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAtLWNhcmQtaGVpZ2h0OiBjYWxjKDEwICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byBjYWxjKDYgKiB2YXIoLS1jYXJkLWhlaWdodCkpO1xufVxuZGl2LnNha2ktY2FyZC52MTM6OmJlZm9yZSwgZGl2LnNha2ktY2FyZC52MTM6OmFmdGVyLCBsYWJlbC5tb2QudjEzOjphZnRlciwgbGFiZWwubW9kLnYxMzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzOjphZnRlciB7XG4gIC0tY2FyZC13aWR0aDogY2FsYyg2LjkyICogdmFyKC0tdGlsZS1zaXplKSk7XG4gIC0tY2FyZC1oZWlnaHQ6IGNhbGMoMTAgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGNhbGMoNyAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7XG59XG5kaXYuc2FraS1jYXJkLnYxMi5haXNsaW5uLXdpc2hhcnQsIGRpdi5zYWtpLWNhcmQudjEyLmFpc2xpbm4td2lzaGFydDo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmFpc2xpbm4td2lzaGFydDo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5hbWFlLWtvcm9tbywgZGl2LnNha2ktY2FyZC52MTIuYW1hZS1rb3JvbW86OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5hbWFlLWtvcm9tbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5hbmV0YWktdG95b25lLCBkaXYuc2FraS1jYXJkLnYxMi5hbmV0YWktdG95b25lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuYW5ldGFpLXRveW9uZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5hcmFrYXdhLWtlaSwgZGl2LnNha2ktY2FyZC52MTIuYXJha2F3YS1rZWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5hcmFrYXdhLWtlaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5hdGFnby1oaXJvZSwgZGl2LnNha2ktY2FyZC52MTIuYXRhZ28taGlyb2U6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5hdGFnby1oaXJvZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5hdGFyYXNoaS1ha28sIGRpdi5zYWtpLWNhcmQudjEyLmF0YXJhc2hpLWFrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmF0YXJhc2hpLWFrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5jaG9lLW15ZW9uZ2h3YSwgZGl2LnNha2ktY2FyZC52MTIuY2hvZS1teWVvbmdod2E6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5jaG9lLW15ZW9uZ2h3YTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5lemFraS1oaXRvbWksIGRpdi5zYWtpLWNhcmQudjEyLmV6YWtpLWhpdG9taTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmV6YWtpLWhpdG9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5mdWt1amktbWlob2tvLCBkaXYuc2FraS1jYXJkLnYxMi5mdWt1amktbWlob2tvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuZnVrdWppLW1paG9rbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5oYW5hZGEta2lyYW1lLCBkaXYuc2FraS1jYXJkLnYxMi5oYW5hZGEta2lyYW1lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaGFuYWRhLWtpcmFtZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5oYW8taHVpeXUsIGRpdi5zYWtpLWNhcmQudjEyLmhhby1odWl5dTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmhhby1odWl5dTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5oYXJhbXVyYS1ub2Rva2EsIGRpdi5zYWtpLWNhcmQudjEyLmhhcmFtdXJhLW5vZG9rYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmhhcmFtdXJhLW5vZG9rYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5oaXJvc2Utc3VtaXJlLCBkaXYuc2FraS1jYXJkLnYxMi5oaXJvc2Utc3VtaXJlOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaGlyb3NlLXN1bWlyZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5pa2VkYS1rYW5hLCBkaXYuc2FraS1jYXJkLnYxMi5pa2VkYS1rYW5hOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuaWtlZGEta2FuYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5pbm91ZS1qdW4sIGRpdi5zYWtpLWNhcmQudjEyLmlub3VlLWp1bjo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmlub3VlLWp1bjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5pd2F0by1rYXN1bWksIGRpdi5zYWtpLWNhcmQudjEyLml3YXRvLWthc3VtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLml3YXRvLWthc3VtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5qaW5kYWkta29tYWtpLCBkaXYuc2FraS1jYXJkLnYxMi5qaW5kYWkta29tYWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIuamluZGFpLWtvbWFraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYWppa2kteXVtaSwgZGl2LnNha2ktY2FyZC52MTIua2FqaWtpLXl1bWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYWppa2kteXVtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYWlub3UteW9zaGlrbywgZGl2LnNha2ktY2FyZC52MTIua2Fpbm91LXlvc2hpa286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYWlub3UteW9zaGlrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYWt1cmEta3VydW1pLCBkaXYuc2FraS1jYXJkLnYxMi5rYWt1cmEta3VydW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIua2FrdXJhLWt1cnVtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYW5iYXJhLXNhdG9taSwgZGl2LnNha2ktY2FyZC52MTIua2FuYmFyYS1zYXRvbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYW5iYXJhLXNhdG9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYXJpanVrdS10b21vZSwgZGl2LnNha2ktY2FyZC52MTIua2FyaWp1a3UtdG9tb2U6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5rYXJpanVrdS10b21vZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rYXRhb2thLXl1dWtpLCBkaXYuc2FraS1jYXJkLnYxMi5rYXRhb2thLXl1dWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIua2F0YW9rYS15dXVraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rb3NlZ2F3YS1zaGlyb21pLCBkaXYuc2FraS1jYXJkLnYxMi5rb3NlZ2F3YS1zaGlyb21pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIua29zZWdhd2Etc2hpcm9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5rdW5paGlyby1oYWppbWUsIGRpdi5zYWtpLWNhcmQudjEyLmt1bmloaXJvLWhhamltZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLmt1bmloaXJvLWhhamltZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tYXNlLXl1dWtvLCBkaXYuc2FraS1jYXJkLnYxMi5tYXNlLXl1dWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubWFzZS15dXVrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tYXRhbm8tc2Vpa28sIGRpdi5zYWtpLWNhcmQudjEyLm1hdGFuby1zZWlrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm1hdGFuby1zZWlrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tYXRzdW1pLWt1cm8sIGRpdi5zYWtpLWNhcmQudjEyLm1hdHN1bWkta3Vybzo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm1hdHN1bWkta3Vybzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tYXRzdW1pLXl1dSwgZGl2LnNha2ktY2FyZC52MTIubWF0c3VtaS15dXU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5tYXRzdW1pLXl1dTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tYXlhLXl1a2lrbywgZGl2LnNha2ktY2FyZC52MTIubWF5YS15dWtpa286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5tYXlhLXl1a2lrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5tZWdhbi1kYXZpbiwgZGl2LnNha2ktY2FyZC52MTIubWVnYW4tZGF2aW46OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5tZWdhbi1kYXZpbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5taXlhbmFnYS1zYWtpLCBkaXYuc2FraS1jYXJkLnYxMi5taXlhbmFnYS1zYWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubWl5YW5hZ2Etc2FraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5taXlhbmFnYS10ZXJ1LCBkaXYuc2FraS1jYXJkLnYxMi5taXlhbmFnYS10ZXJ1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubWl5YW5hZ2EtdGVydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5uYW5wby1rYXp1ZSwgZGl2LnNha2ktY2FyZC52MTIubmFucG8ta2F6dWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5uYW5wby1rYXp1ZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5uZWxseS12aXJzYWxhZHplLCBkaXYuc2FraS1jYXJkLnYxMi5uZWxseS12aXJzYWxhZHplOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIubmVsbHktdmlyc2FsYWR6ZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5vbmpvdWppLXRva2ksIGRpdi5zYWtpLWNhcmQudjEyLm9uam91amktdG9raTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm9uam91amktdG9raTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5vb2hvc2hpLWF3YWksIGRpdi5zYWtpLWNhcmQudjEyLm9vaG9zaGktYXdhaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLm9vaG9zaGktYXdhaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5yeXV1bW9uYnVjaGktdG91a2EsIGRpdi5zYWtpLWNhcmQudjEyLnJ5dXVtb25idWNoaS10b3VrYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnJ5dXVtb25idWNoaS10b3VrYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zYWdpbW9yaS1hcmF0YSwgZGl2LnNha2ktY2FyZC52MTIuc2FnaW1vcmktYXJhdGE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5zYWdpbW9yaS1hcmF0YTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zYXdhbXVyYS10b21va2ksIGRpdi5zYWtpLWNhcmQudjEyLnNhd2FtdXJhLXRvbW9raTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNhd2FtdXJhLXRvbW9raTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zZW5vby1rYW9yaSwgZGl2LnNha2ktY2FyZC52MTIuc2Vub28ta2Fvcmk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5zZW5vby1rYW9yaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zaGlidXlhLXRha2FtaSwgZGl2LnNha2ktY2FyZC52MTIuc2hpYnV5YS10YWthbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5zaGlidXlhLXRha2FtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zaGltaXp1ZGFuaS1yeXV1a2EsIGRpdi5zYWtpLWNhcmQudjEyLnNoaW1penVkYW5pLXJ5dXVrYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnNoaW1penVkYW5pLXJ5dXVrYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zaGlyb3V6dS1tYWlydSwgZGl2LnNha2ktY2FyZC52MTIuc2hpcm91enUtbWFpcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5zaGlyb3V6dS1tYWlydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi5zb21leWEtbWFrbywgZGl2LnNha2ktY2FyZC52MTIuc29tZXlhLW1ha286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi5zb21leWEtbWFrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50YWtha2Ftby1zaGl6dW5vLCBkaXYuc2FraS1jYXJkLnYxMi50YWtha2Ftby1zaGl6dW5vOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIudGFrYWthbW8tc2hpenVubzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50YWtlaS1oaXNhLCBkaXYuc2FraS1jYXJkLnYxMi50YWtlaS1oaXNhOjpiZWZvcmUsIGxhYmVsLm1vZC52MTIudGFrZWktaGlzYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50YWtpbWktaGFydSwgZGl2LnNha2ktY2FyZC52MTIudGFraW1pLWhhcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50YWtpbWktaGFydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50b3lvdWtvLW1vbW9rbywgZGl2LnNha2ktY2FyZC52MTIudG95b3Vrby1tb21va286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50b3lvdWtvLW1vbW9rbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50c3VqaWdhaXRvLXNhdG9oYSwgZGl2LnNha2ktY2FyZC52MTIudHN1amlnYWl0by1zYXRvaGE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50c3VqaWdhaXRvLXNhdG9oYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50c3VydXRhLWhpbWVrbywgZGl2LnNha2ktY2FyZC52MTIudHN1cnV0YS1oaW1la286OmJlZm9yZSwgbGFiZWwubW9kLnYxMi50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi51c3V6YXdhLXNhZSwgZGl2LnNha2ktY2FyZC52MTIudXN1emF3YS1zYWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMi51c3V6YXdhLXNhZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi51c3V6dW1pLWhhdHN1bWksIGRpdi5zYWtpLWNhcmQudjEyLnVzdXp1bWktaGF0c3VtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEyLnVzdXp1bWktaGF0c3VtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi55dW1lbm8tbWFobywgZGl2LnNha2ktY2FyZC52MTIueXVtZW5vLW1haG86OmJlZm9yZSwgbGFiZWwubW9kLnYxMi55dW1lbm8tbWFobzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5haXNsaW5uLXdpc2hhcnQsIGRpdi5zYWtpLWNhcmQudjEzLmFpc2xpbm4td2lzaGFydDo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmFpc2xpbm4td2lzaGFydDo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hbWFlLWtvcm9tbywgZGl2LnNha2ktY2FyZC52MTMuYW1hZS1rb3JvbW86OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5hbWFlLWtvcm9tbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hbmV0YWktdG95b25lLCBkaXYuc2FraS1jYXJkLnYxMy5hbmV0YWktdG95b25lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuYW5ldGFpLXRveW9uZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hcmFrYXdhLWtlaSwgZGl2LnNha2ktY2FyZC52MTMuYXJha2F3YS1rZWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5hcmFrYXdhLWtlaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hdGFnby1oaXJvZSwgZGl2LnNha2ktY2FyZC52MTMuYXRhZ28taGlyb2U6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5hdGFnby1oaXJvZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hdGFnby1raW51ZSwgZGl2LnNha2ktY2FyZC52MTMuYXRhZ28ta2ludWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5hdGFnby1raW51ZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5hdGFyYXNoaS1ha28sIGRpdi5zYWtpLWNhcmQudjEzLmF0YXJhc2hpLWFrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmF0YXJhc2hpLWFrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5jaG9lLW15ZW9uZ2h3YSwgZGl2LnNha2ktY2FyZC52MTMuY2hvZS1teWVvbmdod2E6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5jaG9lLW15ZW9uZ2h3YTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5lemFraS1oaXRvbWksIGRpdi5zYWtpLWNhcmQudjEzLmV6YWtpLWhpdG9taTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmV6YWtpLWhpdG9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTAgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5mdWt1amktbWlob2tvLCBkaXYuc2FraS1jYXJkLnYxMy5mdWt1amktbWlob2tvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuZnVrdWppLW1paG9rbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5mdW5ha3Viby1oaXJva28sIGRpdi5zYWtpLWNhcmQudjEzLmZ1bmFrdWJvLWhpcm9rbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmZ1bmFrdWJvLWhpcm9rbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5oYW5hZGEta2lyYW1lLCBkaXYuc2FraS1jYXJkLnYxMy5oYW5hZGEta2lyYW1lOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaGFuYWRhLWtpcmFtZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5oYW8taHVpeXUsIGRpdi5zYWtpLWNhcmQudjEzLmhhby1odWl5dTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmhhby1odWl5dTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5oYXJhbXVyYS1ub2Rva2EsIGRpdi5zYWtpLWNhcmQudjEzLmhhcmFtdXJhLW5vZG9rYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmhhcmFtdXJhLW5vZG9rYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5oaXJvc2Utc3VtaXJlLCBkaXYuc2FraS1jYXJkLnYxMy5oaXJvc2Utc3VtaXJlOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaGlyb3NlLXN1bWlyZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5pa2VkYS1rYW5hLCBkaXYuc2FraS1jYXJkLnYxMy5pa2VkYS1rYW5hOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuaWtlZGEta2FuYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5pbm91ZS1qdW4sIGRpdi5zYWtpLWNhcmQudjEzLmlub3VlLWp1bjo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmlub3VlLWp1bjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5pd2FkYXRlLXl1YW4sIGRpdi5zYWtpLWNhcmQudjEzLml3YWRhdGUteXVhbjo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLml3YWRhdGUteXVhbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTEgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5pd2F0by1rYXN1bWksIGRpdi5zYWtpLWNhcmQudjEzLml3YXRvLWthc3VtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLml3YXRvLWthc3VtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5qaW5kYWkta29tYWtpLCBkaXYuc2FraS1jYXJkLnYxMy5qaW5kYWkta29tYWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMuamluZGFpLWtvbWFraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYWppa2kteXVtaSwgZGl2LnNha2ktY2FyZC52MTMua2FqaWtpLXl1bWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYWppa2kteXVtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYWlub3UteW9zaGlrbywgZGl2LnNha2ktY2FyZC52MTMua2Fpbm91LXlvc2hpa286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYWlub3UteW9zaGlrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYWt1cmEta3VydW1pLCBkaXYuc2FraS1jYXJkLnYxMy5rYWt1cmEta3VydW1pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMua2FrdXJhLWt1cnVtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYW5iYXJhLXNhdG9taSwgZGl2LnNha2ktY2FyZC52MTMua2FuYmFyYS1zYXRvbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYW5iYXJhLXNhdG9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYXJpanVrdS10b21vZSwgZGl2LnNha2ktY2FyZC52MTMua2FyaWp1a3UtdG9tb2U6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5rYXJpanVrdS10b21vZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rYXRhb2thLXl1dWtpLCBkaXYuc2FraS1jYXJkLnYxMy5rYXRhb2thLXl1dWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMua2F0YW9rYS15dXVraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rb3NlZ2F3YS1zaGlyb21pLCBkaXYuc2FraS1jYXJkLnYxMy5rb3NlZ2F3YS1zaGlyb21pOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMua29zZWdhd2Etc2hpcm9taTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5rdW5paGlyby1oYWppbWUsIGRpdi5zYWtpLWNhcmQudjEzLmt1bmloaXJvLWhhamltZTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLmt1bmloaXJvLWhhamltZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tYXNlLXl1dWtvLCBkaXYuc2FraS1jYXJkLnYxMy5tYXNlLXl1dWtvOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubWFzZS15dXVrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tYXRhbm8tc2Vpa28sIGRpdi5zYWtpLWNhcmQudjEzLm1hdGFuby1zZWlrbzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1hdGFuby1zZWlrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tYXRzdW1pLWt1cm8sIGRpdi5zYWtpLWNhcmQudjEzLm1hdHN1bWkta3Vybzo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1hdHN1bWkta3Vybzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tYXRzdW1pLXl1dSwgZGl2LnNha2ktY2FyZC52MTMubWF0c3VtaS15dXU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5tYXRzdW1pLXl1dTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tYXlhLXl1a2lrbywgZGl2LnNha2ktY2FyZC52MTMubWF5YS15dWtpa286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5tYXlhLXl1a2lrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tZWdhbi1kYXZpbiwgZGl2LnNha2ktY2FyZC52MTMubWVnYW4tZGF2aW46OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5tZWdhbi1kYXZpbjo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5taXlhbmFnYS1zYWtpLCBkaXYuc2FraS1jYXJkLnYxMy5taXlhbmFnYS1zYWtpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubWl5YW5hZ2Etc2FraTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5taXlhbmFnYS10ZXJ1LCBkaXYuc2FraS1jYXJkLnYxMy5taXlhbmFnYS10ZXJ1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubWl5YW5hZ2EtdGVydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTMgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5tb3RvdWNoaS1uYXJ1a2EsIGRpdi5zYWtpLWNhcmQudjEzLm1vdG91Y2hpLW5hcnVrYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm1vdG91Y2hpLW5hcnVrYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5uYW5wby1rYXp1ZSwgZGl2LnNha2ktY2FyZC52MTMubmFucG8ta2F6dWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5uYW5wby1rYXp1ZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5uZWxseS12aXJzYWxhZHplLCBkaXYuc2FraS1jYXJkLnYxMy5uZWxseS12aXJzYWxhZHplOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMubmVsbHktdmlyc2FsYWR6ZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5vbmpvdWppLXRva2ksIGRpdi5zYWtpLWNhcmQudjEzLm9uam91amktdG9raTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm9uam91amktdG9raTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5vb2hvc2hpLWF3YWksIGRpdi5zYWtpLWNhcmQudjEzLm9vaG9zaGktYXdhaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLm9vaG9zaGktYXdhaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5yeXV1bW9uYnVjaGktdG91a2EsIGRpdi5zYWtpLWNhcmQudjEzLnJ5dXVtb25idWNoaS10b3VrYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnJ5dXVtb25idWNoaS10b3VrYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zYWdpbW9yaS1hcmF0YSwgZGl2LnNha2ktY2FyZC52MTMuc2FnaW1vcmktYXJhdGE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zYWdpbW9yaS1hcmF0YTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zYXdhbXVyYS10b21va2ksIGRpdi5zYWtpLWNhcmQudjEzLnNhd2FtdXJhLXRvbW9raTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNhd2FtdXJhLXRvbW9raTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zZW5vby1rYW9yaSwgZGl2LnNha2ktY2FyZC52MTMuc2Vub28ta2Fvcmk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zZW5vby1rYW9yaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTQgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zaGlidXlhLXRha2FtaSwgZGl2LnNha2ktY2FyZC52MTMuc2hpYnV5YS10YWthbWk6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zaGlidXlhLXRha2FtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zaGltaXp1ZGFuaS1yeXV1a2EsIGRpdi5zYWtpLWNhcmQudjEzLnNoaW1penVkYW5pLXJ5dXVrYTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnNoaW1penVkYW5pLXJ5dXVrYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zaGlyb3V6dS1tYWlydSwgZGl2LnNha2ktY2FyZC52MTMuc2hpcm91enUtbWFpcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zaGlyb3V6dS1tYWlydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zaGlzaGloYXJhLXNhd2F5YSwgZGl2LnNha2ktY2FyZC52MTMuc2hpc2hpaGFyYS1zYXdheWE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zaGlzaGloYXJhLXNhd2F5YTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zb21leWEtbWFrbywgZGl2LnNha2ktY2FyZC52MTMuc29tZXlhLW1ha286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zb21leWEtbWFrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy5zdWVoYXJhLWt5b3VrbywgZGl2LnNha2ktY2FyZC52MTMuc3VlaGFyYS1reW91a286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy5zdWVoYXJhLWt5b3Vrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50YWtha2Ftby1zaGl6dW5vLCBkaXYuc2FraS1jYXJkLnYxMy50YWtha2Ftby1zaGl6dW5vOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMudGFrYWthbW8tc2hpenVubzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50YWtlaS1oaXNhLCBkaXYuc2FraS1jYXJkLnYxMy50YWtlaS1oaXNhOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMudGFrZWktaGlzYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50YWtpbWktaGFydSwgZGl2LnNha2ktY2FyZC52MTMudGFraW1pLWhhcnU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50YWtpbWktaGFydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50b3lvdWtvLW1vbW9rbywgZGl2LnNha2ktY2FyZC52MTMudG95b3Vrby1tb21va286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50b3lvdWtvLW1vbW9rbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0wICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50c3VqaWdhaXRvLXNhdG9oYSwgZGl2LnNha2ktY2FyZC52MTMudHN1amlnYWl0by1zYXRvaGE6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50c3VqaWdhaXRvLXNhdG9oYTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0xICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy50c3VydXRhLWhpbWVrbywgZGl2LnNha2ktY2FyZC52MTMudHN1cnV0YS1oaW1la286OmJlZm9yZSwgbGFiZWwubW9kLnYxMy50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0yICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy51ZXNoaWdlLXN1enUsIGRpdi5zYWtpLWNhcmQudjEzLnVlc2hpZ2Utc3V6dTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnVlc2hpZ2Utc3V6dTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC0zICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy51c3V6YXdhLXNhZSwgZGl2LnNha2ktY2FyZC52MTMudXN1emF3YS1zYWU6OmJlZm9yZSwgbGFiZWwubW9kLnYxMy51c3V6YXdhLXNhZTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC00ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy51c3V6dW1pLWhhdHN1bWksIGRpdi5zYWtpLWNhcmQudjEzLnVzdXp1bWktaGF0c3VtaTo6YmVmb3JlLCBsYWJlbC5tb2QudjEzLnVzdXp1bWktaGF0c3VtaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy55YWUta29iYXNoaXJpLCBkaXYuc2FraS1jYXJkLnYxMy55YWUta29iYXNoaXJpOjpiZWZvcmUsIGxhYmVsLm1vZC52MTMueWFlLWtvYmFzaGlyaTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC02ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy55b3NoaXRvbWUtbWloYXJ1LCBkaXYuc2FraS1jYXJkLnYxMy55b3NoaXRvbWUtbWloYXJ1OjpiZWZvcmUsIGxhYmVsLm1vZC52MTMueW9zaGl0b21lLW1paGFydTo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC03ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMy55dW1lbm8tbWFobywgZGl2LnNha2ktY2FyZC52MTMueXVtZW5vLW1haG86OmJlZm9yZSwgbGFiZWwubW9kLnYxMy55dW1lbm8tbWFobzo6YmVmb3JlIHsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC04ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTYgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5sYWJlbC5tb2QudjEzOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTggKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zaGltb2NoYSBkaXYuc2FraS1jYXJkOjpiZWZvcmUsIGRpdi5zaGltb2NoYSBkaXYuc2FraS1jYXJkOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LnRvaW1lbiBkaXYuc2FraS1jYXJkOjpiZWZvcmUsIGRpdi50b2ltZW4gZGl2LnNha2ktY2FyZDo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKDUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYua2FtaWNoYSBkaXYuc2FraS1jYXJkOjpiZWZvcmUsIGRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYuc2FraS1jYXJkLmRpc2FibGVkLCBkaXYuc2FraS1jYXJkLmRpc2FibGVkOjpiZWZvcmUgeyBmaWx0ZXI6IHNhdHVyYXRlKDAlKTsgfVxuLyogZG91YmxlIGNhcmQgdmlldyBmb3IgbWFpcnUvaGltZWtvICovXG5kaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjphZnRlcixcbmRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmFmdGVyIHtcbiAgbGVmdDogY2FsYygtMzUwJSArIDAuNSAqIHZhcigtLWNhcmQtd2lkdGgpKTtcbiAgei1pbmRleDogMTA7XG59XG5kaXYuc2FraS1jYXJkLnYxMi5zaGlyb3V6dS1tYWlydTpob3Zlcjo6YWZ0ZXIsIGxhYmVsLm1vZC52MTIuc2hpcm91enUtbWFpcnU6OmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjYWxjKC01ICogdmFyKC0tY2FyZC13aWR0aCkpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IGNhbGMoLTUgKiB2YXIoLS1jYXJkLWhlaWdodCkpOyB9XG5kaXYuc2FraS1jYXJkLnYxMi50c3VydXRhLWhpbWVrbzpob3Zlcjo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTcgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNCAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnNoaXJvdXp1LW1haXJ1OmhvdmVyOjphZnRlciwgbGFiZWwubW9kLnYxMy5zaGlyb3V6dS1tYWlydTo6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoLTIgKiB2YXIoLS1jYXJkLXdpZHRoKSk7IGJhY2tncm91bmQtcG9zaXRpb24teTogY2FsYygtNiAqIHZhcigtLWNhcmQtaGVpZ2h0KSk7IH1cbmRpdi5zYWtpLWNhcmQudjEzLnRzdXJ1dGEtaGltZWtvOmhvdmVyOjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQtcG9zaXRpb24teDogY2FsYygtMiAqIHZhcigtLWNhcmQtd2lkdGgpKTsgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjYWxjKC01ICogdmFyKC0tY2FyZC1oZWlnaHQpKTsgfVxuZGl2LnNha2ktY2FyZC5zaGlyb3V6dS1tYWlydTo6YmVmb3JlLFxuZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTAuNSAqIHZhcigtLWNhcmQtd2lkdGgpKSk7XG59XG5kaXYuc2hpbW9jaGEgZGl2LnNha2ktY2FyZC5zaGlyb3V6dS1tYWlydTo6YmVmb3JlLFxuZGl2LnNoaW1vY2hhIGRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygtMC41ICogdmFyKC0tY2FyZC13aWR0aCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygzICogdmFyKC0tdGlsZS1zaXplKSkpO1xufVxuZGl2LnRvaW1lbiBkaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjpiZWZvcmUsXG5kaXYudG9pbWVuIGRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZylcbiAgICAgICAgICAgICB0cmFuc2xhdGVYKGNhbGMoLTAuNSAqIHZhcigtLWNhcmQtd2lkdGgpKSlcbiAgICAgICAgICAgICB0cmFuc2xhdGVZKGNhbGMoNSAqIHZhcigtLXRpbGUtc2l6ZSkpKTtcbn1cbmRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQuc2hpcm91enUtbWFpcnU6OmJlZm9yZSxcbmRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZylcbiAgICAgICAgICAgICB0cmFuc2xhdGVYKGNhbGMoLTAuNSAqIHZhcigtLWNhcmQtd2lkdGgpKSk7XG59XG5kaXYuc2hpbW9jaGEgZGl2LnNha2ktY2FyZC5zaGlyb3V6dS1tYWlydTo6YWZ0ZXIsXG5kaXYuc2hpbW9jaGEgZGl2LnNha2ktY2FyZC50c3VydXRhLWhpbWVrbzo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZylcbiAgICAgICAgICAgICB0cmFuc2xhdGVYKGNhbGMoMC41ICogdmFyKC0tY2FyZC13aWR0aCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygwLjUgKiB2YXIoLS1jYXJkLWhlaWdodCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5kaXYudG9pbWVuIGRpdi5zYWtpLWNhcmQuc2hpcm91enUtbWFpcnU6OmFmdGVyLFxuZGl2LnRvaW1lbiBkaXYuc2FraS1jYXJkLnRzdXJ1dGEtaGltZWtvOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZylcbiAgICAgICAgICAgICB0cmFuc2xhdGVYKGNhbGMoMSAqIHZhcigtLWNhcmQtd2lkdGgpKSlcbiAgICAgICAgICAgICB0cmFuc2xhdGVZKGNhbGMoMC41ICogdmFyKC0tY2FyZC1oZWlnaHQpKSk7XG59XG5kaXYua2FtaWNoYSBkaXYuc2FraS1jYXJkLnNoaXJvdXp1LW1haXJ1OjphZnRlcixcbmRpdi5rYW1pY2hhIGRpdi5zYWtpLWNhcmQudHN1cnV0YS1oaW1la286OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVgoY2FsYygwLjUgKiB2YXIoLS1jYXJkLXdpZHRoKSkpXG4gICAgICAgICAgICAgdHJhbnNsYXRlWShjYWxjKC0wLjUgKiB2YXIoLS1jYXJkLWhlaWdodCkpKVxuICAgICAgICAgICAgIHRyYW5zbGF0ZVkoY2FsYygxLjUgKiB2YXIoLS10aWxlLXNpemUpKSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBpbmRleC90aXRsZSBzY3JlZW4gYW5kIGxvZyBtZW51IHNjcmVlbiAqL1xuZGl2LnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiBjYWxjKDIgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5kaXYudGl0bGUgPiBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmRpdi50aXRsZSA+IGRpdi50aXRsZS1yaWljaGkge1xuICBmb250LXNpemU6IGNhbGMoMyAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogYmxhY2s7XG4gIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyAgXG4gIHRvcDogMDtcbiAgd2lkdGg6IGNhbGMoMTAgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgbGVmdDogY2FsYygyICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudGl0bGUgPiBkaXYudGl0bGUtYWR2YW5jZWQge1xuICBmb250LXNpemU6IGNhbGMoMiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBjb2xvcjogYmxhY2s7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7ICBcbiAgbGVmdDogY2FsYyg0LjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgdG9wOiBjYWxjKDMgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi50aXRsZSA+IGRpdi50aWxlIHtcbiAgLS10aWxlLXNjYWxlLWZhY3RvcjogMztcbiAgdG9wOiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnRpdGxlID4gZGl2LnRpbGUuXFwzOCBtIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpO1xuICBsZWZ0OiBjYWxjKDAuNiAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LnRpdGxlID4gZGl2LnRpbGUuXFwzNyB6IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgcmlnaHQ6IGNhbGMoMC42ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5kaXYudGl0bGUgPiBkaXYudGl0bGUtcmlpY2hpOjpiZWZvcmUsXG5kaXYudGl0bGUgPiBkaXYudGl0bGUtYWR2YW5jZWQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDE1MCU7XG4gIGhlaWdodDogMTQwJTtcbiAgbGVmdDogLTI1JTtcbiAgYm90dG9tOiAtNy41JTtcbiAgei1pbmRleDogLTE7XG59XG5kaXYudGl0bGUgPiBkaXYudGl0bGUtcmlpY2hpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9icnVzaC1iZy5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgei1pbmRleDogLTE7XG59XG5kaXYudGl0bGUgPiBkaXYudGl0bGUtYWR2YW5jZWQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JydXNoLWJnMi5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgei1pbmRleDogLTE7XG59XG5kaXYjY29udGFpbmVyID4gZGl2LmluZGV4LXZlcnNpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sb3I6IHdoaXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG59XG5kaXYjY29udGFpbmVyID4gZGl2LmluZGV4LWJvdHRvbS1idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuZGl2I2NvbnRhaW5lciA+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+IGRpdi5jb25maWctY29udGFpbmVyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogYm90dG9tIGJ1dHRvbnMgKi9cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgPiBkaXYuc2NvcmluZy10ZXN0LWJvdHRvbS1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3JkZXI6IDI7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICAmID4gZm9ybSB7IGZsZXgtZ3JvdzogMTsgZGlzcGxheTogZmxleDsgY29sdW1uLWdhcDogY2FsYygwLjI1ICogdmFyKC0tdGlsZS1zaXplKSk7IH1cbiAgJiBidXR0b24geyBmb250LXNpemU6IDE1MCU7IGZsZXgtZ3JvdzogMDsgfVxuICAmIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHsgZmxleC1ncm93OiAxOyB9XG59XG5kaXYuc2NvcmluZ3Rlc3QtY29udGFpbmVyIGRpdi55YWt1LW91dGVyLWNvbnRhaW5lciB7XG4gICYgc3Bhbi55YWt1LWJvdHRvbS1taW5pcG9pbnQtbmFtZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICB9XG4gICYgaW5wdXQge1xuICAgIC0td2lkdGg6IDg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS13aWR0aCkgKiAwLjZlbSk7XG4gICAgYmFja2dyb3VuZDogbGlnaHRncmF5O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5cbi8qIGhhbmQtc2VsZWN0aW9uLWNvbnRhaW5lciAqL1xuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24taGFuZCxcbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHJvdy1nYXA6IGNhbGMoMC4yNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1oYW5kIHtcbiAgcGFkZGluZzogY2FsYygwLjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5kaXYuaGFuZC1zZWxlY3Rpb24taW5uZXItY29udGFpbmVyID4gZGl2LmhhbmQtc2VsZWN0aW9uLWhhbmQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAuMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tYnV0dG9ucyB7XG4gIGNvbHVtbi1nYXA6IGNhbGMoMC4xMjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbn1cbmRpdi5oYW5kLXNlbGVjdGlvbi1pbm5lci1jb250YWluZXIgPiBkaXYuaGFuZC1zZWxlY3Rpb24tYnV0dG9ucyA+IGJ1dHRvbi5jbGVhciB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtZnJvbnQtc2lkZSkpXG4gICAgICAgICAgZHJvcC1zaGFkb3coMCBjYWxjKHZhcigtLXRpbGUtc2l6ZSkgLyA4KSAwIHZhcigtLXRpbGUtYmFjay1zaWRlKSlcbiAgICAgICAgICBjb250cmFzdCg2MCUpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwLjg3NSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xufVxuZGl2LmhhbmQtc2VsZWN0aW9uLWlubmVyLWNvbnRhaW5lciA+IGRpdi5oYW5kLXNlbGVjdGlvbi1idXR0b25zID4gYnV0dG9uLmNsZWFyID4gZGl2LnRpbGUge1xuICBmb250LXNpemU6IGNhbGMoMC4zNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgdGV4dC1vcmllbnRhdGlvbjogdXByaWdodDtcbiAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjVleDtcbiAgcGFkZGluZzogMCBjYWxjKDAuMjc1ICogdmFyKC0tdGlsZS1zaXplKSk7XG59XG5cbi8qIGluZGl2aWR1YWwgeWFrdSBpbnNpZGUgeWFrdS1jb250YWluZXIgKi9cbmRpdi5zY29yaW5ndGVzdC1jb250YWluZXIgZGl2Lnlha3UtY29udGFpbmVyID4gZGl2Lnlha3UtaW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcm93LWdhcDogY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgY29sdW1uLWdhcDogY2FsYygwLjEyNSAqIHZhcigtLXRpbGUtc2l6ZSkpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAmID4gZGl2Lnlha3UtbGlzdCxcbiAgJiA+IGRpdi55YWt1LWxpc3Qtc3BhY2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwLjVlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVlbTtcbiAgfVxuICAmIGRpdi55YWt1LWxpc3QtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgJiBsYWJlbC55YWt1LWJ1dHRvbiB7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgJiBsYWJlbC55YWt1LWJ1dHRvbiBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtLXdpZHRoOiAxO1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXdpZHRoKSAqIDAuNmVtKTtcbiAgICBtYXJnaW46IDAgY2FsYygwLjA2MjUgKiB2YXIoLS10aWxlLXNpemUpKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59Il0sCiAgIm1hcHBpbmdzIjogIjtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFNRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFNRTtBQUFBO0FBQUE7QUFJSjtBQUFBO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBT0o7QUFBQTtBQUFBO0FBQXdCO0FBQUE7QUFFeEI7QUFBQTtBQUE4QztBQUFBO0FBQzlDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBZ0I7QUFBQTtBQUNoQjtBQUF3QjtBQUFBO0FBRXhCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBdUI7QUFBQTtBQUFpQztBQUFBO0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBVztBQUFBO0FBQ1g7QUFBQTtBQUFzQjtBQUFBO0FBQ3RCO0FBQUE7QUFBZ0M7QUFBQTtBQUNoQztBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBQy9CO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBQy9CO0FBQStCO0FBQUE7QUFDL0I7QUFBK0I7QUFBQTtBQUMvQjtBQUErQjtBQUFBO0FBQy9CO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBQ2hDO0FBQWdDO0FBQUE7QUFDaEM7QUFBZ0M7QUFBQTtBQUNoQztBQUFnQztBQUFBO0FBRWhDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE0QztBQUFBO0FBQzVDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE0QztBQUFBO0FBQzVDO0FBQTRDO0FBQUE7QUFDNUM7QUFBNEM7QUFBQTtBQUM1QztBQUE0QztBQUFBO0FBQzVDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQTZDO0FBQUE7QUFDN0M7QUFBNkM7QUFBQTtBQUM3QztBQUE2QztBQUFBO0FBQzdDO0FBQUE7QUFBQTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUFrQjtBQUFBO0FBQ2xCO0FBQUE7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtGO0FBQXdCO0FBQUE7QUFFeEI7QUFBQTtBQUM0QztBQUFBO0FBQzVDO0FBQWdEO0FBQUE7QUFDaEQ7QUFBbUI7QUFBQTtBQUNuQjtBQUF3QjtBQUFBO0FBQ3hCO0FBQXlCO0FBQUE7QUFFekI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUE0QztBQUFrQjtBQUFBO0FBQzlEO0FBQXlDO0FBQUE7QUFDekM7QUFBdUM7QUFBQTtBQUN2QztBQUF3QztBQUFBO0FBQ3hDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQW9CO0FBQWM7QUFBQTtBQUNsQztBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQ3FEO0FBQUE7QUFDckQ7QUFBZ0M7QUFBZTtBQUF3QjtBQUFBO0FBQ3ZFO0FBQWtCO0FBQUE7QUFHbEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFzQjtBQUFBO0FBQ3RCO0FBQXNCO0FBQUE7QUFDdEI7QUFBd0I7QUFBQTtBQUN4QjtBQUF1QjtBQUFBO0FBQ3ZCO0FBQXVCO0FBQUE7QUFDdkI7QUFBc0I7QUFBQTtBQUN0QjtBQUF3QjtBQUFBO0FBQ3hCO0FBQXdCO0FBQUE7QUFDeEI7QUFBdUI7QUFBQTtBQUN2QjtBQUFzQjtBQUFBO0FBQ3RCO0FBQW9CO0FBQUE7QUFDcEI7QUFBb0I7QUFBQTtBQUNwQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQW9CO0FBQUE7QUFDcEI7QUFBcUI7QUFBQTtBQUNyQjtBQUFvQjtBQUFBO0FBQ3BCO0FBQW9CO0FBQUE7QUFDcEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFDRTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUN3QztBQUFhO0FBQWE7QUFBQTtBQUNsRTtBQUFnQjtBQUFBO0FBQ2hCO0FBQStCO0FBQUE7QUFDL0I7QUFBZ0M7QUFBQTtBQUVoQztBQUF1QjtBQUFBO0FBQ3ZCO0FBQXNDO0FBQUE7QUFDdEM7QUFBdUM7QUFBQTtBQUN2QztBQUF1QztBQUFBO0FBQ3ZDO0FBQXNDO0FBQUE7QUFDdEM7QUFBcUQ7QUFBQTtBQUNyRDtBQUFzRDtBQUFBO0FBQ3REO0FBQXNEO0FBQUE7QUFDdEQ7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUFxQztBQUFBO0FBQUE7QUFHdkM7QUFDRTtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXVDO0FBQUE7QUFDdkM7QUFBeUM7QUFBQTtBQUN6QztBQUF3QztBQUFBO0FBQ3hDO0FBQXlDO0FBQUE7QUFDekM7QUFBeUM7QUFBQTtBQUN6QztBQUEwQztBQUFBO0FBQzFDO0FBQXlDO0FBQUE7QUFDekM7QUFBMEM7QUFBQTtBQUMxQztBQUF3QztBQUFBO0FBQ3hDO0FBQXlDO0FBQUE7QUFDekM7QUFBd0M7QUFBQTtBQUN4QztBQUF5QztBQUFBO0FBQ3pDO0FBQXlDO0FBQUE7QUFDekM7QUFBMEM7QUFBQTtBQUMxQztBQUF5QztBQUFBO0FBQ3pDO0FBQTBDO0FBQUE7QUFDMUM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEyQjtBQUFBO0FBQzNCO0FBQW9CO0FBQUE7QUFDcEI7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUF3QjtBQUFBO0FBQ3hCO0FBQTJCO0FBQUE7QUFDM0I7QUFBeUI7QUFBQTtBQUN6QjtBQUEwQjtBQUFBO0FBQzFCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFDUTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUtGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUE7QUFFVDtBQUEyQztBQUFvQjtBQUFBO0FBQy9EO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBVztBQUFvRztBQUFBO0FBQy9HO0FBQW9CO0FBQTJCO0FBQTJCO0FBQUE7QUFDMUU7QUFBaUI7QUFBa0M7QUFBQTtBQUNuRDtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFrQztBQUFBO0FBQ25EO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQWtDO0FBQUE7QUFDbkQ7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFBO0FBQTZDO0FBQUE7QUFDN0M7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQUE7QUFBcUM7QUFBQTtBQUNyQztBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQUE7QUFBcUM7QUFBQTtBQUNyQztBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXlCO0FBQUE7QUFDekI7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWlCO0FBQUE7QUFDakI7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFBO0FBQXFDO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkc7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBeUI7QUFBbUM7QUFBcUM7QUFBQTtBQUNqRztBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUF5QjtBQUFtQztBQUFxQztBQUFBO0FBQ2pHO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXlCO0FBQW1DO0FBQXFDO0FBQUE7QUFDakc7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBeUI7QUFBbUM7QUFBcUM7QUFBQTtBQUNqRztBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUFxQjtBQUFtQztBQUFxQztBQUFBO0FBQzdGO0FBQXFCO0FBQW1DO0FBQXFDO0FBQUE7QUFDN0Y7QUFBcUI7QUFBbUM7QUFBcUM7QUFBQTtBQUM3RjtBQUF5QjtBQUFtQztBQUFxQztBQUFBO0FBQ2pHO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXlCO0FBQStCO0FBQWlDO0FBQUE7QUFDekY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBeUI7QUFBK0I7QUFBaUM7QUFBQTtBQUN6RjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXlCO0FBQStCO0FBQWlDO0FBQUE7QUFDekY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBcUI7QUFBK0I7QUFBaUM7QUFBQTtBQUNyRjtBQUFxQjtBQUErQjtBQUFpQztBQUFBO0FBQ3JGO0FBQXFCO0FBQStCO0FBQWlDO0FBQUE7QUFDckY7QUFBeUI7QUFBK0I7QUFBaUM7QUFBQTtBQUN6RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUF5QjtBQUFnQztBQUFrQztBQUFBO0FBQzNGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXFCO0FBQWdDO0FBQWtDO0FBQUE7QUFDdkY7QUFBcUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUN2RjtBQUFxQjtBQUFnQztBQUFrQztBQUFBO0FBQ3ZGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQUE7QUFDekI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBQTtBQUN6QjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQW9CO0FBQUE7QUFDckM7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFvQjtBQUFBO0FBQ3JDO0FBQWlCO0FBQW9CO0FBQUE7QUFDckM7QUFBaUI7QUFBb0I7QUFBQTtBQUNyQztBQUFpQjtBQUFvQjtBQUFBO0FBR3JDO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUFBO0FBQ3pCO0FBQXlCO0FBQStCO0FBQWlDO0FBQUE7QUFDekY7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUFBO0FBRXpCO0FBQXFCO0FBQUE7QUFDckI7QUFBeUI7QUFBZ0M7QUFBa0M7QUFBQTtBQUMzRjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUV6QjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUN6QjtBQUF5QjtBQUErQjtBQUFpQztBQUFBO0FBQ3pGO0FBQXlCO0FBQWdDO0FBQWtDO0FBQUE7QUFDM0Y7QUFBeUI7QUFBQTtBQUV6QjtBQUFxQjtBQUFBO0FBR3JCO0FBQW9CO0FBQUE7QUFHcEI7QUFBZTtBQUFnQztBQUFBO0FBQy9DO0FBQWdCO0FBQStCO0FBQUE7QUFDL0M7QUFBZ0I7QUFBbUM7QUFBQTtBQUNuRDtBQUFnQjtBQUFnQztBQUFBO0FBQ2hEO0FBQWtCO0FBQUE7QUFDbEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFpQjtBQUFxQjtBQUFBO0FBQ3RDO0FBQXFCO0FBQUE7QUFDckI7QUFBa0I7QUFBc0I7QUFBQTtBQUN4QztBQUFnQjtBQUFvQjtBQUFBO0FBQ3BDO0FBQWdCO0FBQW9CO0FBQUE7QUFDcEM7QUFBcUI7QUFBQTtBQUNyQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQWlCO0FBQXFCO0FBQUE7QUFDdEM7QUFBZ0I7QUFBQTtBQUNoQjtBQUFpQjtBQUFxQjtBQUFBO0FBQ3RDO0FBQWlCO0FBQUE7QUFDakI7QUFFRTtBQUFBO0FBZ0JGO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHSjtBQUVFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFHRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXFDO0FBQUE7QUFDckM7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXFDO0FBQUE7QUFDckM7QUFBcUM7QUFBQTtBQUNyQztBQUFxQztBQUFBO0FBQ3JDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBQ3RDO0FBQXNDO0FBQUE7QUFDdEM7QUFBc0M7QUFBQTtBQUN0QztBQUFzQztBQUFBO0FBRXRDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWlDO0FBQUE7QUFDakM7QUFBaUM7QUFBQTtBQUNqQztBQUFpQztBQUFBO0FBQ2pDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWtDO0FBQUE7QUFDbEM7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBR2xDO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQU9GO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUVJO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFSTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUo7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUFBO0FBRUk7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFLRjtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLRjtBQUFBO0FBRUk7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBR0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFvQjtBQUFBO0FBQ3BCO0FBQXVCO0FBQTJDO0FBQUE7QUFDbEU7QUFBc0I7QUFBQTtBQUN0QjtBQUF3QjtBQUEwQztBQUFBO0FBSWxFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBMEI7QUFBQTtBQUMxQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQTJCO0FBQUE7QUFDM0I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTJEO0FBQUE7QUFDM0Q7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBb0U7QUFBQTtBQUNwRTtBQUFvRTtBQUFBO0FBQ3BFO0FBQW9FO0FBQUE7QUFDcEU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQXFFO0FBQUE7QUFDckU7QUFBcUU7QUFBQTtBQUNyRTtBQUFxRTtBQUFBO0FBQ3JFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFBQTtBQUVFO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlOO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFvRjtBQUFBO0FBQ3BGO0FBQXdFO0FBQUE7QUFDeEU7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBb0I7QUFBYTtBQUFjO0FBQUE7QUFDL0M7QUFBbUI7QUFBYTtBQUFjO0FBQUE7QUFDOUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTZ0Q7QUFBQTtBQUNoRDtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBaUM7QUFBZ0I7QUFBQTtBQUNqRDtBQUF5QztBQUFBO0FBQ3pDO0FBQWdDO0FBQWdCO0FBQUE7QUFDaEQ7QUFBd0M7QUFBQTtBQUN4QztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFBQTtBQUFBO0FBSUU7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTRCO0FBQWE7QUFBYTtBQUFBO0FBQ3REO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQTJCO0FBQUE7QUFDM0I7QUFBMEI7QUFBdUM7QUFBQTtBQUNqRTtBQUFnQztBQUFBO0FBQ2hDO0FBQStCO0FBQXlDO0FBQUE7QUFDeEU7QUFBcUM7QUFBQTtBQUNyQztBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSU47QUFBd0M7QUFBVTtBQUFXO0FBQUE7QUFDN0Q7QUFBNEM7QUFBVTtBQUFZO0FBQUE7QUFDbEU7QUFBMEM7QUFBVTtBQUFjO0FBQVU7QUFBQTtBQUM1RTtBQUEyQztBQUFVO0FBQWE7QUFBQTtBQUNsRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUF3QztBQUFRO0FBQUE7QUFDaEQ7QUFBVztBQUFXO0FBQUE7QUFDdEI7QUFDRTtBQUFBO0FBRUY7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUEwQztBQUFBO0FBQzFDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFjO0FBQVM7QUFBVTtBQUFxQjtBQUFBO0FBQ3REO0FBQWtCO0FBQVE7QUFBVztBQUFvQjtBQUFBO0FBQ3pEO0FBQWdCO0FBQVM7QUFBVTtBQUFxQjtBQUFBO0FBQ3hEO0FBQWlCO0FBQVE7QUFBVztBQUFvQjtBQUFBO0FBQ3hEO0FBQWE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUluQjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQWdCO0FBQUE7QUFDaEI7QUFBZ0I7QUFBQTtBQUFBO0FBRWxCO0FBQUE7QUFBNEM7QUFBQTtBQUM1QztBQUFBO0FBQXNEO0FBQUE7QUFBQTtBQUd4RDtBQUFBO0FBQ0U7QUFBQTtBQUVGO0FBQ0k7QUFBQTtBQUVKO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSU47QUFBbUU7QUFBQTtBQUNuRTtBQUE2RTtBQUFBO0FBQzdFO0FBQXFGO0FBQUE7QUFDckY7QUFBaUY7QUFBQTtBQUNqRjtBQUFtRjtBQUFBO0FBQ25GO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBQzNFO0FBQTJFO0FBQUE7QUFDM0U7QUFBMkU7QUFBQTtBQUMzRTtBQUEyRTtBQUFBO0FBRTNFO0FBTUE7QUFBQTtBQUNFO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBVTtBQUFBO0FBQUE7QUFFWjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlFO0FBQUE7QUFFRjtBQUE4RDtBQUFBO0FBQzlEO0FBQThEO0FBQUE7QUFJOUQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQWdCO0FBQWU7QUFBQTtBQUMvQjtBQUE2QjtBQUFBO0FBQzdCO0FBQTZCO0FBQUE7QUFDN0I7QUFBNkI7QUFBQTtBQUM3QjtBQUE2QjtBQUFBO0FBQzdCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBMEI7QUFBQTtBQUMxQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQUE7QUFBa0Q7QUFBQTtBQUNsRDtBQUFBO0FBQXVEO0FBQUE7QUFDdkQ7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBb0c7QUFBcUQ7QUFBQTtBQUN6SjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBb0c7QUFBcUQ7QUFBQTtBQUN6SjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBK0g7QUFBcUQ7QUFBQTtBQUNwTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBK0g7QUFBcUQ7QUFBQTtBQUNwTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNEg7QUFBcUQ7QUFBQTtBQUNqTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBb0c7QUFBcUQ7QUFBQTtBQUN6SjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBb0c7QUFBcUQ7QUFBQTtBQUN6SjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBK0g7QUFBcUQ7QUFBQTtBQUNwTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBK0g7QUFBcUQ7QUFBQTtBQUNwTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNEg7QUFBcUQ7QUFBQTtBQUNqTDtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBdUc7QUFBcUQ7QUFBQTtBQUM1SjtBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNEg7QUFBcUQ7QUFBQTtBQUNqTDtBQUFBO0FBQUE7QUFBbUg7QUFBcUQ7QUFBQTtBQUN4SztBQUFBO0FBQUE7QUFBNkc7QUFBcUQ7QUFBQTtBQUNsSztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUFBO0FBQUE7QUFBc0g7QUFBcUQ7QUFBQTtBQUMzSztBQUFBO0FBQUE7QUFBZ0g7QUFBcUQ7QUFBQTtBQUNySztBQUFBO0FBQUE7QUFBeUg7QUFBcUQ7QUFBQTtBQUM5SztBQUFBO0FBQUE7QUFBMEc7QUFBcUQ7QUFBQTtBQUMvSjtBQUF3QjtBQUFxRDtBQUFBO0FBQzdFO0FBQUE7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFBeUQ7QUFBQTtBQUV6RDtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFxRjtBQUFhO0FBQXFEO0FBQUE7QUFDdko7QUFBZ0Q7QUFBYTtBQUFxRDtBQUFBO0FBQ2xIO0FBQUE7QUFBcUY7QUFBYTtBQUFxRDtBQUFBO0FBQ3ZKO0FBQWdEO0FBQWE7QUFBcUQ7QUFBQTtBQUNsSDtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBS0Y7QUFBQTtBQUVFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQWtCRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQXlEO0FBQUE7QUFDekQ7QUFBdUU7QUFBQTtBQUV2RTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlOO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBR0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBR0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQXdEO0FBQUE7QUFDeEQ7QUFBZ0U7QUFBQTtBQUNoRTtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUdKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNRTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBb0M7QUFBQTtBQUNwQztBQUFtQztBQUFBO0FBQ25DO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUE0QjtBQUFBO0FBQzVCO0FBQ0U7QUFBNkY7QUFBQTtBQUM3RjtBQUE0RjtBQUFBO0FBQUE7QUFJOUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBdUI7QUFBQTtBQUFBO0FBRXpCO0FBQXdFO0FBQUE7QUFLeEU7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFtRDtBQUFBO0FBQ25EO0FBQW1EO0FBQUE7QUFDbkQ7QUFBcUQ7QUFBQTtBQUNyRDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBR0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBdUI7QUFBQTtBQUFBO0FBRXpCO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQStFO0FBQUE7QUFDL0U7QUFBeUU7QUFBQTtBQUN6RTtBQUE2RTtBQUFBO0FBRzdFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFXO0FBQWM7QUFBZTtBQUFBO0FBQ3hDO0FBQVc7QUFBaUI7QUFBQTtBQUM1QjtBQUEwQjtBQUFBO0FBQUE7QUFFNUI7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQU1KO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUdBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */
