/* sw:src/globals.css */
:root {
  --bg: #0d0e14;
  --surface: #13161f;
  --surface-2: #181b25;
  --border: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.14);
  --text: #f0f0eb;
  --text-muted: #7a8099;
  --text-dim: #4a5066;
  --teal: #2dd4bf;
  --teal-deep: #14b8a6;
  --teal-glow: rgba(45, 212, 191, 0.18);
  --teal-glow-soft: rgba(45, 212, 191, 0.06);
  --pain: #3a3d4d;
  --serif:
    "Instrument Serif",
    Georgia,
    serif;
  --sans:
    "DM Sans",
    system-ui,
    sans-serif;
  --mono:
    "DM Mono",
    ui-monospace,
    monospace;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}
[data-theme=light] {
  --bg: #fafaf8;
  --surface: #ffffff;
  --surface-2: #f3f2ee;
  --border: rgba(0, 0, 0, 0.08);
  --border-strong:rgba(0, 0, 0, 0.16);
  --text: #1a1a1a;
  --text-muted: #4a4a4a;
  --text-dim: #8b8a84;
  --teal: #14b8a6;
  --teal-deep: #0d9488;
  --teal-glow: rgba(20, 184, 166, 0.18);
  --teal-glow-soft: rgba(20, 184, 166, 0.06);
  --pain: #c6c4be;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
::selection {
  background: var(--teal-glow);
  color: var(--text);
}
a {
  color: inherit;
  text-decoration: none;
}
.dot-grid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 30px 30px;
}
.hero-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1100px;
  height: 1100px;
  transform: translate(-50%, -55%);
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at center,
      var(--teal-glow) 0%,
      rgba(45, 212, 191, 0.05) 30%,
      transparent 60%);
  filter: blur(20px);
}
.eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--teal);
  border: 1px solid rgba(45, 212, 191, 0.3);
  border-radius: 999px;
  padding: 6px 14px;
  background: rgba(45, 212, 191, 0.04);
}
.eyebrow-muted {
  display: inline-block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 15px;
  background: var(--teal);
  color: #0a1410;
  border: none;
  border-radius: 999px;
  padding: 14px 28px;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
  box-shadow: 0 0 0 rgba(45, 212, 191, 0);
}
.btn-pill:hover {
  transform: translateY(-1px);
  background: #4ce0c8;
  box-shadow: 0 12px 32px rgba(45, 212, 191, 0.25);
}
.btn-pill-large {
  font-size: 17px;
  padding: 18px 36px;
}
.btn-pill-idle {
  animation: pulse-glow 4s ease-in-out infinite;
}
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 0 rgba(45, 212, 191, 0);
  }
  50% {
    box-shadow: 0 0 32px rgba(45, 212, 191, 0.22);
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes typing-dot {
  0%, 60%, 100% {
    opacity: 0.3;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(-3px);
  }
}
@keyframes msg-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.msg-row {
  animation: msg-in 0.28s ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .msg-row {
    animation: none;
  }
}
@keyframes float-404 {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes wobble-oh {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-6px) rotate(7deg);
  }
}
.four-oh-four {
  animation: float-404 5s ease-in-out infinite;
}
.four-oh-four .oh {
  display: inline-block;
  animation: wobble-oh 4.2s ease-in-out infinite;
  transform-origin: center 55%;
}
@media (prefers-reduced-motion: reduce) {
  .four-oh-four,
  .four-oh-four .oh {
    animation: none !important;
  }
}
.display {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.015em;
}
.display em {
  color: var(--teal);
  font-style: italic;
  font-weight: 400;
}
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 32px;
}
.card-glow {
  border-color: rgba(45, 212, 191, 0.25);
  box-shadow: 0 0 60px rgba(45, 212, 191, 0.08), inset 0 0 0 1px rgba(45, 212, 191, 0.08);
}
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s var(--ease-out) var(--reveal-delay, 0s), transform 0.9s var(--ease-out) var(--reveal-delay, 0s);
  will-change: opacity, transform;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.hero-stagger {
  opacity: 0;
  transform: translateY(24px);
  animation: hero-rise 1s var(--ease-out) forwards;
  animation-delay: var(--stagger-delay, 0s);
}
@keyframes hero-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image:
    linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%);
  -webkit-mask-image:
    linear-gradient(
      to right,
      transparent 0%,
      #000 10%,
      #000 90%,
      transparent 100%);
}
.marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}
.marquee-track-left {
  animation: scroll-left 30s linear infinite;
}
.marquee-track-right {
  animation: scroll-right 30s linear infinite;
}
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes scroll-right {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track-left,
  .marquee-track-right {
    animation: none;
  }
}
.marquee-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-right: 48px;
  opacity: 0.4;
}
.marquee-item img {
  width: 32px;
  height: 32px;
  filter: grayscale(100%) brightness(0) invert(1);
}
.marquee-item span {
  font-size: 11px;
  font-weight: 400;
  color: var(--text-muted);
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.connector-line {
  width: 1px;
  height: 56px;
  margin: 0 auto;
  border-left: 1px dashed var(--teal);
  opacity: 0.6;
}
.section {
  position: relative;
  padding: 96px 24px;
  z-index: 1;
}
.section-tight {
  padding: 48px 24px;
}
.container {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
}
.container-wide {
  max-width: 980px;
  margin: 0 auto;
  position: relative;
}
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    backdrop-filter 0.3s ease;
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  background: rgba(13, 14, 20, 0.72);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom-color: var(--border);
}
.nav-link {
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 400;
  transition: color 0.2s ease;
}
.nav-link:hover {
  color: var(--text);
}
@media (max-width: 720px) {
  .section {
    padding: 64px 20px;
  }
  .container,
  .container-wide {
    max-width: 100%;
  }
  .nav {
    padding: 0 16px;
  }
  .nav-links {
    display: none !important;
  }
  .nav-auth .nav-link {
    display: inline;
  }
  .pain-relief-grid {
    grid-template-columns: 1fr !important;
  }
  .pain-relief-arrow {
    display: none !important;
  }
  [style*="grid-template-columns: 1.1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1.4fr"],
  [style*="grid-template-columns: 1.5fr 1fr"],
  [style*="grid-template-columns: 1fr 1.3fr"],
  [style*="grid-template-columns: 240px 1fr 180px"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (max-width: 420px) {
  .nav {
    padding: 0 12px;
  }
  .nav-auth {
    gap: 8px !important;
  }
  .nav-auth .btn-pill {
    padding: 8px 14px !important;
    font-size: 12px !important;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3c6c3JjL2dsb2JhbHMuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBzb21ld2hlcmUudGVjaCBcdTIwMTQgZGVzaWduIHRva2VucyArIGxhbmRpbmctcGFnZSB1dGlsaXR5IGNsYXNzZXNcbiAqIFRoZSBkYXNoYm9hcmQgcGFnZXMgc3RpbGwgdXNlIGlubGluZSBzdHlsZXMgKHNlZSBzdHlsZXMudHMpO1xuICogdGhpcyBmaWxlIG9ubHkgb3ducyB0aGUgbGFuZGluZy1wYWdlIHZpc3VhbCBwcmltaXRpdmVzIHRoYXQgbmVlZFxuICogcHNldWRvLWNsYXNzZXMsIGFuaW1hdGlvbnMsIG9yIGxhcmdlIHJlcGVhdGVkIHBhdHRlcm5zLiAqL1xuXG46cm9vdCB7XG4gIC8qIFN1cmZhY2UgKi9cbiAgLS1iZzogIzBkMGUxNDtcbiAgLS1zdXJmYWNlOiAjMTMxNjFmO1xuICAtLXN1cmZhY2UtMjogIzE4MWIyNTtcbiAgLS1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIC0tYm9yZGVyLXN0cm9uZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcblxuICAvKiBUZXh0ICovXG4gIC0tdGV4dDogI2YwZjBlYjtcbiAgLS10ZXh0LW11dGVkOiAjN2E4MDk5O1xuICAtLXRleHQtZGltOiAjNGE1MDY2O1xuXG4gIC8qIEJyYW5kICovXG4gIC0tdGVhbDogIzJkZDRiZjtcbiAgLS10ZWFsLWRlZXA6ICMxNGI4YTY7XG4gIC0tdGVhbC1nbG93OiByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4xOCk7XG4gIC0tdGVhbC1nbG93LXNvZnQ6IHJnYmEoNDUsIDIxMiwgMTkxLCAwLjA2KTtcblxuICAvKiBQYWluICovXG4gIC0tcGFpbjogIzNhM2Q0ZDtcblxuICAvKiBUeXBlICovXG4gIC0tc2VyaWY6ICdJbnN0cnVtZW50IFNlcmlmJywgR2VvcmdpYSwgc2VyaWY7XG4gIC0tc2FuczogJ0RNIFNhbnMnLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gIC0tbW9ubzogJ0RNIE1vbm8nLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcblxuICAvKiBNb3Rpb24gKi9cbiAgLS1lYXNlLW91dDogY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMFx1MjUwMCBMaWdodCB0aGVtZSAoZGF0YS10aGVtZT1cImxpZ2h0XCIgb24gPGh0bWw+KSBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0ge1xuICAtLWJnOiAgICAgICAgICAgI2ZhZmFmODtcbiAgLS1zdXJmYWNlOiAgICAgICNmZmZmZmY7XG4gIC0tc3VyZmFjZS0yOiAgICAjZjNmMmVlO1xuICAtLWJvcmRlcjogICAgICAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgLS1ib3JkZXItc3Ryb25nOnJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgLS10ZXh0OiAgICAgICAgICMxYTFhMWE7XG4gIC0tdGV4dC1tdXRlZDogICAjNGE0YTRhO1xuICAtLXRleHQtZGltOiAgICAgIzhiOGE4NDtcblxuICAvKiBEZWVwZXIgdGVhbCBmb3IgY29udHJhc3Qgb24gbGlnaHQgc3VyZmFjZXMuICovXG4gIC0tdGVhbDogICAgICAgICAjMTRiOGE2O1xuICAtLXRlYWwtZGVlcDogICAgIzBkOTQ4ODtcbiAgLS10ZWFsLWdsb3c6ICAgIHJnYmEoMjAsIDE4NCwgMTY2LCAwLjE4KTtcbiAgLS10ZWFsLWdsb3ctc29mdDogcmdiYSgyMCwgMTg0LCAxNjYsIDAuMDYpO1xuXG4gIC0tcGFpbjogICAgICAgICAjYzZjNGJlO1xufVxuXG4qIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5odG1sIHsgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXNhbnMpO1xuICAvKiBOb3JtYWwtd2lkdGggRE0gU2FucyBmb3IgYm9keSB0ZXh0LiBXYXMgMzAwIChMaWdodCkgXHUyMDE0IHRvbyB0aGluXG4gICAqIGFuZCBmZWx0IHZpc3VhbGx5IGNvbmRlbnNlZCBuZXh0IHRvIHRoZSBzZXJpZiBoZWFkbGluZXMuIDQwMCBpc1xuICAgKiB0aGUgc2FtZSB3ZWlnaHQgdGhlIGRhc2hib2FyZCBhcHAgdXNlcyBieSBkZWZhdWx0LiAqL1xuICBmb250LXdlaWdodDogNDAwO1xuICAvKiBTbGlnaHQgcG9zaXRpdmUgdHJhY2tpbmcgZm9yIGFpciBiZXR3ZWVuIGdseXBocy4gS2VlcHMgRE0gU2Fuc1xuICAgKiBmZWVsaW5nIFwibm9ybWFsIHdpZHRoXCIgaW5zdGVhZCBvZiBjcmFtcGVkIGF0IHNtYWxsIHNpemVzLiAqL1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cbjo6c2VsZWN0aW9uIHsgYmFja2dyb3VuZDogdmFyKC0tdGVhbC1nbG93KTsgY29sb3I6IHZhcigtLXRleHQpOyB9XG5hIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgQmFja2dyb3VuZCBkb3QgZ3JpZCBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cbi5kb3QtZ3JpZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xufVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgSGVybyByYWRpYWwgZ2xvdyAoc2l0cyBiZWhpbmQgaGVybywgYmxlZWRzIHRocm91Z2ggZG90cykgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG4uaGVyby1nbG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTEwMHB4O1xuICBoZWlnaHQ6IDExMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTU1JSk7XG4gIHotaW5kZXg6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgY2lyY2xlIGF0IGNlbnRlcixcbiAgICB2YXIoLS10ZWFsLWdsb3cpIDAlLFxuICAgIHJnYmEoNDUsIDIxMiwgMTkxLCAwLjA1KSAzMCUsXG4gICAgdHJhbnNwYXJlbnQgNjAlXG4gICk7XG4gIGZpbHRlcjogYmx1cigyMHB4KTtcbn1cblxuLyogXHUyNTAwXHUyNTAwXHUyNTAwIEV5ZWJyb3cgcGlsbCAoc21hbGwgdXBwZXJjYXNlIHRlYWwgbGFiZWwpIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLmV5ZWJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLXRlYWwpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDZweCAxNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4wNCk7XG59XG4uZXllYnJvdy1tdXRlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMFx1MjUwMCBQaWxsIGJ1dHRvbiBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cbi5idG4tcGlsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXNhbnMpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRlYWwpO1xuICBjb2xvcjogIzBhMTQxMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogMTRweCAyOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgcmdiYSg0NSwgMjEyLCAxOTEsIDApO1xufVxuLmJ0bi1waWxsOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBiYWNrZ3JvdW5kOiAjNGNlMGM4O1xuICBib3gtc2hhZG93OiAwIDEycHggMzJweCByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4yNSk7XG59XG4uYnRuLXBpbGwtbGFyZ2Uge1xuICBmb250LXNpemU6IDE3cHg7XG4gIHBhZGRpbmc6IDE4cHggMzZweDtcbn1cbi5idG4tcGlsbC1pZGxlIHtcbiAgYW5pbWF0aW9uOiBwdWxzZS1nbG93IDRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBwdWxzZS1nbG93IHtcbiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDQ1LCAyMTIsIDE5MSwgMCk7IH1cbiAgNTAlICAgICAgeyBib3gtc2hhZG93OiAwIDAgMzJweCByZ2JhKDQ1LCAyMTIsIDE5MSwgMC4yMik7IH1cbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgQ2xhdWRlLWNoYXQgZGVtbyBhbmltYXRpb25zIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLyogdHlwaW5nLWRvdDogdGhyZWUgZG90cyBwdWxzaW5nIGluIHNlcXVlbmNlIHRvIGluZGljYXRlIENsYXVkZSBpc1xuICogdGhpbmtpbmcuIEVhY2ggZG90IHN0YWdnZXIgaXMgc2V0IGlubGluZSB2aWEgYW5pbWF0aW9uLWRlbGF5LiAqL1xuQGtleWZyYW1lcyB0eXBpbmctZG90IHtcbiAgMCUsIDYwJSwgMTAwJSB7IG9wYWNpdHk6IDAuMzsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDMwJSAgICAgICAgICAgeyBvcGFjaXR5OiAxOyAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgfVxufVxuLyogbXNnLWluOiBlYWNoIG1lc3NhZ2UgaW4gdGhlIGNoYXQgc2xpZGVzIHVwICsgZmFkZXMgaW4gd2hlbiBhcHBlbmRlZC4gKi9cbkBrZXlmcmFtZXMgbXNnLWluIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbi5tc2ctcm93IHsgYW5pbWF0aW9uOiBtc2ctaW4gMC4yOHMgZWFzZS1vdXQgYm90aDsgfVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm1zZy1yb3cgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuLyogXHUyNTAwXHUyNTAwXHUyNTAwIDQwNCBwYWdlIGFuaW1hdGlvbnMgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG4vKiBUaGUgYmlnIDQwNCBudW1iZXIgZmxvYXRzIGdlbnRseTsgdGhlIG1pZGRsZSAwIGhhcyBpdHMgb3duIGRyaWZ0ICtcbiAqIHJvdGF0aW9uIHNvIGl0IGZlZWxzIGxpa2UgdGhlIFwic29tZXdoZXJlXCIgd2FuZGVyaW5nIG9mZi4gU2hhcmVkXG4gKiBhY3Jvc3MgcHVibGljLzQwNC5odG1sICh0aGUgd29ya2VyLXNlcnZlZCB2ZXJzaW9uIGNvcGllcyB0aGVzZVxuICoga2V5ZnJhbWVzIGlubGluZSkgYW5kIHNyYy9wYWdlcy9Ob3RGb3VuZC50c3ggKFNQQSBjYXRjaC1hbGwpLiAqL1xuQGtleWZyYW1lcyBmbG9hdC00MDQge1xuICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUgICAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbn1cbkBrZXlmcmFtZXMgd29iYmxlLW9oIHtcbiAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gIDUwJSAgICAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSg3ZGVnKTsgfVxufVxuLmZvdXItb2gtZm91ciB7XG4gIGFuaW1hdGlvbjogZmxvYXQtNDA0IDVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuLmZvdXItb2gtZm91ciAub2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFuaW1hdGlvbjogd29iYmxlLW9oIDQuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciA1NSU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZm91ci1vaC1mb3VyLCAuZm91ci1vaC1mb3VyIC5vaCB7IGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qIFx1MjUwMFx1MjUwMFx1MjUwMCBEaXNwbGF5IGhlYWRpbmcgKEluc3RydW1lbnQgU2VyaWYpIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLmRpc3BsYXkge1xuICBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDE1ZW07XG59XG4uZGlzcGxheSBlbSB7XG4gIGNvbG9yOiB2YXIoLS10ZWFsKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgQ2FyZCBzdXJmYWNlIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMzJweDtcbn1cbi5jYXJkLWdsb3cge1xuICBib3JkZXItY29sb3I6IHJnYmEoNDUsIDIxMiwgMTkxLCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCAwIDYwcHggcmdiYSg0NSwgMjEyLCAxOTEsIDAuMDgpLCBpbnNldCAwIDAgMCAxcHggcmdiYSg0NSwgMjEyLCAxOTEsIDAuMDgpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgUmV2ZWFsLW9uLXNjcm9sbCBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cbi5yZXZlYWwge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjlzIHZhcigtLWVhc2Utb3V0KSB2YXIoLS1yZXZlYWwtZGVsYXksIDBzKSxcbiAgICB0cmFuc2Zvcm0gMC45cyB2YXIoLS1lYXNlLW91dCkgdmFyKC0tcmV2ZWFsLWRlbGF5LCAwcyk7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG59XG4ucmV2ZWFsLmlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIEhlcm8gbG9hZC1pbjogc3RhZ2dlciBjaGlsZHJlbiBhdXRvbWF0aWNhbGx5IHVzaW5nIGEgQ1NTIGNvdW50ZXIgcGF0dGVybi5cbiAqIEVhY2ggZWxlbWVudCB3aXRoIC5oZXJvLXN0YWdnZXIgZ2V0cyBpdHMgb3duIGRlbGF5IHRocm91Z2ggaW5saW5lIHN0eWxlLiAqL1xuLmhlcm8tc3RhZ2dlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNHB4KTtcbiAgYW5pbWF0aW9uOiBoZXJvLXJpc2UgMXMgdmFyKC0tZWFzZS1vdXQpIGZvcndhcmRzO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLXN0YWdnZXItZGVsYXksIDBzKTtcbn1cbkBrZXlmcmFtZXMgaGVyby1yaXNlIHtcbiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogXHUyNTAwXHUyNTAwXHUyNTAwIE1hcnF1ZWUgKGluZmluaXRlIGhvcml6b250YWwgc2Nyb2xsLCB0d28gb3Bwb3NpdGUgcm93cykgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG4vKiBJdGVtcyB1c2UgbWFyZ2luLXJpZ2h0IChub3QgZ2FwKSBzbyB0aGUgZG91YmxlZCB0cmFjaydzIHRvdGFsIHdpZHRoIGlzXG4gKiBleGFjdGx5IDJOKihpdGVtX3dpZHRoICsgbWFyZ2luKS4gVHJhbnNsYXRpbmcgLTUwJSB0aGVuIGxhbmRzIHRoZSBzZWNvbmRcbiAqIGNvcHkgcHJlY2lzZWx5IG9uIHRoZSBmaXJzdCBjb3B5J3Mgc3RhcnQsIGxvb3Bpbmcgc2VhbWxlc3NseSB3aXRoIG5vIGp1bXAuXG4gKiBQdXJlIENTUywgbm8gSlMsIG5vIHJlcXVlc3RBbmltYXRpb25GcmFtZS4gKi9cbi5tYXJxdWVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHJpZ2h0LFxuICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICMwMDAgMTAlLFxuICAgICMwMDAgOTAlLFxuICAgIHRyYW5zcGFyZW50IDEwMCVcbiAgKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gcmlnaHQsXG4gICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgIzAwMCAxMCUsXG4gICAgIzAwMCA5MCUsXG4gICAgdHJhbnNwYXJlbnQgMTAwJVxuICApO1xufVxuLm1hcnF1ZWUtdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG4ubWFycXVlZS10cmFjay1sZWZ0ICB7IGFuaW1hdGlvbjogc2Nyb2xsLWxlZnQgIDMwcyBsaW5lYXIgaW5maW5pdGU7IH1cbi5tYXJxdWVlLXRyYWNrLXJpZ2h0IHsgYW5pbWF0aW9uOiBzY3JvbGwtcmlnaHQgMzBzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1sZWZ0IHtcbiAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG59XG5Aa2V5ZnJhbWVzIHNjcm9sbC1yaWdodCB7XG4gIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLm1hcnF1ZWUtdHJhY2stbGVmdCxcbiAgLm1hcnF1ZWUtdHJhY2stcmlnaHQgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuLyogTWFycXVlZSBpdGVtOiBsb2dvICsgdGlueSBicmFuZCBuYW1lIHVuZGVybmVhdGgsIDQwJSBvcGFjaXR5LlxuICogbWFyZ2luLXJpZ2h0IChub3QgZ2FwKSBpcyB0aGUga2V5IHRvIHRoZSBzZWFtbGVzcyBsb29wIG1hdGguICovXG4ubWFycXVlZS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbi5tYXJxdWVlLWl0ZW0gaW1nIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG4ubWFycXVlZS1pdGVtIHNwYW4ge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogXHUyNTAwXHUyNTAwXHUyNTAwIERhc2hlZCB0ZWFsIGNvbm5lY3RvciBsaW5lIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLyogU2l0cyBiZXR3ZWVuIHRoZSByZWxpZWYgY2FyZCBhbmQgdGhlIG1hcnF1ZWUsIHZpc3VhbGx5IHNheWluZ1xuICogXCJ0aGlzIG9uZSB0aGluZyByZXBsYWNlcyBhbGwgb2YgdGhhdC5cIiAqL1xuLmNvbm5lY3Rvci1saW5lIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgdmFyKC0tdGVhbCk7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLyogXHUyNTAwXHUyNTAwXHUyNTAwIFNlY3Rpb24gc3BhY2luZyBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cbi5zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA5NnB4IDI0cHg7XG4gIHotaW5kZXg6IDE7XG59XG4uc2VjdGlvbi10aWdodCB7IHBhZGRpbmc6IDQ4cHggMjRweDsgfVxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogODYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY29udGFpbmVyLXdpZGUge1xuICBtYXgtd2lkdGg6IDk4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBcdTI1MDBcdTI1MDBcdTI1MDAgTmF2IFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuLm5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuICBoZWlnaHQ6IDY4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAzMnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZSwgYmFja2Ryb3AtZmlsdGVyIDAuM3MgZWFzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLm5hdi5zY3JvbGxlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTMsIDE0LCAyMCwgMC43Mik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJvcmRlcik7XG59XG4ubmF2LWxpbmsge1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLm5hdi1saW5rOmhvdmVyIHsgY29sb3I6IHZhcigtLXRleHQpOyB9XG5cbi8qIFx1MjUwMFx1MjUwMFx1MjUwMCBNb2JpbGUgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnNlY3Rpb24geyBwYWRkaW5nOiA2NHB4IDIwcHg7IH1cbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci13aWRlIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5uYXYgeyBwYWRkaW5nOiAwIDE2cHg7IH1cbiAgLyogU2VjdGlvbiBsaW5rcyBjb2xsYXBzZSwgYXV0aCBjb250cm9scyBzdGF5IHZpc2libGUgXHUyMDE0IHNlZSBOYXZiYXIudHN4XG4gICAqIGZvciB0aGUgc3RydWN0dXJhbCBzcGxpdC4gV2l0aG91dCB0aGlzIHlvdSBjYW4ndCBsb2cgaW4gb24gbW9iaWxlLiAqL1xuICAubmF2LWxpbmtzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5uYXYtYXV0aCAubmF2LWxpbmsge1xuICAgIC8qIEtlZXAgXCJMb2cgaW5cIiByZWFkYWJsZSBuZXh0IHRvIHRoZSBwaWxsIG9uIG5hcnJvdyBzY3JlZW5zLiAqL1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAucGFpbi1yZWxpZWYtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgfVxuICAucGFpbi1yZWxpZWYtYXJyb3cgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvKiBMYW5kaW5nIHNlY3Rpb25zIHVzZSBpbmxpbmUgYGdyaWRUZW1wbGF0ZUNvbHVtbnNgIGZvciB0aGVpclxuICAgKiBcImNvcHkgfCB2aXN1YWxcIiBvciBcImhlYWRsaW5lIHwgaW50cm9cIiB0d28tY29sdW1uIHNwbGl0cy5cbiAgICogSW5saW5lIHN0eWxlcyBieXBhc3MgY2xhc3MtYmFzZWQgbWVkaWEgcXVlcmllcyBcdTIwMTQgdGhlc2VcbiAgICogYXR0cmlidXRlIHNlbGVjdG9ycyB0YXJnZXQgZWFjaCBrbm93biByYXRpbyBhbmQgZm9yY2UgYVxuICAgKiBzaW5nbGUgY29sdW1uIG9uIG1vYmlsZS4gQWRkaW5nIGEgbmV3IHNlY3Rpb24gbWVhbnMgYWRkaW5nXG4gICAqIGl0cyByYXRpbyBoZXJlIE9SIHVzaW5nIG9uZSBvZiB0aGUgZXhpc3Rpbmcgb25lcy5cbiAgICpcbiAgICogS25vd24gc3BsaXRzOlxuICAgKiAgICcxLjFmciAxZnInICAgVGhyZWVMYXllcnMgaGVhZGVyLCBTZWN1cml0eVJldmlldyBoZWFkZXJcbiAgICogICAnMWZyIDFmcicgICAgIERlbW8gKENsYXVkZSBzdXBlcnBvd2VycyBzcGxpdClcbiAgICogICAnMWZyIDEuNGZyJyAgIEhvd0l0V29ya3MgKHRpdGxlIHwgc3RlcHMpXG4gICAqICAgJzEuNWZyIDFmcicgICBDb3N0Q2FsY3VsYXRvciAod2l0aG91dCB8IHdpdGgpXG4gICAqICAgJzFmciAxLjNmcicgICBHdWlkZSB0d29Db2xTdHlsZVxuICAgKiAgICcxLjFmciAxZnInICAgSGVybyAoY29weSB8IGRlbW8pXG4gICAqICAgJzI0MHB4IDFmciAxODBweCcgICBUaHJlZUxheWVycyBsYXllciBjYXJkc1xuICAgKi9cbiAgW3N0eWxlKj1cImdyaWQtdGVtcGxhdGUtY29sdW1uczogMS4xZnIgMWZyXCJdLFxuICBbc3R5bGUqPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyXCJdLFxuICBbc3R5bGUqPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS40ZnJcIl0sXG4gIFtzdHlsZSo9XCJncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDFmclwiXSxcbiAgW3N0eWxlKj1cImdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuM2ZyXCJdLFxuICBbc3R5bGUqPVwiZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNDBweCAxZnIgMTgwcHhcIl0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTmFycm93ZXIgcGhvbmVzOiBrZWVwIHRoZSBicmFuZCB3b3JkbWFyayBidXQgc2hyaW5rIGl0IHNvIHRoZVxuICogLnRlY2ggc3VmZml4IGRvZXNuJ3QgcHVzaCB0aGUgYXV0aCBidXR0b25zIG9mZi1zY3JlZW4uICovXG5AbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLm5hdiB7IHBhZGRpbmc6IDAgMTJweDsgfVxuICAubmF2LWF1dGggeyBnYXA6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5uYXYtYXV0aCAuYnRuLXBpbGwgeyBwYWRkaW5nOiA4cHggMTRweCAhaW1wb3J0YW50OyBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUtBO0FBRUUsUUFBTTtBQUNOLGFBQVc7QUFDWCxlQUFhO0FBQ2IsWUFBVSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQzlC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 */
