@charset "UTF-8";
/*
body,
:host {
    --frame-text: #333;
    --frame-text-faded: #666666;
    --frame-border-focused: #eea;
    --frame-header: rgba(170, 170, 187, 0.5);
    --frame-header-focused: rgba(238, 238, 170, 0.5);
    --frame-tab: #888896;
    --frame-tab-focused: #bebe88;
    --frame-tab-selected: #bbbbcc;
    --frame-tab-focused-selected: #ffffbb;
}
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

a:link {
  text-decoration: none;
  color: var(--text-fg-link);
}

a:visited {
  text-decoration: none;
  color: var(--text-fg-visited);
}

a:hover,
a:active {
  text-decoration: underline;
  color: var(--text-fg-hover);
}

p {
  color: var(--text-fg);
}

p,
dl,
multicol {
  margin-block-start: 0.5em;
  margin-block-end: 0.2em;
}

div.stack-frames {
  color: #bbc;
  padding: 0;
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
  border-bottom: 0.125rem solid;
}
div.stack-frames h1 {
  padding: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
}

.stack-frame h2 {
  margin: 0;
  padding: 0.5rem;
  background-color: #bbc;
  color: #333;
}
.stack-frame .address,
.stack-frame .vars {
  display: grid;
  grid-template-rows: repeat(auto-fit, 2rem);
}
.stack-frame .address > *,
.stack-frame .vars > * {
  padding: 0 0.2rem;
}
.stack-frame .vars {
  grid-template-columns: repeat(4, auto);
  text-align: left;
}
.stack-frame .address {
  grid-template-columns: 6rem;
  text-align: right;
}
.stack-frame .memory {
  display: grid;
  grid-template-columns: repeat(8, 2rem) repeat(4, auto);
  grid-template-rows: repeat(auto-fit, 2rem);
  line-height: 2rem;
  margin-left: 2rem;
  margin-bottom: 1rem;
  width: max-content;
}
.stack-frame .memory .head {
  font-weight: 500;
}
.stack-frame .memory .offset,
.stack-frame .memory .size {
  text-align: right;
}
.stack-frame .memory .name,
.stack-frame .memory .type,
.stack-frame .memory .kind {
  text-align: left;
}
.stack-frame .memory .offset,
.stack-frame .memory .name,
.stack-frame .memory .type,
.stack-frame .memory .size,
.stack-frame .memory .kind {
  height: 2rem;
  padding: 0 0.5rem;
}
.stack-frame .memory .offset {
  margin-left: 4rem;
}
.stack-frame .memory .offset .hex {
  display: inline;
}
.stack-frame .memory .offset .dec {
  display: none;
}
.stack-frame .memory .byte {
  height: 2rem;
  border: none;
  position: relative;
  display: block;
  padding: 0.1rem;
}
.stack-frame .memory .byte.bg-p, .stack-frame .memory .byte.bg-0, .stack-frame .memory .byte.bg-1, .stack-frame .memory .byte.bg-2, .stack-frame .memory .byte.bg-3, .stack-frame .memory .byte.bg-4, .stack-frame .memory .byte.bg-5 {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5333333333) 0%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 95%, rgba(0, 0, 0, 0.5333333333) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.5333333333) 0%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 95%, rgba(0, 0, 0, 0.5333333333) 100%);
  background-size: 2rem 2rem;
  text-shadow: 0.1rem 0.1rem 5px black;
}
.stack-frame .memory .byte[data-last-pos="7"]::after,
.stack-frame .memory .byte[data-start]::before {
  position: absolute;
  line-height: normal;
  color: rgba(187, 187, 204, 0.5333333333);
  font-size: 0.5rem;
  text-shadow: none;
}
.stack-frame .memory .byte[data-last-pos="7"]::after {
  content: attr(data-last-offset);
  right: 0.25rem;
}
.stack-frame .memory .byte[data-start]::before {
  content: attr(data-offset);
  left: 0.25rem;
}
.stack-frame .memory .byte[data-pos="0"]::before,
.stack-frame .memory .prev-frame[data-offset]::before {
  content: attr(data-offset);
  position: absolute;
  font-size: 0.8rem;
  left: -0.25rem;
  line-height: normal;
  transform: translateX(-100%);
  color: #bbc;
}
.stack-frame .memory .prev-frame {
  position: relative;
  text-align: center;
  height: 120%;
  clip-path: polygon(-100% 0%, 100% 0%, 100% 100%, 100% 65%, 97% 70%, 92% 67%, 86% 93%, 78% 65%, 75% 94%, 72% 63%, 66% 93%, 63% 60%, 60% 99%, 54% 79%, 47% 81%, 42% 73%, 36% 88%, 29% 69%, 25% 95%, 21% 60%, 16% 94%, 8% 66%, 2% 98%, 0% 100%, -100% 100%);
}
.stack-frame .memory span.hex {
  display: none;
}
.stack-frame .bg-p {
  text-shadow: 0.1rem 0.1rem 5px black;
  background-color: hsl(0deg, 0%, 35%);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5333333333) 0%, rgba(0, 0, 0, 0) 0.675%, rgba(0, 0, 0, 0) 99.375%, rgba(0, 0, 0, 0.5333333333) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.5333333333) 0%, rgba(0, 0, 0, 0) 0.625%, rgba(0, 0, 0, 0) 99.375%, rgba(0, 0, 0, 0.5333333333) 100%);
}
.stack-frame .bg-0 {
  background-color: hsl(300deg, 30%, 35%);
}
.stack-frame .bg-2 {
  background-color: hsl(240deg, 30%, 35%);
}
.stack-frame .bg-4 {
  background-color: hsl(180deg, 30%, 35%);
}
.stack-frame .bg-1 {
  background-color: hsl(120deg, 30%, 35%);
}
.stack-frame .bg-5 {
  background-color: hsl(60deg, 30%, 35%);
}
.stack-frame .bg-3 {
  background-color: hsl(0deg, 30%, 35%);
}
.stack-frame td,
.stack-frame th {
  padding: 0.25rem;
  border: 1px solid;
}

.stack-frames .hex .memory .byte[data-pos="0"]::before,
.stack-frames.hex .memory .byte[data-pos="0"]::before,
.stack-frames .hex.memory .byte[data-pos="0"]::before {
  content: attr(data-offset-x);
}
.stack-frames .hex .memory span.hex,
.stack-frames.hex .memory span.hex,
.stack-frames .hex.memory span.hex {
  display: inline;
}
.stack-frames .hex .memory span.dec,
.stack-frames.hex .memory span.dec,
.stack-frames .hex.memory span.dec {
  display: none;
}

#page {
  min-height: 100vh;
  min-width: 100vw;
  width: 100vw;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 3rem calc(100% - 3rem - 2rem) 2rem;
  overflow: hidden;
}
@media (min-width: 1200px) {
  #page {
    height: 100vh;
  }
}

#page.login {
  height: auto;
}

#page.mainly-coding,
#page.mainly-figure {
  grid-template-rows: 3rem calc(75% - 3rem) calc(25% - 2rem) 2rem;
}

#top {
  grid-column: 1/-1;
  grid-row: 1/2;
}

#mid {
  grid-column: 1/-1;
  grid-row: 2/-2;
}
@media (min-width: 900px) {
  #mid {
    max-height: 200vh;
    display: grid;
    grid-template-columns: repeat(32, 3.09375%);
    grid-template-rows: repeat(16, 6.1875%);
  }
}

#bottom {
  grid-column: 1/-1;
  grid-row: -2/-1;
}

.explorer {
  grid-column: 1/4;
  grid-row: 1/-1;
}

#editor {
  grid-column: 4/19;
  grid-row: 1/8;
}

#screen {
  grid-column: 19/-1;
  grid-row: 1/8;
}

#shell {
  grid-column: 4/-1;
  grid-row: 8/-1;
}

#page.login {
  grid-template-rows: 3rem calc(100% - 5rem) 2rem;
}

#login.box {
  grid-column: 7/-1;
  grid-row: 2/-2;
  padding: 1rem;
}

#terms.box {
  grid-column: 2/7;
  grid-row: 2/-2;
  padding: 1rem;
}

@font-face {
  font-family: "Fantasque Sans Mono";
  src: url("../fonts/fantasque/FantasqueSansMono-Bold.woff2") format("woff2"), url("../fonts/fantasque/FantasqueSansMono-Bold.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Fantasque Sans Mono";
  src: url("../fonts/fantasque/FantasqueSansMono-BoldItalic.woff2") format("woff2"), url("../fonts/fantasque/FantasqueSansMono-BoldItalic.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: "Fantasque Sans Mono";
  src: url("../fonts/fantasque/FantasqueSansMono-Italic.woff2") format("woff2"), url("../fonts/fantasque/FantasqueSansMono-Italic.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Fantasque Sans Mono";
  src: url("../fonts/fantasque/FantasqueSansMono-Regular.woff2") format("woff2"), url("../fonts/fantasque/FantasqueSansMono-Regular.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Andika";
  src: url("../fonts/andika/Andika-Regular.woff2") format("woff2"), url("../fonts/andika/Andika-Regular.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Andika";
  src: url("../fonts/andika/Andika-Italic.woff2") format("woff2"), url("../fonts/andika/Andika-Italic.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Andika";
  src: url("../fonts/andika/Andika-Bold.woff2") format("woff2"), url("../fonts/andika/Andika-Bold.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Andika";
  src: url("../fonts/andika/Andika-BoldItalic.woff2") format("woff2"), url("../fonts/andika/Andika-BoldItalic.woff") format("woff");
  /* Firefox >= 3.6, any other modern browser */
  font-weight: 700;
  font-style: italic;
}
/*
@font-face {
  font-family: 'Monoid';
  src: url('../fonts/monoid/Monoid-Regular-NoCalt.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Monoid';
  src: url('../fonts/monoid/Monoid-Italic-NoCalt.woff') format('woff');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Monoid';
  src: url('../fonts/monoid/Monoid-Bold-NoCalt.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
*/
/*
@font-face {
    font-family: "PressStart2P";
    src: url("../fonts/pressstart2p/PressStart2P.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
*/
@font-face {
  font-family: "PressStart2P Narrow";
  src: url("../fonts/pressstart2p/PressStart2P-Narrow.woff2") format("woff2"), url("../fonts/pressstart2p/PressStart2P-Narrow.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/*
@font-face {
    font-family: "PressStart2P Tall";
    src: url("../fonts/pressstart2p/PressStart2P-Tall.woff2") format("woff2"),
		 url("../fonts/pressstart2p/PressStart2P-Tall.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
*/
@font-face {
  font-family: "TeenyTinyPixls";
  src: url("../fonts/teenytinypixls/TeenyTinyPixls.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
::-webkit-scrollbar {
  width: 0.75rem;
  height: 0.75rem;
}

::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}

::-webkit-scrollbar-thumb {
  background: #805500;
  border-radius: 0px;
}

::-webkit-scrollbar-thumb:hover {
  background: #bf8000;
}

::-webkit-scrollbar-thumb:active {
  background: #000;
}

::-webkit-scrollbar-track {
  background: #333;
  border: 2px solid #805500;
  border-radius: 0px;
}

::-webkit-scrollbar-track:hover {
  background: #000;
  border: 2px solid #bf8000;
}

::-webkit-scrollbar-track:active {
  background: #bf8000;
}

::-webkit-scrollbar-corner {
  background: transparent;
}

/*
::-webkit-scrollbar {
  width: .75rem;
  height: .75rem;
}
::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
::-webkit-scrollbar-thumb {
  background: $scrollbar-color;
  border-left: 2px ridge $scrollbar-color;
  border-right: 2px groove $scrollbar-color;
  border-top: 2px solid #0000;
  border-bottom: 2px solid #0000;
  border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
  background: $scrollbar-color-hi;
}
::-webkit-scrollbar-thumb:active {
  background: #000;
}
::-webkit-scrollbar-track {
  background: #333;
  border: 2px solid $scrollbar-color;
  border-radius: 0px;
}
::-webkit-scrollbar-track:hover {
  background: #000;
  border: 2px solid $scrollbar-color-hi;
}
::-webkit-scrollbar-track:active {
  background: $scrollbar-color-hi;
}
::-webkit-scrollbar-corner {
  background: transparent;
}
*/
button {
  background-color: #bbbb99;
  color: #222;
  border: 0px solid #66e;
  text-align: end;
  line-height: 100%;
  padding: 0 0.2rem;
  position: relative;
  transition: all 0.8s;
}

#top button span.the-text {
  vertical-align: middle;
  font-size: 0.7rem;
  position: relative;
  margin-left: auto;
  transition: font-size 0.3s;
}
@media (max-width: 899px) {
  #top button span.the-text {
    display: none;
  }
}
@media (min-width: 900px) {
  #top button span.the-text {
    display: inline-block;
  }
}

@media (max-width: 899px) {
  #top button span.the-text.text-icon {
    display: inline-block;
  }
}

#top button span.shortcut {
  font-size: 0.7rem;
  transition: font-size 0.3s;
}

#top button:hover span.the-text {
  z-index: 13;
  top: 0.4rem;
}

#top button span:empty::after {
  content: " ";
}

#top button span.icon {
  position: absolute;
  width: max-content;
  right: calc(100% - 1.2rem);
  font-size: 1rem;
  z-index: 2;
  text-shadow: 0 0 0.2rem;
  transition: font-size 0.3s;
  top: 50%;
  transform: translate(0, -50%);
}

#top button span.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

#top button:hover span.icon {
  z-index: 12;
  font-size: 1.5rem;
}

#top button:hover span.bg {
  background-color: #e0e0d1;
  left: -0.5rem;
  top: -0.2rem;
  width: calc(100% + 0.5rem);
  height: calc(100% + 0.6rem);
  z-index: 9;
  box-shadow: 0 0 0.2rem black;
}

#top button .shortcut {
  display: none;
  opacity: 0%;
  position: absolute;
  width: max-content;
  top: -0.2rem;
  right: 0.2rem;
  font-size: 0.8rem;
  z-index: 2;
  transition: opacity 0.3s;
}

#top button:hover .shortcut {
  display: block;
  opacity: 100%;
  z-index: 12;
}

:root {
  --ui-fg: #222;
  --ui-fg-strong: #222;
  --frame: #aab;
  --frame-r: 170;
  --frame-g: 170;
  --frame-b: 187;
  --frame-a: 1;
  --focused: #eea;
  --focused-r: 238;
  --focused-g: 238;
  --focused-b: 170;
  --focused-a: 1;
  --pen: #333;
  --pen-r: 51;
  --pen-g: 51;
  --pen-b: 51;
  --pen-a: 1;
}

