/* web/src/app.css */
:root {
  --bg: #f5f5f1;
  --surface: #ffffff;
  --side: #eeeee8;
  --ink: #1e2328;
  --ink-soft: #3d444c;
  --muted: #6a727b;
  --line: #deded6;
  --accent: #254c75;
  --accent-ink: #ffffff;
  --accent-soft: #e2eaf3;
  --gold: #d9a52f;
  --ok: #2c7a4b;
  --ok-soft: #e1f1e7;
  --warn: #9a6200;
  --warn-soft: #fbefd8;
  --bad: #b3261e;
  --bad-soft: #f9e2e0;
  --shadow: 0 10px 30px rgba(20, 30, 45, .14);
  --ui:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  --serif:
    "Iowan Old Style",
    "Charter",
    "Bitstream Charter",
    "Sitka Text",
    Cambria,
    Georgia,
    serif;
  --mono:
    ui-monospace,
    "SF Mono",
    Menlo,
    Consolas,
    monospace;
  --top: calc(52px + env(safe-area-inset-top, 0px));
  --editor-size: 19px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #15171a;
    --surface: #1b1e22;
    --side: #121417;
    --ink: #e6e6e1;
    --ink-soft: #c7c9c4;
    --muted: #949ba3;
    --line: #3a4048;
    --accent: #8db3da;
    --accent-ink: #10202f;
    --accent-soft: #1f2d3b;
    --gold: #e2b54d;
    --ok: #7fcf9b;
    --ok-soft: #16301f;
    --warn: #e8b55a;
    --warn-soft: #33270f;
    --bad: #f08a83;
    --bad-soft: #3a1a18;
    --shadow: 0 10px 30px rgba(0, 0, 0, .45);
    color-scheme: dark;
  }
}
* {
  box-sizing: border-box;
}
html,
body,
#app {
  height: 100%;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 15px/1.5 var(--ui);
  -webkit-text-size-adjust: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