:root.dark,
:root {
  --text-fg: #8aff4a;
  --text-fg-strong: #ffdf00;
  --text-fg-alt: #ffdf00;
  --text-fg-link: #9abaff;
  --text-fg-hover: #ff8a4a;
  --text-fg-visited: #ba9aff;
  --text-bg: #000;
  --code-fg: #ffdf00;
  --text-bg-image: linear-gradient(89deg, #151314 0%, #252324 50%, #151314 100%),
      linear-gradient(1deg, #141315 0%, #242325 50%, #141315 100%);
}

:root.light {
  --text-fg: #222;
  --text-fg-strong: #000;
  --text-bg: #ccd;
  --text-bg-image: linear-gradient(90deg, #dde 0%, #ccd 50%, #dde 100%),
      linear-gradient(#eef6 0%, #ccd6 50%, #eef6 100%) ;
}

pre,
code,
kbd,
samp {
  font-family: "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.6;
  font-size: inherit;
  color: #8aff00;
  white-space: pre-wrap;
}

pre {
  word-break: break-all;
}

@keyframes ScrollBackground {
  0% {
    background-position: 50% -100%;
  }
  60% {
    background-position: 50% -100%;
  }
  75% {
    background-position: 50% 200%;
  }
  100% {
    background-position: 50% -100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .phone-only {
    display: none;
  }
}
.flashtext {
  color: black;
  background-color: #4aff00;
}

@supports (background-clip: text) or (-webkit-background-clip: text) {
  .flashtext {
    background-image: linear-gradient(25deg, rgba(0, 0, 0, 0) 40%, #fff 50%, rgba(0, 0, 0, 0) 60%);
    background-size: 100% 200%;
    background-clip: text;
    -webkit-background-clip: text;
    background-repeat: no-repeat;
    color: transparent;
    animation: ScrollBackground 5s linear infinite;
    background-color: #4aff00;
  }
}
#page {
  background: #eeeaea;
  background: radial-gradient(ellipse at bottom right, #aab 0%, #667 100%);
}

#page.login {
  background: #555;
  background-size: cover;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  background: radial-gradient(ellipse at top right, #444 0%, #110811 100%);
}

#page.login .box {
  border: none;
  background: none;
}

@media (min-width: 900px) {
  #top {
    font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
    font-size-adjust: 0.71428;
  }
}

html {
  font-size: 14px;
  scrollbar-color: #fa0 rgba(51, 51, 51, 0.5333333333);
}
@media (max-width: 899px) {
  html {
    font-size: 12px;
  }
}
@media (min-width: 1800px) {
  html {
    font-size: 16px;
  }
}
html[borb-drop=move] {
  cursor: cell !important;
  outline: 2px solid green;
}
html[borb-drop=none] {
  cursor: no-drop !important;
  outline: 2px solid red;
}

body {
  font-family: "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.6;
  height: 100vh;
  margin: 0;
  border-color: #222;
  font-size-adjust: 0.6;
}

body.login {
  border-color: #4aff00;
  height: auto;
  min-height: 100vh;
}

sub {
  font-size: 50%;
}

.ew-resizer:hover,
.ns-resizer:hover {
  background: rgba(204, 204, 221, 0.5333333333);
}

.ew-resizer {
  left: 100%;
  height: 100%;
  width: 0.6rem;
  margin: 0 auto;
  cursor: ew-resize;
}

.ns-resizer {
  bottom: 100%;
  width: 100%;
  height: 0.6rem;
  margin: -0.25rem 0.25rem auto 0.25rem;
  cursor: ns-resize;
}

button {
  font-family: inherit;
}

.box {
  min-width: 0;
  min-height: 0;
  margin: 0.25rem;
  margin-top: 1.25rem;
  border: 0.2rem solid #ccd;
  padding: 0.25rem;
  box-sizing: border-box;
  position: relative;
  transition: display 2s;
  display: flex;
  flex-direction: column;
}

.box.iconified {
  display: none;
}

.dark .box {
  background-color: var(--main-bg-color-dark);
  background-image: var(--main-bg-image-dark);
  background-size: 100vw 100vh;
  background-attachment: fixed;
  background-blend-mode: screen;
  color: #4aff00;
}
.dark .box a:link {
  color: #9abaff;
}
.dark .box a:visited {
  color: #ba9aff;
}
.dark .box a:hover {
  color: #ff8a4a;
}

.light .box {
  background-color: var(--main-bg-color-dark);
  background-image: var(--main-bg-image-dark);
  background-size: 100vw 100vh;
  background-attachment: fixed;
  background-blend-mode: screen;
  color: #4aff00;
}
.light .box a:link {
  color: #9abaff;
}
.light .box a:visited {
  color: #ba9aff;
}
.light .box a:hover {
  color: #ff8a4a;
}

.box.focused {
  border-color: #ff8;
}

#page.login .main {
  grid-column: 1/-1;
  grid-row: 2/-2;
  display: flex;
}

.card {
  max-width: 100%;
  margin: 1rem auto;
  border: 0.1rem solid;
  border-color: inherit;
  padding: 0.25rem;
  box-sizing: border-box;
  overflow: visible;
}

.card.left {
  width: 70%;
  margin-left: 0;
}

.card.right {
  width: 70%;
  margin-right: 0;
}

.card blockquote {
  margin: 0.5rem;
  padding: 0.5rem;
  font-size: 1rem;
  line-height: 2rem;
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
}

#page.login .card {
  color: #4aff00;
  background: rgba(0, 0, 0, 0.8);
  text-shadow: 0 0 0.5rem rgba(85, 255, 0, 0.5333333333);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.8) 100%);
}

figure.card figcaption {
  text-align: right;
}

figure.card figcaption:after {
  content: "";
  display: table;
  clear: both;
}

figcaption img {
  float: right;
  height: 4rem;
  margin: -0.8rem 0.2rem 0.2rem 0.5rem;
}

.hints .card blockquote:before,
#page.login .card blockquote:before {
  color: #000;
  content: "“";
  font-size: 6rem;
  margin-right: 0.2rem;
  text-shadow: 0 0 2rem lime;
  display: inline-block;
  vertical-align: middle;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0.5em 0;
  font-weight: normal;
  padding: 0;
}

@media (min-width: 900px) {
  main.doc-display {
    overflow-y: auto;
  }
}

.box header,
.box footer {
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
  position: relative;
}

.box footer {
  font-size: 0.8rem;
}

div.camera {
  position: relative;
}

.box div.camera {
  height: 95%;
  width: 95%;
  margin: auto;
}

.camera pre {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translate(-50%, 0);
  white-space: pre-wrap;
  word-break: break-all;
  z-index: 10;
  text-shadow: 0 0 0.1rem black, 0 0 0.5rem black;
  width: 100%;
  max-height: 50%;
  padding: 0.2rem;
  overflow: hidden;
}

.dark .camera pre {
  background: rgba(0, 0, 0, 0.5333333333);
  text-shadow: 0 0 1px #000;
}

.light .camera pre {
  background: rgba(255, 255, 255, 0.5333333333);
  text-shadow: 0 0 1px #fff;
}

#camera {
  max-width: 50%;
  max-height: 50%;
}

#camera div.camera {
  border: 0.2rem solid #ccd;
  margin: 0.2rem auto;
}

.camera video {
  z-index: 0;
}

.camera canvas {
  z-index: 1;
}

.camera nav,
.camera pre {
  z-index: 2;
}

.camera video,
.camera canvas,
.camera img {
  max-width: 100%;
  max-height: 100%;
  display: none;
  /*	position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);*/
}

.camera img {
  border: 0.2rem solid #ff8;
  animation-name: shaking-half;
  animation-duration: 2s;
}

.camera button {
  display: none;
}

.camera.qr-mode button.qr,
.camera.preview-qr-mode button.preview-qr,
.camera.camera-mode button.camera,
.camera.preview-camera-mode button.preview-camera,
.camera button.always {
  display: block;
}

.camera button.snap::before,
.camera button.camera-switch::before,
.camera button.qr-switch::before {
  content: "📷";
  vertical-align: middle;
}

.camera button.qr-switch::before {
  visibility: hidden;
}

.camera button.qr-switch {
  background-image: url(../images/qr-code.png);
  background-size: 1rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.camera button.snap:active::before {
  content: "📸";
}

.camera button.snap span,
.camera button.close span,
.camera button.qr-switch span,
.camera button.camera-switch span {
  display: none;
}

.camera button.close::before {
  content: "✖️";
  vertical-align: middle;
}

.camera nav.toolbar {
  display: flex;
  position: absolute;
  bottom: 2%;
  left: 50%;
  transform: translate(-50%, -5%);
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  min-height: 3rem;
}

.camera nav.toolbar.top {
  top: 0;
  left: 0;
  bottom: auto;
  transform: none;
}

.camera nav.toolbar button,
.text button.insert {
  margin: 0.2em;
  border-radius: 1em;
  padding: 0.2em 0.8em;
  box-shadow: 0.1em 0.1em 0.5em black;
  min-height: 1.8em;
  min-width: 1.8em;
}

.camera nav.toolbar button:hover {
  box-shadow: 0.1rem 0.1rem 0.3rem black;
}

.camera nav.toolbar button:active {
  box-shadow: none;
}

.camera nav.toolbar button .icon,
.text button.insert .icon {
  margin: -0.2em 0.2em -0.2em -0.8em;
  padding: 0.2em 0.4em;
  border-radius: 1em;
  display: inline-block;
  background: #ccd;
}

.camera nav.toolbar button.snap {
  line-height: 2rem;
  font-size: 2rem;
  transition: font-size 0.5s;
}

.camera nav.toolbar button.close {
  margin-left: auto;
  margin-right: 0.5rem;
  padding: 0.2rem 0.4rem;
}

.camera button.snap:hover {
  font-size: 2.5rem;
}

.camera button.snap:disabled {
  display: none;
}

pre.with-toolbar {
  position: relative;
  padding-bottom: 1rem !important;
}

pre nav.toolbar {
  position: absolute;
  font-size: 80%;
  bottom: -1rem;
  right: 0;
}

aside.right pre nav.toolbar {
  display: none;
}

.box .box-foot {
  position: absolute;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  padding: 0.125rem 0.25rem;
}

.dark .box-foot,
.dark .footnote {
  color: rgba(255, 255, 255, 0.4);
}

.light .box-foot,
.light .footnote {
  color: rgba(0, 0, 0, 0.4);
}

.box .footnote {
  position: absolute;
  left: 0;
  bottom: 0;
  width: auto;
  height: auto;
  padding: 0.125rem 0.25rem;
}

#gfx-hud {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  pointer-events: none;
}
@media (min-width: 900px) {
  #gfx-hud {
    height: 100%;
  }
}

.explorer > .body {
  overflow-x: auto;
}
@media (min-width: 900px) {
  .explorer > .body {
    overflow-y: auto;
  }
}
@media (min-width: 900px) {
  .explorer > .body {
    height: 100%;
  }
}

.explorer ul {
  margin: 0.25rem 0.125rem;
  padding-left: 1rem;
}

.explorer li {
  list-style-type: "□ ";
  padding-left: 0.25rem;
  transition: all 2s;
}

.explorer li.closed {
  list-style-type: "▹ ";
}

.explorer li.package {
  list-style-type: "📦";
}

.explorer li.java {
  list-style-type: "☕";
}

.explorer li.opened {
  list-style-type: "▿ ";
}

.explorer li::marker {
  font-size: 0.8rem;
}

.explorer .completion li {
  list-style-type: none;
}

.explorer .completion li > :first-child {
  margin-left: -1rem;
}

.explorer h2 {
  color: #ffdf00;
  background-color: var(--main-bg-color-dark);
  background-image: var(--main-bg-image-dark);
  background-size: 100vw 100vh;
  background-attachment: fixed;
  background-blend-mode: screen;
  color: #4aff00;
  padding: 0.25rem;
  margin: 0 -2px;
}
.explorer h2 a:link {
  color: #9abaff;
}
.explorer h2 a:visited {
  color: #ba9aff;
}
.explorer h2 a:hover {
  color: #ff8a4a;
}

.explorer h2 a,
.explorer h2 a:visited,
.explorer h2 a:link {
  color: #ffdf00;
  text-decoration: none;
}

:not(.open) > .collapse,
.open > .collapse:empty {
  display: none;
}

.explorer h2 a {
  margin-left: 1rem;
  position: relative;
}

.explorer h2 a::before {
  content: "⯈";
  margin-left: -1rem;
  position: absolute;
  left: 0;
  transition: transform ease 0.5s;
}

.explorer .open > h2 a::before {
  transform: rotate(90deg);
}

details.summary-only summary {
  list-style-type: square;
}

#login ul {
  padding: 0;
}

#page.login h1 {
  padding: 0.5rem;
  color: #4aff00;
  text-shadow: 0 0 0.5rem #4aff00;
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
}

#page.login .card h1 {
  background: #4aff00;
  color: #333;
  padding: 0.5rem;
  text-align: center;
  text-shadow: 0 0 0.5rem rgba(51, 51, 51, 0.6666666667);
  font-size: 1.2rem;
}

#page.login .card h1,
#page.login .card h2 {
  font-style: normal;
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
}

#login li {
  list-style-type: none;
  text-shadow: 0 0 0.5rem #4aff00;
}

#login li:hover {
  list-style-type: none;
  background: #4aff00;
  color: #000 !important;
  text-shadow: 0 0 0.5rem #000;
}

#login a.provider {
  display: inline-block;
  margin: 0.5rem;
  padding: 0.2rem 0.5rem;
  font-size: 1.2rem;
}

#login a.provider:link,
#login a.provider:visited,
#login a.provider:hover,
#login a.provider:active {
  color: inherit;
}

#terms li,
#terms p {
  max-width: 70rem;
}

.screen svg {
  width: 100%;
  cursor: crosshair;
  background: inherit;
}
@media (min-width: 900px) {
  .screen svg {
    height: 100%;
  }
}

#xtermjs-wrap {
  position: relative;
  background: #111;
}

#top,
#bottom {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

#top {
  background: #ccd;
  color: #222;
  justify-content: start;
}

#bottom {
  background: #222;
  color: #ccd;
  text-shadow: 0 0 0.5rem #ccd;
  justify-content: space-between;
}

#bottom #foot-left,
#bottom #foot-mid,
#bottom #foot-right {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  padding: 0.2rem;
  flex-basis: 25%;
  justify-content: space-between;
}

#foot-right div,
#foot-left div {
  margin: auto 0;
  padding: 0 0.5rem;
  max-height: 100%;
}

#foot-right button {
  background: transparent;
  line-height: normal;
  color: inherit;
}

#bottom span,
#bottom button {
  vertical-align: middle;
}

#error button,
#status button {
  margin: 0;
  border-style: none;
}

.active {
  display: block !important;
}

#error {
  visibility: hidden;
}

#error.active {
  visibility: visible;
  box-shadow: inset 0 0 0.5rem black;
  background: red;
  color: black;
}

#error.active:hover {
  visibility: visible;
  box-shadow: inset 0 0 1rem red;
  background: black;
  color: red;
}

#status.online span {
  color: lime;
  text-shadow: 0 0 1rem lime;
}

#status.offline {
  color: orange;
  text-shadow: none;
}

.last-message {
  max-width: 33vw;
  overflow: hidden;
  position: relative;
}

#last-message {
  transition: opacity 0.5s, top 0s;
  opacity: 1;
  position: relative;
  top: 0;
}

#last-message.hidden {
  transition: opacity 5s 0.5s, top cubic-bezier(0.19, 1, 0.22, 1) 3.5s 0.5s;
  top: -1.5rem;
  opacity: 0;
}

#last-message:hover {
  top: 0;
  opacity: 1;
}

#error > .popup,
#status > .popup {
  position: absolute;
  right: 3.5rem;
  bottom: 2.5rem;
  background: black;
  color: red;
  border: 0.2rem solid red;
  padding: 0.2rem;
  display: none;
  font-family: "Glasstown-NBP", sans-serif;
  font-size-adjust: 0.66;
  width: max-content;
}

#top-menu button,
#top-menu borb-button {
  min-height: 1rem;
}
@media (max-width: 899px) {
  #top-menu button,
#top-menu borb-button {
    min-width: 2em;
  }
}
@media (min-width: 900px) {
  #top-menu button,
#top-menu borb-button {
    min-width: 9em;
  }
}

#top button span.shortcut {
  font-size: 0.7rem;
  font-family: "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.6;
}

#top borb-button {
  background-color: #9999bb;
}

#top borb-button:hover {
  background-color: #e0e0d1;
  color: #000;
}

#top borb-button.active {
  transition: 0s;
  background-color: #999966;
}

#top button .the-menu {
  display: none;
  position: absolute;
  left: -0.5rem;
  top: calc(100% + 0.4rem);
  z-index: 8;
  background-color: #e0e0d1;
  width: calc(100% + 0.6rem);
  margin: 0;
  padding: 0.2rem;
  transition: opacity 0.5s;
  opacity: 0;
}

#top button .the-menu.show {
  display: block;
  opacity: 1;
}

#top button .the-menu li {
  display: block;
  padding: 0.2rem;
}

#top button .the-menu li:hover {
  background-color: #999966;
}

.notification {
  font-family: "TeenyTinyPixls", sans-serif;
  background: rgba(255, 0, 0, 0.5333333333);
  color: white;
  font-size: 0.6em;
  display: none;
  opacity: 0%;
  border-radius: 10rem;
  border: 0.2rem solid rgba(255, 0, 0, 0.5333333333);
  line-height: 0.9em;
  vertical-align: top !important;
  margin-left: -0.1rem;
  transition: opacity 1s;
}

.notification.warning {
  background: rgba(255, 102, 0, 0.5333333333);
  border: 0.2rem solid rgba(255, 102, 0, 0.5333333333);
}

.notification.show {
  opacity: 100%;
  display: inline-block;
}

#top-left {
  display: flex;
  justify-content: start;
  align-items: stretch;
  flex-shrink: 0;
  flex-grow: 0;
  width: max-content;
  height: 3rem;
  position: relative;
}

#top-right,
#top-menu {
  font-size: 0.7rem;
  display: flex;
  flex-flow: row wrap;
  gap: 0.1rem;
  margin: 0 0.5em;
  justify-content: stretch;
  align-items: stretch;
  padding: 0.25rem;
}

#top-right {
  flex-grow: 1;
  flex-shrink: 1;
}

#top-menu {
  width: calc(81em + 1.6rem);
  max-width: max-content;
  flex-shrink: 1;
  flex-grow: 0;
}

#user {
  padding: 0.2rem;
}
@media (min-width: 900px) {
  #user {
    margin-left: auto;
  }
}

#user span,
#user img {
  vertical-align: middle;
}

#user img {
  border: 0.2rem solid #9999bb;
}

@media (max-width: 899px) {
  #top-menu .row1 {
    display: none;
  }
}

@media (max-width: 599px) {
  #top-menu .row2 {
    display: none;
  }
}

#top .rows {
  min-height: 1rem;
  min-width: 1.5em;
  text-align: center;
  margin-right: 0.1rem;
}
@media (min-width: 1200px) {
  #top .rows {
    min-height: 2rem;
    min-width: 3em;
  }
}

#logoimg img {
  height: 3rem;
}

#top-left button {
  background-color: transparent !important;
  text-align: left;
  width: auto;
  padding: 0;
  margin: 0;
}

#top-left #logotext {
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
  font-size: 1.2rem;
  font-weight: 600;
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  background-image: linear-gradient(rgba(102, 102, 238, 0) 63%, #66e 63%);
  position: relative;
}

#logotext .version {
  font-size: 0.6rem;
  line-height: 1rem;
  display: block;
  padding: 0 2px;
}