[hidden] {
  display: none !important;
}
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.boot {
  display: grid;
  place-items: center;
  height: 100vh;
  color: var(--muted);
}
.muted {
  color: var(--muted);
}
.pad {
  padding: 8px 12px;
}
.hint {
  color: var(--muted);
  font-size: 13px;
  margin: 6px 0 0;
}
.btn {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 8px 14px;
  cursor: pointer;
  line-height: 1.2;
}
.btn:hover {
  border-color: var(--muted);
}
.btn.primary {
  background: var(--accent);
  color: var(--accent-ink);
  border-color: var(--accent);
}
.btn.danger {
  color: var(--bad);
}
.btn.primary.danger,
.dialog .btn.danger[type=submit] {
  background: var(--bad);
  color: #fff;
  border-color: var(--bad);
}
.btn.small {
  padding: 5px 10px;
  font-size: 13px;
}
.btn.wide {
  width: 100%;
}
.btn:disabled {
  opacity: .6;
  cursor: default;
}
.icon-btn {
  border: 0;
  background: transparent;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  color: var(--ink-soft);
  flex: 0 0 auto;
}
.icon-btn:hover {
  background: var(--accent-soft);
}
.link-btn {
  border: 0;
  background: none;
  color: var(--accent);
  cursor: pointer;
  padding: 0 4px;
  font-size: 13px;
}
.input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 8px 10px;
  min-width: 0;
}
.input:focus {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
textarea.code {
  font-family: var(--mono);
  font-size: 12px;
  white-space: pre;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  white-space: nowrap;
}
.chip.ok {
  background: var(--ok-soft);
  color: var(--ok);
}
.chip.warn {
  background: var(--warn-soft);
  color: var(--warn);
}
.chip.bad {
  background: var(--bad-soft);
  color: var(--bad);
}
.chip.muted {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
}
.field {
  display: grid;
  gap: 4px;
}
.field > span {
  font-size: 13px;
  color: var(--ink-soft);
  font-weight: 600;
}
.field-label {
  display: block;
  font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 4px;
}
.form-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 12px;
  align-items: start;
}
.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.switch {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
}
.days {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.day {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 13px;
}
.auth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px 16px;
}
.auth-card {
  width: min(420px, 100%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  display: grid;
  gap: 14px;
  box-shadow: var(--shadow);
}
.auth-card h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 28px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: var(--accent);
}
.brand img {
  border-radius: 10px;
}
.error {
  color: var(--bad);
  margin: 0;
  min-height: 1em;
}
.shell {
  height: 100%;
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  min-height: var(--top);
}
.doc-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}
.doc-name {
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.doc-folder {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 30vw;
}
.spacer {
  flex: 1;
}
.words {
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tabs {
  display: flex;
  gap: 2px;
  background: var(--side);
  padding: 3px;
  border-radius: 10px;
}
.tab {
  border: 0;
  background: transparent;
  padding: 5px 10px;
  border-radius: 7px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink-soft);
}
.tab.active {
  background: var(--surface);
  color: var(--accent);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}
.body {
  position: relative;
  display: flex;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.sidebar {
  width: 300px;
  flex: 0 0 300px;
  background: var(--side);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: 0;
  transition: margin .18s ease;
}
body:not(.sidebar-open) .sidebar {
  margin-left: -301px;
}
.side-head {
  display: flex;
  gap: 4px;
  padding: 10px;
  align-items: center;
}
.search {
  height: 34px;
}
.tree {
  overflow-y: auto;
  padding: 0 4px 24px;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}
.row {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 2px 6px 2px 8px;
  border-radius: 7px;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  color: var(--ink-soft);
}
.row:hover {
  background: rgba(127, 127, 127, .1);
}
.row .name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.row.dir .name {
  font-weight: 600;
  color: var(--ink);
}
.row .caret {
  width: 12px;
  color: var(--muted);
  font-size: 11px;
}
.row.current {
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 600;
}
.row.other .name {
  color: var(--muted);
  font-style: italic;
}
.row.local .name::after {
  content: " \b7";
  color: var(--warn);
}
.row-more {
  border: 0;
  background: none;
  color: var(--muted);
  opacity: 0;
  cursor: pointer;
  width: 26px;
  height: 26px;
  border-radius: 6px;
}
.row:hover .row-more,
.row:focus-within .row-more,
.row.current .row-more {
  opacity: 1;
}
@media (hover: none) {
  .row-more {
    opacity: .7;
  }
}
.hit {
  padding: 4px 6px 8px;
  border-bottom: 1px solid var(--line);
}
.hit-file {
  display: grid;
  text-align: left;
  width: 100%;
  border: 0;
  background: none;
  cursor: pointer;
  font-weight: 600;
  padding: 4px;
  color: var(--ink);
}
.hit-file small {
  color: var(--muted);
  font-weight: 400;
  font-size: 11px;
}
.hit-line {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  cursor: pointer;
  padding: 3px 4px;
  font-size: 13px;
  color: var(--ink-soft);
  border-radius: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hit-line:hover {
  background: rgba(127, 127, 127, .1);
}
.hit-line .ln {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.main {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
}
.view {
  flex: 1;
  min-width: 0;
  min-height: 0;
}
.view-editor {
  display: flex;
  flex-direction: column;
  position: relative;
}
.view-other {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.scrim {
  display: none;
}
.editor-wrap {
  flex: 1;
  min-height: 0;
  min-width: 0;
  display: flex;
}
.editor-wrap .cm-editor {
  flex: 1;
  min-width: 0;
}
.cm-wikilink {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--accent) 35%, transparent);
  text-underline-offset: 3px;
}
.cm-placeholder {
  color: var(--muted);
  font-style: italic;
}
.cm-panels {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line) !important;
  font-family: var(--ui);
  font-size: 13px;
}
.cm-panel.cm-search input,
.cm-panel.cm-search button {
  font-family: var(--ui);
}
.cm-textfield {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  padding: 3px 6px;
}
.cm-button {
  background-image: none !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
}
.cm-searchMatch {
  background: color-mix(in srgb, var(--gold) 30%, transparent);
}
.empty {
  margin: auto;
  text-align: center;
  padding: 40px 20px;
  color: var(--muted);
}
.empty h2 {
  font-family: var(--serif);
  color: var(--ink);
  font-size: 26px;
  margin: 0 0 6px;
}
.linkbar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 5;
  box-shadow: var(--shadow);
  border-radius: 10px;
}
.page {
  max-width: 980px;
  margin: 0 auto;
  padding: 24px 16px 80px;
  display: grid;
  gap: 18px;
}
.page h1 {
  font-family: var(--serif);
  font-size: 30px;
  margin: 0;
}
.page-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  min-width: 0;
}
.panel h2 {
  margin: 0 0 12px;
  font-size: 17px;
}
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.panel-head h2 {
  margin: 0;
}
.cards {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
}
.card-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  font-weight: 600;
}
.card-value {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin-top: 2px;
}
.card-sub {
  color: var(--muted);
  font-size: 13px;
}
.bar {
  height: 6px;
  background: var(--side);
  border-radius: 99px;
  overflow: hidden;
  margin-top: 10px;
}
.bar > div {
  height: 100%;
  background: var(--gold);
  border-radius: 99px;
}
.bar.big {
  height: 10px;
}
.bar.big > div {
  background: var(--accent);
}
.chart-wrap {
  overflow-x: auto;
}
.chart {
  width: 100%;
  min-width: 480px;
  height: auto;
  display: block;
}
.chart .grid {
  stroke: var(--line);
  stroke-width: 1;
}
.chart .axis {
  fill: var(--muted);
  font-size: 10px;
  font-family: var(--ui);
}
.chart .pos {
  fill: var(--accent);
  opacity: .75;
}
.chart .today {
  fill: var(--gold);
}
.chart .neg {
  fill: var(--bad);
  opacity: .6;
}
.plans {
  display: grid;
  gap: 12px;
}
.plan {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
}
.plan-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.plan-head h3 {
  margin: 0;
  font-size: 16px;
}
.plan-path {
  font-size: 12.5px;
  margin: 2px 0 8px;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.plan-grid .k {
  font-size: 12px;
  color: var(--muted);
}
.plan-grid .v {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.plan-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.token-list,
.people {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.token,
.person {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}
.token.revoked {
  opacity: .55;
}
.token .btn {
  justify-self: start;
}
.memberships {
  margin: 4px 0;
  padding-left: 18px;
  font-size: 13px;
}
.steps {
  padding-left: 20px;
  margin: 8px 0 12px;
}
.copy-row {
  display: grid;
  grid-template-columns: 9em 1fr auto;
  gap: 8px;
  align-items: center;
  margin: 8px 0;
}
.copy-row code {
  font-family: var(--mono);
  font-size: 12px;
  background: var(--side);
  padding: 6px 8px;
  border-radius: 6px;
  overflow-wrap: anywhere;
}
.copy-row .k {
  font-size: 13px;
  color: var(--muted);
}
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 20, .38);
  display: grid;
  place-items: center;
  z-index: 100;
  padding: 16px;
}
.dialog {
  width: min(560px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  background: var(--surface);
  border-radius: 14px;
  padding: 20px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 12px;
}
.dialog h2 {
  margin: 0;
  font-size: 18px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.menu {
  position: fixed;
  z-index: 110;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
  padding: 4px;
  min-width: 220px;
  display: grid;
}
.menu button {
  border: 0;
  background: none;
  text-align: left;
  padding: 9px 12px;
  border-radius: 7px;
  cursor: pointer;
}
.menu button:hover,
.menu button:focus {
  background: var(--accent-soft);
  outline: none;
}
.menu button.danger {
  color: var(--bad);
}
.toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  transform: translate(-50%, 20px);
  background: var(--ink);
  color: var(--bg);
  padding: 10px 16px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
  z-index: 200;
  max-width: min(560px, calc(100vw - 32px));
  box-shadow: var(--shadow);
}
.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
  cursor: pointer;
}
.toast.bad {
  background: var(--bad);
  color: #fff;
}
.toast.warn {
  background: var(--warn);
  color: #fff;
}
.history {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px;
  min-height: 300px;
}
.version-list {
  display: grid;
  gap: 4px;
  align-content: start;
  max-height: 50vh;
  overflow-y: auto;
}
.version {
  display: grid;
  text-align: left;
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 8px;
  padding: 6px 8px;
  cursor: pointer;
  font-size: 12.5px;
}
.version.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}
.version small {
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.version-preview {
  margin: 0;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 50vh;
  font-family: var(--serif);
  font-size: 14px;
}
.dialog:has(.history) {
  width: min(960px, 100%);
}
.cm-tooltip.cm-tooltip-autocomplete {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
  padding: 4px;
  font-family: var(--ui);
  font-size: 14px;
}
.cm-tooltip-autocomplete > ul {
  max-height: 16em;
}
.cm-tooltip-autocomplete > ul > li {
  padding: 5px 8px !important;
  border-radius: 6px;
  color: var(--ink);
}
.cm-tooltip-autocomplete > ul > li[aria-selected] {
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
}
.cm-completionDetail {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  margin-left: 10px;
}
.cm-completionMatchedText {
  text-decoration: none;
  font-weight: 700;
}
.avatar {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  letter-spacing: .02em;
}
.avatar:hover,
.avatar.active {
  border-color: var(--accent);
}
.menu-info {
  padding: 9px 12px 8px;
  display: grid;
  gap: 1px;
  font-weight: 600;
  border-bottom: 1px solid var(--line);
  margin-bottom: 4px;
}
.menu-info small {
  font-weight: 400;
  color: var(--muted);
  font-size: 12.5px;
}
.menu-info.small {
  font-weight: 400;
  font-size: 11.5px;
  color: var(--muted);
  border-bottom: 0;
  border-top: 1px solid var(--line);
  margin: 4px 0 0;
  padding: 7px 12px 4px;
}
.settings-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0;
  -webkit-overflow-scrolling: touch;
}
.settings-tabs button {
  border: 0;
  background: none;
  padding: 9px 12px;
  cursor: pointer;
  color: var(--ink-soft);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  font-size: 14px;
}
.settings-tabs button.active {
  color: var(--accent);
  border-bottom-color: var(--accent);
  font-weight: 600;
}
.settings-body {
  display: grid;
  gap: 18px;
}
@media (prefers-color-scheme: dark) {
  .toast.warn,
  .toast.bad,
  .btn.primary.danger,
  .dialog .btn.danger[type=submit] {
    color: #15171a;
  }
  .cal-day.l0,
  .cal-key.l0 {
    fill: var(--line);
    background: var(--line);
  }
}
.cm-lintRange-info {
  background-image: none !important;
  text-decoration: underline dotted color-mix(in srgb, var(--accent) 70%, transparent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.cm-lintRange-warning {
  background-image: none !important;
  text-decoration: underline wavy color-mix(in srgb, var(--warn) 80%, transparent);
  text-underline-offset: 4px;
}
.cm-tooltip-lint {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px;
  box-shadow: var(--shadow);
  font-family: var(--ui);
  font-size: 13.5px;
  color: var(--ink);
}
.cm-diagnostic {
  padding: 6px 10px !important;
  border-left-width: 3px !important;
}
.cm-diagnostic-info {
  border-left-color: var(--accent) !important;
}
.cm-diagnostic-warning {
  border-left-color: var(--warn) !important;
}
.cm-diagnosticAction {
  background: var(--accent) !important;
  color: var(--accent-ink) !important;
  border-radius: 6px !important;
  padding: 2px 8px !important;
  margin-left: 8px !important;
  font: inherit;
  font-size: 12.5px;
}
.cm-panel.cm-panel-lint ul {
  max-height: 30vh;
}
@media (prefers-color-scheme: dark) {
  .cm-panels input,
  .cm-panels button,
  .cm-textfield {
    background: var(--bg) !important;
    color: var(--ink) !important;
  }
}
.keys {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}
.keys td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--line);
}
.keys td:first-child {
  white-space: nowrap;
  width: 1%;
}
kbd {
  font-family: var(--ui);
  font-size: 12.5px;
  background: var(--side);
  border: 1px solid var(--line);
  border-bottom-width: 2px;
  border-radius: 6px;
  padding: 1px 6px;
}
.toast.ok {
  background: var(--ok);
  color: var(--bg);
}
.row-actions.center {
  justify-content: center;
}
.qo-overlay {
  place-items: start center;
  padding-top: max(10vh, 16px);
}
.qo {
  width: min(620px, 100%);
  background: var(--surface);
  border-radius: 14px;
  box-shadow: var(--shadow);
  display: grid;
  overflow: hidden;
}
.qo-input {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 14px 16px;
  font-size: 17px;
}
.qo-input:focus {
  box-shadow: none;
}
.qo-list {
  max-height: min(55vh, 460px);
  overflow-y: auto;
  padding: 6px;
}
.qo-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  cursor: pointer;
}
.qo-item.sel {
  background: var(--accent-soft);
}
.qo-name {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.qo-path {
  color: var(--muted);
  font-size: 12.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: auto;
  direction: rtl;
  text-align: left;
}
.qo-foot {
  font-size: 12px;
  padding: 6px 14px 10px;
  border-top: 1px solid var(--line);
}
.focus-hud {
  display: none;
}
body.focus-mode .topbar,
body.focus-mode .sidebar,
body.focus-mode .scrim,
body.focus-mode .docpanel,
body.focus-mode .tabs {
  display: none !important;
}
body.focus-mode .shell {
  grid-template-rows: 1fr;
}
body.focus-mode .main {
  padding-bottom: 0;
}
body.focus-mode .focus-hud {
  display: flex;
  align-items: center;
  gap: 10px;
  position: absolute;
  right: 16px;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  z-index: 6;
  font-size: 12.5px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  opacity: .35;
  transition: opacity .2s ease;
}
body.focus-mode .focus-hud:hover,
body.focus-mode .focus-hud:focus-within {
  opacity: 1;
}
body.focus-mode .cm-scroller {
  padding-top: 18vh;
}
.cm-dim {
  opacity: .32;
  transition: opacity .15s ease;
}
.docpanel {
  display: none;
  width: 290px;
  flex: 0 0 290px;
  background: var(--side);
  border-left: 1px solid var(--line);
  overflow-y: auto;
  padding: 4px 10px 40px;
  -webkit-overflow-scrolling: touch;
}
body.docpanel-open .docpanel {
  display: block;
}
.panel-btn[aria-pressed=true] {
  background: var(--accent-soft);
  color: var(--accent);
}
.dp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  position: sticky;
  top: 0;
  background: var(--side);
  padding: 8px 0 6px;
  z-index: 1;
}
.dp-head strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dp-section {
  margin-top: 10px;
}
.dp-section h3 {
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  margin: 6px 4px;
  display: flex;
  gap: 6px;
  align-items: center;
}
.dp-count {
  background: var(--line);
  color: var(--ink-soft);
  border-radius: 99px;
  padding: 0 6px;
  font-size: 11px;
  letter-spacing: 0;
}
.dp-list {
  display: grid;
  gap: 1px;
}
.dp-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  padding: 5px 6px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--ink-soft);
  font-size: 13.5px;
}
.dp-item:hover {
  background: rgba(127, 127, 127, .1);
}
.dp-item .dp-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dp-item .dp-meta {
  color: var(--muted);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
}
.dp-item small {
  flex-basis: 100%;
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dp-item.lvl1 {
  font-weight: 650;
  color: var(--ink);
}
.dp-item.lvl2 {
  padding-left: 14px;
}
.dp-item.lvl3 {
  padding-left: 26px;
}
.dp-item.lvl4 {
  padding-left: 38px;
}
.dp-item.missing .dp-text {
  color: var(--muted);
  text-decoration: line-through;
  text-decoration-color: color-mix(in srgb, var(--muted) 50%, transparent);
}
.dp-item.missing .dp-meta {
  color: var(--warn);
}
.dp-empty {
  font-size: 13px;
  margin: 2px 6px;
}
.cal-wrap {
  overflow-x: auto;
  padding-bottom: 4px;
}
.cal {
  display: block;
  height: auto;
  max-width: none;
}
.cal .axis {
  fill: var(--muted);
  font-size: 10px;
  font-family: var(--ui);
}
.cal-day.l0,
.cal-key.l0 {
  fill: var(--side);
  background: var(--side);
}
.cal-day.l1,
.cal-key.l1 {
  fill: color-mix(in srgb, var(--accent) 25%, var(--surface));
  background: color-mix(in srgb, var(--accent) 25%, var(--surface));
}
.cal-day.l2,
.cal-key.l2 {
  fill: color-mix(in srgb, var(--accent) 50%, var(--surface));
  background: color-mix(in srgb, var(--accent) 50%, var(--surface));
}
.cal-day.l3,
.cal-key.l3 {
  fill: color-mix(in srgb, var(--accent) 75%, var(--surface));
  background: color-mix(in srgb, var(--accent) 75%, var(--surface));
}
.cal-day.l4,
.cal-key.l4 {
  fill: var(--accent);
  background: var(--accent);
}
.cal-day.today {
  stroke: var(--gold);
  stroke-width: 2;
}
.cal-sum {
  margin: -4px 0 10px;
  font-size: 13.5px;
}
.cal-legend {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.cal-key {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 3px;
}
.cal-goal {
  margin-left: 10px;
}
.reader-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 16px 16px 80px;
}
.reader-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  background: var(--bg);
  padding: 8px 0;
  z-index: 2;
  border-bottom: 1px solid var(--line);
}
.reader-meta {
  flex: 1;
  min-width: 0;
  display: grid;
  font-size: 13px;
}
.reader-toc {
  margin: 18px 0 8px;
  font-size: 14px;
}
.reader-toc h2 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  margin: 0 0 6px;
}
.toc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
.toc-table th {
  text-align: left;
  font-weight: 600;
  color: var(--muted);
  font-size: 12px;
  padding: 4px 6px;
  border-bottom: 1px solid var(--line);
}
.toc-table td {
  padding: 5px 6px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.toc-table .num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.toc-table .bar {
  height: 4px;
  margin-top: 4px;
  min-width: 70px;
}
.toc-sum {
  font-size: 13px;
  margin: 0 0 6px;
}
.reader-toc a {
  color: var(--accent);
  text-decoration: none;
}
.reader {
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.65;
  color: var(--ink);
}
.reader-title h1 {
  font-size: 34px;
  text-align: center;
  margin: 36px 0 12px;
}
.chapter {
  padding-top: 28px;
}
.ch-title {
  font-size: 25px;
  margin: 28px 0 16px;
  text-align: center;
}
.ch-title .link-btn {
  font-family: var(--ui);
  vertical-align: middle;
}
.prose p {
  margin: 0;
  text-indent: 1.4em;
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.prose p:first-child,
.prose hr + p,
.prose h2 + p,
.prose h3 + p,
.prose blockquote + p {
  text-indent: 0;
}
.prose hr.scene {
  border: 0;
  text-align: center;
  margin: 1.2em 0;
}
.prose hr.scene::after {
  content: "* * *";
  color: var(--muted);
  letter-spacing: .4em;
}
.prose blockquote {
  margin: .6em 1.6em;
  font-style: italic;
  color: var(--ink-soft);
}
.prose blockquote p {
  text-indent: 0;
}
.prose ul,
.prose ol {
  margin: .4em 0 .4em 1.4em;
}
.no-text {
  text-align: center;
  font-style: italic;
}
@media print {
  @page {
    margin: 22mm 20mm;
  }
  body {
    background: #fff;
    color: #000;
  }
  .topbar,
  .sidebar,
  .scrim,
  .tabs,
  .docpanel,
  .no-print,
  .toast,
  .linkbar {
    display: none !important;
  }
  html,
  body,
  #app,
  .shell,
  .body,
  .main,
  .view-other {
    height: auto !important;
    overflow: visible !important;
    display: block !important;
  }
  .reader-page {
    max-width: none;
    padding: 0;
  }
  .reader {
    font-size: 12pt;
    color: #000;
  }
  .reader-title h1 {
    margin-top: 30vh;
    page-break-after: always;
    break-after: page;
  }
  .chapter {
    break-before: page;
    page-break-before: always;
    padding-top: 0;
  }
  .ch-title {
    margin-top: 0;
  }
}
@media (max-width: 900px) {
  .sidebar {
    position: absolute;
    z-index: 30;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(86vw, 340px);
    box-shadow: var(--shadow);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  body:not(.sidebar-open) .sidebar {
    margin-left: calc(-1 * min(86vw, 340px) - 10px);
  }
  body.sidebar-open .scrim {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 25;
    background: rgba(10, 14, 20, .3);
  }
  .tabs {
    position: fixed;
    z-index: 15;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
    justify-content: space-around;
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
  }
  .tab {
    flex: 1;
    padding: 8px 4px;
  }
  .main {
    padding-bottom: calc(50px + env(safe-area-inset-bottom, 0px));
  }
  .doc-folder {
    display: none;
  }
  :root {
    --editor-size: 18px;
    --editor-pad-top: 16px;
    --editor-pad-x: 18px;
  }
  .words {
    font-size: 11px;
  }
  .w-file,
  .w-sep {
    display: none;
  }
  .w-today {
    white-space: nowrap;
  }
  .doc-title {
    flex: 1 1 auto;
  }
  #sync-status {
    font-size: 0;
    padding: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ok);
  }
  #sync-status.warn {
    background: var(--warn);
  }
  #sync-status.bad {
    background: var(--bad);
  }
  #sync-status.muted {
    background: var(--muted);
    border: 0;
  }
  .history {
    grid-template-columns: 1fr;
  }
  .copy-row {
    grid-template-columns: 1fr auto;
  }
  .copy-row .k {
    grid-column: 1 / -1;
  }
  .linkbar {
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }
  .docpanel {
    position: absolute;
    z-index: 30;
    top: 0;
    bottom: 0;
    right: 0;
    width: min(86vw, 340px);
    box-shadow: var(--shadow);
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }
  body.focus-mode .focus-hud {
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .reader {
    font-size: 18px;
  }
  .toast {
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}
.seg {
  display: flex;
  gap: 2px;
  background: color-mix(in srgb, var(--ink) 6%, transparent);
  padding: 3px;
  border-radius: 9px;
}
.seg-btn {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 4px 8px;
  border-radius: 7px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink-soft);
}
.seg-btn.active {
  background: var(--surface);
  color: var(--accent);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}