#logo-experimental {
  font-size: 0.7rem;
  line-height: normal;
  display: block;
  position: absolute;
  transform: rotate(-10deg);
  transform-origin: bottom left;
  background: rgba(255, 77, 0, 0.6666666667);
  color: rgba(0, 0, 0, 0.6666666667);
  bottom: -0.3rem;
  left: 2rem;
  padding: 0.1rem;
}

.dark .tab a:visited,
.dark .tab a:link,
.dark .tab a:hover,
.dark .tab a:active,
.dark nav a:visited,
.dark nav a:link,
.dark nav a:hover,
.dark nav a:active {
  color: black;
  text-decoration: none;
}

nav ul {
  padding: 0px;
  margin: 0 4px;
  list-style-type: none;
}

nav li {
  display: inline-block;
}

#middle-column {
  flex: 1 1 auto;
  display: flex;
  flex-flow: column;
}

#middle-row {
  flex: 2 1 auto;
  display: flex;
  flex-flow: row;
}

#middle-bottom {
  flex: 1 1 auto;
  display: flex;
  flex-flow: row;
}

#jvm {
  flex-direction: row;
  display: flex;
  width: 100%;
}
@media (min-width: 900px) {
  #jvm {
    height: 100%;
  }
}

#jvm h2 {
  padding: 2px;
  border-bottom: 1px solid grey;
  font-size: 1.2rem;
  font-weight: normal;
  color: grey;
  align-self: flex-start;
}

#jvm .selected {
  background-color: #ff8;
  width: 100%;
  display: inline-block;
  position: relative;
}

#jvm .selected::after {
  content: "⯇";
  right: 0;
  margin-right: 1rem;
  position: absolute;
}

#jvm .selected::before {
  content: "⯈";
  left: 0;
  margin-left: 1rem;
  position: absolute;
}

.stackframes {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.stackframe {
  list-style: none;
  text-align: center;
  border-bottom: 1px solid black;
  border-left: 1px solid black;
  border-right: 1px solid black;
  display: inline-block;
  padding: 0px;
  flex-shrink: 3;
}

.stackframe-args {
  background-color: #ffe;
}

.stackframe-locals {
  background-color: #fef;
}

.stackframe-internal {
  background-color: #eff;
}

.completion {
  position: absolute;
  bottom: 0.2rem;
  z-index: 2000;
  overflow: hidden;
  max-height: 75vh;
  max-width: 50vw;
  width: max-content;
  flex-direction: column;
}
.completion details {
  font-style: italic;
  opacity: 60%;
}
.completion details:hover,
.completion details[open] {
  opacity: 100%;
}
.completion a:link,
.completion a:visited,
.completion a:hover {
  text-decoration: none;
  color: inherit;
}
.completion h3 {
  font-weight: bold;
  font-size: 1.2rem;
}
.completion ul {
  overflow-y: scroll;
  overflow-x: auto;
}
.completion datalist {
  display: block;
  overflow: scroll;
}
@media (min-width: 900px) {
  .completion datalist {
    height: 100%;
  }
}

.dark .completion {
  background: #333;
  color: #4aff00;
}

.dark .completion details {
  color: #ffdf00;
}

.light .completion {
  background: #eeeaea;
  color: #222;
}

.dark .completion h3 {
  color: #333;
  color: #ffdf00;
}

.light .completion h3 {
  background: #222;
  color: #eeeaea;
}

/*
.stackframe li {
	border-bottom: 1px solid grey;
}
*/
#stack {
  width: 12rem;
  height: 100%;
  background-color: #eee;
  position: relative;
}

#heap {
  width: 40rem;
  height: 100%;
  background-color: #eef;
}

#program {
  width: 20rem;
  height: 100%;
  background-color: #efe;
}

#instructions {
  width: 20rem;
  height: 100%;
  background-color: #fee;
  overflow: auto;
}

#instructions pre {
  font-family: monospace;
  white-space: pre;
}

instructions {
  display: table;
  width: 100%;
}

instruction {
  display: table-row;
  font-family: monospace;
}

instruction.line-even {
  background-color: #eef;
}

linenum,
label,
mnemonic,
args,
nolabel {
  display: table-cell;
  padding: 0px 4px;
}

linenum {
  font-size: 0.8rem;
  color: grey;
}

label::after {
  content: ":";
}

method h6 {
  font-size: 1rem;
  font-weight: normal;
  font-style: italic;
}

.show-splash-help .splashhelp {
  width: 70%;
  height: 75%;
  opacity: 100%;
  left: 15%;
  top: 15%;
  transition: all 0s;
  z-index: 2000;
}

.show-splash-help #help {
  background: #e0e0d1;
  color: #000;
  animation: none;
}

.tooltip {
  display: none;
  opacity: 1;
  position: absolute;
  bottom: 100%;
  z-index: 8;
  background-color: #e0e0d1;
  color: #000;
  text-shadow: none;
  width: max-content;
}

.tooltip dl {
  margin: 0.5rem;
  display: grid;
  grid-template-columns: max-content auto;
}

.tooltip dt {
  grid-column-start: 1;
  margin: 0;
  margin-right: 1em;
}

.tooltip dt::after {
  content: ":";
}

.tooltip dd {
  grid-column-start: 2;
  margin: 0;
}

.tooltip.show {
  display: block;
}

.popup {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
}

.popup.show {
  display: block;
}

.popup.hints,
.popup.warning,
.popup.dialog {
  max-width: 60%;
  background: #111;
  border: 1px solid;
  box-shadow: 0 0 5px, 2px 2px 15px #000;
  padding: 0.5rem;
}

.hints h1,
.warning h1,
.dialog h1 {
  font-family: "PressStart2P Narrow", "Fantasque Sans Mono", "Monoid", monospace;
  font-size-adjust: 0.71428;
  color: #000;
  margin: -0.5rem -0.5rem 0.5rem -0.5rem;
  text-align: center;
}

.hints h1,
.dialog h1 {
  background: #4aff00;
}

.warning h1 {
  background: #ffdf00;
}

.popup.hints,
.popup.dialog {
  color: #4aff00;
}

.popup.warning {
  color: #ffdf00;
}

.file-dialog {
  min-width: 30%;
}

.file-dialog figure {
  text-align: left;
}