.side-switch {
  margin: 0 10px 8px;
}
.nav-count,
.nav-words {
  font-size: 11.5px;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 400;
}
.row.current .nav-words {
  color: var(--accent);
}
.nav-series .name {
  font-size: 14.5px;
}
.nav-btn {
  font-size: 14px;
}
.nav-add {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 12.5px;
  padding-top: 3px;
  padding-bottom: 5px;
  cursor: pointer;
  border-radius: 7px;
}
.nav-add:hover {
  color: var(--accent);
  background: rgba(127, 127, 127, .08);
}
.nav-sep {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 14px 10px 4px;
}
.nav-start {
  padding: 12px;
  display: grid;
  gap: 10px;
  justify-items: start;
}
.nav-empty {
  font-size: 12.5px;
  cursor: default;
}
.st-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: 0 0 8px;
  background: var(--st, transparent);
  border: 1.5px solid var(--st, var(--muted));
}
.st-idee {
  --st: #9aa1a9;
}
.st-geplant {
  --st: var(--accent);
}
.st-entwurf {
  --st: var(--warn);
}
.st-\fc berarbeitung {
  --st: #8a5cc2;
}
.st-fertig {
  --st: var(--ok);
}
.st-none {
  --st: transparent;
}
.st-dot.st-none {
  border-color: var(--muted);
}
.st-chip {
  background: color-mix(in srgb, var(--st, var(--muted)) 14%, transparent);
  color: var(--ink);
}
.st-chip.st-none {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--muted);
}
select.st-idee,
select.st-geplant,
select.st-entwurf,
select.st-\fc berarbeitung,
select.st-fertig {
  box-shadow: inset 3px 0 0 var(--st);
}
.dochead {
  border-bottom: 1px solid var(--line);
  background: var(--bg);
  flex: 0 0 auto;
}
.dh-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  min-height: 44px;
  overflow-x: auto;
  scrollbar-width: none;
}
.dh-bar::-webkit-scrollbar {
  display: none;
}
.dh-bar .spacer {
  flex: 1;
}
.dh-type {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  white-space: nowrap;
  font-weight: 600;
}
.dh-hint {
  font-size: 12.5px;
  white-space: nowrap;
}
.dh-tabs {
  display: flex;
  gap: 2px;
  background: var(--side);
  padding: 3px;
  border-radius: 9px;
  flex: 0 0 auto;
}
.dh-tab {
  border: 0;
  background: transparent;
  padding: 5px 12px;
  border-radius: 7px;
  cursor: pointer;
  font-size: 13.5px;
  color: var(--ink-soft);
  white-space: nowrap;
}
.dh-tab:hover {
  color: var(--ink);
}
.dh-tab.active {
  background: var(--surface);
  color: var(--accent);
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}
.dh-status {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 13px;
  max-width: 150px;
}
.dh-toggle {
  border: 0;
  background: none;
  color: var(--ink-soft);
  font-size: 13px;
  cursor: pointer;
  white-space: nowrap;
  padding: 6px 4px;
  border-radius: 6px;
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.dh-toggle:hover,
.dh-toggle.open {
  color: var(--accent);
}
.dh-toggle .caret {
  font-size: 10px;
}
.dh-form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 10px 16px;
  padding: 4px 14px 14px;
  max-height: 42vh;
  overflow-y: auto;
}
.dh-field {
  display: grid;
  gap: 3px;
  align-content: start;
  min-width: 0;
}
.dh-field.wide,
.dh-extra.wide {
  grid-column: 1 / -1;
}
.dh-label {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
.dh-field .input {
  padding: 6px 8px;
  font-size: 14px;
}
.dh-extra {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  padding-top: 4px;
  border-top: 1px solid var(--line);
}
.dh-extra:empty {
  display: none;
}
.dh-check {
  display: flex;
  align-items: center;
  min-height: 32px;
}
.dh-check input {
  width: 18px;
  height: 18px;
}
.dh-linkinput {
  display: flex;
  align-items: center;
  gap: 2px;
}
.dh-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 3px 4px;
  min-height: 34px;
}
.dh-chips:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.dh-chip {
  display: inline-flex;
  align-items: center;
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
}
.dh-chip-name {
  border: 0;
  background: none;
  color: inherit;
  padding: 5px 4px 5px 10px;
  cursor: pointer;
  font: inherit;
}
span.dh-chip-name {
  cursor: default;
  padding-right: 2px;
}
.dh-chip-x {
  border: 0;
  background: none;
  color: inherit;
  opacity: .6;
  cursor: pointer;
  padding: 4px 8px 4px 4px;
  font-size: 14px;
}
.dh-chip-x:hover {
  opacity: 1;
}
.dh-add {
  border: 0 !important;
  box-shadow: none !important;
  flex: 1;
  min-width: 90px;
  padding: 4px 6px !important;
  background: transparent;
}
.dh-raw {
  font-size: 12.5px;
}
.dh-raw code {
  font-family: var(--mono);
}
body.focus-mode .dochead {
  display: none;
}
.new-types {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}
.new-type {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 999px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 13.5px;
}
.new-type[aria-checked=true] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}
.new-fields {
  display: grid;
  gap: 10px;
}
.new-path {
  word-break: break-all;
  min-height: 1.4em;
}
.new-path.warn {
  color: var(--warn);
}
.board .page-head {
  align-items: flex-start;
  flex-wrap: wrap;
}
.board-title h1 {
  margin: 0;
}
.board-title p {
  margin: 4px 0 0;
}
.board-status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.board-scroll {
  overflow-x: auto;
}
.board-table td {
  vertical-align: middle;
}
.board-table .grip {
  cursor: grab;
  color: var(--muted);
  width: 18px;
  -webkit-user-select: none;
  user-select: none;
}
.board-table .title a {
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
}
.board-table .title a:hover {
  color: var(--accent);
  text-decoration: underline;
}
.board-table select.input {
  padding: 3px 6px;
  font-size: 13px;
  width: auto;
}
.board-table .moves {
  white-space: nowrap;
}
.board-table .moves .icon-btn {
  width: 30px;
  height: 30px;
  font-size: 15px;
  opacity: .45;
}
.board-row:hover .moves .icon-btn,
.board-row:focus-within .moves .icon-btn {
  opacity: 1;
}
@media (hover: none) {
  .board-table .moves .icon-btn {
    opacity: .8;
  }
}
.board-row.dragging {
  opacity: .45;
}
.board-row.drop-before td {
  box-shadow: inset 0 2px 0 var(--accent);
}
.board-row.drop-after td {
  box-shadow: inset 0 -2px 0 var(--accent);
}
.cast-section h2 {
  font-family: var(--serif);
  font-size: 20px;
  margin: 8px 0 10px;
}
.cast-owner {
  font-weight: 400;
  font-size: .6em;
}
.cast-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
.cast-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  display: grid;
  gap: 6px;
  align-content: start;
}
.cast-card header {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.cast-name {
  font-size: 16px;
  font-weight: 700;
  padding: 0;
  color: var(--ink);
  text-align: left;
}
.cast-sub {
  margin: 0;
  font-size: 13px;
}
.cast-summary {
  margin: 0;
  font-size: 13.5px;
  color: var(--ink-soft);
}
.cast-hits {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  font-size: 12.5px;
}
.cast-ch {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 6px;
  padding: 1px 7px;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  font-size: 12.5px;
}
.cast-ch.pov {
  font-weight: 700;
  border-color: var(--accent);
  color: var(--accent);
}
@media print {
  .dochead {
    display: none !important;
  }
}
@media (max-width: 900px) {
  .dh-bar {
    padding: 4px 10px;
    gap: 6px;
  }
  .dh-type {
    display: none;
  }
  .dh-tab {
    padding: 6px 10px;
  }
  .dh-status {
    max-width: 120px;
  }
  .dh-form {
    grid-template-columns: 1fr 1fr;
    max-height: 50vh;
  }
  .board-table .akt,
  .board-table .pov,
  .board-table .grip {
    display: none;
  }
  .board-sub {
    white-space: normal;
    max-width: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .board-table .bar {
    min-width: 50px;
  }
  .board-table {
    table-layout: fixed;
  }
  .board-table th.nr {
    width: 30px;
  }
  .board-table th.st {
    width: 104px;
  }
  .board-table th.words {
    width: 64px;
  }
  .board-table th.moves {
    width: 62px;
  }
  .board-table select.input {
    width: 100%;
  }
  .board-table td.num .muted {
    display: none;
  }
}
.board-sub {
  font-size: 12.5px;
  max-width: 34em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dh-field-status {
  display: none !important;
}
@media (max-width: 900px) {
  .dh-status {
    display: none;
  }
  .dh-field-status {
    display: grid !important;
  }
  .dh-bar {
    min-height: 40px;
  }
}
.side-switch-wrap {
  position: relative;
}
.tree-root-drop {
  display: none;
  position: absolute;
  inset: 0 10px 8px;
  align-items: center;
  justify-content: center;
  border: 1.5px dashed var(--muted);
  border-radius: 9px;
  background: var(--side);
  color: var(--ink-soft);
  font-size: 12.5px;
}
body.tree-dragging .tree-root-drop {
  display: flex;
}
.tree .row.drop-target,
.tree-root-drop.drop-target {
  background: var(--accent-soft);
  color: var(--accent);
  box-shadow: inset 0 0 0 1.5px var(--accent);
  border-color: var(--accent);
}
.tree .row[draggable=true] {
  -webkit-user-drag: element;
}
.place-folder {
  margin-top: 12px;
}
.confirm-name {
  -webkit-user-select: all;
  user-select: all;
}
.tree.drop-target {
  box-shadow: inset 0 0 0 1.5px var(--accent);
  border-radius: 8px;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXBwL3dlYi9zcmMvYXBwLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogU2NocmVpYndlcmtzdGF0dDogcnVoaWdlIFNjaHJlaWJ1bWdlYnVuZy4gUGFwaWVydG9uLCBUaW50ZW5ibGF1LCBlaW4gd2FybWVyIEFremVudCAoQ3Vyc29yLUdlbGIpLiAqL1xuOnJvb3Qge1xuICAtLWJnOiAjZjVmNWYxO1xuICAtLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tc2lkZTogI2VlZWVlODtcbiAgLS1pbms6ICMxZTIzMjg7XG4gIC0taW5rLXNvZnQ6ICMzZDQ0NGM7XG4gIC0tbXV0ZWQ6ICM2YTcyN2I7XG4gIC0tbGluZTogI2RlZGVkNjtcbiAgLS1hY2NlbnQ6ICMyNTRjNzU7XG4gIC0tYWNjZW50LWluazogI2ZmZmZmZjtcbiAgLS1hY2NlbnQtc29mdDogI2UyZWFmMztcbiAgLS1nb2xkOiAjZDlhNTJmO1xuICAtLW9rOiAjMmM3YTRiO1xuICAtLW9rLXNvZnQ6ICNlMWYxZTc7XG4gIC0td2FybjogIzlhNjIwMDtcbiAgLS13YXJuLXNvZnQ6ICNmYmVmZDg7XG4gIC0tYmFkOiAjYjMyNjFlO1xuICAtLWJhZC1zb2Z0OiAjZjllMmUwO1xuICAtLXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyMCwgMzAsIDQ1LCAuMTQpO1xuICAtLXVpOiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLXNlcmlmOiBcIklvd2FuIE9sZCBTdHlsZVwiLCBcIkNoYXJ0ZXJcIiwgXCJCaXRzdHJlYW0gQ2hhcnRlclwiLCBcIlNpdGthIFRleHRcIiwgQ2FtYnJpYSwgR2VvcmdpYSwgc2VyaWY7XG4gIC0tbW9ubzogdWktbW9ub3NwYWNlLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gIC0tdG9wOiBjYWxjKDUycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSk7XG4gIC0tZWRpdG9yLXNpemU6IDE5cHg7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIDpyb290IHtcbiAgICAtLWJnOiAjMTUxNzFhOyAtLXN1cmZhY2U6ICMxYjFlMjI7IC0tc2lkZTogIzEyMTQxNzsgLS1pbms6ICNlNmU2ZTE7IC0taW5rLXNvZnQ6ICNjN2M5YzQ7IC0tbXV0ZWQ6ICM5NDliYTM7IC0tbGluZTogIzNhNDA0ODtcbiAgICAtLWFjY2VudDogIzhkYjNkYTsgLS1hY2NlbnQtaW5rOiAjMTAyMDJmOyAtLWFjY2VudC1zb2Z0OiAjMWYyZDNiOyAtLWdvbGQ6ICNlMmI1NGQ7XG4gICAgLS1vazogIzdmY2Y5YjsgLS1vay1zb2Z0OiAjMTYzMDFmOyAtLXdhcm46ICNlOGI1NWE7IC0td2Fybi1zb2Z0OiAjMzMyNzBmOyAtLWJhZDogI2YwOGE4MzsgLS1iYWQtc29mdDogIzNhMWExODtcbiAgICAtLXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAuNDUpO1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgfVxufVxuXG4qIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuaHRtbCwgYm9keSwgI2FwcCB7IGhlaWdodDogMTAwJTsgfVxuYm9keSB7IG1hcmdpbjogMDsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udDogMTVweC8xLjUgdmFyKC0tdWkpOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250OiBpbmhlcml0OyBjb2xvcjogaW5oZXJpdDsgfVxuW2hpZGRlbl0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cbi5ib290IHsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgaGVpZ2h0OiAxMDB2aDsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLm11dGVkIHsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLnBhZCB7IHBhZGRpbmc6IDhweCAxMnB4OyB9XG4uaGludCB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOiA2cHggMCAwOyB9XG5cbi8qIC0tLS0tLS0tLS0gQmF1c3RlaW5lIC0tLS0tLS0tLS0gKi9cbi5idG4geyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogOHB4IDE0cHg7IGN1cnNvcjogcG9pbnRlcjsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuLmJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4uYnRuLnByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLmJ0bi5kYW5nZXIgeyBjb2xvcjogdmFyKC0tYmFkKTsgfVxuLmJ0bi5wcmltYXJ5LmRhbmdlciwgLmRpYWxvZyAuYnRuLmRhbmdlclt0eXBlPXN1Ym1pdF0geyBiYWNrZ3JvdW5kOiB2YXIoLS1iYWQpOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiB2YXIoLS1iYWQpOyB9XG4uYnRuLnNtYWxsIHsgcGFkZGluZzogNXB4IDEwcHg7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmJ0bi53aWRlIHsgd2lkdGg6IDEwMCU7IH1cbi5idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNjsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uaWNvbi1idG4geyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxOHB4OyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBmbGV4OiAwIDAgYXV0bzsgfVxuLmljb24tYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyB9XG4ubGluay1idG4geyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDAgNHB4OyBmb250LXNpemU6IDEzcHg7IH1cbi5pbnB1dCB7IHdpZHRoOiAxMDAlOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogOHB4IDEwcHg7IG1pbi13aWR0aDogMDsgfVxuLmlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lOiBub25lOyBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYWNjZW50LXNvZnQpOyB9XG50ZXh0YXJlYS5jb2RlIHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDEycHg7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbi5jaGlwIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBmb250LXNpemU6IDEycHg7IHBhZGRpbmc6IDJweCA4cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uY2hpcC5vayB7IGJhY2tncm91bmQ6IHZhcigtLW9rLXNvZnQpOyBjb2xvcjogdmFyKC0tb2spOyB9XG4uY2hpcC53YXJuIHsgYmFja2dyb3VuZDogdmFyKC0td2Fybi1zb2Z0KTsgY29sb3I6IHZhcigtLXdhcm4pOyB9XG4uY2hpcC5iYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iYWQtc29mdCk7IGNvbG9yOiB2YXIoLS1iYWQpOyB9XG4uY2hpcC5tdXRlZCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuLmZpZWxkIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IH1cbi5maWVsZCA+IHNwYW4geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5maWVsZC1sYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuLmZvcm0tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7IG1hcmdpbi1ib3R0b206IDEycHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxuLnJvdy1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDhweDsgbWFyZ2luLXRvcDogOHB4OyB9XG4uc3dpdGNoIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IG1hcmdpbjogOHB4IDAgMTJweDsgfVxuLmRheXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyB9XG4uZGF5IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogOHB4OyBwYWRkaW5nOiA0cHggOHB4OyBmb250LXNpemU6IDEzcHg7IH1cblxuLyogLS0tLS0tLS0tLSBBbm1lbGR1bmcgLS0tLS0tLS0tLSAqL1xuLmF1dGggeyBtaW4taGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMjRweCAxNnB4OyB9XG4uYXV0aC1jYXJkIHsgd2lkdGg6IG1pbig0MjBweCwgMTAwJSk7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogMTRweDsgcGFkZGluZzogMjhweDsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxNHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB9XG4uYXV0aC1jYXJkIGgxIHsgbWFyZ2luOiAwOyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXNpemU6IDI4cHg7IH1cbi5icmFuZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWFjY2VudCk7IH1cbi5icmFuZCBpbWcgeyBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4uZXJyb3IgeyBjb2xvcjogdmFyKC0tYmFkKTsgbWFyZ2luOiAwOyBtaW4taGVpZ2h0OiAxZW07IH1cblxuLyogLS0tLS0tLS0tLSBHcnVuZGdlclx1MDBGQ3N0IC0tLS0tLS0tLS0gKi9cbi5zaGVsbCB7IGhlaWdodDogMTAwJTsgaGVpZ2h0OiAxMDBkdmg7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7IG92ZXJmbG93OiBoaWRkZW47IH1cbi50b3BiYXIgeyBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IHotaW5kZXg6IDIwOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogY2FsYyg4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSkgMTJweCA4cHg7IGJhY2tncm91bmQ6IHZhcigtLWJnKTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBtaW4taGVpZ2h0OiB2YXIoLS10b3ApOyB9XG4uZG9jLXRpdGxlIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDhweDsgbWluLXdpZHRoOiAwOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4uZG9jLW5hbWUgeyBmb250LXdlaWdodDogNjUwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuLmRvYy1mb2xkZXIgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDEycHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyBtYXgtd2lkdGg6IDMwdnc7IH1cbi5zcGFjZXIgeyBmbGV4OiAxOyB9XG4ud29yZHMgeyBmb250LXNpemU6IDEyLjVweDsgY29sb3I6IHZhcigtLW11dGVkKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuLnRhYnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tc2lkZSk7IHBhZGRpbmc6IDNweDsgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuLnRhYiB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDVweCAxMHB4OyBib3JkZXItcmFkaXVzOiA3cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyB9XG4udGFiLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IDYwMDsgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA4KTsgfVxuLmJvZHkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IG1pbi1oZWlnaHQ6IDA7IG1pbi13aWR0aDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnNpZGViYXIgeyB3aWR0aDogMzAwcHg7IGZsZXg6IDAgMCAzMDBweDsgYmFja2dyb3VuZDogdmFyKC0tc2lkZSk7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtaW4taGVpZ2h0OiAwOyB0cmFuc2l0aW9uOiBtYXJnaW4gLjE4cyBlYXNlOyB9XG5ib2R5Om5vdCguc2lkZWJhci1vcGVuKSAuc2lkZWJhciB7IG1hcmdpbi1sZWZ0OiAtMzAxcHg7IH1cbi5zaWRlLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDRweDsgcGFkZGluZzogMTBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnNlYXJjaCB7IGhlaWdodDogMzRweDsgfVxuLnRyZWUgeyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiAwIDRweCAyNHB4OyBmbGV4OiAxOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbi5yb3cgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsgbWluLWhlaWdodDogMzJweDsgcGFkZGluZzogMnB4IDZweCAycHggOHB4OyBib3JkZXItcmFkaXVzOiA3cHg7IGN1cnNvcjogcG9pbnRlcjsgdXNlci1zZWxlY3Q6IG5vbmU7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IH1cbi5yb3c6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEyNywxMjcsMTI3LC4xKTsgfVxuLnJvdyAubmFtZSB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbi5yb3cuZGlyIC5uYW1lIHsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWluayk7IH1cbi5yb3cgLmNhcmV0IHsgd2lkdGg6IDEycHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTFweDsgfVxuLnJvdy5jdXJyZW50IHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLnJvdy5vdGhlciAubmFtZSB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuLnJvdy5sb2NhbCAubmFtZTo6YWZ0ZXIgeyBjb250ZW50OiBcIiBcdTAwQjdcIjsgY29sb3I6IHZhcigtLXdhcm4pOyB9XG4ucm93LW1vcmUgeyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IG9wYWNpdHk6IDA7IGN1cnNvcjogcG9pbnRlcjsgd2lkdGg6IDI2cHg7IGhlaWdodDogMjZweDsgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4ucm93OmhvdmVyIC5yb3ctbW9yZSwgLnJvdzpmb2N1cy13aXRoaW4gLnJvdy1tb3JlLCAucm93LmN1cnJlbnQgLnJvdy1tb3JlIHsgb3BhY2l0eTogMTsgfVxuQG1lZGlhIChob3Zlcjogbm9uZSkgeyAucm93LW1vcmUgeyBvcGFjaXR5OiAuNzsgfSB9XG4uaGl0IHsgcGFkZGluZzogNHB4IDZweCA4cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuLmhpdC1maWxlIHsgZGlzcGxheTogZ3JpZDsgdGV4dC1hbGlnbjogbGVmdDsgd2lkdGg6IDEwMCU7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBmb250LXdlaWdodDogNjAwOyBwYWRkaW5nOiA0cHg7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4uaGl0LWZpbGUgc21hbGwgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6IDExcHg7IH1cbi5oaXQtbGluZSB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogbGVmdDsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDNweCA0cHg7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgYm9yZGVyLXJhZGl1czogNnB4OyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLmhpdC1saW5lOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgxMjcsMTI3LDEyNywuMSk7IH1cbi5oaXQtbGluZSAubG4geyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG4ubWFpbiB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyB9XG4udmlldyB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgbWluLWhlaWdodDogMDsgfVxuLnZpZXctZWRpdG9yIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4udmlldy1vdGhlciB7IG92ZXJmbG93LXk6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuLnNjcmltIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tIEVkaXRvciAtLS0tLS0tLS0tICovXG4uZWRpdG9yLXdyYXAgeyBmbGV4OiAxOyBtaW4taGVpZ2h0OiAwOyBtaW4td2lkdGg6IDA7IGRpc3BsYXk6IGZsZXg7IH1cbi5lZGl0b3Itd3JhcCAuY20tZWRpdG9yIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyB9XG4uY20td2lraWxpbmsgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgMzUlLCB0cmFuc3BhcmVudCk7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OyB9XG4uY20tcGxhY2Vob2xkZXIgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbi5jbS1wYW5lbHMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgY29sb3I6IHZhcigtLWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tbGluZSkgIWltcG9ydGFudDsgZm9udC1mYW1pbHk6IHZhcigtLXVpKTsgZm9udC1zaXplOiAxM3B4OyB9XG4uY20tcGFuZWwuY20tc2VhcmNoIGlucHV0LCAuY20tcGFuZWwuY20tc2VhcmNoIGJ1dHRvbiB7IGZvbnQtZmFtaWx5OiB2YXIoLS11aSk7IH1cbi5jbS10ZXh0ZmllbGQgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IHBhZGRpbmc6IDNweCA2cHg7IH1cbi5jbS1idXR0b24geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50OyB9XG4uY20tc2VhcmNoTWF0Y2ggeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZ29sZCkgMzAlLCB0cmFuc3BhcmVudCk7IH1cbi5lbXB0eSB7IG1hcmdpbjogYXV0bzsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA0MHB4IDIwcHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IH1cbi5lbXB0eSBoMiB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXNpemU6IDI2cHg7IG1hcmdpbjogMCAwIDZweDsgfVxuLmxpbmtiYXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyBib3R0b206IGNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgei1pbmRleDogNTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4vKiAtLS0tLS0tLS0tIFNlaXRlbiAoU3RhdGlzdGlrLCBFaW5zdGVsbHVuZ2VuKSAtLS0tLS0tLS0tICovXG4ucGFnZSB7IG1heC13aWR0aDogOTgwcHg7IG1hcmdpbjogMCBhdXRvOyBwYWRkaW5nOiAyNHB4IDE2cHggODBweDsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxOHB4OyB9XG4ucGFnZSBoMSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc2l6ZTogMzBweDsgbWFyZ2luOiAwOyB9XG4ucGFnZS1oZWFkIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyB9XG4ucGFuZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDE4cHg7IG1pbi13aWR0aDogMDsgfVxuLnBhbmVsIGgyIHsgbWFyZ2luOiAwIDAgMTJweDsgZm9udC1zaXplOiAxN3B4OyB9XG4ucGFuZWwtaGVhZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4ucGFuZWwtaGVhZCBoMiB7IG1hcmdpbjogMDsgfVxuLmNhcmRzIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxMnB4OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE3MHB4LCAxZnIpKTsgfVxuLmNhcmQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDE0cHggMTZweDsgfVxuLmNhcmQtbGFiZWwgeyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDZlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmNhcmQtdmFsdWUgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXNpemU6IDMycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IGxpbmUtaGVpZ2h0OiAxLjI7IG1hcmdpbi10b3A6IDJweDsgfVxuLmNhcmQtc3ViIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxM3B4OyB9XG4uYmFyIHsgaGVpZ2h0OiA2cHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBib3JkZXItcmFkaXVzOiA5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4uYmFyID4gZGl2IHsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkKTsgYm9yZGVyLXJhZGl1czogOTlweDsgfVxuLmJhci5iaWcgeyBoZWlnaHQ6IDEwcHg7IH1cbi5iYXIuYmlnID4gZGl2IHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTsgfVxuLmNoYXJ0LXdyYXAgeyBvdmVyZmxvdy14OiBhdXRvOyB9XG4uY2hhcnQgeyB3aWR0aDogMTAwJTsgbWluLXdpZHRoOiA0ODBweDsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuLmNoYXJ0IC5ncmlkIHsgc3Ryb2tlOiB2YXIoLS1saW5lKTsgc3Ryb2tlLXdpZHRoOiAxOyB9XG4uY2hhcnQgLmF4aXMgeyBmaWxsOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTBweDsgZm9udC1mYW1pbHk6IHZhcigtLXVpKTsgfVxuLmNoYXJ0IC5wb3MgeyBmaWxsOiB2YXIoLS1hY2NlbnQpOyBvcGFjaXR5OiAuNzU7IH1cbi5jaGFydCAudG9kYXkgeyBmaWxsOiB2YXIoLS1nb2xkKTsgfVxuLmNoYXJ0IC5uZWcgeyBmaWxsOiB2YXIoLS1iYWQpOyBvcGFjaXR5OiAuNjsgfVxuLnBsYW5zIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxMnB4OyB9XG4ucGxhbiB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiAxNHB4OyB9XG4ucGxhbi1oZWFkIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IH1cbi5wbGFuLWhlYWQgaDMgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTZweDsgfVxuLnBsYW4tcGF0aCB7IGZvbnQtc2l6ZTogMTIuNXB4OyBtYXJnaW46IDJweCAwIDhweDsgfVxuLnBsYW4tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTcwcHgsIDFmcikpOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDEycHg7IH1cbi5wbGFuLWdyaWQgLmsgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IH1cbi5wbGFuLWdyaWQgLnYgeyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBmb250LXdlaWdodDogNjAwOyB9XG4ucGxhbi1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IG1hcmdpbi10b3A6IDEycHg7IH1cbi50b2tlbi1saXN0LCAucGVvcGxlIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4udG9rZW4sIC5wZXJzb24geyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogMTBweCAxMnB4OyBkaXNwbGF5OiBncmlkOyBnYXA6IDRweDsgfVxuLnRva2VuLnJldm9rZWQgeyBvcGFjaXR5OiAuNTU7IH1cbi50b2tlbiAuYnRuIHsganVzdGlmeS1zZWxmOiBzdGFydDsgfVxuLm1lbWJlcnNoaXBzIHsgbWFyZ2luOiA0cHggMDsgcGFkZGluZy1sZWZ0OiAxOHB4OyBmb250LXNpemU6IDEzcHg7IH1cbi5zdGVwcyB7IHBhZGRpbmctbGVmdDogMjBweDsgbWFyZ2luOiA4cHggMCAxMnB4OyB9XG4uY29weS1yb3cgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDllbSAxZnIgYXV0bzsgZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbjogOHB4IDA7IH1cbi5jb3B5LXJvdyBjb2RlIHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDEycHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBwYWRkaW5nOiA2cHggOHB4OyBib3JkZXItcmFkaXVzOiA2cHg7IG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG4uY29weS1yb3cgLmsgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IH1cblxuLyogLS0tLS0tLS0tLSBEaWFsb2dlLCBNZW5cdTAwRkNzLCBIaW53ZWlzZSAtLS0tLS0tLS0tICovXG4ub3ZlcmxheSB7IHBvc2l0aW9uOiBmaXhlZDsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IHJnYmEoMTAsIDE0LCAyMCwgLjM4KTsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgei1pbmRleDogMTAwOyBwYWRkaW5nOiAxNnB4OyB9XG4uZGlhbG9nIHsgd2lkdGg6IG1pbig1NjBweCwgMTAwJSk7IG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTsgb3ZlcmZsb3cteTogYXV0bzsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDIwcHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgfVxuLmRpYWxvZyBoMiB7IG1hcmdpbjogMDsgZm9udC1zaXplOiAxOHB4OyB9XG4uZGlhbG9nLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBnYXA6IDhweDsgZmxleC13cmFwOiB3cmFwOyB9XG4ubWVudSB7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTEwOyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHBhZGRpbmc6IDRweDsgbWluLXdpZHRoOiAyMjBweDsgZGlzcGxheTogZ3JpZDsgfVxuLm1lbnUgYnV0dG9uIHsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA5cHggMTJweDsgYm9yZGVyLXJhZGl1czogN3B4OyBjdXJzb3I6IHBvaW50ZXI7IH1cbi5tZW51IGJ1dHRvbjpob3ZlciwgLm1lbnUgYnV0dG9uOmZvY3VzIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyBvdXRsaW5lOiBub25lOyB9XG4ubWVudSBidXR0b24uZGFuZ2VyIHsgY29sb3I6IHZhcigtLWJhZCk7IH1cbi50b2FzdCB7IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogNTAlOyBib3R0b206IGNhbGMoMjRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMjBweCk7IGJhY2tncm91bmQ6IHZhcigtLWluayk7IGNvbG9yOiB2YXIoLS1iZyk7IHBhZGRpbmc6IDEwcHggMTZweDsgYm9yZGVyLXJhZGl1czogMTBweDsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHRyYW5zaXRpb246IC4ycyBlYXNlOyB6LWluZGV4OiAyMDA7IG1heC13aWR0aDogbWluKDU2MHB4LCBjYWxjKDEwMHZ3IC0gMzJweCkpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyB9XG4udG9hc3Quc2hvdyB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOyBwb2ludGVyLWV2ZW50czogYXV0bzsgY3Vyc29yOiBwb2ludGVyOyB9XG4udG9hc3QuYmFkIHsgYmFja2dyb3VuZDogdmFyKC0tYmFkKTsgY29sb3I6ICNmZmY7IH1cbi50b2FzdC53YXJuIHsgYmFja2dyb3VuZDogdmFyKC0td2Fybik7IGNvbG9yOiAjZmZmOyB9XG4uaGlzdG9yeSB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjIwcHggMWZyOyBnYXA6IDEycHg7IG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4udmVyc2lvbi1saXN0IHsgZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IGFsaWduLWNvbnRlbnQ6IHN0YXJ0OyBtYXgtaGVpZ2h0OiA1MHZoOyBvdmVyZmxvdy15OiBhdXRvOyB9XG4udmVyc2lvbiB7IGRpc3BsYXk6IGdyaWQ7IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogNnB4IDhweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDEyLjVweDsgfVxuLnZlcnNpb24uYWN0aXZlIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7IH1cbi52ZXJzaW9uIHNtYWxsIHsgY29sb3I6IHZhcigtLW11dGVkKTsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi52ZXJzaW9uLXByZXZpZXcgeyBtYXJnaW46IDA7IGJhY2tncm91bmQ6IHZhcigtLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMTBweDsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBvdmVyZmxvdzogYXV0bzsgbWF4LWhlaWdodDogNTB2aDsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC1zaXplOiAxNHB4OyB9XG4uZGlhbG9nOmhhcyguaGlzdG9yeSkgeyB3aWR0aDogbWluKDk2MHB4LCAxMDAlKTsgfVxuXG4vKiAtLS0tLS0tLS0tIFdpa2lsaW5rIHN1Z2dlc3Rpb25zIC0tLS0tLS0tLS0gKi9cbi5jbS10b29sdGlwLmNtLXRvb2x0aXAtYXV0b2NvbXBsZXRlIHsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBwYWRkaW5nOiA0cHg7IGZvbnQtZmFtaWx5OiB2YXIoLS11aSk7IGZvbnQtc2l6ZTogMTRweDsgfVxuLmNtLXRvb2x0aXAtYXV0b2NvbXBsZXRlID4gdWwgeyBtYXgtaGVpZ2h0OiAxNmVtOyB9XG4uY20tdG9vbHRpcC1hdXRvY29tcGxldGUgPiB1bCA+IGxpIHsgcGFkZGluZzogNXB4IDhweCAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA2cHg7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4uY20tdG9vbHRpcC1hdXRvY29tcGxldGUgPiB1bCA+IGxpW2FyaWEtc2VsZWN0ZWRdIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpICFpbXBvcnRhbnQ7IGNvbG9yOiB2YXIoLS1hY2NlbnQpICFpbXBvcnRhbnQ7IH1cbi5jbS1jb21wbGV0aW9uRGV0YWlsIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXNpemU6IDEycHg7IG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4uY20tY29tcGxldGlvbk1hdGNoZWRUZXh0IHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIC0tLS0tLS0tLS0gVXNlciBtZW51LCBzZXR0aW5ncyB0YWJzIC0tLS0tLS0tLS0gKi9cbi5hdmF0YXIgeyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAxM3B4OyBjdXJzb3I6IHBvaW50ZXI7IGxldHRlci1zcGFjaW5nOiAuMDJlbTsgfVxuLmF2YXRhcjpob3ZlciwgLmF2YXRhci5hY3RpdmUgeyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IH1cbi5tZW51LWluZm8geyBwYWRkaW5nOiA5cHggMTJweCA4cHg7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMXB4OyBmb250LXdlaWdodDogNjAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuLm1lbnUtaW5mbyBzbWFsbCB7IGZvbnQtd2VpZ2h0OiA0MDA7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTIuNXB4OyB9XG4ubWVudS1pbmZvLnNtYWxsIHsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGJvcmRlci1ib3R0b206IDA7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgbWFyZ2luOiA0cHggMCAwOyBwYWRkaW5nOiA3cHggMTJweCA0cHg7IH1cbi5zZXR0aW5ncy10YWJzIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IG92ZXJmbG93LXg6IGF1dG87IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgcGFkZGluZy1ib3R0b206IDA7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuLnNldHRpbmdzLXRhYnMgYnV0dG9uIHsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBwYWRkaW5nOiA5cHggMTJweDsgY3Vyc29yOiBwb2ludGVyOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZvbnQtc2l6ZTogMTRweDsgfVxuLnNldHRpbmdzLXRhYnMgYnV0dG9uLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBmb250LXdlaWdodDogNjAwOyB9XG4uc2V0dGluZ3MtYm9keSB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMThweDsgfVxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAudG9hc3Qud2FybiwgLnRvYXN0LmJhZCwgLmJ0bi5wcmltYXJ5LmRhbmdlciwgLmRpYWxvZyAuYnRuLmRhbmdlclt0eXBlPXN1Ym1pdF0geyBjb2xvcjogIzE1MTcxYTsgfVxuICAuY2FsLWRheS5sMCwgLmNhbC1rZXkubDAgeyBmaWxsOiB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7IH1cbn1cblxuLyogLS0tLS0tLS0tLSBTdHlsZSBjaGVjayBtYXJrcyAtLS0tLS0tLS0tICovXG4uY20tbGludFJhbmdlLWluZm8geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50KSA3MCUsIHRyYW5zcGFyZW50KTsgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4OyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDsgfVxuLmNtLWxpbnRSYW5nZS13YXJuaW5nIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB3YXZ5IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS13YXJuKSA4MCUsIHRyYW5zcGFyZW50KTsgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7IH1cbi5jbS10b29sdGlwLWxpbnQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKSAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBmb250LWZhbWlseTogdmFyKC0tdWkpOyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLWluayk7IH1cbi5jbS1kaWFnbm9zdGljIHsgcGFkZGluZzogNnB4IDEwcHggIWltcG9ydGFudDsgYm9yZGVyLWxlZnQtd2lkdGg6IDNweCAhaW1wb3J0YW50OyB9XG4uY20tZGlhZ25vc3RpYy1pbmZvIHsgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWFjY2VudCkgIWltcG9ydGFudDsgfVxuLmNtLWRpYWdub3N0aWMtd2FybmluZyB7IGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS13YXJuKSAhaW1wb3J0YW50OyB9XG4uY20tZGlhZ25vc3RpY0FjdGlvbiB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCkgIWltcG9ydGFudDsgY29sb3I6IHZhcigtLWFjY2VudC1pbmspICFpbXBvcnRhbnQ7IGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAycHggOHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiA4cHggIWltcG9ydGFudDsgZm9udDogaW5oZXJpdDsgZm9udC1zaXplOiAxMi41cHg7IH1cbi5jbS1wYW5lbC5jbS1wYW5lbC1saW50IHVsIHsgbWF4LWhlaWdodDogMzB2aDsgfVxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgeyAuY20tcGFuZWxzIGlucHV0LCAuY20tcGFuZWxzIGJ1dHRvbiwgLmNtLXRleHRmaWVsZCB7IGJhY2tncm91bmQ6IHZhcigtLWJnKSAhaW1wb3J0YW50OyBjb2xvcjogdmFyKC0taW5rKSAhaW1wb3J0YW50OyB9IH1cblxuLyogLS0tLS0tLS0tLSBTaG9ydGN1dCBvdmVydmlldyAtLS0tLS0tLS0tICovXG4ua2V5cyB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHdpZHRoOiAxMDAlOyBmb250LXNpemU6IDE0cHg7IH1cbi5rZXlzIHRkIHsgcGFkZGluZzogNnB4IDhweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4ua2V5cyB0ZDpmaXJzdC1jaGlsZCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IHdpZHRoOiAxJTsgfVxua2JkIHsgZm9udC1mYW1pbHk6IHZhcigtLXVpKTsgZm9udC1zaXplOiAxMi41cHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4OyBib3JkZXItcmFkaXVzOiA2cHg7IHBhZGRpbmc6IDFweCA2cHg7IH1cbi50b2FzdC5vayB7IGJhY2tncm91bmQ6IHZhcigtLW9rKTsgY29sb3I6IHZhcigtLWJnKTsgfVxuXG4vKiAtLS0tLS0tLS0tIFF1aWNrIHN3aXRjaGVyIC0tLS0tLS0tLS0gKi9cbi5yb3ctYWN0aW9ucy5jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnFvLW92ZXJsYXkgeyBwbGFjZS1pdGVtczogc3RhcnQgY2VudGVyOyBwYWRkaW5nLXRvcDogbWF4KDEwdmgsIDE2cHgpOyB9XG4ucW8geyB3aWR0aDogbWluKDYyMHB4LCAxMDAlKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGRpc3BsYXk6IGdyaWQ7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5xby1pbnB1dCB7IGJvcmRlcjogMDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAwOyBwYWRkaW5nOiAxNHB4IDE2cHg7IGZvbnQtc2l6ZTogMTdweDsgfVxuLnFvLWlucHV0OmZvY3VzIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuLnFvLWxpc3QgeyBtYXgtaGVpZ2h0OiBtaW4oNTV2aCwgNDYwcHgpOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiA2cHg7IH1cbi5xby1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDEwcHg7IHBhZGRpbmc6IDhweCAxMHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnFvLWl0ZW0uc2VsIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyB9XG4ucW8tbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4ucW8tcGF0aCB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTIuNXB4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgbWFyZ2luLWxlZnQ6IGF1dG87IGRpcmVjdGlvbjogcnRsOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4ucW8tZm9vdCB7IGZvbnQtc2l6ZTogMTJweDsgcGFkZGluZzogNnB4IDE0cHggMTBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG5cbi8qIC0tLS0tLS0tLS0gRm9jdXMgbW9kZSAtLS0tLS0tLS0tICovXG4uZm9jdXMtaHVkIHsgZGlzcGxheTogbm9uZTsgfVxuYm9keS5mb2N1cy1tb2RlIC50b3BiYXIsIGJvZHkuZm9jdXMtbW9kZSAuc2lkZWJhciwgYm9keS5mb2N1cy1tb2RlIC5zY3JpbSwgYm9keS5mb2N1cy1tb2RlIC5kb2NwYW5lbCwgYm9keS5mb2N1cy1tb2RlIC50YWJzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5ib2R5LmZvY3VzLW1vZGUgLnNoZWxsIHsgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7IH1cbmJvZHkuZm9jdXMtbW9kZSAubWFpbiB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG5ib2R5LmZvY3VzLW1vZGUgLmZvY3VzLWh1ZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTZweDsgYm90dG9tOiBjYWxjKDE0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IHotaW5kZXg6IDY7IGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBvcGFjaXR5OiAuMzU7IHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7IH1cbmJvZHkuZm9jdXMtbW9kZSAuZm9jdXMtaHVkOmhvdmVyLCBib2R5LmZvY3VzLW1vZGUgLmZvY3VzLWh1ZDpmb2N1cy13aXRoaW4geyBvcGFjaXR5OiAxOyB9XG5ib2R5LmZvY3VzLW1vZGUgLmNtLXNjcm9sbGVyIHsgcGFkZGluZy10b3A6IDE4dmg7IH1cbi5jbS1kaW0geyBvcGFjaXR5OiAuMzI7IHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlOyB9XG5cbi8qIC0tLS0tLS0tLS0gT3V0bGluZSBhbmQgbGlua3MgcGFuZWwgLS0tLS0tLS0tLSAqL1xuLmRvY3BhbmVsIHsgZGlzcGxheTogbm9uZTsgd2lkdGg6IDI5MHB4OyBmbGV4OiAwIDAgMjkwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBvdmVyZmxvdy15OiBhdXRvOyBwYWRkaW5nOiA0cHggMTBweCA0MHB4OyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbmJvZHkuZG9jcGFuZWwtb3BlbiAuZG9jcGFuZWwgeyBkaXNwbGF5OiBibG9jazsgfVxuLnBhbmVsLWJ0blthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLmRwLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogOHB4OyBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBwYWRkaW5nOiA4cHggMCA2cHg7IHotaW5kZXg6IDE7IH1cbi5kcC1oZWFkIHN0cm9uZyB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4uZHAtc2VjdGlvbiB7IG1hcmdpbi10b3A6IDEwcHg7IH1cbi5kcC1zZWN0aW9uIGgzIHsgZm9udC1zaXplOiAxMS41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDZlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgbWFyZ2luOiA2cHggNHB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDZweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmRwLWNvdW50IHsgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGJvcmRlci1yYWRpdXM6IDk5cHg7IHBhZGRpbmc6IDAgNnB4OyBmb250LXNpemU6IDExcHg7IGxldHRlci1zcGFjaW5nOiAwOyB9XG4uZHAtbGlzdCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMXB4OyB9XG4uZHAtaXRlbSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyBnYXA6IDZweDsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgcGFkZGluZzogNXB4IDZweDsgYm9yZGVyLXJhZGl1czogNnB4OyBjdXJzb3I6IHBvaW50ZXI7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGZvbnQtc2l6ZTogMTMuNXB4OyB9XG4uZHAtaXRlbTpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTI3LDEyNywxMjcsLjEpOyB9XG4uZHAtaXRlbSAuZHAtdGV4dCB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5kcC1pdGVtIC5kcC1tZXRhIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxMS41cHg7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cbi5kcC1pdGVtIHNtYWxsIHsgZmxleC1iYXNpczogMTAwJTsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxMnB4OyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLmRwLWl0ZW0ubHZsMSB7IGZvbnQtd2VpZ2h0OiA2NTA7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4uZHAtaXRlbS5sdmwyIHsgcGFkZGluZy1sZWZ0OiAxNHB4OyB9XG4uZHAtaXRlbS5sdmwzIHsgcGFkZGluZy1sZWZ0OiAyNnB4OyB9XG4uZHAtaXRlbS5sdmw0IHsgcGFkZGluZy1sZWZ0OiAzOHB4OyB9XG4uZHAtaXRlbS5taXNzaW5nIC5kcC10ZXh0IHsgY29sb3I6IHZhcigtLW11dGVkKTsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW11dGVkKSA1MCUsIHRyYW5zcGFyZW50KTsgfVxuLmRwLWl0ZW0ubWlzc2luZyAuZHAtbWV0YSB7IGNvbG9yOiB2YXIoLS13YXJuKTsgfVxuLmRwLWVtcHR5IHsgZm9udC1zaXplOiAxM3B4OyBtYXJnaW46IDJweCA2cHg7IH1cblxuLyogLS0tLS0tLS0tLSBXcml0aW5nIGNhbGVuZGFyIC0tLS0tLS0tLS0gKi9cbi5jYWwtd3JhcCB7IG92ZXJmbG93LXg6IGF1dG87IHBhZGRpbmctYm90dG9tOiA0cHg7IH1cbi5jYWwgeyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiBhdXRvOyBtYXgtd2lkdGg6IG5vbmU7IH1cbi5jYWwgLmF4aXMgeyBmaWxsOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTBweDsgZm9udC1mYW1pbHk6IHZhcigtLXVpKTsgfVxuLmNhbC1kYXkubDAsIC5jYWwta2V5LmwwIHsgZmlsbDogdmFyKC0tc2lkZSk7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyB9XG4uY2FsLWRheS5sMSwgLmNhbC1rZXkubDEgeyBmaWxsOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50KSAyNSUsIHZhcigtLXN1cmZhY2UpKTsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgMjUlLCB2YXIoLS1zdXJmYWNlKSk7IH1cbi5jYWwtZGF5LmwyLCAuY2FsLWtleS5sMiB7IGZpbGw6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDUwJSwgdmFyKC0tc3VyZmFjZSkpOyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYWNjZW50KSA1MCUsIHZhcigtLXN1cmZhY2UpKTsgfVxuLmNhbC1kYXkubDMsIC5jYWwta2V5LmwzIHsgZmlsbDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFjY2VudCkgNzUlLCB2YXIoLS1zdXJmYWNlKSk7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDc1JSwgdmFyKC0tc3VyZmFjZSkpOyB9XG4uY2FsLWRheS5sNCwgLmNhbC1rZXkubDQgeyBmaWxsOiB2YXIoLS1hY2NlbnQpOyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyB9XG4uY2FsLWRheS50b2RheSB7IHN0cm9rZTogdmFyKC0tZ29sZCk7IHN0cm9rZS13aWR0aDogMjsgfVxuLmNhbC1zdW0geyBtYXJnaW46IC00cHggMCAxMHB4OyBmb250LXNpemU6IDEzLjVweDsgfVxuLmNhbC1sZWdlbmQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsgZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tdG9wOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsgfVxuLmNhbC1rZXkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IGJvcmRlci1yYWRpdXM6IDNweDsgfVxuLmNhbC1nb2FsIHsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLyogLS0tLS0tLS0tLSBSZWFkaW5nIHZlcnNpb24gLS0tLS0tLS0tLSAqL1xuLnJlYWRlci1wYWdlIHsgbWF4LXdpZHRoOiA3NjBweDsgbWFyZ2luOiAwIGF1dG87IHBhZGRpbmc6IDE2cHggMTZweCA4MHB4OyB9XG4ucmVhZGVyLWJhciB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgZmxleC13cmFwOiB3cmFwOyBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IGJhY2tncm91bmQ6IHZhcigtLWJnKTsgcGFkZGluZzogOHB4IDA7IHotaW5kZXg6IDI7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuLnJlYWRlci1tZXRhIHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyBkaXNwbGF5OiBncmlkOyBmb250LXNpemU6IDEzcHg7IH1cbi5yZWFkZXItdG9jIHsgbWFyZ2luOiAxOHB4IDAgOHB4OyBmb250LXNpemU6IDE0cHg7IH1cbi5yZWFkZXItdG9jIGgyIHsgZm9udC1zaXplOiAxM3B4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjA2ZW07IGNvbG9yOiB2YXIoLS1tdXRlZCk7IG1hcmdpbjogMCAwIDZweDsgfVxuLnRvYy10YWJsZSB7IHdpZHRoOiAxMDAlOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LXNpemU6IDEzLjVweDsgfVxuLnRvYy10YWJsZSB0aCB7IHRleHQtYWxpZ246IGxlZnQ7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTJweDsgcGFkZGluZzogNHB4IDZweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4udG9jLXRhYmxlIHRkIHsgcGFkZGluZzogNXB4IDZweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4udG9jLXRhYmxlIC5udW0geyB0ZXh0LWFsaWduOiByaWdodDsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLnRvYy10YWJsZSAuYmFyIHsgaGVpZ2h0OiA0cHg7IG1hcmdpbi10b3A6IDRweDsgbWluLXdpZHRoOiA3MHB4OyB9XG4udG9jLXN1bSB7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOiAwIDAgNnB4OyB9XG4ucmVhZGVyLXRvYyBhIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuLnJlYWRlciB7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc2l6ZTogMTlweDsgbGluZS1oZWlnaHQ6IDEuNjU7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4ucmVhZGVyLXRpdGxlIGgxIHsgZm9udC1zaXplOiAzNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbjogMzZweCAwIDEycHg7IH1cbi5jaGFwdGVyIHsgcGFkZGluZy10b3A6IDI4cHg7IH1cbi5jaC10aXRsZSB7IGZvbnQtc2l6ZTogMjVweDsgbWFyZ2luOiAyOHB4IDAgMTZweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4uY2gtdGl0bGUgLmxpbmstYnRuIHsgZm9udC1mYW1pbHk6IHZhcigtLXVpKTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuLnByb3NlIHAgeyBtYXJnaW46IDA7IHRleHQtaW5kZW50OiAxLjRlbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgaHlwaGVuczogYXV0bzsgfVxuLnByb3NlIHA6Zmlyc3QtY2hpbGQsIC5wcm9zZSBociArIHAsIC5wcm9zZSBoMiArIHAsIC5wcm9zZSBoMyArIHAsIC5wcm9zZSBibG9ja3F1b3RlICsgcCB7IHRleHQtaW5kZW50OiAwOyB9XG4ucHJvc2UgaHIuc2NlbmUgeyBib3JkZXI6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAxLjJlbSAwOyB9XG4ucHJvc2UgaHIuc2NlbmU6OmFmdGVyIHsgY29udGVudDogXCIqICogKlwiOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBsZXR0ZXItc3BhY2luZzogLjRlbTsgfVxuLnByb3NlIGJsb2NrcXVvdGUgeyBtYXJnaW46IC42ZW0gMS42ZW07IGZvbnQtc3R5bGU6IGl0YWxpYzsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgfVxuLnByb3NlIGJsb2NrcXVvdGUgcCB7IHRleHQtaW5kZW50OiAwOyB9XG4ucHJvc2UgdWwsIC5wcm9zZSBvbCB7IG1hcmdpbjogLjRlbSAwIC40ZW0gMS40ZW07IH1cbi5uby10ZXh0IHsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgQHBhZ2UgeyBtYXJnaW46IDIybW0gMjBtbTsgfVxuICBib2R5IHsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICMwMDA7IH1cbiAgLnRvcGJhciwgLnNpZGViYXIsIC5zY3JpbSwgLnRhYnMsIC5kb2NwYW5lbCwgLm5vLXByaW50LCAudG9hc3QsIC5saW5rYmFyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGh0bWwsIGJvZHksICNhcHAsIC5zaGVsbCwgLmJvZHksIC5tYWluLCAudmlldy1vdGhlciB7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5yZWFkZXItcGFnZSB7IG1heC13aWR0aDogbm9uZTsgcGFkZGluZzogMDsgfVxuICAucmVhZGVyIHsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogIzAwMDsgfVxuICAucmVhZGVyLXRpdGxlIGgxIHsgbWFyZ2luLXRvcDogMzB2aDsgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzOyBicmVhay1hZnRlcjogcGFnZTsgfVxuICAuY2hhcHRlciB7IGJyZWFrLWJlZm9yZTogcGFnZTsgcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5czsgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNoLXRpdGxlIHsgbWFyZ2luLXRvcDogMDsgfVxufVxuXG4vKiAtLS0tLS0tLS0tIFNjaG1hbCAoaVBob25lKSAtLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLnNpZGViYXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDMwOyB0b3A6IDA7IGJvdHRvbTogMDsgbGVmdDogMDsgd2lkdGg6IG1pbig4NnZ3LCAzNDBweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KTsgfVxuICBib2R5Om5vdCguc2lkZWJhci1vcGVuKSAuc2lkZWJhciB7IG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogbWluKDg2dncsIDM0MHB4KSAtIDEwcHgpOyB9XG4gIGJvZHkuc2lkZWJhci1vcGVuIC5zY3JpbSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyB6LWluZGV4OiAyNTsgYmFja2dyb3VuZDogcmdiYSgxMCwgMTQsIDIwLCAuMyk7IH1cbiAgLnRhYnMgeyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE1OyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyBib3JkZXItcmFkaXVzOiAwOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgcGFkZGluZzogNnB4IDZweCBjYWxjKDZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4gIC50YWIgeyBmbGV4OiAxOyBwYWRkaW5nOiA4cHggNHB4OyB9XG4gIC5tYWluIHsgcGFkZGluZy1ib3R0b206IGNhbGMoNTBweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgfVxuICAuZG9jLWZvbGRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgOnJvb3QgeyAtLWVkaXRvci1zaXplOiAxOHB4OyAtLWVkaXRvci1wYWQtdG9wOiAxNnB4OyAtLWVkaXRvci1wYWQteDogMThweDsgfVxuICAud29yZHMgeyBmb250LXNpemU6IDExcHg7IH1cbiAgLnctZmlsZSwgLnctc2VwIHsgZGlzcGxheTogbm9uZTsgfVxuICAudy10b2RheSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmRvYy10aXRsZSB7IGZsZXg6IDEgMSBhdXRvOyB9XG4gICNzeW5jLXN0YXR1cyB7IGZvbnQtc2l6ZTogMDsgcGFkZGluZzogMDsgd2lkdGg6IDEycHg7IGhlaWdodDogMTJweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1vayk7IH1cbiAgI3N5bmMtc3RhdHVzLndhcm4geyBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuKTsgfVxuICAjc3luYy1zdGF0dXMuYmFkIHsgYmFja2dyb3VuZDogdmFyKC0tYmFkKTsgfVxuICAjc3luYy1zdGF0dXMubXV0ZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1tdXRlZCk7IGJvcmRlcjogMDsgfVxuICAuaGlzdG9yeSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5jb3B5LXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87IH1cbiAgLmNvcHktcm93IC5rIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxuICAubGlua2JhciB7IGJvdHRvbTogY2FsYyg2NnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpOyB9XG4gIC5kb2NwYW5lbCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMzA7IHRvcDogMDsgYm90dG9tOiAwOyByaWdodDogMDsgd2lkdGg6IG1pbig4NnZ3LCAzNDBweCk7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IHBhZGRpbmctYm90dG9tOiBjYWxjKDYwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IH1cbiAgYm9keS5mb2N1cy1tb2RlIC5mb2N1cy1odWQgeyBib3R0b206IGNhbGMoMTRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgfVxuICAucmVhZGVyIHsgZm9udC1zaXplOiAxOHB4OyB9XG4gIC50b2FzdCB7IGJvdHRvbTogY2FsYyg2NnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpOyB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgeyAqIHsgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogLS0tLS0tLS0tLSBPYmpla3RlOiBTZWl0ZW5sZWlzdGUgXHUyMDFFUHJvamVrdFx1MjAxQyAtLS0tLS0tLS0tICovXG4uc2VnIHsgZGlzcGxheTogZmxleDsgZ2FwOiAycHg7IGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1pbmspIDYlLCB0cmFuc3BhcmVudCk7IHBhZGRpbmc6IDNweDsgYm9yZGVyLXJhZGl1czogOXB4OyB9XG4uc2VnLWJ0biB7IGZsZXg6IDE7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDRweCA4cHg7IGJvcmRlci1yYWRpdXM6IDdweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IH1cbi5zZWctYnRuLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgZm9udC13ZWlnaHQ6IDYwMDsgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA4KTsgfVxuLnNpZGUtc3dpdGNoIHsgbWFyZ2luOiAwIDEwcHggOHB4OyB9XG4ubmF2LWNvdW50LCAubmF2LXdvcmRzIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi5yb3cuY3VycmVudCAubmF2LXdvcmRzIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IH1cbi5uYXYtc2VyaWVzIC5uYW1lIHsgZm9udC1zaXplOiAxNC41cHg7IH1cbi5uYXYtYnRuIHsgZm9udC1zaXplOiAxNHB4OyB9XG4ubmF2LWFkZCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogbGVmdDsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDEyLjVweDsgcGFkZGluZy10b3A6IDNweDsgcGFkZGluZy1ib3R0b206IDVweDsgY3Vyc29yOiBwb2ludGVyOyBib3JkZXItcmFkaXVzOiA3cHg7IH1cbi5uYXYtYWRkOmhvdmVyIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IGJhY2tncm91bmQ6IHJnYmEoMTI3LDEyNywxMjcsLjA4KTsgfVxuLm5hdi1zZXAgeyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDZlbTsgcGFkZGluZzogMTRweCAxMHB4IDRweDsgfVxuLm5hdi1zdGFydCB7IHBhZGRpbmc6IDEycHg7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTBweDsganVzdGlmeS1pdGVtczogc3RhcnQ7IH1cbi5uYXYtZW1wdHkgeyBmb250LXNpemU6IDEyLjVweDsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uc3QtZG90IHsgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmxleDogMCAwIDhweDsgYmFja2dyb3VuZDogdmFyKC0tc3QsIHRyYW5zcGFyZW50KTsgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1zdCwgdmFyKC0tbXV0ZWQpKTsgfVxuLnN0LWlkZWUgeyAtLXN0OiAjOWFhMWE5OyB9XG4uc3QtZ2VwbGFudCB7IC0tc3Q6IHZhcigtLWFjY2VudCk7IH1cbi5zdC1lbnR3dXJmIHsgLS1zdDogdmFyKC0td2Fybik7IH1cbi5zdC1cdTAwRkNiZXJhcmJlaXR1bmcgeyAtLXN0OiAjOGE1Y2MyOyB9XG4uc3QtZmVydGlnIHsgLS1zdDogdmFyKC0tb2spOyB9XG4uc3Qtbm9uZSB7IC0tc3Q6IHRyYW5zcGFyZW50OyB9XG4uc3QtZG90LnN0LW5vbmUgeyBib3JkZXItY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLnN0LWNoaXAgeyBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3QsIHZhcigtLW11dGVkKSkgMTQlLCB0cmFuc3BhcmVudCk7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4uc3QtY2hpcC5zdC1ub25lIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG5zZWxlY3Quc3QtaWRlZSwgc2VsZWN0LnN0LWdlcGxhbnQsIHNlbGVjdC5zdC1lbnR3dXJmLCBzZWxlY3Quc3QtXHUwMEZDYmVyYXJiZWl0dW5nLCBzZWxlY3Quc3QtZmVydGlnIHsgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCB2YXIoLS1zdCk7IH1cblxuLyogLS0tLS0tLS0tLSBPYmpla3RlOiBLb3BmIG1pdCBSZWl0ZXJuIHVuZCBFaWdlbnNjaGFmdGVuIC0tLS0tLS0tLS0gKi9cbi5kb2NoZWFkIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGZsZXg6IDAgMCBhdXRvOyB9XG4uZGgtYmFyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHBhZGRpbmc6IDZweCAxNHB4OyBtaW4taGVpZ2h0OiA0NHB4OyBvdmVyZmxvdy14OiBhdXRvOyBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IH1cbi5kaC1iYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuLmRoLWJhciAuc3BhY2VyIHsgZmxleDogMTsgfVxuLmRoLXR5cGUgeyBmb250LXNpemU6IDEycHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDVlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmRoLWhpbnQgeyBmb250LXNpemU6IDEyLjVweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLmRoLXRhYnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tc2lkZSk7IHBhZGRpbmc6IDNweDsgYm9yZGVyLXJhZGl1czogOXB4OyBmbGV4OiAwIDAgYXV0bzsgfVxuLmRoLXRhYiB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBhZGRpbmc6IDVweCAxMnB4OyBib3JkZXItcmFkaXVzOiA3cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxMy41cHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5kaC10YWI6aG92ZXIgeyBjb2xvcjogdmFyKC0taW5rKTsgfVxuLmRoLXRhYi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgY29sb3I6IHZhcigtLWFjY2VudCk7IGZvbnQtd2VpZ2h0OiA2MDA7IGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wOCk7IH1cbi5kaC1zdGF0dXMgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogNHB4IDhweDsgZm9udC1zaXplOiAxM3B4OyBtYXgtd2lkdGg6IDE1MHB4OyB9XG4uZGgtdG9nZ2xlIHsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBmb250LXNpemU6IDEzcHg7IGN1cnNvcjogcG9pbnRlcjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgcGFkZGluZzogNnB4IDRweDsgYm9yZGVyLXJhZGl1czogNnB4OyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgZ2FwOiA0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5kaC10b2dnbGU6aG92ZXIsIC5kaC10b2dnbGUub3BlbiB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG4uZGgtdG9nZ2xlIC5jYXJldCB7IGZvbnQtc2l6ZTogMTBweDsgfVxuLmRoLWZvcm0geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMTBweCwgMWZyKSk7IGdhcDogMTBweCAxNnB4OyBwYWRkaW5nOiA0cHggMTRweCAxNHB4OyBtYXgtaGVpZ2h0OiA0MnZoOyBvdmVyZmxvdy15OiBhdXRvOyB9XG4uZGgtZmllbGQgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDNweDsgYWxpZ24tY29udGVudDogc3RhcnQ7IG1pbi13aWR0aDogMDsgfVxuLmRoLWZpZWxkLndpZGUsIC5kaC1leHRyYS53aWRlIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxuLmRoLWxhYmVsIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXdlaWdodDogNjAwOyB9XG4uZGgtZmllbGQgLmlucHV0IHsgcGFkZGluZzogNnB4IDhweDsgZm9udC1zaXplOiAxNHB4OyB9XG4uZGgtZXh0cmEgeyBmb250LXNpemU6IDExcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxldHRlci1zcGFjaW5nOiAuMDZlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgcGFkZGluZy10b3A6IDRweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyB9XG4uZGgtZXh0cmE6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG4uZGgtY2hlY2sgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtaW4taGVpZ2h0OiAzMnB4OyB9XG4uZGgtY2hlY2sgaW5wdXQgeyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyB9XG4uZGgtbGlua2lucHV0IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAycHg7IH1cbi5kaC1jaGlwcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiA4cHg7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBwYWRkaW5nOiAzcHggNHB4OyBtaW4taGVpZ2h0OiAzNHB4OyB9XG4uZGgtY2hpcHM6Zm9jdXMtd2l0aGluIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYWNjZW50LXNvZnQpOyB9XG4uZGgtY2hpcCB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBib3JkZXItcmFkaXVzOiA5OTlweDsgZm9udC1zaXplOiAxM3B4OyBsaW5lLWhlaWdodDogMTsgfVxuLmRoLWNoaXAtbmFtZSB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgY29sb3I6IGluaGVyaXQ7IHBhZGRpbmc6IDVweCA0cHggNXB4IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udDogaW5oZXJpdDsgfVxuc3Bhbi5kaC1jaGlwLW5hbWUgeyBjdXJzb3I6IGRlZmF1bHQ7IHBhZGRpbmctcmlnaHQ6IDJweDsgfVxuLmRoLWNoaXAteCB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgY29sb3I6IGluaGVyaXQ7IG9wYWNpdHk6IC42OyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDRweCA4cHggNHB4IDRweDsgZm9udC1zaXplOiAxNHB4OyB9XG4uZGgtY2hpcC14OmhvdmVyIHsgb3BhY2l0eTogMTsgfVxuLmRoLWFkZCB7IGJvcmRlcjogMCAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IGZsZXg6IDE7IG1pbi13aWR0aDogOTBweDsgcGFkZGluZzogNHB4IDZweCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuLmRoLXJhdyB7IGZvbnQtc2l6ZTogMTIuNXB4OyB9XG4uZGgtcmF3IGNvZGUgeyBmb250LWZhbWlseTogdmFyKC0tbW9ubyk7IH1cbmJvZHkuZm9jdXMtbW9kZSAuZG9jaGVhZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLSBOZXUtRGlhbG9nIC0tLS0tLS0tLS0gKi9cbi5uZXctdHlwZXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4ubmV3LXR5cGUgeyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBwYWRkaW5nOiA2cHggMTJweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXNpemU6IDEzLjVweDsgfVxuLm5ldy10eXBlW2FyaWEtY2hlY2tlZD1cInRydWVcIl0geyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQtaW5rKTsgfVxuLm5ldy1maWVsZHMgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDEwcHg7IH1cbi5uZXctcGF0aCB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgbWluLWhlaWdodDogMS40ZW07IH1cbi5uZXctcGF0aC53YXJuIHsgY29sb3I6IHZhcigtLXdhcm4pOyB9XG5cbi8qIC0tLS0tLS0tLS0gQmFuZC1cdTAwRENiZXJzaWNodCAtLS0tLS0tLS0tICovXG4uYm9hcmQgLnBhZ2UtaGVhZCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5ib2FyZC10aXRsZSBoMSB7IG1hcmdpbjogMDsgfVxuLmJvYXJkLXRpdGxlIHAgeyBtYXJnaW46IDRweCAwIDA7IH1cbi5ib2FyZC1zdGF0dXMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGdhcDogNnB4OyB9XG4uYm9hcmQtc2Nyb2xsIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuLmJvYXJkLXRhYmxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuLmJvYXJkLXRhYmxlIC5ncmlwIHsgY3Vyc29yOiBncmFiOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB3aWR0aDogMThweDsgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbi5ib2FyZC10YWJsZSAudGl0bGUgYSB7IGNvbG9yOiB2YXIoLS1pbmspOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5ib2FyZC10YWJsZSAudGl0bGUgYTpob3ZlciB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuLmJvYXJkLXRhYmxlIHNlbGVjdC5pbnB1dCB7IHBhZGRpbmc6IDNweCA2cHg7IGZvbnQtc2l6ZTogMTNweDsgd2lkdGg6IGF1dG87IH1cbi5ib2FyZC10YWJsZSAubW92ZXMgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uYm9hcmQtdGFibGUgLm1vdmVzIC5pY29uLWJ0biB7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IGZvbnQtc2l6ZTogMTVweDsgb3BhY2l0eTogLjQ1OyB9XG4uYm9hcmQtcm93OmhvdmVyIC5tb3ZlcyAuaWNvbi1idG4sIC5ib2FyZC1yb3c6Zm9jdXMtd2l0aGluIC5tb3ZlcyAuaWNvbi1idG4geyBvcGFjaXR5OiAxOyB9XG5AbWVkaWEgKGhvdmVyOiBub25lKSB7IC5ib2FyZC10YWJsZSAubW92ZXMgLmljb24tYnRuIHsgb3BhY2l0eTogLjg7IH0gfVxuLmJvYXJkLXJvdy5kcmFnZ2luZyB7IG9wYWNpdHk6IC40NTsgfVxuLmJvYXJkLXJvdy5kcm9wLWJlZm9yZSB0ZCB7IGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDAgdmFyKC0tYWNjZW50KTsgfVxuLmJvYXJkLXJvdy5kcm9wLWFmdGVyIHRkIHsgYm94LXNoYWRvdzogaW5zZXQgMCAtMnB4IDAgdmFyKC0tYWNjZW50KTsgfVxuXG4vKiAtLS0tLS0tLS0tIEZpZ3VyZW4gLyBPcnRlIC0tLS0tLS0tLS0gKi9cbi5jYXN0LXNlY3Rpb24gaDIgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXNpemU6IDIwcHg7IG1hcmdpbjogOHB4IDAgMTBweDsgfVxuLmNhc3Qtb3duZXIgeyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6IC42ZW07IH1cbi5jYXN0LWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNjBweCwgMWZyKSk7IGdhcDogMTJweDsgfVxuLmNhc3QtY2FyZCB7IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogMTJweDsgcGFkZGluZzogMTJweCAxNHB4OyBkaXNwbGF5OiBncmlkOyBnYXA6IDZweDsgYWxpZ24tY29udGVudDogc3RhcnQ7IH1cbi5jYXN0LWNhcmQgaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGZsZXgtd3JhcDogd3JhcDsgfVxuLmNhc3QtbmFtZSB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogMDsgY29sb3I6IHZhcigtLWluayk7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi5jYXN0LXN1YiB7IG1hcmdpbjogMDsgZm9udC1zaXplOiAxM3B4OyB9XG4uY2FzdC1zdW1tYXJ5IHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEzLjVweDsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgfVxuLmNhc3QtaGl0cyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZvbnQtc2l6ZTogMTIuNXB4OyB9XG4uY2FzdC1jaCB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogMXB4IDdweDsgY3Vyc29yOiBwb2ludGVyOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBmb250LXNpemU6IDEyLjVweDsgfVxuLmNhc3QtY2gucG92IHsgZm9udC13ZWlnaHQ6IDcwMDsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuXG5AbWVkaWEgcHJpbnQgeyAuZG9jaGVhZCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLmRoLWJhciB7IHBhZGRpbmc6IDRweCAxMHB4OyBnYXA6IDZweDsgfVxuICAuZGgtdHlwZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRoLXRhYiB7IHBhZGRpbmc6IDZweCAxMHB4OyB9XG4gIC5kaC1zdGF0dXMgeyBtYXgtd2lkdGg6IDEyMHB4OyB9XG4gIC5kaC1mb3JtIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBtYXgtaGVpZ2h0OiA1MHZoOyB9XG4gIC5ib2FyZC10YWJsZSAuYWt0LCAuYm9hcmQtdGFibGUgLnBvdiwgLmJvYXJkLXRhYmxlIC5ncmlwIHsgZGlzcGxheTogbm9uZTsgfVxuICAuYm9hcmQtc3ViIHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgbWF4LXdpZHRoOiBub25lOyBkaXNwbGF5OiAtd2Via2l0LWJveDsgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG4gIC5ib2FyZC10YWJsZSAuYmFyIHsgbWluLXdpZHRoOiA1MHB4OyB9XG4gIC5ib2FyZC10YWJsZSB7IHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgLmJvYXJkLXRhYmxlIHRoLm5yIHsgd2lkdGg6IDMwcHg7IH1cbiAgLmJvYXJkLXRhYmxlIHRoLnN0IHsgd2lkdGg6IDEwNHB4OyB9XG4gIC5ib2FyZC10YWJsZSB0aC53b3JkcyB7IHdpZHRoOiA2NHB4OyB9XG4gIC5ib2FyZC10YWJsZSB0aC5tb3ZlcyB7IHdpZHRoOiA2MnB4OyB9XG4gIC5ib2FyZC10YWJsZSBzZWxlY3QuaW5wdXQgeyB3aWR0aDogMTAwJTsgfVxuICAuYm9hcmQtdGFibGUgdGQubnVtIC5tdXRlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbi5ib2FyZC1zdWIgeyBmb250LXNpemU6IDEyLjVweDsgbWF4LXdpZHRoOiAzNGVtOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuLmRoLWZpZWxkLXN0YXR1cyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5kaC1zdGF0dXMgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5kaC1maWVsZC1zdGF0dXMgeyBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7IH1cbiAgLmRoLWJhciB7IG1pbi1oZWlnaHQ6IDQwcHg7IH1cbn1cblxuLyogLS0tLS0tLS0tLSBaaWVoZW4gaW0gRGF0ZWliYXVtIC0tLS0tLS0tLS0gKi9cbi5zaWRlLXN3aXRjaC13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4udHJlZS1yb290LWRyb3AgeyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwIDEwcHggOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYm9yZGVyOiAxLjVweCBkYXNoZWQgdmFyKC0tbXV0ZWQpOyBib3JkZXItcmFkaXVzOiA5cHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBmb250LXNpemU6IDEyLjVweDsgfVxuYm9keS50cmVlLWRyYWdnaW5nIC50cmVlLXJvb3QtZHJvcCB7IGRpc3BsYXk6IGZsZXg7IH1cbi50cmVlIC5yb3cuZHJvcC10YXJnZXQsIC50cmVlLXJvb3QtZHJvcC5kcm9wLXRhcmdldCB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLWFjY2VudCk7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDEuNXB4IHZhcigtLWFjY2VudCk7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLnRyZWUgLnJvd1tkcmFnZ2FibGU9XCJ0cnVlXCJdIHsgLXdlYmtpdC11c2VyLWRyYWc6IGVsZW1lbnQ7IH1cbi5wbGFjZS1mb2xkZXIgeyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4uY29uZmlybS1uYW1lIHsgdXNlci1zZWxlY3Q6IGFsbDsgfVxuLnRyZWUuZHJvcC10YXJnZXQgeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1hY2NlbnQpOyBib3JkZXItcmFkaXVzOiA4cHg7IH1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQTtBQUNFLFFBQU07QUFDTixhQUFXO0FBQ1gsVUFBUTtBQUNSLFNBQU87QUFDUCxjQUFZO0FBQ1osV0FBUztBQUNULFVBQVE7QUFDUixZQUFVO0FBQ1YsZ0JBQWM7QUFDZCxpQkFBZTtBQUNmLFVBQVE7QUFDUixRQUFNO0FBQ04sYUFBVztBQUNYLFVBQVE7QUFDUixlQUFhO0FBQ2IsU0FBTztBQUNQLGNBQVk7QUFDWixZQUFVLEVBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDdkM7QUFBQSxJQUFNLFNBQVM7QUFBQSxJQUFFLGFBQWE7QUFBQSxJQUFFLFVBQVU7QUFBQSxJQUFFLE1BQU07QUFBQSxJQUFFLGdCQUFnQjtBQUFBLElBQUUsS0FBSztBQUFBLElBQUU7QUFDN0U7QUFBQSxJQUFTLGlCQUFpQjtBQUFBLElBQUUsU0FBUztBQUFBLElBQUUsbUJBQW1CO0FBQUEsSUFBRSxZQUFZO0FBQUEsSUFBRSxPQUFPO0FBQUEsSUFBRSxPQUFPO0FBQUEsSUFBRTtBQUM1RjtBQUFBLElBQVEsWUFBWTtBQUFBLElBQUUsU0FBUztBQUFBLElBQUUsS0FBSztBQUFBLElBQUUsUUFBUTtBQUFBLElBQUU7QUFDbEQsU0FBTyxLQUFLLEtBQUssRUFBRSxJQUFJLG1CQUFtQixFQUFFO0FBQzVDLGlCQUFlO0FBQ2YsZ0JBQWM7QUFDaEI7QUFDQSxRQUFPLHNCQUF1QjtBQUM1QjtBQUNFLFVBQU07QUFBUyxlQUFXO0FBQVMs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 */