@keyframes shaking-full {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(5deg);
  }
  20% {
    transform: rotate(-5deg);
  }
  30% {
    transform: rotate(4deg);
  }
  40% {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(3deg);
  }
  60% {
    transform: rotate(-3deg);
  }
  70% {
    transform: rotate(2deg);
  }
  80% {
    transform: rotate(-2deg);
  }
  90% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes shaking-half {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(2.5deg);
  }
  20% {
    transform: rotate(-2.5deg);
  }
  30% {
    transform: rotate(2deg);
  }
  40% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(1.5deg);
  }
  60% {
    transform: rotate(-1.5deg);
  }
  70% {
    transform: rotate(1deg);
  }
  80% {
    transform: rotate(-1deg);
  }
  90% {
    transform: rotate(0.5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes bouncy-button {
  0% {
    background: #e0e0d1;
    color: #000;
    transform: rotate(0deg);
  }
  10% {
    color: #66e;
  }
  20% {
    color: #000;
    transform: rotate(5deg);
  }
  30% {
    background: #999966;
    color: #66e;
  }
  40% {
    color: #000;
    transform: rotate(-3deg);
  }
  50% {
    background: #e0e0d1;
    color: #66e;
  }
  60% {
    color: #000;
    transform: rotate(2deg);
  }
  70% {
    color: #66e;
  }
  80% {
    background: #bbbb99;
    color: #222;
    transform: rotate(-1deg);
  }
  90% {
    color: #66e;
  }
  100% {
    color: #222;
    transform: rotate(0deg);
  }
}
#help {
  background: #9999bb;
  color: #222;
  animation-name: bouncy-button;
  animation-duration: 1s;
  animation-timing-function: ease-out;
}

.splashhelp {
  box-shadow: 0px 0px 1rem #ccd;
  overflow: hidden;
  background-color: #ddddcc;
  opacity: 0%;
  color: #222;
  padding: 0.25rem;
  width: 0;
  height: 0;
  left: 85%;
  top: 0%;
  position: absolute;
  transition: opacity 0.5s ease-out, height 0.25s ease-out, width 0.25s ease-out 0.125s, left 0.25s ease-out 0.125s, top 0.25s ease-out 0.125s, border 1s ease-out;
  z-index: -1000;
}

.splashhelp h2 {
  padding: 0.25rem;
  margin: -0.25rem -0.25rem 0 -0.25rem;
  background-color: #ccd;
  color: #000;
  text-align: center;
}

.splashhelp a:hover {
  color: #000;
  background: #66e;
}

.splashhelp code {
  color: #ffdf00;
}

.shell-sample li,
.shell-sample a:link,
.shell-sample a:visited {
  color: #ffdf00;
}

.shell-sample a:hover {
  background: #ffdf00;
  color: #ddddcc;
}

ul.shell-sample {
  padding-left: 1rem;
}

.shell-sample li {
  list-style-type: "";
  text-indent: -2rem;
  padding-left: 2rem;
}

.shell-sample li::before {
  content: "> ";
  color: #fa6;
}

.shell-sample li li {
  padding-left: 2rem;
}

.shell-sample li li::before {
  content: "";
  color: #fa6;
}

.hints blockquote p:first-child::before {
  content: "“";
  font-size: 2rem;
  initial-letter: 2;
}

.hints blockquote p:last-child::after {
  content: "“";
  font-size: 2rem;
  initial-letter: 2;
}

.hints blockquote footer {
  font-style: italic;
  text-align: right;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

.cmt-comment,
.hljs-comment {
  color: #880;
}

.cmt-typeName,
.hljs-builtin-name,
.hljs-type {
  color: #cc0;
}

.cmt-literal {
  color: #a8e389;
}

.cmt-string,
.hljs-string,
.hljs-bullet {
  color: #a8e389;
}

.cmt-number,
.hljs-number {
  color: #3f3;
}

.cmt-heading {
  font-weight: bold;
  color: #3f3;
}

.cmt-keyword,
.hljs-selector-class,
.hljs-keyword,
.hljs-symbol,
.hljs-literal {
  color: #f6f;
}

.cmt-operator {
  color: #56b6c2;
}

.cmt-punctuation {
  color: inherit;
}

.cmt-meta {
  color: #880;
}

.cmt-variableName,
.cmt-variableName .cmt-definition,
.cmt-variableName .cmt-local,
.hljs-variable,
.hljs-name,
.hljs-params {
  color: #3f3;
}

.cmt-variableName2,
.hljs-attribute,
.hljs-attr {
  color: #d19a66;
}

.cmt-propertyName {
  color: #3f3;
}

.cmt-labelName {
  color: #3f3;
}

.cmt-namespace {
  color: #cc0;
}

.cmt-macroName {
  color: #3f3;
}

.cmt-bool {
  color: #d19a66;
}

.cmt-string2 {
  color: #56b6c2;
}

.cmt-url {
  color: #56b6c2;
}

.cmt-atom {
  color: #d19a66;
}

.cmt-emphasis {
  font-style: italic;
}

.cmt-strong {
  font-weight: bold;
}

.cmt-link {
  color: #880;
  text-decoration: underline;
}

.cmt-inserted {
  color: #a8e389;
}

.cmt-deleted {
  color: #3f3;
}

.cmt-invalid {
  color: #ffffff;
}

/*
  xt256.css

  Contact: initbar [at] protonmail [dot] ch
         : github.com/initbar
*/
.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
}

.hljs-subst {
  color: #eaeaea;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}

.hljs-selector-id,
.hljs-quote {
  color: #00ffff;
}

.hljs-title {
  color: #00ffff;
  font-weight: bold;
}

.hljs-tag,
.hljs-section {
  color: #000fff;
}

.hljs-selector-tag {
  color: #000fff;
  font-weight: bold;
}

.hljs-built_in,
.hljs-regexp,
.hljs-link {
  color: #ff00ff;
}

.hljs-meta {
  color: #fff;
  font-weight: bolder;
}

.fade3 {
  opacity: 0%;
  transition: opacity 3s;
}

.shell-type-pyshell::before {
  content: "🐍";
}

.shell-type-jshell::before {
  content: "☕";
}

.shell-type-pyshell span,
.shell-type-jshell span {
  display: none;
}

.item-with-icon {
  position: relative;
}

.session-entry {
  color: #222;
  background: #bbbb99;
  list-style: none;
}

.session-entry:hover {
  color: #000;
  background: #999966;
}

.session-entry a:link,
a:visited {
  color: #222;
}

.session-entry a:hover,
a:active {
  color: #000;
}

.session-entry .time-ago {
  display: block;
  font-size: 80%;
  margin-left: 1rem;
}

.session-list {
  padding: 0;
  max-height: 20vh;
  overflow-y: auto;
}

.icon-list {
  display: block;
  position: absolute;
  text-align: right;
  right: 0.25rem;
  top: 0;
  padding: 0.25rem 0;
}

.icon-list .icon {
  font-size: 80%;
  padding: 0 0.25rem;
  z-index: 1;
}

.icon .icon-text {
  display: none;
}
/*# sourceURL=webpack://./css/style.scss */
/*# sourceURL=webpack://./css/common.scss */
/*# sourceURL=webpack://./css/normal.scss */
/*# sourceURL=webpack://./css/breakpoints.scss */
/*# sourceURL=webpack://./css/fonts.scss */
/*# sourceURL=webpack://./css/scrollbar.scss */
/*# sourceURL=webpack://./css/button.scss */
/*# sourceURL=webpack://./css/colors.scss */
/*# sourceURL=webpack://./css/mixins.scss */
/*# sourceURL=webpack://./css/defs.scss */
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL2Nzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy4vY3NzL2NvbW1vbi5zY3NzIiwid2VicGFjazovLy4vY3NzL25vcm1hbC5zY3NzIiwid2VicGFjazovLy4vY3NzL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLi9jc3MvZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8uL2Nzcy9zY3JvbGxiYXIuc2NzcyIsIndlYnBhY2s6Ly8uL2Nzcy9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8uL2Nzcy9jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8uL2Nzcy9taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8uL2Nzcy9kZWZzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7Ozs7Ozs7O0NBQUE7QUFnQkE7OztFQUdJLHNCQUFBO0FERko7O0FDUUE7RUFDSSxxQkFBQTtFQUNBLDBCQUFBO0FETEo7O0FDUUE7RUFDSSxxQkFBQTtFQUNBLDZCQUFBO0FETEo7O0FDUUE7O0VBRUksMEJBQUE7RUFDQSwyQkFBQTtBRExKOztBQ1NBO0VBQ0kscUJBQUE7QUROSjs7QUNVQTs7O0VBR0kseUJBQUE7RUFDQSx1QkFBQTtBRFBKOztBQ1VBO0VBQ0ksV0FBQTtFQUNBLFVBQUE7RUFDQSx1QkFBQTtFQUNBLHNCQUFBO0VBQ0EsNkJBQUE7QURQSjtBQ1NJO0VBQ0ksZUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7QURQUjs7QUNjSTtFQUNJLFNBQUE7RUFDQSxlQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0FEWFI7QUNjSTs7RUFFSSxhQUFBO0VBQ0EsMENBQUE7QURaUjtBQ2NROztFQUNJLGlCQUFBO0FEWFo7QUNlSTtFQUNJLHNDQUFBO0VBQ0EsZ0JBQUE7QURiUjtBQ2dCSTtFQUNJLDJCQUFBO0VBQ0EsaUJBQUE7QURkUjtBQ2tCSTtFQUNJLGFBQUE7RUFDQSxzREFBQTtFQUNBLDBDQUFBO0VBQ0EsaUJBQUE7RUFDQSxp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O0FBNGZKOztBQXpmQTs7RUFFSSxjQUFBO0FBNGZKOztBQXpmQTtFQUNJLGNBQUE7RUFDQSxpQkFBQTtBQTRmSjs7QUF6ZkE7O0VBRUksY0FBQTtBQTRmSjs7QUF6ZkE7RUFDSSxjQUFBO0VBQ0EsaUJBQUE7QUE0Zko7O0FBemZBOzs7RUFHSSxjQUFBO0FBNGZKOztBQXpmQTtFQUNJLFdBQUE7RUFDQSxtQkFBQTtBQTRmSjs7QUF4ZkE7RUFDSSxXQUFBO0VBQ0Esc0JBQUE7QUEyZko7O0FBeGZBO0VBQ0ksYUFBQTtBQTJmSjs7QUF4ZkE7RUFDSSxZQUFBO0FBMmZKOztBQXhmQTs7RUFFSSxhQUFBO0FBMmZKOztBQXhmQTtFQUNJLGtCQUFBO0FBMmZKOztBQXhmQTtFQUNJLFdPMTVERTtFUDI1REYsbUJPbDVEZTtFUG01RGYsZ0JBQUE7QUEyZko7O0FBeGZBO0VBQ0ksV08vNURRO0VQZzZEUixtQk90NURlO0FQaTVFbkI7O0FBeGZBOztFQUVJLFdPdDZERTtBUGk2RU47O0FBeGZBOztFQUVJLFdPMTZEUTtBUHE2RVo7O0FBeGZBO0VBQ0ksY0FBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtBQTJmSjs7QUF4ZkE7RUFDSSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBQTJmSjs7QUF4ZkE7RUFDSSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxNQUFBO0VBQ0Esa0JBQUE7QUEyZko7O0FBeGZBO0VBQ0ksY0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtBQTJmSjs7QUF4ZkE7RUFDSSxhQUFBO0FBMmZKIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AaW1wb3J0ICdkZWZzLnNjc3MnO1xuQGltcG9ydCAnbWl4aW5zLnNjc3MnO1xuQGltcG9ydCAnYnJlYWtwb2ludHMuc2Nzcyc7XG5AaW1wb3J0ICdjb2xvcnMuc2Nzcyc7XG5AaW1wb3J0ICdjb21tb24uc2Nzcyc7XG5AaW1wb3J0ICdub3JtYWwuc2Nzcyc7XG5AaW1wb3J0ICdmb250cy5zY3NzJztcbkBpbXBvcnQgJ3Njcm9sbGJhci5zY3NzJztcbkBpbXBvcnQgJ2J1dHRvbi5zY3NzJztcblxuOnJvb3Qge1xuXG5cbiAgICAtLXVpLWZnOiAjMjIyO1xuICAgIC0tdWktZmctc3Ryb25nOiAjMjIyO1xuXG4gICAgQGVhY2ggJHNwZWMgaW4gbWFwLmtleXMoJGNvbG9yLXNjaGVtZSkge1xuICAgICAgICAkY21kOiBudGgobWFwLmdldCgkY29sb3Itc2NoZW1lLCAkc3BlYyksIDEpO1xuICAgICAgICAkYXJnOiBudGgobWFwLmdldCgkY29sb3Itc2NoZW1lLCAkc3BlYyksIDIpO1xuXG4gICAgICAgIEBpZiAkY21kID09Jz0nIHtcbiAgICAgICAgICAgIC0tI3skc3BlY306ICN7JGFyZ307XG4gICAgICAgICAgICAtLSN7JHNwZWN9LXI6ICN7Y29sb3IucmVkKCRhcmcpfTtcbiAgICAgICAgICAgIC0tI3skc3BlY30tZzogI3tjb2xvci5ncmVlbigkYXJnKX07XG4gICAgICAgICAgICAtLSN7JHNwZWN9LWI6ICN7Y29sb3IuYmx1ZSgkYXJnKX07XG4gICAgICAgICAgICAtLSN7JHNwZWN9LWE6ICN7Y29sb3IuYWxwaGEoJGFyZyl9O1xuICAgICAgICB9XG4gICAgfVxufVxuXG46cm9vdC5kYXJrLFxuOnJvb3Qge1xuICAgIC0tdGV4dC1mZzogIzhhZmY0YTsgLy8gI3skdGVybWluYWx9O1xuICAgIC0tdGV4dC1mZy1zdHJvbmc6ICN7JHRlcm1pbmFsLWFsdH07XG4gICAgLS10ZXh0LWZnLWFsdDogI3skdGVybWluYWwtYWx0fTtcbiAgICAtLXRleHQtZmctbGluazogIzlhYmFmZjtcbiAgICAtLXRleHQtZmctaG92ZXI6ICNmZjhhNGE7XG4gICAgLS10ZXh0LWZnLXZpc2l0ZWQ6ICNiYTlhZmY7XG4gICAgLS10ZXh0LWJnOiAjMDAwO1xuICAgIC0tY29kZS1mZzogI2ZmZGYwMDtcbiAgICAtLXRleHQtYmctaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg4OWRlZywgIzE1MTMxNCAwJSwgIzI1MjMyNCA1MCUsICMxNTEzMTQgMTAwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxZGVnLCAjMTQxMzE1IDAlLCAjMjQyMzI1IDUwJSwgIzE0MTMxNSAxMDAlKTtcbn1cblxuOnJvb3QubGlnaHQge1xuICAgIC0tdGV4dC1mZzogI3skcGVufTtcbiAgICAtLXRleHQtZmctc3Ryb25nOiAjeyRwZW4tc2hhcnB9O1xuICAgIC0tdGV4dC1iZzogI3skcGFnZX07XG4gICAgLS10ZXh0LWJnLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNkZGUgMCUsICNjY2QgNTAlLCAjZGRlIDEwMCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoI2VlZjYgMCUsICNjY2Q2IDUwJSwgI2VlZjYgMTAwJSlcbn1cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIEBpbmNsdWRlIG5vcm1hbC1mb250O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogIzhhZmYwMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbnByZSB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG5Aa2V5ZnJhbWVzIFNjcm9sbEJhY2tncm91bmQge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIC0xMDAlXG4gICAgfVxuXG4gICAgNjAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIC0xMDAlXG4gICAgfVxuXG4gICAgNzUlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDIwMCVcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIC0xMDAlXG4gICAgfVxufVxuXG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAucGhvbmUtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uZmxhc2h0ZXh0IHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcm1pbmFsO1xufVxuXG5Ac3VwcG9ydHMgKGJhY2tncm91bmQtY2xpcDogdGV4dCkgb3IgKC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0KSB7XG4gICAgLmZsYXNodGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNWRlZywgIzAwMDAgNDAlLCAjZmZmIDUwJSwgIzAwMDAgNjAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDIwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYW5pbWF0aW9uOiBTY3JvbGxCYWNrZ3JvdW5kIDVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcm1pbmFsO1xuICAgIH1cbn1cblxuI3BhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRwYWdlLWxpZ2h0O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSByaWdodCwgI2FhYiAwJSwgIzY2NyAxMDAlKTsgLy9yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCB0b3AgcmlnaHQsICRwYWdlLWxpZ2h0IDAlLCAkcGFnZSAxMDAlKTtcbn1cblxuI3BhZ2UubG9naW4ge1xuICAgIGJhY2tncm91bmQ6ICM1NTU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzO1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90dXJ0bGVkdWNrLWJnLnBuZyk7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgdG9wIHJpZ2h0LCAjNDQ0IDAlLCAjMTEwODExIDEwMCUpO1xufVxuXG4jcGFnZS5sb2dpbiAuYm94IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuI3RvcCB7XG4gICAgQGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuICAgICAgICBAaW5jbHVkZSBwaXhlbC1mb250O1xuICAgIH1cbn1cblxuI2JvdHRvbSB7XG4gICAgQGluY2x1ZGUgaGlyZXMtZm9udDtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgQGluY2x1ZGUgZm9yLXBvcnRyYWl0LW9ubHkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9yLWJpZy1kZXNrdG9wLXVwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC8vc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyBcbiAgICBzY3JvbGxiYXItY29sb3I6ICNmYTAgIzMzMzg7XG5cbiAgICAmW2JvcmItZHJvcD1cIm1vdmVcIl0ge1xuICAgICAgICBjdXJzb3I6IGNlbGwgIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIGdyZWVuO1xuICAgIH1cblxuICAgICZbYm9yYi1kcm9wPVwibm9uZVwiXSB7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcCAhaW1wb3J0YW50O1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgcmVkO1xuICAgIH1cblxufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBub3JtYWwtZm9udDtcbiAgICBAaW5jbHVkZSBsb3Jlcy1mb250O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBmb250LXNpemUtYWRqdXN0OiAwLjY7XG59XG5cbmJvZHkubG9naW4ge1xuICAgIGJvcmRlci1jb2xvcjogJHRlcm1pbmFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuY29kZSxcbnByZSB7XG4gICAgQGluY2x1ZGUgbG9yZXMtZm9udDtcbn1cblxuc3ViIHtcbiAgICBmb250LXNpemU6IDUwJTtcbn1cblxuLmV3LXJlc2l6ZXI6aG92ZXIsXG4ubnMtcmVzaXplcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2NjZDg7XG59XG5cbi5ldy1yZXNpemVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogLjZyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY3Vyc29yOiBldy1yZXNpemU7XG59XG5cbi5ucy1yZXNpemVyIHtcbiAgICBib3R0b206IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAuNnJlbTtcbiAgICBtYXJnaW46IC0uMjVyZW0gLjI1cmVtIGF1dG8gLjI1cmVtO1xuICAgIGN1cnNvcjogbnMtcmVzaXplO1xufVxuXG5idXR0b24ge1xuICAgIEBpbmNsdWRlIGxvcmVzLWZvbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5ib3gge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMC4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICNjY2Q7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDJzO1xuICAgIC8vb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmJveC5pY29uaWZpZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kYXJrIC5ib3gge1xuICAgIEBpbmNsdWRlIGRhcmstYmFja2dyb3VuZDtcbn1cblxuLmxpZ2h0IC5ib3gge1xuICAgIEBpbmNsdWRlIGRhcmstYmFja2dyb3VuZDtcbn1cblxuLmJveC5mb2N1c2VkIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjg7XG59XG5cblxuI3BhZ2UubG9naW4gLm1haW4ge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGdyaWQtcm93OiAyLy0yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cblxuLmNhcmQge1xuICAgIC8vXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8vXHRoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jYXJkLmxlZnQge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBcbn1cblxuLmNhcmQucmlnaHQge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwXG59XG5cbi5jYXJkIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogLjVyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIEBpbmNsdWRlIHBpeGVsLWZvbnQ7XG5cbn1cblxuI3BhZ2UubG9naW4gLmNhcmQge1xuICAgIGNvbG9yOiAkdGVybWluYWw7XG4gICAgYmFja2dyb3VuZDogIzAwMGM7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAuNXJlbSAjNWYwODtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICMwMDA2IDAlLCAjMDAwYyAxMDAlKTtcbn1cblxuXG5maWd1cmUuY2FyZCBmaWdjYXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuZmlndXJlLmNhcmQgZmlnY2FwdGlvbjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuZmlnY2FwdGlvbiBpbWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAvL3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIG1hcmdpbjogLS44cmVtIC4ycmVtIC4ycmVtIC41cmVtO1xuICAgIC8vYm9yZGVyOiAwLjFyZW0gc29saWQgaW5oZXJpdDtcblxufVxuXG4uaGludHMgLmNhcmQgYmxvY2txdW90ZTpiZWZvcmUsXG4jcGFnZS5sb2dpbiAuY2FyZCBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY29udGVudDogXCJcXDIwMUNcIjtcbiAgICBmb250LXNpemU6IDZyZW07XG4gICAgLy9saW5lLWhlaWdodDogNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDJyZW0gbGltZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmlnY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgaGlyZXMtZm9udDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5tYWluLmRvYy1kaXNwbGF5IHtcbiAgICBAaW5jbHVkZSBmb3ItdGFibGV0LWxhbmRzY2FwZS11cCB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxufVxuXG5cbi5ib3ggaGVhZGVyLFxuLmJveCBmb290ZXIge1xuICAgIEBpbmNsdWRlIHBpeGVsLWZvbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYm94IGZvb3RlciB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cblxuXG5kaXYuY2FtZXJhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ib3ggZGl2LmNhbWVyYSB7XG4gICAgaGVpZ2h0OiA5NSU7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5jYW1lcmEgcHJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgei1pbmRleDogMTA7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAuMXJlbSBibGFjaywgMCAwIC41cmVtIGJsYWNrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDUwJTtcbiAgICBwYWRkaW5nOiAuMnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGFyayAuY2FtZXJhIHByZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggIzAwMDtcbn1cblxuLmxpZ2h0IC5jYW1lcmEgcHJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmODtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCAjZmZmO1xufVxuXG4jY2FtZXJhIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXgtaGVpZ2h0OiA1MCU7XG59XG5cbiNjYW1lcmEgZGl2LmNhbWVyYSB7XG4gICAgYm9yZGVyOiAuMnJlbSBzb2xpZCAjY2NkO1xuICAgIG1hcmdpbjogLjJyZW0gYXV0bztcbn1cblxuLmNhbWVyYSB2aWRlbyB7XG4gICAgei1pbmRleDogMDtcbn1cblxuLmNhbWVyYSBjYW52YXMge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5jYW1lcmEgbmF2LFxuLmNhbWVyYSBwcmUge1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5jYW1lcmEgdmlkZW8sXG4uY2FtZXJhIGNhbnZhcyxcbi5jYW1lcmEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjUwJTtcblx0bGVmdDo1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyovXG59XG5cbi5jYW1lcmEgaW1nIHtcbiAgICBib3JkZXI6IC4ycmVtIHNvbGlkICNmZjg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNoYWtpbmctaGFsZjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4uY2FtZXJhIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhbWVyYS5xci1tb2RlIGJ1dHRvbi5xcixcbi5jYW1lcmEucHJldmlldy1xci1tb2RlIGJ1dHRvbi5wcmV2aWV3LXFyLFxuLmNhbWVyYS5jYW1lcmEtbW9kZSBidXR0b24uY2FtZXJhLFxuLmNhbWVyYS5wcmV2aWV3LWNhbWVyYS1tb2RlIGJ1dHRvbi5wcmV2aWV3LWNhbWVyYSxcbi5jYW1lcmEgYnV0dG9uLmFsd2F5cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYW1lcmEgYnV0dG9uLnNuYXA6OmJlZm9yZSxcbi5jYW1lcmEgYnV0dG9uLmNhbWVyYS1zd2l0Y2g6OmJlZm9yZSxcbi5jYW1lcmEgYnV0dG9uLnFyLXN3aXRjaDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIvCfk7dcIjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY2FtZXJhIGJ1dHRvbi5xci1zd2l0Y2g6OmJlZm9yZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2FtZXJhIGJ1dHRvbi5xci1zd2l0Y2gge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcXItY29kZS5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi5jYW1lcmEgYnV0dG9uLnNuYXA6YWN0aXZlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi8J+TuFwiO1xufVxuXG4uY2FtZXJhIGJ1dHRvbi5zbmFwIHNwYW4sXG4uY2FtZXJhIGJ1dHRvbi5jbG9zZSBzcGFuLFxuLmNhbWVyYSBidXR0b24ucXItc3dpdGNoIHNwYW4sXG4uY2FtZXJhIGJ1dHRvbi5jYW1lcmEtc3dpdGNoIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYW1lcmEgYnV0dG9uLmNsb3NlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4pyW77iPXCI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNhbWVyYSBuYXYudG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUlKTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbn1cblxuLmNhbWVyYSBuYXYudG9vbGJhci50b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG5cbn1cblxuLmNhbWVyYSBuYXYudG9vbGJhciBidXR0b24sXG4udGV4dCBidXR0b24uaW5zZXJ0IHtcbiAgICBtYXJnaW46IC4yZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgIHBhZGRpbmc6IC4yZW0gLjhlbTtcbiAgICBib3gtc2hhZG93OiAuMWVtIC4xZW0gLjVlbSBibGFjaztcbiAgICBtaW4taGVpZ2h0OiAxLjhlbTtcbiAgICBtaW4td2lkdGg6IDEuOGVtO1xufVxuXG4uY2FtZXJhIG5hdi50b29sYmFyIGJ1dHRvbjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogLjFyZW0gLjFyZW0gLjNyZW0gYmxhY2s7XG59XG5cbi5jYW1lcmEgbmF2LnRvb2xiYXIgYnV0dG9uOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNhbWVyYSBuYXYudG9vbGJhciBidXR0b24gLmljb24sXG4udGV4dCBidXR0b24uaW5zZXJ0IC5pY29uIHtcbiAgICBtYXJnaW46IC0uMmVtIC4yZW0gLS4yZW0gLS44ZW07XG4gICAgcGFkZGluZzogLjJlbSAuNGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2NjZDtcbn1cblxuLmNhbWVyYSBuYXYudG9vbGJhciBidXR0b24uc25hcCB7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAuNXM7XG59XG5cbi5jYW1lcmEgbmF2LnRvb2xiYXIgYnV0dG9uLmNsb3NlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogLjJyZW0gLjRyZW07XG59XG5cbi5jYW1lcmEgYnV0dG9uLnNuYXA6aG92ZXIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4uY2FtZXJhIGJ1dHRvbi5zbmFwOmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5wcmUud2l0aC10b29sYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxucHJlIG5hdi50b29sYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgYm90dG9tOiAtMXJlbTtcbiAgICByaWdodDogMDtcbn1cblxuYXNpZGUucmlnaHQgcHJlIG5hdi50b29sYmFyIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cblxuLmJveCAuYm94LWZvb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG59XG5cbi5kYXJrIC5ib3gtZm9vdCxcbi5kYXJrIC5mb290bm90ZSB7XG4gICAgY29sb3I6ICNmZmY2O1xufVxuXG4ubGlnaHQgLmJveC1mb290LFxuLmxpZ2h0IC5mb290bm90ZSB7XG4gICAgY29sb3I6ICMwMDA2O1xufVxuXG4uYm94IC5mb290bm90ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xufVxuXG4jZ2Z4LWh1ZCB7XG4gICAgQGluY2x1ZGUgZmlsbC1jb250YWluZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5leHBsb3Jlcj4uYm9keSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBpbmNsdWRlIGZvci10YWJsZXQtbGFuZHNjYXBlLXVwIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWxsLWNvbnRhaW5lci1oZWlnaHQ7XG59XG5cbi5leHBsb3JlciB1bCB7XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAuMTI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLmV4cGxvcmVyIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IFwi4pahIFwiO1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMnM7XG4gICAgLy9jdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5leHBsb3JlciBsaS5jbG9zZWQge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogXCLilrkgXCI7XG59XG5cbi5leHBsb3JlciBsaS5wYWNrYWdlIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IFwi8J+TplwiO1xufVxuXG4uZXhwbG9yZXIgbGkuamF2YSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBcIuKYlVwiO1xufVxuXG4uZXhwbG9yZXIgbGkub3BlbmVkIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IFwi4pa/IFwiO1xufVxuXG4uZXhwbG9yZXIgbGk6Om1hcmtlciB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5leHBsb3JlciAuY29tcGxldGlvbiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uZXhwbG9yZXIgLmNvbXBsZXRpb24gbGk+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xufVxuXG4uZXhwbG9yZXIge1xuICAgIEBpbmNsdWRlIGhpcmVzLWZvbnQ7XG59XG5cbi5leHBsb3JlciBoMiB7XG4gICAgY29sb3I6ICR0ZXJtaW5hbC1hbHQ7XG4gICAgQGluY2x1ZGUgZGFyay1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICBtYXJnaW46IDAgLTJweDtcbn1cblxuLmV4cGxvcmVyIGgyIGEsXG4uZXhwbG9yZXIgaDIgYTp2aXNpdGVkLFxuLmV4cGxvcmVyIGgyIGE6bGluayB7XG4gICAgY29sb3I6ICR0ZXJtaW5hbC1hbHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG46bm90KC5vcGVuKT4uY29sbGFwc2UsXG4ub3Blbj4uY29sbGFwc2U6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmVcbn1cblxuLmV4cGxvcmVyIGgyIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmV4cGxvcmVyIGgyIGE6OmJlZm9yZSB7XG4gICAgLy9cdGNvbnRlbnQ6IFwi4pa4XCI7XG4gICAgY29udGVudDogXCLir4hcIjtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjVzO1xufVxuXG4uZXhwbG9yZXIgLm9wZW4+aDIgYTo6YmVmb3JlIHtcbiAgICAvL2NvbnRlbnQ6IFwi4pa+IFwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuZGV0YWlscy5zdW1tYXJ5LW9ubHkgc3VtbWFyeSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XG59XG5cbiNsb2dpbiB1bCB7XG4gICAgcGFkZGluZzogMFxufVxuXG4jcGFnZS5sb2dpbiBoMSB7XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgY29sb3I6ICR0ZXJtaW5hbDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIC41cmVtICR0ZXJtaW5hbDtcbiAgICBAaW5jbHVkZSBwaXhlbC1mb250O1xufVxuXG4jcGFnZS5sb2dpbiAuY2FyZCBoMSB7XG4gICAgYmFja2dyb3VuZDogJHRlcm1pbmFsO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIC41cmVtICMzMzNhO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4jcGFnZS5sb2dpbiAuY2FyZCBoMSxcbiNwYWdlLmxvZ2luIC5jYXJkIGgyIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgLy90ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcGl4ZWwtZm9udDtcbn1cblxuI2xvZ2luIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgLy9cdGJvcmRlcjogLjJyZW0gc29saWQgJHRlcm1pbmFsO1xuICAgIC8vY29sb3I6ICM4Zjg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAuNXJlbSAkdGVybWluYWw7XG59XG5cbiNsb2dpbiBsaTpob3ZlciB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIC8vXHRib3JkZXI6IC4ycmVtIHNvbGlkICR0ZXJtaW5hbDtcbiAgICBiYWNrZ3JvdW5kOiAkdGVybWluYWw7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIC41cmVtICMwMDA7XG5cbn1cblxuI2xvZ2luIGEucHJvdmlkZXIge1xuICAgIC8vYm9yZGVyOiAwLjJyZW0gb3V0c2V0ICRzdW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyO1xufVxuXG4jbG9naW4gYS5wcm92aWRlcjpsaW5rLFxuI2xvZ2luIGEucHJvdmlkZXI6dmlzaXRlZCxcbiNsb2dpbiBhLnByb3ZpZGVyOmhvdmVyLFxuI2xvZ2luIGEucHJvdmlkZXI6YWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuI3Rlcm1zIGxpLFxuI3Rlcm1zIHAge1xuICAgIEBpbmNsdWRlIGhpcmVzLWZvbnQ7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXRleHQtd2lkdGg7XG59XG5cblxuXG4uc2NyZWVuIHN2ZyB7XG4gICAgQGluY2x1ZGUgZmlsbC1jb250YWluZXI7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuI3h0ZXJtanMtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRiZ2Rhcms7XG4gICAgLy9wYWRkaW5nOiAwLjI1cmVtO1xufVxuXG5cblxuI3RvcCxcbiNib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuI3RvcCB7XG4gICAgYmFja2dyb3VuZDogJHBhZ2U7XG4gICAgY29sb3I6ICRwZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cblxuI2JvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogJHBlbjtcbiAgICBjb2xvcjogJHBhZ2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAuNXJlbSAkcGFnZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbiNib3R0b20gI2Zvb3QtbGVmdCxcbiNib3R0b20gI2Zvb3QtbWlkLFxuI2JvdHRvbSAjZm9vdC1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IC4ycmVtO1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbiNmb290LXJpZ2h0IGRpdixcbiNmb290LWxlZnQgZGl2IHtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbiNmb290LXJpZ2h0IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgaGlyZXMtZm9udDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4jYm90dG9tIHNwYW4sXG4jYm90dG9tIGJ1dHRvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuI2Vycm9yIGJ1dHRvbixcbiNzdGF0dXMgYnV0dG9uIHtcbiAgICAvL1x0cGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIC8vYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAvL2NvbG9yOiBpbmhlcml0O1xufVxuXG4uYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4jZXJyb3Ige1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuI2Vycm9yLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgLjVyZW0gYmxhY2s7XG4gICAgYmFja2dyb3VuZDogcmVkO1xuICAgIGNvbG9yOiBibGFjaztcbn1cblxuI2Vycm9yLmFjdGl2ZTpob3ZlciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXJlbSByZWQ7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgY29sb3I6IHJlZDtcbn1cblxuI3N0YXR1cy5vbmxpbmUgc3BhbiB7XG4gICAgY29sb3I6IGxpbWU7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxcmVtIGxpbWU7XG59XG5cbiNzdGF0dXMub2ZmbGluZSB7XG4gICAgY29sb3I6IG9yYW5nZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLmxhc3QtbWVzc2FnZSB7XG4gICAgbWF4LXdpZHRoOiAzM3Z3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbGFzdC1tZXNzYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cywgdG9wIDBzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbn1cblxuI2xhc3QtbWVzc2FnZS5oaWRkZW4ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNXMgLjVzLCB0b3AgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSAzLjVzIC41cztcbiAgICB0b3A6IC0xLjVyZW07XG4gICAgb3BhY2l0eTogMDtcbn1cblxuI2xhc3QtbWVzc2FnZTpob3ZlciB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbiNlcnJvcj4ucG9wdXAsXG4jc3RhdHVzPi5wb3B1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzLjVyZW07XG4gICAgYm90dG9tOiAyLjVyZW07XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgY29sb3I6IHJlZDtcbiAgICBib3JkZXI6IDAuMnJlbSBzb2xpZCByZWQ7XG4gICAgcGFkZGluZzogMC4ycmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiR2xhc3N0b3duLU5CUFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZS1hZGp1c3Q6IDAuNjY7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG5cbiN0b3AtbWVudSBidXR0b24sXG4jdG9wLW1lbnUgYm9yYi1idXR0b24ge1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20gcmlnaHQsICNhYWIgMCUsICM2NjcgMTAwJSk7XG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy9hbGlnbi1zZWxmOnN0cmV0Y2g7XG4gICAgbWluLWhlaWdodDogMXJlbTtcblxuICAgIEBpbmNsdWRlIGZvci1wb3J0cmFpdC1vbmx5IHtcbiAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuICAgICAgICBtaW4td2lkdGg6IDllbTtcbiAgICB9XG59XG5cbmJ1dHRvbixcbmJvcmItYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsb3Jlcy1mb250O1xufVxuXG4jdG9wIGJ1dHRvbiBzcGFuLnNob3J0Y3V0IHtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIEBpbmNsdWRlIG5vcm1hbC1mb250O1xuICAgIEBpbmNsdWRlIGhpcmVzLWZvbnQ7XG59XG5cblxuXG4jdG9wIGJvcmItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWhlYWRlcjtcbn1cblxuI3RvcCBib3JiLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlcjtcbiAgICBjb2xvcjogJHBlbi1zaGFycDtcbn1cblxuI3RvcCBib3JiLWJ1dHRvbi5hY3RpdmUge1xuICAgIHRyYW5zaXRpb246IDBzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmctYWN0aXZlO1xufVxuXG4jdG9wIGJ1dHRvbiAudGhlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0uNXJlbTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIC40cmVtKTtcbiAgICB6LWluZGV4OiA4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmctaG92ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIC42cmVtKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogLjJyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLy8jdG9wIGJ1dHRvbjpob3ZlciAudGhlLW1lbnUsXG4jdG9wIGJ1dHRvbiAudGhlLW1lbnUuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuI3RvcCBidXR0b24gLnRoZS1tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuMnJlbTtcbn1cblxuI3RvcCBidXR0b24gLnRoZS1tZW51IGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWFjdGl2ZVxufVxuXG4ubm90aWZpY2F0aW9uIHtcbiAgICBAaW5jbHVkZSB0aW55LWZvbnQ7XG4gICAgYmFja2dyb3VuZDogI2YwMDg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDAlO1xuICAgIC8vcGFkZGluZzogLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTByZW07XG4gICAgYm9yZGVyOiAuMnJlbSBzb2xpZCAjZjAwODtcbiAgICBsaW5lLWhlaWdodDogLjllbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0uMXJlbTtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3JpZ2h0OiAwO1xuICAgIC8vdG9wOiAtLjVyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcbn1cblxuLm5vdGlmaWNhdGlvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjYwODtcbiAgICBib3JkZXI6IC4ycmVtIHNvbGlkICNmNjA4O1xufVxuXG4ubm90aWZpY2F0aW9uLnNob3cge1xuICAgIG9wYWNpdHk6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jdG9wLWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGhlaWdodDogJGhlYWQtaGVpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI3RvcC1yaWdodCxcbiN0b3AtbWVudSB7XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZ2FwOiAwLjFyZW07XG4gICAgbWFyZ2luOiAwIC41ZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG59XG5cbiN0b3AtcmlnaHQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbn1cblxuI3RvcC1tZW51IHtcbiAgICAvL2FsaWduLWl0ZW1zOiBsYXN0IGJhc2VsaW5lO1xuICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAsIDFmcik7XG4gICAgLy9ncmlkLXRlbXBsYXRlLXJvd3M6IFtyb3cxXSA1MCUgW3JvdzJdIDUwJTtcbiAgICB3aWR0aDogY2FsYyg5ZW0gKiA5ICsgMio4KjAuMXJlbSk7XG4gICAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWdyb3c6IDBcbn1cblxuI3VzZXIge1xuICAgIHBhZGRpbmc6IC4ycmVtO1xuXG4gICAgQGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG5cbiN1c2VyIHNwYW4sXG4jdXNlciBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbiN1c2VyIGltZyB7XG4gICAgYm9yZGVyOiAuMnJlbSBzb2xpZCAkYnV0dG9uLWJnLWhlYWRlcjtcbn1cblxuI3RvcC1tZW51IC5yb3cxIHtcbiAgICBAaW5jbHVkZSBmb3ItcG9ydHJhaXQtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jdG9wLW1lbnUgLnJvdzIge1xuICAgIEBpbmNsdWRlIGZvci1waG9uZS1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiN0b3AgLnJvd3Mge1xuICAgIG1pbi1oZWlnaHQ6IDFyZW07XG4gICAgbWluLXdpZHRoOiAxLjVlbTtcblxuICAgIEBpbmNsdWRlIGZvci1kZXNrdG9wLXVwIHtcbiAgICAgICAgbWluLWhlaWdodDogMnJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAzZW07XG4gICAgfVxuXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0Oi4xcmVtO1xufVxuXG4jbG9nb2ltZyBpbWcge1xuICAgIGhlaWdodDogJGhlYWQtaGVpZ2h0O1xufVxuXG4jdG9wLWxlZnQgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbiN0b3AtbGVmdCAjbG9nb3RleHQge1xuICAgIEBpbmNsdWRlIHBpeGVsLWZvbnQ7XG4gICAgLy9mb250LXNpemUtYWRqdXN0OiAwLjcxO1xuICAgIC8vZm9udC1mYW1pbHk6IFwiUHJlc3NTdGFydDJQXCIsIFwiRGVsdXhlRm9udFwiLCBcIkZhbnRhc3F1ZSBTYW5zIE1vbm9cIiwgXCJNb25vaWRcIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoJHdhdGVyLCAwKSA2MyUsICR3YXRlciA2MyUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2xvZ290ZXh0IC52ZXJzaW9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDJweDtcbn1cblxuI2xvZ28tZXhwZXJpbWVudGFsIHtcbiAgICAvL0BpbmNsdWRlIG5vcm1hbC1mb250O1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY0ZDAwYWE7XG4gICAgY29sb3I6ICMwMDBhO1xuICAgIGJvdHRvbTogLS4zcmVtO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgcGFkZGluZzogLjFyZW07XG4gICAgLy90ZXh0LXNoYWRvdzogMCAwIC4ycmVtICMwMDAsIC4xcmVtIC4xcmVtIC41cmVtICMwMDA7XG59XG5cbi5kYXJrIHtcblxuICAgIC50YWIgYTp2aXNpdGVkLFxuICAgIC50YWIgYTpsaW5rLFxuICAgIC50YWIgYTpob3ZlcixcbiAgICAudGFiIGE6YWN0aXZlLFxuICAgIG5hdiBhOnZpc2l0ZWQsXG4gICAgbmF2IGE6bGluayxcbiAgICBuYXYgYTpob3ZlcixcbiAgICBuYXYgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbm5hdiB1bCB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5uYXYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI21pZGRsZS1jb2x1bW4ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG59XG5cbiNtaWRkbGUtcm93IHtcbiAgICBmbGV4OiAyIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xufVxuXG4jbWlkZGxlLWJvdHRvbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbn1cblxuXG5cbiNqdm0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBmaWxsLWNvbnRhaW5lcjtcblxufVxuXG4janZtIGgyIHtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdyZXk7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogZ3JleTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4janZtIC5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmODtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4janZtIC5zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi4q+HXCI7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI2p2bSAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLir4hcIjtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnN0YWNrZnJhbWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhY2tmcmFtZSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgYmxhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBmbGV4LXNocmluazogMztcbn1cblxuLnN0YWNrZnJhbWUtYXJncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTtcbn1cblxuLnN0YWNrZnJhbWUtbG9jYWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmO1xufVxuXG4uc3RhY2tmcmFtZS1pbnRlcm5hbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjtcbn1cblxuLmNvbXBsZXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC4ycmVtO1xuICAgIHotaW5kZXg6IDIwMDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiA3NXZoO1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGRldGFpbHMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIG9wYWNpdHk6IDYwJTtcbiAgICB9XG5cbiAgICBkZXRhaWxzOmhvdmVyLFxuICAgIGRldGFpbHNbb3Blbl0ge1xuICAgICAgICBvcGFjaXR5OiAxMDAlO1xuICAgIH1cblxuICAgIGE6bGluayxcbiAgICBhOnZpc2l0ZWQsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG5cbiAgICBkYXRhbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBmaWxsLWNvbnRhaW5lci1oZWlnaHQ7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxufVxuXG4uZGFyayAuY29tcGxldGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBjb2xvcjogJHRlcm1pbmFsO1xufVxuXG4uZGFyayAuY29tcGxldGlvbiBkZXRhaWxzIHtcbiAgICBjb2xvcjogJHRlcm1pbmFsLWFsdDtcbn1cblxuLmxpZ2h0IC5jb21wbGV0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZS1saWdodDtcbiAgICBjb2xvcjogJHBlbjtcbn1cblxuLmRhcmsgLmNvbXBsZXRpb24gaDMge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAkdGVybWluYWwtYWx0O1xufVxuXG4ubGlnaHQgLmNvbXBsZXRpb24gaDMge1xuICAgIGJhY2tncm91bmQ6ICRwZW47XG4gICAgY29sb3I6ICRwYWdlLWxpZ2h0O1xufVxuXG4vKlxuLnN0YWNrZnJhbWUgbGkge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZ3JleTtcbn1cbiovXG4jc3RhY2sge1xuICAgIHdpZHRoOiAxMnJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNoZWFwIHtcbiAgICB3aWR0aDogNDByZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWY7XG59XG5cbiNwcm9ncmFtIHtcbiAgICB3aWR0aDogMjByZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmU7XG59XG5cbiNpbnN0cnVjdGlvbnMge1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZTtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuI2luc3RydWN0aW9ucyBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbn1cblxuaW5zdHJ1Y3Rpb25zIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuaW5zdHJ1Y3Rpb24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG5pbnN0cnVjdGlvbi5saW5lLWV2ZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWY7XG59XG5cbmxpbmVudW0sXG5sYWJlbCxcbm1uZW1vbmljLFxuYXJncyxcbm5vbGFiZWwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZzogMHB4IDRweDtcbn1cblxubGluZW51bSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgY29sb3I6IGdyZXk7XG59XG5cbmxhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCI6XCI7XG59XG5cbm1ldGhvZCBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc2hvdy1zcGxhc2gtaGVscCAuc3BsYXNoaGVscCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgICBvcGFjaXR5OiAxMDAlO1xuICAgIGxlZnQ6IDE1JTtcbiAgICB0b3A6IDE1JTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHM7XG4gICAgLy9cdGJvcmRlcjogLjI1cmVtIHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIHotaW5kZXg6IDIwMDA7XG59XG5cbi5zaG93LXNwbGFzaC1oZWxwICNoZWxwIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJnLWhvdmVyO1xuICAgIGNvbG9yOiAkcGVuLXNoYXJwO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLnRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHotaW5kZXg6IDg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlcjtcbiAgICBjb2xvcjogJHBlbi1zaGFycDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi50b29sdGlwIGRsIHtcbiAgICBtYXJnaW46IC41cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCBhdXRvO1xufVxuXG4udG9vbHRpcCBkdCB7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xufVxuXG4udG9vbHRpcCBkdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xufVxuXG4udG9vbHRpcCBkZCB7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udG9vbHRpcC5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogOTk7XG59XG5cbi5wb3B1cC5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBvcHVwLmhpbnRzLFxuLnBvcHVwLndhcm5pbmcsXG4ucG9wdXAuZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMTExO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHgsIDJweCAycHggMTVweCAjMDAwO1xuICAgIHBhZGRpbmc6IC41cmVtO1xufVxuXG4uaGludHMgaDEsXG4ud2FybmluZyBoMSxcbi5kaWFsb2cgaDEge1xuICAgIEBpbmNsdWRlIHBpeGVsLWZvbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAtLjVyZW0gLS41cmVtIC41cmVtIC0uNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oaW50cyBoMSxcbi5kaWFsb2cgaDEge1xuICAgIGJhY2tncm91bmQ6ICR0ZXJtaW5hbDtcbn1cblxuLndhcm5pbmcgaDEge1xuICAgIGJhY2tncm91bmQ6ICR0ZXJtaW5hbC1hbHQ7XG59XG5cbi5wb3B1cC5oaW50cyxcbi5wb3B1cC5kaWFsb2cge1xuICAgIGNvbG9yOiAkdGVybWluYWw7XG59XG5cbi5wb3B1cC53YXJuaW5nIHtcbiAgICBjb2xvcjogJHRlcm1pbmFsLWFsdDtcbn1cblxuLmZpbGUtZGlhbG9nIHtcbiAgICBtaW4td2lkdGg6IDMwJTtcbn1cblxuLmZpbGUtZGlhbG9nIGZpZ3VyZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQGtleWZyYW1lcyBzaGFraW5nLWZ1bGwge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG5cbiAgICAxMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKVxuICAgIH1cblxuICAgIDIwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKVxuICAgIH1cblxuICAgIDMwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDRkZWcpXG4gICAgfVxuXG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpXG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZylcbiAgICB9XG5cbiAgICA2MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZylcbiAgICB9XG5cbiAgICA3MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKVxuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKVxuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDFkZWcpXG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNoYWtpbmctaGFsZiB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxuICAgIH1cblxuICAgIDEwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIuNWRlZylcbiAgICB9XG5cbiAgICAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMi41ZGVnKVxuICAgIH1cblxuICAgIDMwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpXG4gICAgfVxuXG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTJkZWcpXG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMS41ZGVnKVxuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpXG4gICAgfVxuXG4gICAgNzAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMWRlZylcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMWRlZylcbiAgICB9XG5cbiAgICA5MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSguNWRlZylcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmN5LWJ1dHRvbiB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJnLWhvdmVyO1xuICAgICAgICBjb2xvcjogJHBlbi1zaGFycDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG5cbiAgICAxMCUge1xuICAgICAgICBjb2xvcjogJHdhdGVyXG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgY29sb3I6ICRwZW4tc2hhcnA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpXG4gICAgfVxuXG4gICAgMzAlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1iZy1hY3RpdmU7XG4gICAgICAgIGNvbG9yOiAkd2F0ZXJcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgICBjb2xvcjogJHBlbi1zaGFycDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpXG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1iZy1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICR3YXRlclxuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIGNvbG9yOiAkcGVuLXNoYXJwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKVxuICAgIH1cblxuICAgIDcwJSB7XG4gICAgICAgIGNvbG9yOiAkd2F0ZXJcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJnLW5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRwZW47XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKVxuICAgIH1cblxuICAgIDkwJSB7XG4gICAgICAgIGNvbG9yOiAkd2F0ZXJcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgY29sb3I6ICRwZW47XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gICAgfVxufVxuXG4jaGVscCB7XG4gICAgYmFja2dyb3VuZDogJGJ1dHRvbi1iZy1oZWFkZXI7XG4gICAgY29sb3I6ICRwZW47XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jeS1idXR0b247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAvL2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgLy9hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuLnNwbGFzaGhlbHAge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMXJlbSAkcGFnZTtcbiAgICAvL2JvcmRlci13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdW47XG4gICAgb3BhY2l0eTogMCU7XG4gICAgY29sb3I6ICRwZW47XG4gICAgcGFkZGluZzogLjI1cmVtO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiA4NSU7XG4gICAgdG9wOiAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgbG9yZXMtZm9udDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLW91dCwgaGVpZ2h0IC4yNXMgZWFzZS1vdXQsIHdpZHRoIC4yNXMgZWFzZS1vdXQgLjEyNXMsIGxlZnQgLjI1cyBlYXNlLW91dCAuMTI1cywgdG9wIC4yNXMgZWFzZS1vdXQgLjEyNXMsIGJvcmRlciAxcyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiAtMTAwMDtcbn1cblxuLnNwbGFzaGhlbHAgaDIge1xuICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICBtYXJnaW46IC0uMjVyZW0gLS4yNXJlbSAwIC0uMjVyZW07XG4gICAgQGluY2x1ZGUgbG9yZXMtZm9udDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZTtcbiAgICBjb2xvcjogJHBlbi1zaGFycDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zcGxhc2hoZWxwIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkcGVuLXNoYXJwO1xuICAgIGJhY2tncm91bmQ6ICR3YXRlcjtcbn1cblxuLnNwbGFzaGhlbHAgY29kZSB7XG4gICAgY29sb3I6ICR0ZXJtaW5hbC1oYWxmO1xufVxuXG4uc2hlbGwtc2FtcGxlIGxpLFxuLnNoZWxsLXNhbXBsZSBhOmxpbmssXG4uc2hlbGwtc2FtcGxlIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR0ZXJtaW5hbC1oYWxmO1xufVxuXG4uc2hlbGwtc2FtcGxlIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0ZXJtaW5hbC1oYWxmO1xuICAgIGNvbG9yOiAkc3VuO1xufVxuXG51bC5zaGVsbC1zYW1wbGUge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLnNoZWxsLXNhbXBsZSBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBcIlwiO1xuICAgIHRleHQtaW5kZW50OiAtMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbi5zaGVsbC1zYW1wbGUgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCI+IFwiO1xuICAgIGNvbG9yOiAkcHJvbXB0O1xufVxuXG4uc2hlbGwtc2FtcGxlIGxpIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbi5zaGVsbC1zYW1wbGUgbGkgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjb2xvcjogJHByb21wdDtcbn1cblxuLmhpbnRzIGJsb2NrcXVvdGUgcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAnFwiO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBpbml0aWFsLWxldHRlcjogMjtcbn1cblxuLmhpbnRzIGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgY29udGVudDogXCLigJxcIjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgaW5pdGlhbC1sZXR0ZXI6IDI7XG59XG5cbi5oaW50cyBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY210LWNvbW1lbnQsXG4uaGxqcy1jb21tZW50IHtcbiAgICBjb2xvcjogIzg4MDtcbn1cblxuLmNtdC10eXBlTmFtZSxcbi5obGpzLWJ1aWx0aW4tbmFtZSxcbi5obGpzLXR5cGUge1xuICAgIGNvbG9yOiAjY2MwO1xufVxuXG4uY210LWxpdGVyYWwge1xuICAgIGNvbG9yOiAjYThlMzg5O1xufVxuXG4uY210LXN0cmluZyxcbi5obGpzLXN0cmluZyxcbi5obGpzLWJ1bGxldCB7XG4gICAgY29sb3I6ICNhOGUzODk7XG59XG5cbi5jbXQtbnVtYmVyLFxuLmhsanMtbnVtYmVyIHtcbiAgICBjb2xvcjogIzNmMztcbn1cblxuLmNtdC1oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzNmMztcbn1cblxuLmNtdC1rZXl3b3JkLFxuLmhsanMtc2VsZWN0b3ItY2xhc3MsXG4uaGxqcy1rZXl3b3JkLFxuLmhsanMtc3ltYm9sLFxuLmhsanMtbGl0ZXJhbCB7XG4gICAgY29sb3I6ICNmNmY7XG59XG5cbi5jbXQtb3BlcmF0b3Ige1xuICAgIGNvbG9yOiAjNTZiNmMyO1xufVxuXG4uY210LXB1bmN0dWF0aW9uIHtcbiAgICBjb2xvcjogaW5oZXJpdFxufVxuXG4uY210LW1ldGEge1xuICAgIGNvbG9yOiAjODgwO1xufVxuXG4uY210LXZhcmlhYmxlTmFtZSxcbi5jbXQtdmFyaWFibGVOYW1lIC5jbXQtZGVmaW5pdGlvbixcbi5jbXQtdmFyaWFibGVOYW1lIC5jbXQtbG9jYWwsXG4uaGxqcy12YXJpYWJsZSxcbi5obGpzLW5hbWUsXG4uaGxqcy1wYXJhbXMge1xuICAgIGNvbG9yOiAjM2YzO1xufVxuXG4uY210LXZhcmlhYmxlTmFtZTIsXG4uaGxqcy1hdHRyaWJ1dGUsXG4uaGxqcy1hdHRyIHtcbiAgICBjb2xvcjogI2QxOWE2Njtcbn1cblxuLmNtdC1wcm9wZXJ0eU5hbWUge1xuICAgIGNvbG9yOiAjM2YzO1xufVxuXG4uY210LWxhYmVsTmFtZSB7XG4gICAgY29sb3I6ICMzZjM7XG59XG5cbi5jbXQtbmFtZXNwYWNlIHtcbiAgICBjb2xvcjogI2NjMDtcbn1cblxuLmNtdC1tYWNyb05hbWUge1xuICAgIGNvbG9yOiAjM2YzO1xufVxuXG4uY210LWJvb2wge1xuICAgIGNvbG9yOiAjZDE5YTY2O1xufVxuXG4uY210LXN0cmluZzIge1xuICAgIGNvbG9yOiAjNTZiNmMyO1xufVxuXG4uY210LXVybCB7XG4gICAgY29sb3I6ICM1NmI2YzI7XG59XG5cbi5jbXQtYXRvbSB7XG4gICAgY29sb3I6ICNkMTlhNjY7XG59XG5cbi5jbXQtZW1waGFzaXMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNtdC1zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY210LWxpbmsge1xuICAgIGNvbG9yOiAjODgwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY210LWluc2VydGVkIHtcbiAgICBjb2xvcjogI2E4ZTM4OTtcbn1cblxuLmNtdC1kZWxldGVkIHtcbiAgICBjb2xvcjogIzNmMztcbn1cblxuLmNtdC1pbnZhbGlkIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuXG4vKlxuICB4dDI1Ni5jc3NcblxuICBDb250YWN0OiBpbml0YmFyIFthdF0gcHJvdG9ubWFpbCBbZG90XSBjaFxuICAgICAgICAgOiBnaXRodWIuY29tL2luaXRiYXJcbiovXG5cbi5obGpzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xufVxuXG4uaGxqcy1zdWJzdCB7XG4gICAgY29sb3I6ICNlYWVhZWE7XG59XG5cbi5obGpzLWVtcGhhc2lzIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5obGpzLXN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obGpzLXNlbGVjdG9yLWlkLFxuLmhsanMtcXVvdGUge1xuICAgIGNvbG9yOiAjMDBmZmZmO1xufVxuXG4uaGxqcy10aXRsZSB7XG4gICAgY29sb3I6ICMwMGZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obGpzLXRhZyxcbi5obGpzLXNlY3Rpb24ge1xuICAgIGNvbG9yOiAjMDAwZmZmO1xufVxuXG4uaGxqcy1zZWxlY3Rvci10YWcge1xuICAgIGNvbG9yOiAjMDAwZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uaGxqcy1idWlsdF9pbixcbi5obGpzLXJlZ2V4cCxcbi5obGpzLWxpbmsge1xuICAgIGNvbG9yOiAjZmYwMGZmO1xufVxuXG4uaGxqcy1tZXRhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5cbi5mYWRlMyB7XG4gICAgb3BhY2l0eTogMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzcztcbn1cblxuLnNoZWxsLXR5cGUtcHlzaGVsbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIvCfkI1cIjtcbn1cblxuLnNoZWxsLXR5cGUtanNoZWxsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4piVXCI7XG59XG5cbi5zaGVsbC10eXBlLXB5c2hlbGwgc3Bhbixcbi5zaGVsbC10eXBlLWpzaGVsbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXRlbS13aXRoLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlc3Npb24tZW50cnkge1xuICAgIGNvbG9yOiAkcGVuO1xuICAgIGJhY2tncm91bmQ6ICRidXR0b24tYmctbm9ybWFsO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zZXNzaW9uLWVudHJ5OmhvdmVyIHtcbiAgICBjb2xvcjogJHBlbi1zaGFycDtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJnLWFjdGl2ZTtcbn1cblxuLnNlc3Npb24tZW50cnkgYTpsaW5rLFxuYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHBlbjtcbn1cblxuLnNlc3Npb24tZW50cnkgYTpob3ZlcixcbmE6YWN0aXZlIHtcbiAgICBjb2xvcjogJHBlbi1zaGFycDtcbn1cblxuLnNlc3Npb24tZW50cnkgLnRpbWUtYWdvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLnNlc3Npb24tbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5pY29uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICByaWdodDogLjI1cmVtO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDtcbn1cblxuLmljb24tbGlzdCAuaWNvbiB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgcGFkZGluZzogMCAwLjI1cmVtO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5pY29uIC5pY29uLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiQGltcG9ydCAnY29sb3JzLnNjc3MnO1xuXG4vKlxuYm9keSxcbjpob3N0IHtcbiAgICAtLWZyYW1lLXRleHQ6ICN7Y29sb3ItbG9va3VwKHBlbil9O1xuICAgIC0tZnJhbWUtdGV4dC1mYWRlZDogI3tjb2xvci1sb29rdXAocGVuLCBmYWRlZCl9O1xuICAgIC0tZnJhbWUtYm9yZGVyLWZvY3VzZWQ6ICN7Y29sb3ItbG9va3VwKGZvY3VzZWQpfTtcbiAgICAtLWZyYW1lLWhlYWRlcjogI3tjb2xvci1sb29rdXAoZnJhbWUsIGZhZGUtNTApfTtcbiAgICAtLWZyYW1lLWhlYWRlci1mb2N1c2VkOiAje2NvbG9yLWxvb2t1cChmcmFtZSwgZm9jdXNlZCwgZmFkZS01MCl9O1xuICAgIC0tZnJhbWUtdGFiOiAje2NvbG9yLWxvb2t1cChmcmFtZSwgZGVmb2N1cyl9O1xuICAgIC0tZnJhbWUtdGFiLWZvY3VzZWQ6ICN7Y29sb3ItbG9va3VwKGZyYW1lLCBmb2N1c2VkLCBkZWZvY3VzKX07XG4gICAgLS1mcmFtZS10YWItc2VsZWN0ZWQ6ICN7Y29sb3ItbG9va3VwKGZyYW1lLCBzZWxlY3RlZCl9O1xuICAgIC0tZnJhbWUtdGFiLWZvY3VzZWQtc2VsZWN0ZWQ6ICN7Y29sb3ItbG9va3VwKGZyYW1lLCBmb2N1c2VkLCBzZWxlY3RlZCl9O1xufVxuKi9cbi8vIEdMT0JBTFxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLy8gTElOS1NcblxuYTpsaW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZmctbGluayk7XG59XG5cbmE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWZnLXZpc2l0ZWQpO1xufVxuXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWZnLWhvdmVyKTtcbn1cblxuLy8gVEVYVFxucCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtZmcpO1xufVxuXG4vLyBNQVJHSU5TXG5wLFxuZGwsXG5tdWx0aWNvbCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAuNWVtO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IC4yZW07XG59XG5cbmRpdi5zdGFjay1mcmFtZXMge1xuICAgIGNvbG9yOiAjYmJjO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogLjEyNXJlbSBzb2xpZDtcblxuICAgIGgxIHtcbiAgICAgICAgcGFkZGluZzogLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgO1xuICAgIH1cbn1cblxuLnN0YWNrLWZyYW1lIHtcblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYztcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgfVxuXG4gICAgLmFkZHJlc3MsXG4gICAgLnZhcnMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpdCwgMnJlbSk7XG5cbiAgICAgICAgJj4qIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZhcnMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBhdXRvKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuYWRkcmVzcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICB9XG5cbiAgICAubWVtb3J5IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMnJlbSkgcmVwZWF0KDQsIGF1dG8pO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpdCwgMnJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuXG4gICAgICAgIC5oZWFkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAubmFtZSB7XG4gICAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0XG4gICAgICAgIC8vIH1cblxuICAgICAgICAvLyAudHlwZSxcbiAgICAgICAgLy8gLnNpemUsXG4gICAgICAgIC8vIC5raW5kIHtcbiAgICAgICAgLy8gfVxuICAgICAgICAub2Zmc2V0LFxuICAgICAgICAuc2l6ZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lLFxuICAgICAgICAudHlwZSxcbiAgICAgICAgLmtpbmQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vZmZzZXQsXG4gICAgICAgIC5uYW1lLFxuICAgICAgICAudHlwZSxcbiAgICAgICAgLnNpemUsXG4gICAgICAgIC5raW5kIHtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAub2Zmc2V0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuXG4gICAgICAgICAgICAuaGV4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZWMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnl0ZSB7XG4gICAgICAgICAgICAvL3dpZHRoOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgLy8gIGJvcmRlcjogMXB4IHNvbGlkICM0ODQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IC4xcmVtO1xuXG5cblxuICAgICAgICAgICAgJi5iZy1wLFxuICAgICAgICAgICAgJi5iZy0wLFxuICAgICAgICAgICAgJi5iZy0xLFxuICAgICAgICAgICAgJi5iZy0yLFxuICAgICAgICAgICAgJi5iZy0zLFxuICAgICAgICAgICAgJi5iZy00LFxuICAgICAgICAgICAgJi5iZy01IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDA4IDAlLCAjMDAwMCA1JSwgIzAwMDAgOTUlLCAjMDAwOCAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDA4IDAlLCAjMDAwMCA1JSwgIzAwMDAgOTUlLCAjMDAwOCAxMDAlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDJyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogLjFyZW0gLjFyZW0gNXB4IGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ5dGVbZGF0YS1sYXN0LXBvcz1cIjdcIl06OmFmdGVyLFxuICAgICAgICAuYnl0ZVtkYXRhLXN0YXJ0XTo6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogI2JiYzg7XG4gICAgICAgICAgICBmb250LXNpemU6IC41cmVtO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmVcbiAgICAgICAgfVxuXG4gICAgICAgIC5ieXRlW2RhdGEtbGFzdC1wb3M9XCI3XCJdOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFzdC1vZmZzZXQpO1xuICAgICAgICAgICAgcmlnaHQ6IC4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ieXRlW2RhdGEtc3RhcnRdOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLW9mZnNldCk7XG4gICAgICAgICAgICBsZWZ0OiAuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYnl0ZVtkYXRhLXBvcz1cIjBcIl06OmJlZm9yZSxcbiAgICAgICAgLnByZXYtZnJhbWVbZGF0YS1vZmZzZXRdOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLW9mZnNldCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IC44cmVtO1xuICAgICAgICAgICAgbGVmdDogLS4yNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICAgICAgY29sb3I6ICNiYmM7XG4gICAgICAgIH1cblxuICAgICAgICAucHJldi1mcmFtZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDg7XG4gICAgICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA4O1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKC0xMDAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDEwMCUgNjUlLCA5NyUgNzAlLCA5MiUgNjclLCA4NiUgOTMlLCA3OCUgNjUlLCA3NSUgOTQlLCA3MiUgNjMlLCA2NiUgOTMlLCA2MyUgNjAlLCA2MCUgOTklLCA1NCUgNzklLCA0NyUgODElLCA0MiUgNzMlLCAzNiUgODglLCAyOSUgNjklLCAyNSUgOTUlLCAyMSUgNjAlLCAxNiUgOTQlLCA4JSA2NiUsIDIlIDk4JSwgMCUgMTAwJSwgLTEwMCUgMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmhleCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cblxuICAgIH1cblxuXG4gICAgLmJnLXAge1xuICAgICAgICB0ZXh0LXNoYWRvdzogLjFyZW0gLjFyZW0gNXB4IGJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDM1JSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwMDggMCUsICMwMDAwIC42NzUlLCAjMDAwMCA5OS4zNzUlLCAjMDAwOCAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDA4IDAlLCAjMDAwMCAuNjI1JSwgIzAwMDAgOTkuMzc1JSwgIzAwMDggMTAwJSk7XG4gICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzg4OCAxMi41JSwgcmdiYSgwLCAwLCAwLCAwKSAxMi41JSwgcmdiYSgwLCAwLCAwLCAwKSA1MCUsICM4ODggNTAlLCAjODg4IDYyLjUlLCByZ2JhKDAsIDAsIDAsIDApIDYyLjUlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICAgICAgICAvLyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjODg4ODg4IDI1JSwgIzAwMDAgMjUlLCAjMDAwMCA1MCUsICM4ODg4ODggNTAlLCAjODg4ODg4IDc1JSwgIzAwMDAgNzUlLCAjMDAwMCAxMDAlKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IDI4LjI4cHggMjguMjhweDtcbiAgICB9XG5cblxuICAgIC5iZy0wIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDMwMCwgMzAlLCAzNSUpO1xuICAgIH1cblxuICAgIC5iZy0yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDI0MCwgMzAlLCAzNSUpO1xuICAgIH1cblxuICAgIC5iZy00IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDE4MCwgMzAlLCAzNSUpO1xuICAgIH1cblxuICAgIC5iZy0xIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDEyMCwgMzAlLCAzNSUpO1xuICAgIH1cblxuICAgIC5iZy01IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDYwLCAzMCUsIDM1JSk7XG4gICAgfVxuXG4gICAgLmJnLTMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMzAlLCAzNSUpO1xuICAgIH1cblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogLjI1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICB9XG5cblxuICAgIC8vLnRlYXItb2ZmIHt9XG59XG5cbi5zdGFjay1mcmFtZXMgLmhleCAubWVtb3J5LFxuLnN0YWNrLWZyYW1lcy5oZXggLm1lbW9yeSxcbi5zdGFjay1mcmFtZXMgLmhleC5tZW1vcnkge1xuICAgIC5ieXRlW2RhdGEtcG9zPVwiMFwiXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLW9mZnNldC14KVxuICAgIH1cblxuICAgIHNwYW4uaGV4IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lXG4gICAgfVxuXG4gICAgc3Bhbi5kZWMge1xuICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxufVxuXG4vLyA6aG9zdCB7XG4vLyAgICAgQGluY2x1ZGUgZGFyay1iYWNrZ3JvdW5kO1xuLy8gfSIsIiNwYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4td2lkdGg6IDEwMHZ3O1xuICAgIHdpZHRoOiAxMDB2dztcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLy9cdGdyaWQtdGVtcGxhdGUtcm93czogJGhlYWQtaGVpZ2h0IGNhbGMoNTAlIC0gI3skaGVhZC1oZWlnaHR9KSBjYWxjKDUwJSAtICN7JGZvb3QtaGVpZ2h0fSkgJGZvb3QtaGVpZ2h0O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRoZWFkLWhlaWdodCBjYWxjKDEwMCUgLSAjeyRoZWFkLWhlaWdodH0gLSAjeyRmb290LWhlaWdodH0pICRmb290LWhlaWdodDtcbiAgICAvL1x0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAkaGVhZC1oZWlnaHQgcmVwZWF0KDEyLCBjYWxjKCgxMDAlIC0gI3skaGVhZC1oZWlnaHR9IC0gI3skZm9vdC1oZWlnaHR9KSAvIDEyKSkgJGZvb3QtaGVpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBmb3ItZGVza3RvcC11cCB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxufVxuXG4jcGFnZS5sb2dpbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4jcGFnZS5tYWlubHktY29kaW5nLFxuI3BhZ2UubWFpbmx5LWZpZ3VyZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkaGVhZC1oZWlnaHQgY2FsYyg3NSUgLSAjeyRoZWFkLWhlaWdodH0pIGNhbGMoMjUlIC0gI3skZm9vdC1oZWlnaHR9KSAkZm9vdC1oZWlnaHQ7XG59XG5cbiN0b3Age1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGdyaWQtcm93OiAxLzI7XG59XG5cbiNtaWQge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGdyaWQtcm93OiAyLy0yO1xuXG4gICAgQGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDB2aDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMzIsIGNhbGMoOTklIC8gMzIpKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTYsIGNhbGMoOTklIC8gMTYpKTtcbiAgICB9XG5cbn1cblxuI2JvdHRvbSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgZ3JpZC1yb3c6IC0yLy0xO1xufVxuXG4uZXhwbG9yZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gICAgZ3JpZC1yb3c6IDEvLTE7XG59XG5cbiNlZGl0b3Ige1xuICAgIGdyaWQtY29sdW1uOiA0LzE5O1xuICAgIGdyaWQtcm93OiAxLzg7XG59XG5cbiNzY3JlZW4ge1xuICAgIGdyaWQtY29sdW1uOiAxOS8tMTtcbiAgICBncmlkLXJvdzogMS84O1xufVxuXG4jc2hlbGwge1xuICAgIGdyaWQtY29sdW1uOiA0Ly0xO1xuICAgIGdyaWQtcm93OiA4Ly0xO1xufVxuXG4jcGFnZS5sb2dpbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkaGVhZC1oZWlnaHQgY2FsYygxMDAlIC0gI3skaGVhZC1oZWlnaHQrJGZvb3QtaGVpZ2h0fSkgJGZvb3QtaGVpZ2h0O1xufVxuXG4jbG9naW4uYm94IHtcbiAgICBncmlkLWNvbHVtbjogNy8tMTtcbiAgICBncmlkLXJvdzogMi8tMjtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG59XG5cbiN0ZXJtcy5ib3gge1xuICAgIGdyaWQtY29sdW1uOiAyLzc7XG4gICAgZ3JpZC1yb3c6IDIvLTI7XG4gICAgcGFkZGluZzogMXJlbTtcbn0iLCJAbWl4aW4gZm9yLXBob25lLW9ubHkge1xuXHRAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZm9yLXBvcnRyYWl0LW9ubHkge1xuXHRAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZm9yLXRhYmxldC1wb3J0cmFpdC11cCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBmb3ItZGVza3RvcC11cCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gZm9yLWJpZy1kZXNrdG9wLXVwIHtcblx0QG1lZGlhIChtaW4td2lkdGg6IDE4MDBweCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRmFudGFzcXVlIFNhbnMgTW9ubyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mYW50YXNxdWUvRmFudGFzcXVlU2Fuc01vbm8tQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ZhbnRhc3F1ZS9GYW50YXNxdWVTYW5zTW9uby1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgLyogRmlyZWZveCA+PSAzLjYsIGFueSBvdGhlciBtb2Rlcm4gYnJvd3NlciAqL1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZhbnRhc3F1ZSBTYW5zIE1vbm8nO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZmFudGFzcXVlL0ZhbnRhc3F1ZVNhbnNNb25vLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9mYW50YXNxdWUvRmFudGFzcXVlU2Fuc01vbm8tQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIC8qIEZpcmVmb3ggPj0gMy42LCBhbnkgb3RoZXIgbW9kZXJuIGJyb3dzZXIgKi9cbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGYW50YXNxdWUgU2FucyBNb25vJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZhbnRhc3F1ZS9GYW50YXNxdWVTYW5zTW9uby1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9mYW50YXNxdWUvRmFudGFzcXVlU2Fuc01vbm8tSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgLyogRmlyZWZveCA+PSAzLjYsIGFueSBvdGhlciBtb2Rlcm4gYnJvd3NlciAqL1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZhbnRhc3F1ZSBTYW5zIE1vbm8nO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZmFudGFzcXVlL0ZhbnRhc3F1ZVNhbnNNb25vLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9mYW50YXNxdWUvRmFudGFzcXVlU2Fuc01vbm8tUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIC8qIEZpcmVmb3ggPj0gMy42LCBhbnkgb3RoZXIgbW9kZXJuIGJyb3dzZXIgKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbmRpa2EnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvYW5kaWthL0FuZGlrYS1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvYW5kaWthL0FuZGlrYS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgLyogRmlyZWZveCA+PSAzLjYsIGFueSBvdGhlciBtb2Rlcm4gYnJvd3NlciAqL1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FuZGlrYSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9hbmRpa2EvQW5kaWthLUl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2FuZGlrYS9BbmRpa2EtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgLyogRmlyZWZveCA+PSAzLjYsIGFueSBvdGhlciBtb2Rlcm4gYnJvd3NlciAqL1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FuZGlrYSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9hbmRpa2EvQW5kaWthLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9hbmRpa2EvQW5kaWthLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAvKiBGaXJlZm94ID49IDMuNiwgYW55IG90aGVyIG1vZGVybiBicm93c2VyICovXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQW5kaWthJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2FuZGlrYS9BbmRpa2EtQm9sZEl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2FuZGlrYS9BbmRpa2EtQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIC8qIEZpcmVmb3ggPj0gMy42LCBhbnkgb3RoZXIgbW9kZXJuIGJyb3dzZXIgKi9cbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL0Bmb250LWZhY2Uge1xuLy8gIGZvbnQtZmFtaWx5OiAnU0ggUGluc2NoZXInO1xuLy8gIHNyYzogdXJsKCcuLi9mb250cy9zaHBpbnNjaGVyL1NIUGluc2NoZXItUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7IC8qIEZpcmVmb3ggPj0gMy42LCBhbnkgb3RoZXIgbW9kZXJuIGJyb3dzZXIgKi9cbi8vICBmb250LXdlaWdodDogNDAwO1xuLy8gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vfVxuLypcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbm9pZCc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9tb25vaWQvTW9ub2lkLVJlZ3VsYXItTm9DYWx0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9ub2lkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL21vbm9pZC9Nb25vaWQtSXRhbGljLU5vQ2FsdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbm9pZCc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9tb25vaWQvTW9ub2lkLUJvbGQtTm9DYWx0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuKi9cbi8vQGZvbnQtZmFjZSB7XG4vL1x0Zm9udC1mYW1pbHk6IFwiRGVsdXhlRm9udFwiO1xuLy9cdHNyYzogdXJsKFwiLi4vZm9udHMvZGVsdXhlZm9udC9EZWx1eGVmb250UmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4vL1x0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vXHRmb250LXN0eWxlOiBub3JtYWw7XG4vL1x0LyogZm9udC1zaXplLWFkanVzdDogMC42MyAqL1xuLy99XG4vKlxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJlc3NTdGFydDJQXCI7XG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9wcmVzc3N0YXJ0MnAvUHJlc3NTdGFydDJQLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUHJlc3NTdGFydDJQIE5hcnJvd1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3ByZXNzc3RhcnQycC9QcmVzc1N0YXJ0MlAtTmFycm93LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL3ByZXNzc3RhcnQycC9QcmVzc1N0YXJ0MlAtTmFycm93LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKlxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUHJlc3NTdGFydDJQIFRhbGxcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL3ByZXNzc3RhcnQycC9QcmVzc1N0YXJ0MlAtVGFsbC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcblx0XHQgdXJsKFwiLi4vZm9udHMvcHJlc3NzdGFydDJwL1ByZXNzU3RhcnQyUC1UYWxsLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiovXG4vL0Bmb250LWZhY2Uge1xuLy8gICAgZm9udC1mYW1pbHk6IFwiR2xhc3N0b3duLU5CUFwiO1xuLy8gICAgc3JjOiB1cmwoXCIuLi9mb250cy9nbGFzc3Rvd24vR2xhc3N0b3duLU5CUC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4vLyAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy99XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVGVlbnlUaW55UGl4bHNcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy90ZWVueXRpbnlwaXhscy9UZWVueVRpbnlQaXhscy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIkc2Nyb2xsYmFyLWNvbG9yOiBjb2xvci5zY2FsZSgjZmEwLCAkbGlnaHRuZXNzOiAtNTAlKTtcbiRzY3JvbGxiYXItY29sb3ItaGk6IGNvbG9yLnNjYWxlKCNmYTAsICRsaWdodG5lc3M6IC0yNSUpO1xuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IC43NXJlbTtcbiAgaGVpZ2h0OiAuNzVyZW07XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yO1xuICAvL2JvcmRlci10b3A6IC4yNXJlbSBkb3VibGUgJHNjcm9sbGJhci1jb2xvcjtcbiAgLy8gYm9yZGVyLWJvdHRvbTogLjI1cmVtIGRvdWJsZSAkc2Nyb2xsYmFyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yLWhpO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXI6IDJweCBzb2xpZCAkc2Nyb2xsYmFyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAkc2Nyb2xsYmFyLWNvbG9yLWhpO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRzY3JvbGxiYXItY29sb3ItaGk7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cblxuLypcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogLjc1cmVtO1xuICBoZWlnaHQ6IC43NXJlbTtcbn1cbjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG59XG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogJHNjcm9sbGJhci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDJweCByaWRnZSAkc2Nyb2xsYmFyLWNvbG9yO1xuICBib3JkZXItcmlnaHQ6IDJweCBncm9vdmUgJHNjcm9sbGJhci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMDAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yLWhpO1xufVxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRzY3JvbGxiYXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAkc2Nyb2xsYmFyLWNvbG9yLWhpO1xufVxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjazphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkc2Nyb2xsYmFyLWNvbG9yLWhpO1xufVxuOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbiovIiwiYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iZy1ub3JtYWw7XG5cdGNvbG9yOiAkcGVuO1xuXHRib3JkZXI6IDBweCBzb2xpZCAkd2F0ZXI7XG5cdHRleHQtYWxpZ246IGVuZDtcblxuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0cGFkZGluZzogMCAuMnJlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC44cztcbn1cblxuXG4jdG9wIGJ1dHRvbiBzcGFuLnRoZS10ZXh0IHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0Zm9udC1zaXplOiAuN3JlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0dHJhbnNpdGlvbjogZm9udC1zaXplIC4zcztcblxuXHRAaW5jbHVkZSBmb3ItcG9ydHJhaXQtb25seSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBpbmNsdWRlIGZvci10YWJsZXQtcG9ydHJhaXQtdXAge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufVxuXG4jdG9wIGJ1dHRvbiBzcGFuLnRoZS10ZXh0LnRleHQtaWNvbiB7XG5cdEBpbmNsdWRlIGZvci1wb3J0cmFpdC1vbmx5IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuI3RvcCBidXR0b24gc3Bhbi5zaG9ydGN1dCB7XG5cdGZvbnQtc2l6ZTogLjdyZW07XG5cdHRyYW5zaXRpb246IGZvbnQtc2l6ZSAuM3M7XG59XG5cbiN0b3AgYnV0dG9uOmhvdmVyIHNwYW4udGhlLXRleHQge1xuXHR6LWluZGV4OiAxMztcblx0dG9wOiAuNHJlbTtcbn1cblxuI3RvcCBidXR0b24gc3BhbjplbXB0eTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlxcMDBhMFwiO1xufVxuXG4jdG9wIGJ1dHRvbiAubG9uZyB7XG5cdC8vZm9udC1zaXplOjAuNnJlbTtcbn1cblxuI3RvcCBidXR0b24gc3Bhbi5pY29uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdHJpZ2h0OiBjYWxjKDEwMCUgLSAxLjJyZW0pO1xuXHRmb250LXNpemU6IDFyZW07XG5cdHotaW5kZXg6IDI7XG5cdHRleHQtc2hhZG93OiAwIDAgLjJyZW07XG5cdHRyYW5zaXRpb246IGZvbnQtc2l6ZSAuM3M7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuI3RvcCBidXR0b24gc3Bhbi5iZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAwO1xuXHQvL3RyYW5zaXRpb246IHdpZHRoIC4zcyxoZWlnaHQgLjNzLHRvcCAuM3MsbGVmdCAuM3M7XG59XG5cbiN0b3AgYnV0dG9uOmhvdmVyIHNwYW4uaWNvbiB7XG5cdHotaW5kZXg6IDEyO1xuXHRmb250LXNpemU6IDEuNXJlbTtcbn1cblxuI3RvcCBidXR0b246aG92ZXIgc3Bhbi5iZyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmctaG92ZXI7XG5cdGxlZnQ6IC0uNXJlbTtcblx0dG9wOiAtLjJyZW07XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAuNXJlbSk7XG5cdGhlaWdodDogY2FsYygxMDAlICsgLjZyZW0pO1xuXHR6LWluZGV4OiA5O1xuXHRib3gtc2hhZG93OiAwIDAgLjJyZW0gYmxhY2s7XG59XG5cbiN0b3AgYnV0dG9uIC5zaG9ydGN1dCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdG9wYWNpdHk6IDAlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiBtYXgtY29udGVudDtcblx0dG9wOiAtLjJyZW07XG5cdHJpZ2h0OiAwLjJyZW07XG5cdGZvbnQtc2l6ZTogLjhyZW07XG5cdHotaW5kZXg6IDI7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xufVxuXG4jdG9wIGJ1dHRvbjpob3ZlciAuc2hvcnRjdXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3BhY2l0eTogMTAwJTtcblx0ei1pbmRleDogMTI7XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2Fzczpjb2xvclwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbiRQSE9TUEhPUl9QMTogIzRhZmYwMDsgLy8gfjUyNW5tXG4kUEhPU1BIT1JfUDE5OiAjZmZkZjAwOyAvLyB+NTkwbm1cblxuJGNvbG9yLXNjaGVtZTogKFxuXHRcImZyYW1lXCI6ICgnPScsICNhYWIpLFxuXHRcImZvY3VzZWRcIjogKCc9JywgI2VlYSksXG5cdFwic2VsZWN0ZWRcIjogKCcrJywgMTcpLFxuXHRcImhhbGZcIjogKCcqJywgLjUpLFxuXHRcInBlblwiOiAoJz0nLCAjMzMzKSxcblx0XCJmYWRlZFwiOiAoJyonLCAyKSxcblx0XCJmYWRlLTgwXCI6ICgnIycsIC44KSxcblx0XCJmYWRlLTUwXCI6ICgnIycsIC41KSxcblx0XCJkZWZvY3VzXCI6ICgnKicsIC44KVxuKTtcbiR3YXRlcjogIzY2ZTtcbiRwYWdlOiAjY2NkO1xuJHBhZ2UtbGlnaHQ6ICNlZWVhZWE7XG4kZnJhbWU6ICNjY2Q7XG4kZnJhbWUtYWNjZW50OiBjb2xvci5hZGp1c3QoJHBhZ2UsICRodWU6IDE4MCk7XG4kcGVuOiAjMjIyO1xuJHBlbi1zaGFycDogIzAwMDtcbiRwcm9tcHQ6ICNmYTY7XG4kcHJvbXB0LWhhbGY6ICM4ODA7XG4kdGVybWluYWw6ICRQSE9TUEhPUl9QMTtcbiR0ZXJtaW5hbC1oYWxmOiAkUEhPU1BIT1JfUDE5O1xuJHRlcm1pbmFsLWFsdDogJFBIT1NQSE9SX1AxOTtcbiRzdW46IGNvbG9yLmFkanVzdCgkcGFnZSwgJGh1ZTogMTgwKTtcbiRidXR0b24tYmctaGVhZGVyOiBjb2xvci5zY2FsZSgkcGFnZSwgJGxpZ2h0bmVzczogLTIwJSk7XG4kYnV0dG9uLWJnLW5vcm1hbDogY29sb3Iuc2NhbGUoJHN1biwgJGxpZ2h0bmVzczogLTIwJSk7XG4kYnV0dG9uLWJnLWhvdmVyOiBjb2xvci5zY2FsZSgkc3VuLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRidXR0b24tYmctYWN0aXZlOiBjb2xvci5zY2FsZSgkc3VuLCAkbGlnaHRuZXNzOiAtNDAlKTtcbiRib3JkZXItYWN0aXZlOiAkcGVuLXNoYXJwO1xuJGJvcmRlcjogJHBlbjtcbiRiZ2Rhcms6ICMxMTE7XG4kYmdsaWdodDogI2VlZTtcblxuJExJR0hUX0JMVUU6IHJnYig1MCUsIDUwJSwgMTAwJSk7XG4kQkxVRTogcmdiKDAlLCAwJSwgMTAwJSk7XG4kT0xJVkU6IHJnYig1MCUsIDUwJSwgMCUpO1xuJE1BUk9PTjogcmdiKDUwJSwgMCUsIDAlKTtcblxuXG4kZGVidWc6ICRMSUdIVF9CTFVFO1xuJGluZm86ICRCTFVFO1xuJHdhcm5pbmc6ICNmZjA7XG4kZXJyb3I6ICNmMDA7XG5cblxuQG1peGluIGRhcmstYmFja2dyb3VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW4tYmctY29sb3ItZGFyayk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLW1haW4tYmctaW1hZ2UtZGFyayk7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwdncgMTAwdmg7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xuXG5cdGNvbG9yOiAkdGVybWluYWw7XG5cblx0YTpsaW5rIHtcblx0XHRjb2xvcjogIzlhYmFmZjtcblx0fVxuXG5cdGE6dmlzaXRlZCB7XG5cdFx0Y29sb3I6ICNiYTlhZmY7XG5cdH1cblxuXHRhOmhvdmVyIHtcblx0XHRjb2xvcjogI2ZmOGE0YTtcblx0fVxufVxuXG5AbWl4aW4gbGlnaHQtYmFja2dyb3VuZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW4tYmctaW1hZ2UtbGlnaHQpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1tYWluLWJnLWltYWdlLWxpZ2h0KTtcblx0YmFja2dyb3VuZC1zaXplOiAxMDB2dyAxMDB2aDtcblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcblx0Y29sb3I6ICRwZW4tc2hhcnA7XG5cbn1cblxuXG5AZnVuY3Rpb24gcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZSkge1xuXHRAaWYgJHN0cmluZyA9PSRzZWFyY2gge1xuXHRcdEByZXR1cm4gJHJlcGxhY2U7XG5cdH1cblx0QGVsc2Uge1xuXHRcdCRpOiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cdFx0JGw6IHN0cmluZy5sZW5ndGgoJHNlYXJjaCk7XG5cdFx0QHJldHVybiBzdHJpbmcuc2xpY2UoJHN0cmluZywgMSwgKCRpKS0xKSskcmVwbGFjZStzdHJpbmcuc2xpY2UoJHN0cmluZywgJGkrJGwsIC0xKTtcblx0fVxufVxuXG5AZnVuY3Rpb24gY29sb3ItbG9va3VwKCRzcGVjcy4uLikge1xuXHQkYWRkOiAwO1xuXHQkbXVsOiAxO1xuXHQkYzogIzg4ODtcblx0JGJhc2VfY29sb3I6ICM4ODg7XG5cdCRjczogJyAmJztcblx0JGJhc2U6ICdjb2xvcic7XG5cblx0QGVhY2ggJHNwZWMgaW4gJHNwZWNzIHtcblx0XHRAaWYgbWV0YS50eXBlLW9mKCRzcGVjKT09J2NvbG9yJyB7XG5cdFx0XHQkYzogJHNwZWM7XG5cdFx0XHQkYmFzZV9jb2xvcjogJHNwZWM7XG5cdFx0XHQkYmFzZTogJHNwZWM7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblx0XHRcdCRjbWQ6IG50aChtYXAuZ2V0KCRjb2xvci1zY2hlbWUsICRzcGVjKSwgMSk7XG5cdFx0XHQkYXJnOiBudGgobWFwLmdldCgkY29sb3Itc2NoZW1lLCAkc3BlYyksIDIpO1xuXG5cdFx0XHRAaWYgJGNtZCA9PSc9JyB7XG5cdFx0XHRcdCRjOiAkYXJnO1xuXHRcdFx0XHQkYmFzZV9jb2xvcjogJGFyZztcblx0XHRcdFx0JGJhc2U6ICRzcGVjO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBlYWNoICRzcGVjIGluICRzcGVjcyB7XG5cdFx0JGNtZDogbnRoKG1hcC5nZXQoJGNvbG9yLXNjaGVtZSwgJHNwZWMpLCAxKTtcblx0XHQkYXJnOiBudGgobWFwLmdldCgkY29sb3Itc2NoZW1lLCAkc3BlYyksIDIpO1xuXG5cdFx0QGlmICRjbWQgPT0nKycge1xuXHRcdFx0JGM6IGNvbG9yLmNoYW5nZSgkYywgJHJlZDogY29sb3IucmVkKCRjKSskYXJnLCAkZ3JlZW46IGNvbG9yLmdyZWVuKCRjKSskYXJnLCAkYmx1ZTogY29sb3IuYmx1ZSgkYykrJGFyZyk7XG5cdFx0XHQkY3M6ICcoI3skY3N9ICsgI3skYXJnfSknO1xuXHRcdH1cblxuXHRcdEBlbHNlIGlmICRjbWQgPT0nKicge1xuXHRcdFx0JGM6IGNvbG9yLmNoYW5nZSgkYywgJHJlZDogY29sb3IucmVkKCRjKSokYXJnLCAkZ3JlZW46IGNvbG9yLmdyZWVuKCRjKSokYXJnLCAkYmx1ZTogY29sb3IuYmx1ZSgkYykqJGFyZyk7XG5cdFx0XHQkY3M6ICcoI3skY3N9ICogI3skYXJnfSknO1xuXHRcdH1cblxuXHRcdEBlbHNlIGlmICRjbWQgPT0nIycge1xuXHRcdFx0JGM6IGNvbG9yLmNoYW5nZSgkYywgJGFscGhhOiBjb2xvci5hbHBoYSgkYykqJGFyZyk7XG5cdFx0XHQvLyB0b2RvXG5cdFx0fVxuXHR9XG5cblx0Ly9AZXJyb3IgJGNzO1xuXHQkY3M6ICdyZ2IoY2FsYygje3JlcGxhY2UoJGNzLCAnICYnLCAnIHZhcigtLSN7JGJhc2V9LXIsICN7Y29sb3IucmVkKCRiYXNlX2NvbG9yKX0pJyl9KSwgY2FsYygje3JlcGxhY2UoJGNzLCAnICYnLCAnIHZhcigtLSN7JGJhc2V9LWcsICN7Y29sb3IuZ3JlZW4oJGJhc2VfY29sb3IpfSknKX0pLCBjYWxjKCN7cmVwbGFjZSgkY3MsICcgJicsICcgdmFyKC0tI3skYmFzZX0tYiwgI3tjb2xvci5ibHVlKCRiYXNlX2NvbG9yKX0pJyl9KSknO1xuXHQvLyRjczogJ2NhbGMnK3N0cmluZy5zbGljZSgkY3MsIDEsIHN0cmluZy5pbmRleCgkY3MsICcmJyktMSkrJ3ZhcigtLScrJGJhc2UrJyknK3N0cmluZy5zbGljZSgkY3MsIHN0cmluZy5pbmRleCgkY3MsICcmJykrMSwgLTEpO1xuXHRAcmV0dXJuICRjOyAvLyBzdHJpbmcudW5xdW90ZSgkY3MpO1xufVxuXG5AZnVuY3Rpb24gcmdiTXVsKCRiYXNlLCAkZmFjdG9yKSB7XG5cdEByZXR1cm4gcmdiKGNhbGModmFyKCN7JGJhc2V9LXIpI3skZmFjdG9yfSksIGNhbGModmFyKCN7JGJhc2V9LWcpI3skZmFjdG9yfSksIGNhbGModmFyKCN7JGJhc2V9LWIpI3skZmFjdG9yfSkpXG59IiwiQG1peGluIGZpbGwtY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cblx0QGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuXG5AbWl4aW4gZmlsbC1jb250YWluZXItaGVpZ2h0IHtcblx0QGluY2x1ZGUgZm9yLXRhYmxldC1sYW5kc2NhcGUtdXAge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxufVxuXG5AbWl4aW4gbG9yZXMtZm9udCB7XG5cdC8vZm9udC1mYW1pbHk6IFwiRmFudGFzcXVlIFNhbnMgTW9ub1wiLCBcIk1vbm9pZFwiLCBtb25vc3BhY2U7XG5cblx0Ly9mb250LXNpemUtYWRqdXN0OiAuNzE0Mjg7XG59XG5cbkBtaXhpbiBwaXhlbC1mb250IHtcblx0Zm9udC1mYW1pbHk6IFwiUHJlc3NTdGFydDJQIE5hcnJvd1wiLCBcIkZhbnRhc3F1ZSBTYW5zIE1vbm9cIiwgXCJNb25vaWRcIiwgbW9ub3NwYWNlO1xuXHRmb250LXNpemUtYWRqdXN0OiAuNzE0Mjg7XG59XG5cbkBtaXhpbiBoaXJlcy1mb250IHtcblx0Ly9mb250LWZhbWlseTogXCJHbGFzc3Rvd24tTkJQXCIsIHNhbnMtc2VyaWY7XG5cdC8vZm9udC1mYW1pbHk6IFwiRmFudGFzcXVlIFNhbnMgTW9ub1wiLCBcIk1vbm9pZFwiLCBtb25vc3BhY2U7XG5cdC8vXHRmb250LXNpemUtYWRqdXN0OiAwLjY2O1x0XG5cdC8vbGV0dGVyLXNwYWNpbmc6IC0wLjA2ZW07XG59XG5cbkBtaXhpbiBub3JtYWwtZm9udCB7XG5cdGZvbnQtZmFtaWx5OiBcIkZhbnRhc3F1ZSBTYW5zIE1vbm9cIiwgXCJNb25vaWRcIiwgbW9ub3NwYWNlO1xuXHRmb250LXNpemUtYWRqdXN0OiAuNjtcbn1cblxuQG1peGluIHRpbnktZm9udCB7XG5cdGZvbnQtZmFtaWx5OiBcIlRlZW55VGlueVBpeGxzXCIsIHNhbnMtc2VyaWY7XG59IiwiJGhlYWQtaGVpZ2h0OiAzcmVtO1xuJGZvb3QtaGVpZ2h0OiAycmVtO1xuJGJveC1oZWFkLWhlaWdodDogMS40cmVtO1xuJG1heC10ZXh0LXdpZHRoOiA3MHJlbTtcbiJdLCJzb3VyY2VSb290IjoiIn0= */