/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --font-weight-bold: 700;
    --ease-in: cubic-bezier(0.4, 0, 1, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-font-feature-settings: var(--font-sans--font-feature-settings);
    --default-font-variation-settings: var(
      --font-sans--font-variation-settings
    );
    --default-mono-font-family: var(--font-mono);
    --default-mono-font-feature-settings: var(
      --font-mono--font-feature-settings
    );
    --default-mono-font-variation-settings: var(
      --font-mono--font-variation-settings
    );
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var( --default-font-variation-settings, normal );
    -webkit-tap-highlight-color: transparent;
  }
  body {
    line-height: inherit;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var( --default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace );
    font-feature-settings: var( --default-mono-font-feature-settings, normal );
    font-variation-settings: var( --default-mono-font-variation-settings, normal );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
    color: color-mix(in oklab, currentColor 50%, transparent);
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .tab {
    position: relative;
    display: inline-flex;
    cursor: pointer;
    appearance: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    webkit-user-select: none;
    user-select: none;
    &:hover {
      @media (hover: hover) {
        color: var(--color-base-content);
      }
    }
    --tab-p: 1rem;
    --tab-bg: var(--color-base-100);
    --tab-border-color: var(--color-base-300);
    --tab-radius-ss: 0;
    --tab-radius-se: 0;
    --tab-radius-es: 0;
    --tab-radius-ee: 0;
    --tab-order: 0;
    --tab-radius-min: calc(0.75rem - var(--border));
    border-color: #0000;
    order: var(--tab-order);
    height: calc(var(--size-field, 0.25rem) * 10);
    font-size: 0.875rem;
    padding-inline-start: var(--tab-p);
    padding-inline-end: var(--tab-p);
    &:is(input[type="radio"]) {
      min-width: fit-content;
      &:after {
        content: attr(aria-label);
      }
    }
    &:is(label) {
      position: relative;
      input {
        position: absolute;
        inset: calc(0.25rem * 0);
        cursor: pointer;
        appearance: none;
        opacity: 0%;
      }
    }
    &:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"]) {
      & + .tab-content {
        display: block;
        height: 100%;
      }
    }
    &:not(:checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"]) {
      color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
    }
    &:not(input):empty {
      flex-grow: 1;
      cursor: default;
    }
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
      @media (forced-colors: active) {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
    &:focus-visible, &:is(label:has(:checked:focus-visible)) {
      outline: 2px solid currentColor;
      outline-offset: -5px;
    }
    &[disabled] {
      pointer-events: none;
      opacity: 40%;
    }
  }
  .btn {
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: calc(0.25rem * 1.5);
    text-align: center;
    vertical-align: middle;
    outline-offset: 2px;
    webkit-user-select: none;
    user-select: none;
    padding-inline: var(--btn-p);
    color: var(--btn-fg);
    --tw-prose-links: var(--btn-fg);
    height: var(--size);
    font-size: var(--fontsize, 0.875rem);
    font-weight: 600;
    outline-color: var(--btn-color, var(--color-base-content));
    transition-property: color, background-color, border-color, box-shadow;
    transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition-duration: 0.2s;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-color: var(--btn-bg);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--btn-noise);
    border-width: var(--border);
    border-style: solid;
    border-color: var(--btn-border);
    text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
    box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
    --size: calc(var(--size-field, 0.25rem) * 10);
    --btn-bg: var(--btn-color, var(--color-base-200));
    --btn-fg: var(--color-base-content);
    --btn-p: 1rem;
    --btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
    --btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
    0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
    --btn-noise: var(--fx-noise);
    .prose & {
      text-decoration-line: none;
    }
    @media (hover: hover) {
      &:hover {
        --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      }
    }
    &:focus-visible {
      outline-width: 2px;
      outline-style: solid;
    }
    &:active:not(.btn-active) {
      translate: 0 0.5px;
      --btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
      --btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
      --btn-shadow: 0 0 0 0 rgba(0, 0, 0, 0), 0 0 0 0 rgba(0, 0, 0, 0);
    }

@supports (color: oklab(0% 0 0%)){
&:active:not(.btn-active) {
      --btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
    }
}
    &:is(:disabled, [disabled], .btn-disabled) {
      &:not(.btn-link, .btn-ghost) {
        background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
        box-shadow: none;
      }
      pointer-events: none;
      --btn-border: #0000;
      --btn-noise: none;
      --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
      @media (hover: hover) {
        &:hover {
          pointer-events: none;
          background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
          --btn-border: #0000;
          --btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
        }
      }
    }
    &:is(input[type="checkbox"], input[type="radio"]) {
      appearance: none;
      &::after {
        content: attr(aria-label);
      }
    }
    &:where(input:checked:not(.filter .btn)) {
      --btn-color: var(--color-primary);
      --btn-fg: var(--color-primary-content);
      isolation: isolate;
    }
  }
  .loading {
    pointer-events: none;
    display: inline-block;
    aspect-ratio: 1 / 1;
    background-color: currentColor;
    vertical-align: middle;
    width: calc(var(--size-selector, 0.25rem) * 6);
    mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
  }
  .validator {
    &:user-valid, &:has(:user-valid) {
      &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
        --input-color: var(--color-success);
      }
    }
    &:user-invalid, &:has(:user-invalid) {
      &, &:focus, &:checked, &[aria-checked="true"], &:focus-within {
        --input-color: var(--color-error);
      }
      & ~ .validator-hint {
        visibility: visible;
        display: block;
        color: var(--color-error);
      }
    }
    & ~ .validator-hint {
      visibility: hidden;
    }
  }
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .toggle {
    border: var(--border) solid currentColor;
    color: var(--input-color);
    position: relative;
    display: inline-grid;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    place-content: center;
    vertical-align: middle;
    webkit-user-select: none;
    user-select: none;
    grid-template-columns: 0fr 1fr 1fr;
    --radius-selector-max: calc(
    var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
  );
    border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
    padding: var(--toggle-p);
    box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
    transition: color 0.3s, grid-template-columns 0.2s;
    --input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
    --toggle-p: 0.1875rem;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
    height: var(--size);
    > * {
      z-index: 1;
      grid-column: span 1 / span 1;
      grid-column-start: 2;
      grid-row-start: 1;
      height: 100%;
      cursor: pointer;
      appearance: none;
      background-color: transparent;
      padding: calc(0.25rem * 0.5);
      transition: opacity 0.2s, rotate 0.4s;
      border: none;
      &:focus {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:nth-child(2) {
        color: var(--color-base-100);
        rotate: 0deg;
      }
      &:nth-child(3) {
        color: var(--color-base-100);
        opacity: 0%;
        rotate: -15deg;
      }
    }
    &:has(:checked) {
      > :nth-child(2) {
        opacity: 0%;
        rotate: 15deg;
      }
      > :nth-child(3) {
        opacity: 100%;
        rotate: 0deg;
      }
    }
    &:before {
      position: relative;
      inset-inline-start: calc(0.25rem * 0);
      grid-column-start: 2;
      grid-row-start: 1;
      aspect-ratio: 1 / 1;
      height: 100%;
      border-radius: var(--radius-selector);
      background-color: currentColor;
      translate: 0;
      --tw-content: "";
      content: var(--tw-content);
      transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    @media (forced-colors: active) {
      &:before {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
        outline-offset: calc(1px * -1);
      }
    }
    @media print {
      &:before {
        outline: 0.25rem solid;
        outline-offset: -1rem;
      }
    }
    &:focus-visible, &:has(:focus-visible) {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"], &:has(> input:checked) {
      grid-template-columns: 1fr 1fr 0fr;
      background-color: var(--color-base-100);
      --input-color: var(--color-base-content);
      &:before {
        background-color: currentColor;
      }
      @starting-style {
        &:before {
          opacity: 0;
        }
      }
    }
    &:indeterminate {
      grid-template-columns: 0.5fr 1fr 0.5fr;
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 30%;
      &:before {
        background-color: transparent;
        border: var(--border) solid currentColor;
      }
    }
  }
  .input {
    cursor: text;
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 2);
    background-color: var(--color-base-100);
    padding-inline: calc(0.25rem * 3);
    vertical-align: middle;
    white-space: nowrap;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    border-color: var(--input-color);
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-field, 0.25rem) * 10);
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    &:where(input) {
      display: inline-flex;
    }
    :where(input) {
      display: inline-flex;
      height: 100%;
      width: 100%;
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }
    &:has(> input[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      box-shadow: none;
    }
    &:has(> input[disabled]) > input[disabled] {
      cursor: not-allowed;
    }
    &::-webkit-date-and-time-value {
      text-align: inherit;
    }
    &[type="number"] {
      &::-webkit-inner-spin-button {
        margin-block: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * -3);
      }
    }
    &::-webkit-calendar-picker-indicator {
      position: absolute;
      inset-inline-end: 0.75em;
    }
  }
  .table {
    font-size: 0.875rem;
    position: relative;
    width: 100%;
    border-radius: var(--radius-box);
    text-align: left;
    &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
      text-align: right;
    }
    tr.row-hover {
      &, &:nth-child(even) {
        &:hover {
          @media (hover: hover) {
            background-color: var(--color-base-200);
          }
        }
      }
    }
    :where(th, td) {
      padding-inline: calc(0.25rem * 4);
      padding-block: calc(0.25rem * 3);
      vertical-align: middle;
    }
    :where(thead, tfoot) {
      white-space: nowrap;
      color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
      font-size: 0.875rem;
      font-weight: 600;
    }
    :where(tfoot) {
      border-top: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
    }
    :where(.table-pin-rows thead tr) {
      position: sticky;
      top: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-rows tfoot tr) {
      position: sticky;
      bottom: calc(0.25rem * 0);
      z-index: 1;
      background-color: var(--color-base-100);
    }
    :where(.table-pin-cols tr th) {
      position: sticky;
      right: calc(0.25rem * 0);
      left: calc(0.25rem * 0);
      background-color: var(--color-base-100);
    }
    :where(thead tr, tbody tr:not(:last-child)) {
      border-bottom: var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000);
    }
  }
  .steps {
    display: inline-grid;
    grid-auto-flow: column;
    overflow: hidden;
    overflow-x: auto;
    counter-reset: step;
    grid-auto-columns: 1fr;
    .step {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      grid-template-columns: auto;
      grid-template-rows: repeat(2, minmax(0, 1fr));
      grid-template-rows: 40px 1fr;
      place-items: center;
      text-align: center;
      min-width: 4rem;
      --step-bg: var(--color-base-300);
      --step-fg: var(--color-base-content);
      &:before {
        top: calc(0.25rem * 0);
        grid-column-start: 1;
        grid-row-start: 1;
        height: calc(0.25rem * 2);
        width: 100%;
        border: 1px solid;
        color: var(--step-bg);
        background-color: var(--step-bg);
        --tw-content: "";
        content: var(--tw-content);
        margin-inline-start: -100%;
      }
      > .step-icon, &:not(:has(.step-icon)):after {
        content: counter(step);
        counter-increment: step;
        z-index: 1;
        color: var(--step-fg);
        background-color: var(--step-bg);
        border: 1px solid var(--step-bg);
        position: relative;
        grid-column-start: 1;
        grid-row-start: 1;
        display: grid;
        height: calc(0.25rem * 8);
        width: calc(0.25rem * 8);
        place-items: center;
        place-self: center;
        border-radius: calc(infinity * 1px);
      }
      &:first-child:before {
        content: none;
      }
      &[data-content]:after {
        content: attr(data-content);
      }
    }
    .step-neutral {
      + .step-neutral:before, &:after, > .step-icon {
        --step-bg: var(--color-neutral);
        --step-fg: var(--color-neutral-content);
      }
    }
    .step-primary {
      + .step-primary:before, &:after, > .step-icon {
        --step-bg: var(--color-primary);
        --step-fg: var(--color-primary-content);
      }
    }
    .step-secondary {
      + .step-secondary:before, &:after, > .step-icon {
        --step-bg: var(--color-secondary);
        --step-fg: var(--color-secondary-content);
      }
    }
    .step-accent {
      + .step-accent:before, &:after, > .step-icon {
        --step-bg: var(--color-accent);
        --step-fg: var(--color-accent-content);
      }
    }
    .step-info {
      + .step-info:before, &:after, > .step-icon {
        --step-bg: var(--color-info);
        --step-fg: var(--color-info-content);
      }
    }
    .step-success {
      + .step-success:before, &:after, > .step-icon {
        --step-bg: var(--color-success);
        --step-fg: var(--color-success-content);
      }
    }
    .step-warning {
      + .step-warning:before, &:after, > .step-icon {
        --step-bg: var(--color-warning);
        --step-fg: var(--color-warning-content);
      }
    }
    .step-error {
      + .step-error:before, &:after, > .step-icon {
        --step-bg: var(--color-error);
        --step-fg: var(--color-error-content);
      }
    }
  }
  .range {
    appearance: none;
    webkit-appearance: none;
    --range-thumb: var(--color-base-100);
    --range-thumb-size: calc(var(--size-selector, 0.25rem) * 6);
    --range-progress: currentColor;
    --range-fill: 1;
    --range-p: 0.25rem;
    --range-bg: color-mix(in oklab, currentColor 10%, #0000);
    cursor: pointer;
    overflow: hidden;
    background-color: transparent;
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    --radius-selector-max: calc(
    var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
  );
    border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
    border: none;
    height: var(--range-thumb-size);
    [dir="rtl"] & {
      --range-dir: -1;
    }
    &:focus {
      outline: none;
    }
    &:focus-visible {
      outline: 2px solid;
      outline-offset: 2px;
    }
    &::-webkit-slider-runnable-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
    }
    @media (forced-colors: active) {
      &::-webkit-slider-runnable-track {
        border: 1px solid;
      }
    }
    @media (forced-colors: active) {
      &::-moz-range-track {
        border: 1px solid;
      }
    }
    &::-webkit-slider-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      appearance: none;
      webkit-appearance: none;
      top: 50%;
      color: var(--range-progress);
      transform: translateY(-50%);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &::-moz-range-track {
      width: 100%;
      background-color: var(--range-bg);
      border-radius: var(--radius-selector);
      height: calc(var(--range-thumb-size) * 0.5);
    }
    &::-moz-range-thumb {
      position: relative;
      box-sizing: border-box;
      border-radius: calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));
      background-color: currentColor;
      height: var(--range-thumb-size);
      width: var(--range-thumb-size);
      border: var(--range-p) solid;
      top: 50%;
      color: var(--range-progress);
      box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir, 1) * -100rem) - (var(--range-dir, 1) * var(--range-thumb-size) / 2)) 0 0 calc(100rem * var(--range-fill));
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 30%;
    }
  }
  .swap {
    position: relative;
    display: inline-grid;
    cursor: pointer;
    place-content: center;
    vertical-align: middle;
    webkit-user-select: none;
    user-select: none;
    input {
      appearance: none;
      border: none;
    }
    > * {
      grid-column-start: 1;
      grid-row-start: 1;
      transition-property: transform, rotate, opacity;
      transition-duration: 0.2s;
      transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    .swap-on, .swap-indeterminate, input:indeterminate ~ .swap-on {
      opacity: 0%;
    }
    input:is(:checked, :indeterminate) {
      & ~ .swap-off {
        opacity: 0%;
      }
    }
    input:checked ~ .swap-on, input:indeterminate ~ .swap-indeterminate {
      opacity: 100%;
    }
  }
  .select {
    border: var(--border) solid #0000;
    position: relative;
    display: inline-flex;
    flex-shrink: 1;
    appearance: none;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    background-color: var(--color-base-100);
    padding-inline-start: calc(0.25rem * 4);
    padding-inline-end: calc(0.25rem * 7);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    height: var(--size);
    font-size: 0.875rem;
    border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    background-image: linear-gradient(45deg, #0000 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, #0000 50%);
    background-position: calc(100% - 20px) calc(1px + 50%), calc(100% - 16.1px) calc(1px + 50%);
    background-size: 4px 4px, 4px 4px;
    background-repeat: no-repeat;
    text-overflow: ellipsis;
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    border-color: var(--input-color);
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    --size: calc(var(--size-field, 0.25rem) * 10);
    [dir="rtl"] & {
      background-position: calc(0% + 12px) calc(1px + 50%), calc(0% + 16px) calc(1px + 50%);
    }
    select {
      margin-inline-start: calc(0.25rem * -4);
      margin-inline-end: calc(0.25rem * -7);
      width: calc(100% + 2.75rem);
      appearance: none;
      padding-inline-start: calc(0.25rem * 4);
      padding-inline-end: calc(0.25rem * 7);
      height: calc(100% - 2px);
      background: inherit;
      border-radius: inherit;
      border-style: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
      &:not(:last-child) {
        margin-inline-end: calc(0.25rem * -5.5);
        background-image: none;
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
    }
    &:has(> select[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
    }
    &:has(> select[disabled]) > select[disabled] {
      cursor: not-allowed;
    }
  }
  .checkbox {
    border: var(--border) solid var(--input-color, color-mix(in oklab, var(--color-base-content) 20%, #0000));
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: var(--radius-selector);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    color: var(--color-base-content);
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 0 #0000 inset, 0 0 #0000;
    transition: background-color 0.2s, box-shadow 0.2s;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    background-size: auto, calc(var(--noise) * 100%);
    background-image: none, var(--fx-noise);
    &:before {
      --tw-content: "";
      content: var(--tw-content);
      display: block;
      width: 100%;
      height: 100%;
      rotate: 45deg;
      background-color: currentColor;
      opacity: 0%;
      transition: clip-path 0.3s, opacity 0.1s, rotate 0.3s, translate 0.3s;
      transition-delay: 0.1s;
      clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 70% 80%, 70% 100%);
      box-shadow: 0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
      font-size: 1rem;
      line-height: 0.75;
    }
    &:focus-visible {
      outline: 2px solid var(--input-color, currentColor);
      outline-offset: 2px;
    }
    &:checked, &[aria-checked="true"] {
      background-color: var(--input-color, #0000);
      box-shadow: 0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      &:before {
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 0%, 70% 0%, 70% 100%);
        opacity: 100%;
      }
      @media (forced-colors: active) {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
      @media print {
        &:before {
          rotate: 0deg;
          background-color: transparent;
          --tw-content: "✔︎";
          clip-path: none;
        }
      }
    }
    &:indeterminate {
      &:before {
        rotate: 0deg;
        opacity: 100%;
        translate: 0 -35%;
        clip-path: polygon(20% 100%, 20% 80%, 50% 80%, 50% 80%, 80% 80%, 80% 100%);
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .radio {
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    appearance: none;
    border-radius: calc(infinity * 1px);
    padding: calc(0.25rem * 1);
    vertical-align: middle;
    border: var(--border) solid var(--input-color, color-mix(in srgb, currentColor 20%, #0000));
    box-shadow: 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset;
    --size: calc(var(--size-selector, 0.25rem) * 6);
    width: var(--size);
    height: var(--size);
    color: var(--input-color, currentColor);
    &:before {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: calc(infinity * 1px);
      --tw-content: "";
      content: var(--tw-content);
      background-size: auto, calc(var(--noise) * 100%);
      background-image: none, var(--fx-noise);
    }
    &:focus-visible {
      outline: 2px solid currentColor;
    }
    &:checked, &[aria-checked="true"] {
      animation: radio 0.2s ease-out;
      border-color: currentColor;
      background-color: var(--color-base-100);
      &:before {
        background-color: currentColor;
        box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * 0.1));
      }
      @media (forced-colors: active) {
        &:before {
          outline-style: var(--tw-outline-style);
          outline-width: 1px;
          outline-offset: calc(1px * -1);
        }
      }
      @media print {
        &:before {
          outline: 0.25rem solid;
          outline-offset: -1rem;
        }
      }
    }
    &:disabled {
      cursor: not-allowed;
      opacity: 20%;
    }
  }
  .progress {
    position: relative;
    height: calc(0.25rem * 2);
    width: 100%;
    appearance: none;
    overflow: hidden;
    border-radius: var(--radius-box);
    background-color: color-mix(in oklab, currentColor 20%, transparent);
    color: var(--color-base-content);
    &:indeterminate {
      background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
      background-size: 200%;
      background-position-x: 15%;
      animation: progress 5s ease-in-out infinite;
      @supports (-moz-appearance: none) {
        &::-moz-progress-bar {
          background-color: transparent;
          background-image: repeating-linear-gradient( 90deg, currentColor -1%, currentColor 10%, #0000 10%, #0000 90% );
          background-size: 200%;
          background-position-x: 15%;
          animation: progress 5s ease-in-out infinite;
        }
      }
    }
    @supports (-moz-appearance: none) {
      &::-moz-progress-bar {
        border-radius: var(--radius-box);
        background-color: currentColor;
      }
    }
    @supports (-webkit-appearance: none) {
      &::-webkit-progress-bar {
        border-radius: var(--radius-box);
        background-color: transparent;
      }
      &::-webkit-progress-value {
        border-radius: var(--radius-box);
        background-color: currentColor;
      }
    }
  }
  .absolute {
    position: absolute;
  }
  .static {
    position: static;
  }
  .hero-content {
    isolation: isolate;
    display: flex;
    max-width: 80rem;
    align-items: center;
    justify-content: center;
    gap: calc(0.25rem * 4);
    padding: calc(0.25rem * 4);
  }
  .textarea {
    border: var(--border) solid #0000;
    min-height: calc(0.25rem * 20);
    flex-shrink: 1;
    appearance: none;
    border-radius: var(--radius-field);
    background-color: var(--color-base-100);
    padding-block: calc(0.25rem * 2);
    vertical-align: middle;
    width: clamp(3rem, 20rem, 100%);
    padding-inline-start: 0.75rem;
    padding-inline-end: 0.75rem;
    font-size: 0.875rem;
    border-color: var(--input-color);
    box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
    textarea {
      appearance: none;
      background-color: transparent;
      border: none;
      &:focus, &:focus-within {
        --tw-outline-style: none;
        outline-style: none;
        @media (forced-colors: active) {
          outline: 2px solid transparent;
          outline-offset: 2px;
        }
      }
    }
    &:focus, &:focus-within {
      --input-color: var(--color-base-content);
      box-shadow: 0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000);
      outline: 2px solid var(--input-color);
      outline-offset: 2px;
      isolation: isolate;
    }
    &:has(> textarea[disabled]), &:is(:disabled, [disabled]) {
      cursor: not-allowed;
      border-color: var(--color-base-200);
      background-color: var(--color-base-200);
      color: color-mix(in oklab, var(--color-base-content) 40%, transparent);
      &::placeholder {
        color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
      }
      box-shadow: none;
    }
    &:has(> textarea[disabled]) > textarea[disabled] {
      cursor: not-allowed;
    }
  }
  .tab-content {
    order: var(--tabcontent-order);
    display: none;
    border-color: transparent;
    --tabcontent-radius-ss: 0;
    --tabcontent-radius-se: 0;
    --tabcontent-radius-es: 0;
    --tabcontent-radius-ee: 0;
    --tabcontent-order: 1;
    width: 100%;
    margin: var(--tabcontent-margin);
    border-width: var(--border);
    border-start-start-radius: var(--tabcontent-radius-ss);
    border-start-end-radius: var(--tabcontent-radius-se);
    border-end-start-radius: var(--tabcontent-radius-es);
    border-end-end-radius: var(--tabcontent-radius-ee);
  }
  .hero {
    display: grid;
    width: 100%;
    place-items: center;
    background-size: cover;
    background-position: center;
    & > * {
      grid-column-start: 1;
      grid-row-start: 1;
    }
  }
  .row-span-2 {
    grid-row: span 2 / span 2;
  }
  .m-auto {
    margin: auto;
  }
  .label {
    display: inline-flex;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    white-space: nowrap;
    color: color-mix(in oklab, currentColor 60%, transparent);
    &:has(input) {
      cursor: pointer;
    }
    &:is(.input > *, .select > *) {
      display: flex;
      height: calc(100% - 0.5rem);
      align-items: center;
      padding-inline: calc(0.25rem * 3);
      white-space: nowrap;
      font-size: inherit;
      &:first-child {
        margin-inline-start: calc(0.25rem * -3);
        margin-inline-end: calc(0.25rem * 3);
        border-inline-end: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
      &:last-child {
        margin-inline-start: calc(0.25rem * 3);
        margin-inline-end: calc(0.25rem * -3);
        border-inline-start: var(--border) solid color-mix(in oklab, currentColor 10%, #0000);
      }
    }
  }
  .validator-hint {
    margin-top: calc(0.25rem * 2);
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .fieldset-legend {
    margin-bottom: calc(0.25rem * -1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(0.25rem * 2);
    padding-block: calc(0.25rem * 2);
    color: var(--color-base-content);
    font-weight: 600;
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .carousel-item {
    box-sizing: content-box;
    display: flex;
    flex: none;
    scroll-snap-align: start;
  }
  .status {
    display: inline-block;
    aspect-ratio: 1 / 1;
    width: calc(0.25rem * 2);
    height: calc(0.25rem * 2);
    border-radius: var(--radius-selector);
    background-color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: middle;
    color: color-mix(in oklab, var(--color-black) 30%, transparent);
    background-image: radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 );
    box-shadow: 0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000);
  }
  .tabs {
    display: flex;
    flex-wrap: wrap;
    --tabs-height: auto;
    --tabs-direction: row;
    height: var(--tabs-height);
    flex-direction: var(--tabs-direction);
  }
  .fieldset-label {
    display: flex;
    align-items: center;
    gap: calc(0.25rem * 1.5);
    color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
    &:has(input) {
      cursor: pointer;
    }
  }
  .carousel {
    display: inline-flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  .fieldset {
    display: grid;
    gap: calc(0.25rem * 1.5);
    padding-block: calc(0.25rem * 1);
    font-size: 0.75rem;
    grid-template-columns: 1fr;
    grid-auto-rows: max-content;
  }
  .mask {
    display: inline-block;
    vertical-align: middle;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-18 {
    height: calc(var(--spacing) * 18);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-32 {
    height: calc(var(--spacing) * 32);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-\[1em\] {
    height: 1em;
  }
  .h-auto {
    height: auto;
  }
  .max-h-1\/3 {
    max-height: calc(1/3 * 100%);
  }
  .min-h-96 {
    min-height: calc(var(--spacing) * 96);
  }
  .w-1\/1 {
    width: calc(1/1 * 100%);
  }
  .w-1\/3 {
    width: calc(1/3 * 100%);
  }
  .w-1\/4 {
    width: calc(1/4 * 100%);
  }
  .w-2\/3 {
    width: calc(2/3 * 100%);
  }
  .w-15\/16 {
    width: calc(15/16 * 100%);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-96 {
    width: calc(var(--spacing) * 96);
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .max-w-48 {
    max-width: calc(var(--spacing) * 48);
  }
  .min-w-38 {
    min-width: calc(var(--spacing) * 38);
  }
  .min-w-40 {
    min-width: calc(var(--spacing) * 40);
  }
  .min-w-45 {
    min-width: calc(var(--spacing) * 45);
  }
  .min-w-60 {
    min-width: calc(var(--spacing) * 60);
  }
  .min-w-75 {
    min-width: calc(var(--spacing) * 75);
  }
  .min-w-fit {
    min-width: fit-content;
  }
  .grow {
    flex-grow: 1;
  }
  .transform {
    transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);
  }
  .skeleton {
    border-radius: var(--radius-box);
    background-color: var(--color-base-300);
    @media (prefers-reduced-motion: reduce) {
      transition-duration: 15s;
    }
    will-change: background-position;
    animation: skeleton 1.8s ease-in-out infinite;
    background-image: linear-gradient( 105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100% );
    background-size: 200% auto;
    background-repeat: no-repeat;
    background-position-x: -50%;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-content-center {
    place-content: center;
  }
  .content-center {
    align-content: center;
  }
  .content-start {
    align-content: flex-start;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-16 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-x-3 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-4 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .self-center {
    align-self: center;
  }
  .rounded-box {
    border-radius: var(--radius-box);
  }
  .rounded-box {
    border-radius: var(--radius-box);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-base-200 {
    border-color: var(--color-base-200);
  }
  .border-base-300 {
    border-color: var(--color-base-300);
  }
  .bg-base-200 {
    background-color: var(--color-base-200);
  }
  .fill-base-100 {
    fill: var(--color-base-100);
  }
  .fill-base-content {
    fill: var(--color-base-content);
  }
  .fill-none {
    fill: none;
  }
  .stroke-base-100 {
    stroke: var(--color-base-100);
  }
  .stroke-base-200 {
    stroke: var(--color-base-200);
  }
  .stroke-base-300 {
    stroke: var(--color-base-300);
  }
  .stroke-base-content {
    stroke: var(--color-base-content);
  }
  .object-fill {
    object-fit: fill;
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .text-center {
    text-align: center;
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .text-white {
    color: var(--color-white);
  }
  .opacity-50 {
    opacity: 50%;
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }
  .btn-soft {
    &:not(.btn-active, :hover, :active:focus, :focus-visible, :disabled, [disabled], .btn-disabled) {
      --btn-shadow: "";
      --btn-fg: var(--btn-color, var(--color-base-content));
      --btn-bg: color-mix(
      in oklab,
      var(--btn-color, var(--color-base-content)) 8%,
      var(--color-base-100)
    );
      --btn-border: color-mix(
      in oklab,
      var(--btn-color, var(--color-base-content)) 10%,
      var(--color-base-100)
    );
      --btn-noise: none;
    }
  }
  .btn-xs {
    --fontsize: 0.6875rem;
    --btn-p: 0.5rem;
    --size: calc(var(--size-field, 0.25rem) * 6);
  }
  .btn-success {
    --btn-color: var(--color-success);
    --btn-fg: var(--color-success-content);
  }
  .hover\:bg-base-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-base-300);
      }
    }
  }
  .max-lg\:m-auto {
    @media (width < 64rem) {
      margin: auto;
    }
  }
  .max-md\:bg-base-200 {
    @media (width < 48rem) {
      background-color: var(--color-base-200);
    }
  }
  .md\:w-1\/2 {
    @media (width >= 48rem) {
      width: calc(1/2 * 100%);
    }
  }
  .md\:w-1\/3 {
    @media (width >= 48rem) {
      width: calc(1/3 * 100%);
    }
  }
  .md\:w-1\/4 {
    @media (width >= 48rem) {
      width: calc(1/4 * 100%);
    }
  }
  .md\:w-3\/4 {
    @media (width >= 48rem) {
      width: calc(3/4 * 100%);
    }
  }
  .md\:min-w-60 {
    @media (width >= 48rem) {
      min-width: calc(var(--spacing) * 60);
    }
  }
  .md\:justify-items-start {
    @media (width >= 48rem) {
      justify-items: start;
    }
  }
  .md\:p-4 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 4);
    }
  }
  .md\:pr-30 {
    @media (width >= 48rem) {
      padding-right: calc(var(--spacing) * 30);
    }
  }
  .md\:pl-30 {
    @media (width >= 48rem) {
      padding-left: calc(var(--spacing) * 30);
    }
  }
  .lg\:w-1\/2 {
    @media (width >= 64rem) {
      width: calc(1/2 * 100%);
    }
  }
  .lg\:w-1\/4 {
    @media (width >= 64rem) {
      width: calc(1/4 * 100%);
    }
  }
  .lg\:w-2\/3 {
    @media (width >= 64rem) {
      width: calc(2/3 * 100%);
    }
  }
  .lg\:w-3\/4 {
    @media (width >= 64rem) {
      width: calc(3/4 * 100%);
    }
  }
  .lg\:w-3xl {
    @media (width >= 64rem) {
      width: var(--container-3xl);
    }
  }
  .lg\:w-4\/12 {
    @media (width >= 64rem) {
      width: calc(4/12 * 100%);
    }
  }
  .lg\:w-5\/12 {
    @media (width >= 64rem) {
      width: calc(5/12 * 100%);
    }
  }
  .lg\:max-w-xs {
    @media (width >= 64rem) {
      max-width: var(--container-xs);
    }
  }
  .lg\:flex-row {
    @media (width >= 64rem) {
      flex-direction: row;
    }
  }
  .lg\:space-x-4 {
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-x-reverse: 0;
        margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
        margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
      }
    }
  }
  .lg\:p-4 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 4);
    }
  }
  .lg\:pr-50 {
    @media (width >= 64rem) {
      padding-right: calc(var(--spacing) * 50);
    }
  }
  .lg\:pl-50 {
    @media (width >= 64rem) {
      padding-left: calc(var(--spacing) * 50);
    }
  }
  .xl\:w-2\/3 {
    @media (width >= 80rem) {
      width: calc(2/3 * 100%);
    }
  }
}
.biggest {
  font-size: 2em;
}
.bigger {
  font-size: 1.3em;
}
.big {
  font-size: 1.1em;
}
.standard-size {
  font-size: 1.0em;
}
.small {
  font-size: .9em;
}
.bold {
  font-weight: bold;
}
.bullets {
  list-style: circle;
}
.no-bullets {
  list-style: none;
}
.no-margin {
  margin: 0;
}
.no-padding {
  padding: 0;
}
.invisible {
  max-height: 0;
  visibility: hidden;
}
.left-side {
  float: left;
  margin-left: 6vw;
  margin-top: 2vw;
}
.right-side {
  float: right;
  margin-right: 6vw;
  margin-top: 2vw;
}
.block-centered {
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.is-a-button {
  border-style: outset;
  border-color: rgb(76, 76, 76);
  border-color: oklch(41.54% 0 0);
  align-content: center;
  background-color: rgb(66, 66, 66);
  background-color: oklch(37.77% 0 0);
  display: flex;
  z-index: 10;
  cursor: pointer;
  padding: 1px;
}
.whole-fixed {
  width: 100%;
  position: fixed;
}
.banner {
  background-color: yellow;
  color: black;
  text-align: center;
  padding: 4px;
}
@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 4s linear infinite;
  -moz-animation: rotating 4s linear infinite;
  -ms-animation: rotating 4s linear infinite;
  -o-animation: rotating 4s linear infinite;
  animation: rotating 4s linear infinite;
  transform-box: fill-box;
  transform-origin: center;
  transform: rotate(5deg);
}
.carousel-indicator {
  fill: var(--color-primary);
  stroke-width: 50.0;
  stroke: var(--color-accent);
}
.logo-mask {
  fill: #ffffff;
  stroke-width: .26458;
}
.logo-stripe1 {
  fill: #f00;
  stroke-width: 1.0122;
  stroke: #f00;
}
.logo-stripe2 {
  fill: #f60;
  stroke-width: 1.0122;
  stroke: #f60;
}
.logo-stripe3 {
  fill: #fc0;
  stroke-width: 1.0122;
  stroke: #fc0;
}
.logo-stripe4 {
  fill: #0f0;
  stroke-width: 1.0122;
  stroke: #0f0;
}
.logo-stripe5 {
  fill: #00f;
  stroke-width: 1.0122;
  stroke: #00f;
}
.logo-stripe6 {
  fill: #800080;
  stroke-width: 1.0122;
  stroke: #800080;
}
circle.outercircle {
  fill: none;
  stroke-width: 3;
}
circle#circlefill {
  fill: none;
  stroke-width: 8;
}
circle#recordlabel {
  fill: #f0f;
}
path#wzl {
  stroke-width: .26458;
}
path#wzl-fill {
  stroke-width: 5.1;
}
.vinyl-lines {
  stroke: rgb(16, 24, 40);
  stroke: oklch(0.21 0.034 264.665);
  fill: none;
  stroke-dasharray: 0.5, 0.5;
  stroke-opacity: .82553;
  stroke-width: .24;
}
@layer base {
  :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: rgb(255, 255, 255);
    --color-base-200: rgb(248, 248, 248);
    --color-base-300: rgb(238, 238, 238);
    --color-base-content: rgb(24, 24, 27);
    --color-primary: rgb(66, 42, 213);
    --color-primary-content: rgb(224, 231, 255);
    --color-secondary: rgb(244, 48, 152);
    --color-secondary-content: rgb(249, 228, 240);
    --color-accent: rgb(0, 208, 187);
    --color-accent-content: rgb(8, 77, 73);
    --color-neutral: rgb(9, 9, 11);
    --color-neutral-content: rgb(228, 228, 231);
    --color-info: rgb(0, 185, 250);
    --color-info-content: rgb(4, 46, 73);
    --color-success: rgb(0, 208, 147);
    --color-success-content: rgb(0, 76, 57);
    --color-warning: rgb(246, 185, 0);
    --color-warning-content: rgb(121, 50, 5);
    --color-error: rgb(255, 102, 127);
    --color-error-content: rgb(77, 2, 24);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-primary-content: color(display-p3 0.88303 0.90499 0.99314);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-accent: color(display-p3 0.31249 0.81303 0.73566);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-info: color(display-p3 0.29753 0.71737 0.97216);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success: color(display-p3 0.32762 0.81314 0.58555);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success: oklch(76% 0.177 163.223);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success-content: color(display-p3 0.10867 0.29437 0.22636);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success-content: oklch(37% 0.077 168.94);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-warning: color(display-p3 0.94863 0.72827 0.09463);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-error: color(display-p3 0.94018 0.42824 0.50076);
  }
}

@supports (color: oklab(0% 0 0%)){
:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
  }
}
}
@layer base {
  @media (prefers-color-scheme: dark) {
    :root {
      color-scheme: dark;
      --color-base-100: rgb(29, 35, 42);
      --color-base-200: rgb(25, 30, 36);
      --color-base-300: rgb(21, 25, 30);
      --color-base-content: rgb(243, 248, 255);
      --color-primary: rgb(96, 93, 255);
      --color-primary-content: rgb(237, 241, 254);
      --color-secondary: rgb(244, 48, 152);
      --color-secondary-content: rgb(249, 228, 240);
      --color-accent: rgb(0, 208, 187);
      --color-accent-content: rgb(8, 77, 73);
      --color-neutral: rgb(9, 9, 11);
      --color-neutral-content: rgb(228, 228, 231);
      --color-info: rgb(0, 185, 250);
      --color-info-content: rgb(4, 46, 73);
      --color-success: rgb(0, 208, 147);
      --color-success-content: rgb(0, 76, 57);
      --color-warning: rgb(246, 185, 0);
      --color-warning-content: rgb(121, 50, 5);
      --color-error: rgb(255, 102, 127);
      --color-error-content: rgb(77, 2, 24);
      --radius-selector: 0.5rem;
      --radius-field: 0.25rem;
      --radius-box: 0.5rem;
      --size-selector: 0.25rem;
      --size-field: 0.25rem;
      --border: 1px;
      --depth: 1;
      --noise: 0;
    }

@supports (color: oklab(0% 0 0%)){
:root {
      --color-base-100: oklch(25.33% 0.016 252.42);
      --color-base-200: oklch(23.26% 0.014 253.1);
      --color-base-300: oklch(21.15% 0.012 254.09);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-base-content: color(display-p3 0.95652 0.97291 1);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-base-content: oklch(97.807% 0.029 256.847);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-primary: color(display-p3 0.37512 0.36561 0.96485);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-primary: oklch(58% 0.233 277.117);
      --color-primary-content: oklch(96% 0.018 272.314);
      --color-secondary: oklch(65% 0.241 354.308);
      --color-secondary-content: oklch(94% 0.028 342.258);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-accent: color(display-p3 0.31249 0.81303 0.73566);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-accent: oklch(77% 0.152 181.912);
      --color-accent-content: oklch(38% 0.063 188.416);
      --color-neutral: oklch(14% 0.005 285.823);
      --color-neutral-content: oklch(92% 0.004 286.32);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-info: color(display-p3 0.29753 0.71737 0.97216);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-info: oklch(74% 0.16 232.661);
      --color-info-content: oklch(29% 0.066 243.157);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-success: color(display-p3 0.32762 0.81314 0.58555);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-success: oklch(76% 0.177 163.223);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-success-content: color(display-p3 0.10867 0.29437 0.22636);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-success-content: oklch(37% 0.077 168.94);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-warning: color(display-p3 0.94863 0.72827 0.09463);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-warning: oklch(82% 0.189 84.429);
      --color-warning-content: oklch(41% 0.112 45.904);
    }
}

@supports (color: color(display-p3 0 0 0%)){
:root {
      --color-error: color(display-p3 0.94018 0.42824 0.50076);
    }
}

@supports (color: oklab(0% 0 0%)){
:root {
      --color-error: oklch(71% 0.194 13.428);
      --color-error-content: oklch(27% 0.105 12.094);
    }
}
  }
}
@layer base {
  :root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    color-scheme: light;
    --color-base-100: rgb(255, 255, 255);
    --color-base-200: rgb(248, 248, 248);
    --color-base-300: rgb(238, 238, 238);
    --color-base-content: rgb(24, 24, 27);
    --color-primary: rgb(66, 42, 213);
    --color-primary-content: rgb(224, 231, 255);
    --color-secondary: rgb(244, 48, 152);
    --color-secondary-content: rgb(249, 228, 240);
    --color-accent: rgb(0, 208, 187);
    --color-accent-content: rgb(8, 77, 73);
    --color-neutral: rgb(9, 9, 11);
    --color-neutral-content: rgb(228, 228, 231);
    --color-info: rgb(0, 185, 250);
    --color-info-content: rgb(4, 46, 73);
    --color-success: rgb(0, 208, 147);
    --color-success-content: rgb(0, 76, 57);
    --color-warning: rgb(246, 185, 0);
    --color-warning-content: rgb(121, 50, 5);
    --color-error: rgb(255, 102, 127);
    --color-error-content: rgb(77, 2, 24);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-base-100: oklch(100% 0 0);
    --color-base-200: oklch(98% 0 0);
    --color-base-300: oklch(95% 0 0);
    --color-base-content: oklch(21% 0.006 285.885);
    --color-primary: oklch(45% 0.24 277.023);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-primary-content: color(display-p3 0.88303 0.90499 0.99314);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-primary-content: oklch(93% 0.034 272.788);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-accent: color(display-p3 0.31249 0.81303 0.73566);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-info: color(display-p3 0.29753 0.71737 0.97216);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success: color(display-p3 0.32762 0.81314 0.58555);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success: oklch(76% 0.177 163.223);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success-content: color(display-p3 0.10867 0.29437 0.22636);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-success-content: oklch(37% 0.077 168.94);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-warning: color(display-p3 0.94863 0.72827 0.09463);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-error: color(display-p3 0.94018 0.42824 0.50076);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=light]:checked),[data-theme=light] {
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
  }
}
}
@layer base {
  :root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    color-scheme: dark;
    --color-base-100: rgb(29, 35, 42);
    --color-base-200: rgb(25, 30, 36);
    --color-base-300: rgb(21, 25, 30);
    --color-base-content: rgb(243, 248, 255);
    --color-primary: rgb(96, 93, 255);
    --color-primary-content: rgb(237, 241, 254);
    --color-secondary: rgb(244, 48, 152);
    --color-secondary-content: rgb(249, 228, 240);
    --color-accent: rgb(0, 208, 187);
    --color-accent-content: rgb(8, 77, 73);
    --color-neutral: rgb(9, 9, 11);
    --color-neutral-content: rgb(228, 228, 231);
    --color-info: rgb(0, 185, 250);
    --color-info-content: rgb(4, 46, 73);
    --color-success: rgb(0, 208, 147);
    --color-success-content: rgb(0, 76, 57);
    --color-warning: rgb(246, 185, 0);
    --color-warning-content: rgb(121, 50, 5);
    --color-error: rgb(255, 102, 127);
    --color-error-content: rgb(77, 2, 24);
    --radius-selector: 0.5rem;
    --radius-field: 0.25rem;
    --radius-box: 0.5rem;
    --size-selector: 0.25rem;
    --size-field: 0.25rem;
    --border: 1px;
    --depth: 1;
    --noise: 0;
  }

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-base-100: oklch(25.33% 0.016 252.42);
    --color-base-200: oklch(23.26% 0.014 253.1);
    --color-base-300: oklch(21.15% 0.012 254.09);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-base-content: color(display-p3 0.95652 0.97291 1);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-base-content: oklch(97.807% 0.029 256.847);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-primary: color(display-p3 0.37512 0.36561 0.96485);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-primary: oklch(58% 0.233 277.117);
    --color-primary-content: oklch(96% 0.018 272.314);
    --color-secondary: oklch(65% 0.241 354.308);
    --color-secondary-content: oklch(94% 0.028 342.258);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-accent: color(display-p3 0.31249 0.81303 0.73566);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-accent: oklch(77% 0.152 181.912);
    --color-accent-content: oklch(38% 0.063 188.416);
    --color-neutral: oklch(14% 0.005 285.823);
    --color-neutral-content: oklch(92% 0.004 286.32);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-info: color(display-p3 0.29753 0.71737 0.97216);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-info: oklch(74% 0.16 232.661);
    --color-info-content: oklch(29% 0.066 243.157);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-success: color(display-p3 0.32762 0.81314 0.58555);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-success: oklch(76% 0.177 163.223);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-success-content: color(display-p3 0.10867 0.29437 0.22636);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-success-content: oklch(37% 0.077 168.94);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-warning: color(display-p3 0.94863 0.72827 0.09463);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-warning: oklch(82% 0.189 84.429);
    --color-warning-content: oklch(41% 0.112 45.904);
  }
}

@supports (color: color(display-p3 0 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-error: color(display-p3 0.94018 0.42824 0.50076);
  }
}

@supports (color: oklab(0% 0 0%)){
:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark] {
    --color-error: oklch(71% 0.194 13.428);
    --color-error-content: oklch(27% 0.105 12.094);
  }
}
}
@layer base {
  @property --radialprogress {
    syntax: "<percentage>";
    inherits: true;
    initial-value: 0%;
  }
}
@layer base {
  :root {
    scrollbar-color: color-mix(in oklch, currentColor 35%, #0000) #0000;
  }
}
@layer base {
  :root:has( .modal-open, .modal[open], .modal:target, .modal-toggle:checked, .drawer:not([class*="drawer-open"]) > .drawer-toggle:checked ) {
    overflow: hidden;
  }
}
@layer base {
  :root,
[data-theme] {
    background-color: var(--root-bg, var(--color-base-100));
    color: var(--color-base-content);
  }
}
@layer base {
  :root {
    --fx-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");
  }
  .chat {
    --mask-chat: url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");
  }
}
@layer base {
  :where(
  :root:has(
      .modal-open,
      .modal[open],
      .modal:target,
      .modal-toggle:checked,
      .drawer:not(.drawer-open) > .drawer-toggle:checked
    )
) {
    scrollbar-gutter: stable;
    background-image: linear-gradient(var(--color-base-100), var(--color-base-100));
    --root-bg: color-mix(in srgb, var(--color-base-100), rgb(0, 0, 0) 40%);
  }

@supports (color: color-mix(in lch, red, blue)) and (color: oklab(0% 0 0%)){
:where(
  :root:has(
      .modal-open,
      .modal[open],
      .modal:target,
      .modal-toggle:checked,
      .drawer:not(.drawer-open) > .drawer-toggle:checked
    )
) {
    --root-bg: color-mix(in srgb, var(--color-base-100), oklch(0% 0 0) 40%);
  }
}
}
@keyframes skeleton {
  0% {
    background-position: 150%;
  }
  100% {
    background-position: -50%;
  }
}
@keyframes progress {
  50% {
    background-position-x: -115%;
  }
}
@keyframes radio {
  0% {
    padding: 5px;
  }
  50% {
    padding: 3px;
  }
}
@keyframes dropdown {
  0% {
    opacity: 0;
  }
}
@keyframes rating {
  0%, 40% {
    scale: 1.1;
    filter: brightness(1.05) contrast(1.05);
  }
}
@keyframes toast {
  0% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    scale: 1;
    opacity: 1;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
  initial-value: rotateX(0);
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
  initial-value: rotateY(0);
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
  initial-value: rotateZ(0);
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
  initial-value: skewX(0);
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
  initial-value: skewY(0);
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}

/*# sourceMappingURL=data:application/json;base64,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O0lBQ0UsVUFBVTtJQUNWLHVDQUF1QztFQUN6QztBQUNGO0FBQ0E7RUFDRTtJQUNFLFVBQVU7SUFDVixVQUFVO0VBQ1o7RUFDQTtJQUNFLFFBQVE7SUFDUixVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZix5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0VBQ2YseUJBQXlCO0FBQzNCO0FBQ0E7RUFDRSxXQUFXO0VBQ1gsZUFBZTtFQUNmLHlCQUF5QjtBQUMzQjtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZix1QkFBdUI7QUFDekI7QUFDQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0VBQ2YsdUJBQXVCO0FBQ3pCO0FBQ0E7RUFDRSxXQUFXO0VBQ1gsZUFBZTtFQUNmLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZixnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0VBQ2Ysb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSxXQUFXO0VBQ1gsZUFBZTtBQUNqQjtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7QUFDakIiLCJmaWxlIjoicG9zdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgdGFpbHdpbmRjc3MgdjQuMC4xNCB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20gKi9cbkBsYXllciB0aGVtZSwgYmFzZSwgY29tcG9uZW50cywgdXRpbGl0aWVzO1xuQGxheWVyIHRoZW1lIHtcbiAgOnJvb3QsIDpob3N0IHtcbiAgICAtLWZvbnQtc2FuczogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsXG4gICAgICBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIixcbiAgICAgIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIC0tY29sb3ItYmxhY2s6ICMwMDA7XG4gICAgLS1jb2xvci13aGl0ZTogI2ZmZjtcbiAgICAtLXNwYWNpbmc6IDAuMjVyZW07XG4gICAgLS1jb250YWluZXIteHM6IDIwcmVtO1xuICAgIC0tY29udGFpbmVyLTN4bDogNDhyZW07XG4gICAgLS10ZXh0LXhzOiAwLjc1cmVtO1xuICAgIC0tdGV4dC14cy0tbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDAuNzUpO1xuICAgIC0tdGV4dC1zbTogMC44NzVyZW07XG4gICAgLS10ZXh0LXNtLS1saW5lLWhlaWdodDogY2FsYygxLjI1IC8gMC44NzUpO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAgIC0tZWFzZS1pbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7XG4gICAgLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgIC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAtLWRlZmF1bHQtZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XG4gICAgLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tZm9udC1zYW5zLS1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xuICAgIC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5nczogdmFyKFxuICAgICAgLS1mb250LXNhbnMtLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzXG4gICAgKTtcbiAgICAtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICAtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcihcbiAgICAgIC0tZm9udC1tb25vLS1mb250LWZlYXR1cmUtc2V0dGluZ3NcbiAgICApO1xuICAgIC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiB2YXIoXG4gICAgICAtLWZvbnQtbW9uby0tZm9udC12YXJpYXRpb24tc2V0dGluZ3NcbiAgICApO1xuICB9XG59XG5AbGF5ZXIgYmFzZSB7XG4gICosIDo6YWZ0ZXIsIDo6YmVmb3JlLCA6OmJhY2tkcm9wLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgfVxuICBodG1sLCA6aG9zdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgZm9udC1mYW1pbHk6IHZhciggLS1kZWZhdWx0LWZvbnQtZmFtaWx5LCB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiApO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IHZhciggLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBub3JtYWwgKTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG4gIGhyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICB9XG4gIGFiYnI6d2hlcmUoW3RpdGxlXSkge1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB9XG4gIGIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICBjb2RlLCBrYmQsIHNhbXAsIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhciggLS1kZWZhdWx0LW1vbm8tZm9udC1mYW1pbHksIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSApO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKCAtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3MsIG5vcm1hbCApO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiB2YXIoIC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBub3JtYWwgKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cbiAgc3ViLCBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuICB0YWJsZSB7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBhdXRvO1xuICB9XG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG4gIG9sLCB1bCwgbWVudSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBpbWcsIHN2ZywgdmlkZW8sIGNhbnZhcywgYXVkaW8sIGlmcmFtZSwgZW1iZWQsIG9iamVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBpbWcsIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgb3B0Z3JvdXAsIHRleHRhcmVhLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLCBbc2l6ZV0pKSBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICA6d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sIFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIH1cbiAgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgfVxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRDb2xvciA1MCUsIHRyYW5zcGFyZW50KTtcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgbWluLWhlaWdodDogMWxoO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxkIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICB9XG4gIDotbW96LXVpLWludmFsaWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgYnV0dG9uLCBpbnB1dDp3aGVyZShbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0pLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBidXR0b247XG4gIH1cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBbaGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49XCJ1bnRpbC1mb3VuZFwiXSkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBsYXllciB1dGlsaXRpZXMge1xuICAudGFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICAtLXRhYi1wOiAxcmVtO1xuICAgIC0tdGFiLWJnOiB2YXIoLS1jb2xvci1iYXNlLTEwMCk7XG4gICAgLS10YWItYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTMwMCk7XG4gICAgLS10YWItcmFkaXVzLXNzOiAwO1xuICAgIC0tdGFiLXJhZGl1cy1zZTogMDtcbiAgICAtLXRhYi1yYWRpdXMtZXM6IDA7XG4gICAgLS10YWItcmFkaXVzLWVlOiAwO1xuICAgIC0tdGFiLW9yZGVyOiAwO1xuICAgIC0tdGFiLXJhZGl1cy1taW46IGNhbGMoMC43NXJlbSAtIHZhcigtLWJvcmRlcikpO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDA7XG4gICAgb3JkZXI6IHZhcigtLXRhYi1vcmRlcik7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNpemUtZmllbGQsIDAuMjVyZW0pICogMTApO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXRhYi1wKTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXRhYi1wKTtcbiAgICAmOmlzKGlucHV0W3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmlzKGxhYmVsKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IGNhbGMoMC4yNXJlbSAqIDApO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQsICY6aXMobGFiZWw6aGFzKDpjaGVja2VkKSksICY6aXMoLnRhYi1hY3RpdmUsIFthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSkge1xuICAgICAgJiArIC50YWItY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICY6bm90KDpjaGVja2VkLCBsYWJlbDpoYXMoOmNoZWNrZWQpLCA6aG92ZXIsIC50YWItYWN0aXZlLCBbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0pIHtcbiAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgICY6bm90KGlucHV0KTplbXB0eSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlLCAmOmlzKGxhYmVsOmhhcyg6Y2hlY2tlZDpmb2N1cy12aXNpYmxlKSkge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtNXB4O1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDQwJTtcbiAgICB9XG4gIH1cbiAgLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDAuMjVyZW0gKiAxLjUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1idG4tcCk7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1mZyk7XG4gICAgLS10dy1wcm9zZS1saW5rczogdmFyKC0tYnRuLWZnKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udHNpemUsIDAuODc1cmVtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG91dGxpbmUtY29sb3I6IHZhcigtLWJ0bi1jb2xvciwgdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1qb2luLXNzLCB2YXIoLS1yYWRpdXMtZmllbGQpKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tam9pbi1zZSwgdmFyKC0tcmFkaXVzLWZpZWxkKSk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLWpvaW4tZXMsIHZhcigtLXJhZGl1cy1maWVsZCkpO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tam9pbi1lZSwgdmFyKC0tcmFkaXVzLWZpZWxkKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWJnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8sIGNhbGModmFyKC0tbm9pc2UpICogMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSwgdmFyKC0tYnRuLW5vaXNlKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1ib3JkZXIpO1xuICAgIHRleHQtc2hhZG93OiAwIDAuNXB4IG9rbGNoKDEwMCUgMCAwIC8gY2FsYyh2YXIoLS1kZXB0aCkgKiAwLjE1KSk7XG4gICAgYm94LXNoYWRvdzogMCAwLjVweCAwIDAuNXB4IG9rbGNoKDEwMCUgMCAwIC8gY2FsYyh2YXIoLS1kZXB0aCkgKiA2JSkpIGluc2V0LCB2YXIoLS1idG4tc2hhZG93KTtcbiAgICAtLXNpemU6IGNhbGModmFyKC0tc2l6ZS1maWVsZCwgMC4yNXJlbSkgKiAxMCk7XG4gICAgLS1idG4tYmc6IHZhcigtLWJ0bi1jb2xvciwgdmFyKC0tY29sb3ItYmFzZS0yMDApKTtcbiAgICAtLWJ0bi1mZzogdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KTtcbiAgICAtLWJ0bi1wOiAxcmVtO1xuICAgIC0tYnRuLWJvcmRlcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1idG4tYmcpLCAjMDAwIGNhbGModmFyKC0tZGVwdGgpICogNSUpKTtcbiAgICAtLWJ0bi1zaGFkb3c6IDAgM3B4IDJweCAtMnB4IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tYnRuLWJnKSBjYWxjKHZhcigtLWRlcHRoKSAqIDMwJSksICMwMDAwKSxcbiAgICAwIDRweCAzcHggLTJweCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWJ0bi1iZykgY2FsYyh2YXIoLS1kZXB0aCkgKiAzMCUpLCAjMDAwMCk7XG4gICAgLS1idG4tbm9pc2U6IHZhcigtLWZ4LW5vaXNlKTtcbiAgICAucHJvc2UgJiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogbm9uZTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAtLWJ0bi1iZzogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1idG4tY29sb3IsIHZhcigtLWNvbG9yLWJhc2UtMjAwKSksICMwMDAgNyUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgfVxuICAgICY6YWN0aXZlOm5vdCguYnRuLWFjdGl2ZSkge1xuICAgICAgdHJhbnNsYXRlOiAwIDAuNXB4O1xuICAgICAgLS1idG4tYmc6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1iYXNlLTIwMCkpLCAjMDAwIDUlKTtcbiAgICAgIC0tYnRuLWJvcmRlcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1idG4tY29sb3IsIHZhcigtLWNvbG9yLWJhc2UtMjAwKSksICMwMDAgNyUpO1xuICAgICAgLS1idG4tc2hhZG93OiAwIDAgMCAwIG9rbGNoKDAlIDAgMC8wKSwgMCAwIDAgMCBva2xjaCgwJSAwIDAvMCk7XG4gICAgfVxuICAgICY6aXMoOmRpc2FibGVkLCBbZGlzYWJsZWRdLCAuYnRuLWRpc2FibGVkKSB7XG4gICAgICAmOm5vdCguYnRuLWxpbmssIC5idG4tZ2hvc3QpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAtLWJ0bi1ib3JkZXI6ICMwMDAwO1xuICAgICAgLS1idG4tbm9pc2U6IG5vbmU7XG4gICAgICAtLWJ0bi1mZzogY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgIzAwMDApO1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1uZXV0cmFsKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAtLWJ0bi1ib3JkZXI6ICMwMDAwO1xuICAgICAgICAgIC0tYnRuLWZnOiBjb2xvci1taXgoaW4gb2tsY2gsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgMjAlLCAjMDAwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjppcyhpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihhcmlhLWxhYmVsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjp3aGVyZShpbnB1dDpjaGVja2VkOm5vdCguZmlsdGVyIC5idG4pKSB7XG4gICAgICAtLWJ0bi1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAtLWJ0bi1mZzogdmFyKC0tY29sb3ItcHJpbWFyeS1jb250ZW50KTtcbiAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICB9XG4gIH1cbiAgLmxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUtc2VsZWN0b3IsIDAuMjVyZW0pICogNik7XG4gICAgbWFzay1zaXplOiAxMDAlO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyBzdHJva2U9J2JsYWNrJyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NnIHRyYW5zZm9ybS1vcmlnaW49J2NlbnRlciclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzkuNScgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnJTNFJTNDYW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSd0cmFuc2Zvcm0nIHR5cGU9J3JvdGF0ZScgZnJvbT0nMCAxMiAxMicgdG89JzM2MCAxMiAxMicgZHVyPScycycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLyUzRSUzQ2FuaW1hdGUgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLWRhc2hhcnJheScgdmFsdWVzPScwLDE1MDs0MiwxNTA7NDIsMTUwJyBrZXlUaW1lcz0nMDswLjQ3NTsxJyBkdXI9JzEuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8lM0UlM0NhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J3N0cm9rZS1kYXNob2Zmc2V0JyB2YWx1ZXM9JzA7LTE2Oy01OScga2V5VGltZXM9JzA7MC40NzU7MScgZHVyPScxLjVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvJTNFJTNDL2NpcmNsZSUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICAudmFsaWRhdG9yIHtcbiAgICAmOnVzZXItdmFsaWQsICY6aGFzKDp1c2VyLXZhbGlkKSB7XG4gICAgICAmLCAmOmZvY3VzLCAmOmNoZWNrZWQsICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSwgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAtLWlucHV0LWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjp1c2VyLWludmFsaWQsICY6aGFzKDp1c2VyLWludmFsaWQpIHtcbiAgICAgICYsICY6Zm9jdXMsICY6Y2hlY2tlZCwgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdLCAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIC0taW5wdXQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICAgIH1cbiAgICAgICYgfiAudmFsaWRhdG9yLWhpbnQge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiB+IC52YWxpZGF0b3ItaGludCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAudG9nZ2xlIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlcikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGNvbG9yOiB2YXIoLS1pbnB1dC1jb2xvcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDBmciAxZnIgMWZyO1xuICAgIC0tcmFkaXVzLXNlbGVjdG9yLW1heDogY2FsYyhcbiAgICB2YXIoLS1yYWRpdXMtc2VsZWN0b3IpICsgdmFyKC0tcmFkaXVzLXNlbGVjdG9yKSArIHZhcigtLXJhZGl1cy1zZWxlY3RvcilcbiAgKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKCB2YXIoLS1yYWRpdXMtc2VsZWN0b3IpICsgbWluKHZhcigtLXRvZ2dsZS1wKSwgdmFyKC0tcmFkaXVzLXNlbGVjdG9yLW1heCkpICsgbWluKHZhcigtLWJvcmRlciksIHZhcigtLXJhZGl1cy1zZWxlY3Rvci1tYXgpKSApO1xuICAgIHBhZGRpbmc6IHZhcigtLXRvZ2dsZS1wKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRDb2xvciBjYWxjKHZhcigtLWRlcHRoKSAqIDEwJSksICMwMDAwKSBpbnNldDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzLCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgMC4ycztcbiAgICAtLWlucHV0LWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgNTAlLCAjMDAwMCk7XG4gICAgLS10b2dnbGUtcDogMC4xODc1cmVtO1xuICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1zaXplLXNlbGVjdG9yLCAwLjI1cmVtKSAqIDYpO1xuICAgIHdpZHRoOiBjYWxjKCh2YXIoLS1zaXplKSAqIDIpIC0gKHZhcigtLWJvcmRlcikgKyB2YXIoLS10b2dnbGUtcCkpICogMik7XG4gICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgICA+ICoge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgLyBzcGFuIDE7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogY2FsYygwLjI1cmVtICogMC41KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgcm90YXRlIDAuNHM7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTEwMCk7XG4gICAgICAgIHJvdGF0ZTogMGRlZztcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMTAwKTtcbiAgICAgICAgb3BhY2l0eTogMCU7XG4gICAgICAgIHJvdGF0ZTogLTE1ZGVnO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhhcyg6Y2hlY2tlZCkge1xuICAgICAgPiA6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMCU7XG4gICAgICAgIHJvdGF0ZTogMTVkZWc7XG4gICAgICB9XG4gICAgICA+IDpudGgtY2hpbGQoMykge1xuICAgICAgICBvcGFjaXR5OiAxMDAlO1xuICAgICAgICByb3RhdGU6IDBkZWc7XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYygwLjI1cmVtICogMCk7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zZWxlY3Rvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB0cmFuc2xhdGU6IDA7XG4gICAgICAtLXR3LWNvbnRlbnQ6IFwiXCI7XG4gICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcywgdHJhbnNsYXRlIDAuMnMsIGluc2V0LWlubGluZS1zdGFydCAwLjJzO1xuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IG9rbGNoKDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgOHB4IDAgLTRweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgMXB4IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudENvbG9yIGNhbGModmFyKC0tZGVwdGgpICogMTAlKSwgIzAwMDApO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLCBjYWxjKHZhcigtLW5vaXNlKSAqIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSwgdmFyKC0tZngtbm9pc2UpO1xuICAgIH1cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiB2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtcbiAgICAgICAgb3V0bGluZS13aWR0aDogMXB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogY2FsYygxcHggKiAtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG91dGxpbmU6IDAuMjVyZW0gc29saWQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlLCAmOmhhcyg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuICAgICY6Y2hlY2tlZCwgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdLCAmOmhhcyg+IGlucHV0OmNoZWNrZWQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAwZnI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTEwMCk7XG4gICAgICAtLWlucHV0LWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjVmciAxZnIgMC41ZnI7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDMwJTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbnB1dCB7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCAjMDAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygwLjI1cmVtICogMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS0xMDApO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDAuMjVyZW0gKiAzKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IGNsYW1wKDNyZW0sIDIwcmVtLCAxMDAlKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tam9pbi1zcywgdmFyKC0tcmFkaXVzLWZpZWxkKSk7XG4gICAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWpvaW4tc2UsIHZhcigtLXJhZGl1cy1maWVsZCkpO1xuICAgIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1qb2luLWVzLCB2YXIoLS1yYWRpdXMtZmllbGQpKTtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLWpvaW4tZWUsIHZhcigtLXJhZGl1cy1maWVsZCkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0taW5wdXQtY29sb3IpIGNhbGModmFyKC0tZGVwdGgpICogMTAlKSwgIzAwMDApIGluc2V0LCAwIC0xcHggb2tsY2goMTAwJSAwIDAgLyBjYWxjKHZhcigtLWRlcHRoKSAqIDAuMSkpIGluc2V0O1xuICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1zaXplLWZpZWxkLCAwLjI1cmVtKSAqIDEwKTtcbiAgICAtLWlucHV0LWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgMjAlLCAjMDAwMCk7XG4gICAgJjp3aGVyZShpbnB1dCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICAgIDp3aGVyZShpbnB1dCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIC0taW5wdXQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtY29udGVudCk7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWlucHV0LWNvbG9yKSBjYWxjKHZhcigtLWRlcHRoKSAqIDEwJSksICMwMDAwKTtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnB1dC1jb2xvcik7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIH1cbiAgICAmOmhhcyg+IGlucHV0W2Rpc2FibGVkXSksICY6aXMoOmRpc2FibGVkLCBbZGlzYWJsZWRdKSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjpoYXMoPiBpbnB1dFtkaXNhYmxlZF0pID4gaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIH1cbiAgICAmW3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogY2FsYygwLjI1cmVtICogLTMpO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYygwLjI1cmVtICogLTMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogMC43NWVtO1xuICAgIH1cbiAgfVxuICAudGFibGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1ib3gpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgJjp3aGVyZSg6ZGlyKHJ0bCksIFtkaXI9XCJydGxcIl0sIFtkaXI9XCJydGxcIl0gKikge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIHRyLnJvdy1ob3ZlciB7XG4gICAgICAmLCAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIDp3aGVyZSh0aCwgdGQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDAuMjVyZW0gKiA0KTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMC4yNXJlbSAqIDMpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgOndoZXJlKHRoZWFkLCB0Zm9vdCkge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgOndoZXJlKHRmb290KSB7XG4gICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXIpIHNvbGlkIGNvbG9yLW1peChpbiBva2xjaCwgdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KSA1JSwgIzAwMDApO1xuICAgIH1cbiAgICA6d2hlcmUoLnRhYmxlLXBpbi1yb3dzIHRoZWFkIHRyKSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiBjYWxjKDAuMjVyZW0gKiAwKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTEwMCk7XG4gICAgfVxuICAgIDp3aGVyZSgudGFibGUtcGluLXJvd3MgdGZvb3QgdHIpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IGNhbGMoMC4yNXJlbSAqIDApO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMTAwKTtcbiAgICB9XG4gICAgOndoZXJlKC50YWJsZS1waW4tY29scyB0ciB0aCkge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHJpZ2h0OiBjYWxjKDAuMjVyZW0gKiAwKTtcbiAgICAgIGxlZnQ6IGNhbGMoMC4yNXJlbSAqIDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS0xMDApO1xuICAgIH1cbiAgICA6d2hlcmUodGhlYWQgdHIsIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlcikgc29saWQgY29sb3ItbWl4KGluIG9rbGNoLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDUlLCAjMDAwMCk7XG4gICAgfVxuICB9XG4gIC5zdGVwcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgY291bnRlci1yZXNldDogc3RlcDtcbiAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgIC5zdGVwIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQwcHggMWZyO1xuICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogNHJlbTtcbiAgICAgIC0tc3RlcC1iZzogdmFyKC0tY29sb3ItYmFzZS0zMDApO1xuICAgICAgLS1zdGVwLWZnOiB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6IGNhbGMoMC4yNXJlbSAqIDApO1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgICAgIGhlaWdodDogY2FsYygwLjI1cmVtICogMik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgY29sb3I6IHZhcigtLXN0ZXAtYmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGVwLWJnKTtcbiAgICAgICAgLS10dy1jb250ZW50OiBcIlwiO1xuICAgICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogLTEwMCU7XG4gICAgICB9XG4gICAgICA+IC5zdGVwLWljb24sICY6bm90KDpoYXMoLnN0ZXAtaWNvbikpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY291bnRlcihzdGVwKTtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdGVwLWZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RlcC1iZyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0ZXAtYmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgICBncmlkLXJvdy1zdGFydDogMTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDAuMjVyZW0gKiA4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMC4yNXJlbSAqIDgpO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgICAgJltkYXRhLWNvbnRlbnRdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNvbnRlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3RlcC1uZXV0cmFsIHtcbiAgICAgICsgLnN0ZXAtbmV1dHJhbDpiZWZvcmUsICY6YWZ0ZXIsID4gLnN0ZXAtaWNvbiB7XG4gICAgICAgIC0tc3RlcC1iZzogdmFyKC0tY29sb3ItbmV1dHJhbCk7XG4gICAgICAgIC0tc3RlcC1mZzogdmFyKC0tY29sb3ItbmV1dHJhbC1jb250ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN0ZXAtcHJpbWFyeSB7XG4gICAgICArIC5zdGVwLXByaW1hcnk6YmVmb3JlLCAmOmFmdGVyLCA+IC5zdGVwLWljb24ge1xuICAgICAgICAtLXN0ZXAtYmc6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAtLXN0ZXAtZmc6IHZhcigtLWNvbG9yLXByaW1hcnktY29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdGVwLXNlY29uZGFyeSB7XG4gICAgICArIC5zdGVwLXNlY29uZGFyeTpiZWZvcmUsICY6YWZ0ZXIsID4gLnN0ZXAtaWNvbiB7XG4gICAgICAgIC0tc3RlcC1iZzogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgLS1zdGVwLWZnOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktY29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdGVwLWFjY2VudCB7XG4gICAgICArIC5zdGVwLWFjY2VudDpiZWZvcmUsICY6YWZ0ZXIsID4gLnN0ZXAtaWNvbiB7XG4gICAgICAgIC0tc3RlcC1iZzogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgLS1zdGVwLWZnOiB2YXIoLS1jb2xvci1hY2NlbnQtY29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdGVwLWluZm8ge1xuICAgICAgKyAuc3RlcC1pbmZvOmJlZm9yZSwgJjphZnRlciwgPiAuc3RlcC1pY29uIHtcbiAgICAgICAgLS1zdGVwLWJnOiB2YXIoLS1jb2xvci1pbmZvKTtcbiAgICAgICAgLS1zdGVwLWZnOiB2YXIoLS1jb2xvci1pbmZvLWNvbnRlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICAuc3RlcC1zdWNjZXNzIHtcbiAgICAgICsgLnN0ZXAtc3VjY2VzczpiZWZvcmUsICY6YWZ0ZXIsID4gLnN0ZXAtaWNvbiB7XG4gICAgICAgIC0tc3RlcC1iZzogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgICAgIC0tc3RlcC1mZzogdmFyKC0tY29sb3Itc3VjY2Vzcy1jb250ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnN0ZXAtd2FybmluZyB7XG4gICAgICArIC5zdGVwLXdhcm5pbmc6YmVmb3JlLCAmOmFmdGVyLCA+IC5zdGVwLWljb24ge1xuICAgICAgICAtLXN0ZXAtYmc6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgICAgICAtLXN0ZXAtZmc6IHZhcigtLWNvbG9yLXdhcm5pbmctY29udGVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zdGVwLWVycm9yIHtcbiAgICAgICsgLnN0ZXAtZXJyb3I6YmVmb3JlLCAmOmFmdGVyLCA+IC5zdGVwLWljb24ge1xuICAgICAgICAtLXN0ZXAtYmc6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICAgICAgLS1zdGVwLWZnOiB2YXIoLS1jb2xvci1lcnJvci1jb250ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJhbmdlIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC0tcmFuZ2UtdGh1bWI6IHZhcigtLWNvbG9yLWJhc2UtMTAwKTtcbiAgICAtLXJhbmdlLXRodW1iLXNpemU6IGNhbGModmFyKC0tc2l6ZS1zZWxlY3RvciwgMC4yNXJlbSkgKiA2KTtcbiAgICAtLXJhbmdlLXByb2dyZXNzOiBjdXJyZW50Q29sb3I7XG4gICAgLS1yYW5nZS1maWxsOiAxO1xuICAgIC0tcmFuZ2UtcDogMC4yNXJlbTtcbiAgICAtLXJhbmdlLWJnOiBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRDb2xvciAxMCUsICMwMDAwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjbGFtcCgzcmVtLCAyMHJlbSwgMTAwJSk7XG4gICAgLS1yYWRpdXMtc2VsZWN0b3ItbWF4OiBjYWxjKFxuICAgIHZhcigtLXJhZGl1cy1zZWxlY3RvcikgKyB2YXIoLS1yYWRpdXMtc2VsZWN0b3IpICsgdmFyKC0tcmFkaXVzLXNlbGVjdG9yKVxuICApO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLXNlbGVjdG9yKSArIG1pbih2YXIoLS1yYW5nZS1wKSwgdmFyKC0tcmFkaXVzLXNlbGVjdG9yLW1heCkpKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiB2YXIoLS1yYW5nZS10aHVtYi1zaXplKTtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgLS1yYW5nZS1kaXI6IC0xO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJhbmdlLWJnKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zZWxlY3Rvcik7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tcmFuZ2UtdGh1bWItc2l6ZSkgKiAwLjUpO1xuICAgIH1cbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcmFkaXVzLXNlbGVjdG9yKSArIG1pbih2YXIoLS1yYW5nZS1wKSwgdmFyKC0tcmFkaXVzLXNlbGVjdG9yLW1heCkpKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGhlaWdodDogdmFyKC0tcmFuZ2UtdGh1bWItc2l6ZSk7XG4gICAgICB3aWR0aDogdmFyKC0tcmFuZ2UtdGh1bWItc2l6ZSk7XG4gICAgICBib3JkZXI6IHZhcigtLXJhbmdlLXApIHNvbGlkO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBjb2xvcjogdmFyKC0tcmFuZ2UtcHJvZ3Jlc3MpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYm94LXNoYWRvdzogMCAtMXB4IG9rbGNoKDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgOHB4IDAgLTRweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgMXB4IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudENvbG9yIGNhbGModmFyKC0tZGVwdGgpICogMTAlKSwgIzAwMDApLCAwIDAgMCAycmVtIHZhcigtLXJhbmdlLXRodW1iKSBpbnNldCwgY2FsYygodmFyKC0tcmFuZ2UtZGlyLCAxKSAqIC0xMDByZW0pIC0gKHZhcigtLXJhbmdlLWRpciwgMSkgKiB2YXIoLS1yYW5nZS10aHVtYi1zaXplKSAvIDIpKSAwIDAgY2FsYygxMDByZW0gKiB2YXIoLS1yYW5nZS1maWxsKSk7XG4gICAgfVxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yYW5nZS1iZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc2VsZWN0b3IpO1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXJhbmdlLXRodW1iLXNpemUpICogMC41KTtcbiAgICB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yYWRpdXMtc2VsZWN0b3IpICsgbWluKHZhcigtLXJhbmdlLXApLCB2YXIoLS1yYWRpdXMtc2VsZWN0b3ItbWF4KSkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1yYW5nZS10aHVtYi1zaXplKTtcbiAgICAgIHdpZHRoOiB2YXIoLS1yYW5nZS10aHVtYi1zaXplKTtcbiAgICAgIGJvcmRlcjogdmFyKC0tcmFuZ2UtcCkgc29saWQ7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS1yYW5nZS1wcm9ncmVzcyk7XG4gICAgICBib3gtc2hhZG93OiAwIC0xcHggb2tsY2goMCUgMCAwIC8gY2FsYyh2YXIoLS1kZXB0aCkgKiAwLjEpKSBpbnNldCwgMCA4cHggMCAtNHB4IG9rbGNoKDEwMCUgMCAwIC8gY2FsYyh2YXIoLS1kZXB0aCkgKiAwLjEpKSBpbnNldCwgMCAxcHggY29sb3ItbWl4KGluIG9rbGFiLCBjdXJyZW50Q29sb3IgY2FsYyh2YXIoLS1kZXB0aCkgKiAxMCUpLCAjMDAwMCksIDAgMCAwIDJyZW0gdmFyKC0tcmFuZ2UtdGh1bWIpIGluc2V0LCBjYWxjKCh2YXIoLS1yYW5nZS1kaXIsIDEpICogLTEwMHJlbSkgLSAodmFyKC0tcmFuZ2UtZGlyLCAxKSAqIHZhcigtLXJhbmdlLXRodW1iLXNpemUpIC8gMikpIDAgMCBjYWxjKDEwMHJlbSAqIHZhcigtLXJhbmdlLWZpbGwpKTtcbiAgICB9XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgb3BhY2l0eTogMzAlO1xuICAgIH1cbiAgfVxuICAuc3dhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgaW5wdXQge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgPiAqIHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHJvdGF0ZSwgb3BhY2l0eTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgfVxuICAgIC5zd2FwLW9uLCAuc3dhcC1pbmRldGVybWluYXRlLCBpbnB1dDppbmRldGVybWluYXRlIH4gLnN3YXAtb24ge1xuICAgICAgb3BhY2l0eTogMCU7XG4gICAgfVxuICAgIGlucHV0OmlzKDpjaGVja2VkLCA6aW5kZXRlcm1pbmF0ZSkge1xuICAgICAgJiB+IC5zd2FwLW9mZiB7XG4gICAgICAgIG9wYWNpdHk6IDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3YXAtb24sIGlucHV0OmluZGV0ZXJtaW5hdGUgfiAuc3dhcC1pbmRldGVybWluYXRlIHtcbiAgICAgIG9wYWNpdHk6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5zZWxlY3Qge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCAjMDAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygwLjI1cmVtICogMS41KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTEwMCk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoMC4yNXJlbSAqIDQpO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYygwLjI1cmVtICogNyk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogY2xhbXAoM3JlbSwgMjByZW0sIDEwMCUpO1xuICAgIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1qb2luLXNzLCB2YXIoLS1yYWRpdXMtZmllbGQpKTtcbiAgICBib3JkZXItc3RhcnQtZW5kLXJhZGl1czogdmFyKC0tam9pbi1zZSwgdmFyKC0tcmFkaXVzLWZpZWxkKSk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLWpvaW4tZXMsIHZhcigtLXJhZGl1cy1maWVsZCkpO1xuICAgIGJvcmRlci1lbmQtZW5kLXJhZGl1czogdmFyKC0tam9pbi1lZSwgdmFyKC0tcmFkaXVzLWZpZWxkKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAjMDAwMCA1MCUsIGN1cnJlbnRDb2xvciA1MCUpLCBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBjdXJyZW50Q29sb3IgNTAlLCAjMDAwMCA1MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIGNhbGMoMXB4ICsgNTAlKSwgY2FsYygxMDAlIC0gMTYuMXB4KSBjYWxjKDFweCArIDUwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4LCA0cHggNHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgYm94LXNoYWRvdzogMCAxcHggY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1pbnB1dC1jb2xvcikgY2FsYyh2YXIoLS1kZXB0aCkgKiAxMCUpLCAjMDAwMCkgaW5zZXQsIDAgLTFweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1jb2xvcik7XG4gICAgLS1pbnB1dC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgIzAwMDApO1xuICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1zaXplLWZpZWxkLCAwLjI1cmVtKSAqIDEwKTtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygwJSArIDEycHgpIGNhbGMoMXB4ICsgNTAlKSwgY2FsYygwJSArIDE2cHgpIGNhbGMoMXB4ICsgNTAlKTtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMC4yNXJlbSAqIC00KTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKDAuMjVyZW0gKiAtNyk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMi43NXJlbSk7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoMC4yNXJlbSAqIDQpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKDAuMjVyZW0gKiA3KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgJjpmb2N1cywgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAtLXR3LW91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKDAuMjVyZW0gKiAtNS41KTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpmb2N1cywgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgLS1pbnB1dC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0taW5wdXQtY29sb3IpIGNhbGModmFyKC0tZGVwdGgpICogMTAlKSwgIzAwMDApO1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWlucHV0LWNvbG9yKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuICAgICY6aGFzKD4gc2VsZWN0W2Rpc2FibGVkXSksICY6aXMoOmRpc2FibGVkLCBbZGlzYWJsZWRdKSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhhcyg+IHNlbGVjdFtkaXNhYmxlZF0pID4gc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuICAuY2hlY2tib3gge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCB2YXIoLS1pbnB1dC1jb2xvciwgY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgIzAwMDApKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNlbGVjdG9yKTtcbiAgICBwYWRkaW5nOiBjYWxjKDAuMjVyZW0gKiAxKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IG9rbGNoKDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgMCAjMDAwMCBpbnNldCwgMCAwICMwMDAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm94LXNoYWRvdyAwLjJzO1xuICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1zaXplLXNlbGVjdG9yLCAwLjI1cmVtKSAqIDYpO1xuICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgY2FsYyh2YXIoLS1ub2lzZSkgKiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lLCB2YXIoLS1meC1ub2lzZSk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgLS10dy1jb250ZW50OiBcIlwiO1xuICAgICAgY29udGVudDogdmFyKC0tdHctY29udGVudCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcm90YXRlOiA0NWRlZztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIG9wYWNpdHk6IDAlO1xuICAgICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIDAuM3MsIG9wYWNpdHkgMC4xcywgcm90YXRlIDAuM3MsIHRyYW5zbGF0ZSAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigyMCUgMTAwJSwgMjAlIDgwJSwgNTAlIDgwJSwgNTAlIDgwJSwgNzAlIDgwJSwgNzAlIDEwMCUpO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDNweCAwIDBweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC43NTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnB1dC1jb2xvciwgY3VycmVudENvbG9yKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuICAgICY6Y2hlY2tlZCwgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWNvbG9yLCAjMDAwMCk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgIzAwMDAgaW5zZXQsIDAgOHB4IDAgLTRweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQsIDAgMXB4IG9rbGNoKDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigyMCUgMTAwJSwgMjAlIDgwJSwgNTAlIDgwJSwgNTAlIDAlLCA3MCUgMCUsIDcwJSAxMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICByb3RhdGU6IDBkZWc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgLS10dy1jb250ZW50OiBcIuKclO+4jlwiO1xuICAgICAgICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHJvdGF0ZTogMGRlZztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAtLXR3LWNvbnRlbnQ6IFwi4pyU77iOXCI7XG4gICAgICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHJvdGF0ZTogMGRlZztcbiAgICAgICAgb3BhY2l0eTogMTAwJTtcbiAgICAgICAgdHJhbnNsYXRlOiAwIC0zNSU7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigyMCUgMTAwJSwgMjAlIDgwJSwgNTAlIDgwJSwgNTAlIDgwJSwgODAlIDgwJSwgODAlIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAyMCU7XG4gICAgfVxuICB9XG4gIC5yYWRpbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICAgIHBhZGRpbmc6IGNhbGMoMC4yNXJlbSAqIDEpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXIpIHNvbGlkIHZhcigtLWlucHV0LWNvbG9yLCBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDIwJSwgIzAwMDApKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCBva2xjaCgwJSAwIDAgLyBjYWxjKHZhcigtLWRlcHRoKSAqIDAuMSkpIGluc2V0O1xuICAgIC0tc2l6ZTogY2FsYyh2YXIoLS1zaXplLXNlbGVjdG9yLCAwLjI1cmVtKSAqIDYpO1xuICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICAgIGNvbG9yOiB2YXIoLS1pbnB1dC1jb2xvciwgY3VycmVudENvbG9yKTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyhpbmZpbml0eSAqIDFweCk7XG4gICAgICAtLXR3LWNvbnRlbnQ6IFwiXCI7XG4gICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgY2FsYyh2YXIoLS1ub2lzZSkgKiAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUsIHZhcigtLWZ4LW5vaXNlKTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuICAgICY6Y2hlY2tlZCwgJlthcmlhLWNoZWNrZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGFuaW1hdGlvbjogcmFkaW8gMC4ycyBlYXNlLW91dDtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS0xMDApO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTFweCBva2xjaCgwJSAwIDAgLyBjYWxjKHZhcigtLWRlcHRoKSAqIDAuMSkpIGluc2V0LCAwIDhweCAwIC00cHggb2tsY2goMTAwJSAwIDAgLyBjYWxjKHZhcigtLWRlcHRoKSAqIDAuMSkpIGluc2V0LCAwIDFweCBva2xjaCgwJSAwIDAgLyBjYWxjKHZhcigtLWRlcHRoKSAqIDAuMSkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIG91dGxpbmUtc3R5bGU6IHZhcigtLXR3LW91dGxpbmUtc3R5bGUpO1xuICAgICAgICAgIG91dGxpbmUtd2lkdGg6IDFweDtcbiAgICAgICAgICBvdXRsaW5lLW9mZnNldDogY2FsYygxcHggKiAtMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBvdXRsaW5lOiAwLjI1cmVtIHNvbGlkO1xuICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAyMCU7XG4gICAgfVxuICB9XG4gIC5wcm9ncmVzcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYygwLjI1cmVtICogMik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1ib3gpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudENvbG9yIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpO1xuICAgICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KCA5MGRlZywgY3VycmVudENvbG9yIC0xJSwgY3VycmVudENvbG9yIDEwJSwgIzAwMDAgMTAlLCAjMDAwMCA5MCUgKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogMTUlO1xuICAgICAgYW5pbWF0aW9uOiBwcm9ncmVzcyA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KCA5MGRlZywgY3VycmVudENvbG9yIC0xJSwgY3VycmVudENvbG9yIDEwJSwgIzAwMDAgMTAlLCAjMDAwMCA5MCUgKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAxNSU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBwcm9ncmVzcyA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYm94KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAc3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYm94KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJveCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLnN0YXRpYyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuaGVyby1jb250ZW50IHtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDAuMjVyZW0gKiA0KTtcbiAgICBwYWRkaW5nOiBjYWxjKDAuMjVyZW0gKiA0KTtcbiAgfVxuICAudGV4dGFyZWEge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyKSBzb2xpZCAjMDAwMDtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDAuMjVyZW0gKiAyMCk7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZmllbGQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMTAwKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDAuMjVyZW0gKiAyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjbGFtcCgzcmVtLCAyMHJlbSwgMTAwJSk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogMCAxcHggY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1pbnB1dC1jb2xvcikgY2FsYyh2YXIoLS1kZXB0aCkgKiAxMCUpLCAjMDAwMCkgaW5zZXQsIDAgLTFweCBva2xjaCgxMDAlIDAgMCAvIGNhbGModmFyKC0tZGVwdGgpICogMC4xKSkgaW5zZXQ7XG4gICAgLS1pbnB1dC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgIzAwMDApO1xuICAgIHRleHRhcmVhIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIC0taW5wdXQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtY29udGVudCk7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWlucHV0LWNvbG9yKSBjYWxjKHZhcigtLWRlcHRoKSAqIDEwJSksICMwMDAwKTtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1pbnB1dC1jb2xvcik7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIH1cbiAgICAmOmhhcyg+IHRleHRhcmVhW2Rpc2FibGVkXSksICY6aXMoOmRpc2FibGVkLCBbZGlzYWJsZWRdKSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYXNlLTIwMCk7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgJjpoYXMoPiB0ZXh0YXJlYVtkaXNhYmxlZF0pID4gdGV4dGFyZWFbZGlzYWJsZWRdIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgb3JkZXI6IHZhcigtLXRhYmNvbnRlbnQtb3JkZXIpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtLXRhYmNvbnRlbnQtcmFkaXVzLXNzOiAwO1xuICAgIC0tdGFiY29udGVudC1yYWRpdXMtc2U6IDA7XG4gICAgLS10YWJjb250ZW50LXJhZGl1cy1lczogMDtcbiAgICAtLXRhYmNvbnRlbnQtcmFkaXVzLWVlOiAwO1xuICAgIC0tdGFiY29udGVudC1vcmRlcjogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLXRhYmNvbnRlbnQtbWFyZ2luKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tdGFiY29udGVudC1yYWRpdXMtc3MpO1xuICAgIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS10YWJjb250ZW50LXJhZGl1cy1zZSk7XG4gICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXRhYmNvbnRlbnQtcmFkaXVzLWVzKTtcbiAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLXRhYmNvbnRlbnQtcmFkaXVzLWVlKTtcbiAgfVxuICAuaGVybyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICYgPiAqIHtcbiAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gICAgfVxuICB9XG4gIC5yb3ctc3Bhbi0yIHtcbiAgICBncmlkLXJvdzogc3BhbiAyIC8gc3BhbiAyO1xuICB9XG4gIC5tLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDAuMjVyZW0gKiAxLjUpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudENvbG9yIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgICY6aGFzKGlucHV0KSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6aXMoLmlucHV0ID4gKiwgLnNlbGVjdCA+ICopIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNXJlbSk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMC4yNXJlbSAqIDMpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDAuMjVyZW0gKiAtMyk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKDAuMjVyZW0gKiAzKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IHZhcigtLWJvcmRlcikgc29saWQgY29sb3ItbWl4KGluIG9rbGFiLCBjdXJyZW50Q29sb3IgMTAlLCAjMDAwMCk7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDAuMjVyZW0gKiAzKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoMC4yNXJlbSAqIC0zKTtcbiAgICAgICAgYm9yZGVyLWlubGluZS1zdGFydDogdmFyKC0tYm9yZGVyKSBzb2xpZCBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRDb2xvciAxMCUsICMwMDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZhbGlkYXRvci1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDAuMjVyZW0gKiAyKTtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LXhzLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC5tdC0yIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLm10LTEwIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTApO1xuICB9XG4gIC5maWVsZHNldC1sZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMC4yNXJlbSAqIC0xKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogY2FsYygwLjI1cmVtICogMik7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygwLjI1cmVtICogMik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtY29udGVudCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAubWItMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IG5vbmU7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICB9XG4gIC5zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIHdpZHRoOiBjYWxjKDAuMjVyZW0gKiAyKTtcbiAgICBoZWlnaHQ6IGNhbGMoMC4yNXJlbSAqIDIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zZWxlY3Rvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYmxhY2spIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggY2lyY2xlIGF0IDM1JSAzMCUsIG9rbGNoKDEgMCAwIC8gY2FsYyh2YXIoLS1kZXB0aCkgKiAwLjUpKSwgIzAwMDAgKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAzcHggLTFweCBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRDb2xvciBjYWxjKHZhcigtLWRlcHRoKSAqIDEwMCUpLCAjMDAwMCk7XG4gIH1cbiAgLnRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC0tdGFicy1oZWlnaHQ6IGF1dG87XG4gICAgLS10YWJzLWRpcmVjdGlvbjogcm93O1xuICAgIGhlaWdodDogdmFyKC0tdGFicy1oZWlnaHQpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiB2YXIoLS10YWJzLWRpcmVjdGlvbik7XG4gIH1cbiAgLmZpZWxkc2V0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDAuMjVyZW0gKiAxLjUpO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgJjpoYXMoaW5wdXQpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbiAgLmNhcm91c2VsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5maWVsZHNldCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IGNhbGMoMC4yNXJlbSAqIDEuNSk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygwLjI1cmVtICogMSk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtYXV0by1yb3dzOiBtYXgtY29udGVudDtcbiAgfVxuICAubWFzayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIC5ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNvbnRlbnRzIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxuICAuZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAudGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC5oLTQge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5oLTE4IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxOCk7XG4gIH1cbiAgLmgtMjQge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI0KTtcbiAgfVxuICAuaC0zMiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMzIpO1xuICB9XG4gIC5oLTY0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA2NCk7XG4gIH1cbiAgLmgtXFxbMWVtXFxdIHtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgfVxuICAuaC1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLm1heC1oLTFcXC8zIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEvMyAqIDEwMCUpO1xuICB9XG4gIC5taW4taC05NiB7XG4gICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDk2KTtcbiAgfVxuICAudy0xXFwvMSB7XG4gICAgd2lkdGg6IGNhbGMoMS8xICogMTAwJSk7XG4gIH1cbiAgLnctMVxcLzMge1xuICAgIHdpZHRoOiBjYWxjKDEvMyAqIDEwMCUpO1xuICB9XG4gIC53LTFcXC80IHtcbiAgICB3aWR0aDogY2FsYygxLzQgKiAxMDAlKTtcbiAgfVxuICAudy0yXFwvMyB7XG4gICAgd2lkdGg6IGNhbGMoMi8zICogMTAwJSk7XG4gIH1cbiAgLnctMTVcXC8xNiB7XG4gICAgd2lkdGg6IGNhbGMoMTUvMTYgKiAxMDAlKTtcbiAgfVxuICAudy00OCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA0OCk7XG4gIH1cbiAgLnctOTYge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOTYpO1xuICB9XG4gIC53LWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC53LWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tYXgtdy00OCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNDgpO1xuICB9XG4gIC5taW4tdy0zOCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMzgpO1xuICB9XG4gIC5taW4tdy00MCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNDApO1xuICB9XG4gIC5taW4tdy00NSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNDUpO1xuICB9XG4gIC5taW4tdy02MCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNjApO1xuICB9XG4gIC5taW4tdy03NSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNzUpO1xuICB9XG4gIC5taW4tdy1maXQge1xuICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbiAgLmdyb3cge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAudHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm06IHZhcigtLXR3LXJvdGF0ZS14KSB2YXIoLS10dy1yb3RhdGUteSkgdmFyKC0tdHctcm90YXRlLXopIHZhcigtLXR3LXNrZXcteCkgdmFyKC0tdHctc2tldy15KTtcbiAgfVxuICAuc2tlbGV0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1ib3gpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMzAwKTtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTVzO1xuICAgIH1cbiAgICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZC1wb3NpdGlvbjtcbiAgICBhbmltYXRpb246IHNrZWxldG9uIDEuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCAxMDVkZWcsICMwMDAwIDAlIDQwJSwgdmFyKC0tY29sb3ItYmFzZS0xMDApIDUwJSwgIzAwMDAgNjAlIDEwMCUgKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogLTUwJTtcbiAgfVxuICAuY3Vyc29yLXBvaW50ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuZmxleC1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmZsZXgtcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAucGxhY2UtY29udGVudC1jZW50ZXIge1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuY29udGVudC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuY29udGVudC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAuaXRlbXMtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5nYXAtMiB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLmdhcC00IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAuc3BhY2UteS0zIHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMykgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteS0xNiB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMTYpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteC0zIHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMykgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5zcGFjZS14LTQge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNCkgKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNlbGYtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnJvdW5kZWQtYm94IHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYm94KTtcbiAgfVxuICAucm91bmRlZC1ib3gge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1ib3gpO1xuICB9XG4gIC5ib3JkZXIge1xuICAgIGJvcmRlci1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgfVxuICAuYm9yZGVyLWJhc2UtMjAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMjAwKTtcbiAgfVxuICAuYm9yZGVyLWJhc2UtMzAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMzAwKTtcbiAgfVxuICAuYmctYmFzZS0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMjAwKTtcbiAgfVxuICAuZmlsbC1iYXNlLTEwMCB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItYmFzZS0xMDApO1xuICB9XG4gIC5maWxsLWJhc2UtY29udGVudCB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KTtcbiAgfVxuICAuZmlsbC1ub25lIHtcbiAgICBmaWxsOiBub25lO1xuICB9XG4gIC5zdHJva2UtYmFzZS0xMDAge1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3ItYmFzZS0xMDApO1xuICB9XG4gIC5zdHJva2UtYmFzZS0yMDAge1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3ItYmFzZS0yMDApO1xuICB9XG4gIC5zdHJva2UtYmFzZS0zMDAge1xuICAgIHN0cm9rZTogdmFyKC0tY29sb3ItYmFzZS0zMDApO1xuICB9XG4gIC5zdHJva2UtYmFzZS1jb250ZW50IHtcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLWJhc2UtY29udGVudCk7XG4gIH1cbiAgLm9iamVjdC1maWxsIHtcbiAgICBvYmplY3QtZml0OiBmaWxsO1xuICB9XG4gIC5wLTQge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAucHgtMlxcLjUge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMi41KTtcbiAgfVxuICAucHgtMyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAucHktMiB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5weS01IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLnB0LTIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLnB0LTQge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnBiLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRleHQtc20ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSk7XG4gIH1cbiAgLnRleHQteHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14cyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSk7XG4gIH1cbiAgLmZvbnQtYm9sZCB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIC50ZXh0LXdoaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG4gIC5vcGFjaXR5LTUwIHtcbiAgICBvcGFjaXR5OiA1MCU7XG4gIH1cbiAgLnRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIG91dGxpbmUtY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCAtLXR3LWdyYWRpZW50LWZyb20sIC0tdHctZ3JhZGllbnQtdmlhLCAtLXR3LWdyYWRpZW50LXRvLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIHRyYW5zbGF0ZSwgc2NhbGUsIHJvdGF0ZSwgZmlsdGVyLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlciwgYmFja2Ryb3AtZmlsdGVyO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC5lYXNlLWluIHtcbiAgICAtLXR3LWVhc2U6IHZhcigtLWVhc2UtaW4pO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1lYXNlLWluKTtcbiAgfVxuICAuYnRuLXNvZnQge1xuICAgICY6bm90KC5idG4tYWN0aXZlLCA6aG92ZXIsIDphY3RpdmU6Zm9jdXMsIDpmb2N1cy12aXNpYmxlLCA6ZGlzYWJsZWQsIFtkaXNhYmxlZF0sIC5idG4tZGlzYWJsZWQpIHtcbiAgICAgIC0tYnRuLXNoYWRvdzogXCJcIjtcbiAgICAgIC0tYnRuLWZnOiB2YXIoLS1idG4tY29sb3IsIHZhcigtLWNvbG9yLWJhc2UtY29udGVudCkpO1xuICAgICAgLS1idG4tYmc6IGNvbG9yLW1peChcbiAgICAgIGluIG9rbGFiLFxuICAgICAgdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpKSA4JSxcbiAgICAgIHZhcigtLWNvbG9yLWJhc2UtMTAwKVxuICAgICk7XG4gICAgICAtLWJ0bi1ib3JkZXI6IGNvbG9yLW1peChcbiAgICAgIGluIG9rbGFiLFxuICAgICAgdmFyKC0tYnRuLWNvbG9yLCB2YXIoLS1jb2xvci1iYXNlLWNvbnRlbnQpKSAxMCUsXG4gICAgICB2YXIoLS1jb2xvci1iYXNlLTEwMClcbiAgICApO1xuICAgICAgLS1idG4tbm9pc2U6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5idG4teHMge1xuICAgIC0tZm9udHNpemU6IDAuNjg3NXJlbTtcbiAgICAtLWJ0bi1wOiAwLjVyZW07XG4gICAgLS1zaXplOiBjYWxjKHZhcigtLXNpemUtZmllbGQsIDAuMjVyZW0pICogNik7XG4gIH1cbiAgLmJ0bi1zdWNjZXNzIHtcbiAgICAtLWJ0bi1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gICAgLS1idG4tZmc6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtY29udGVudCk7XG4gIH1cbiAgLmhvdmVyXFw6YmctYmFzZS0zMDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFzZS0zMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWF4LWxnXFw6bS1hdXRvIHtcbiAgICBAbWVkaWEgKHdpZHRoIDwgNjRyZW0pIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cbiAgLm1heC1tZFxcOmJnLWJhc2UtMjAwIHtcbiAgICBAbWVkaWEgKHdpZHRoIDwgNDhyZW0pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhc2UtMjAwKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6dy0xXFwvMiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoMS8yICogMTAwJSk7XG4gICAgfVxuICB9XG4gIC5tZFxcOnctMVxcLzMge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEvMyAqIDEwMCUpO1xuICAgIH1cbiAgfVxuICAubWRcXDp3LTFcXC80IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICB3aWR0aDogY2FsYygxLzQgKiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6dy0zXFwvNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoMy80ICogMTAwJSk7XG4gICAgfVxuICB9XG4gIC5tZFxcOm1pbi13LTYwIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICBtaW4td2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA2MCk7XG4gICAgfVxuICB9XG4gIC5tZFxcOmp1c3RpZnktaXRlbXMtc3RhcnQge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuICAgIH1cbiAgfVxuICAubWRcXDpwLTQge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6cHItMzAge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAzMCk7XG4gICAgfVxuICB9XG4gIC5tZFxcOnBsLTMwIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAzMCk7XG4gICAgfVxuICB9XG4gIC5sZ1xcOnctMVxcLzIge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEvMiAqIDEwMCUpO1xuICAgIH1cbiAgfVxuICAubGdcXDp3LTFcXC80IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDY0cmVtKSB7XG4gICAgICB3aWR0aDogY2FsYygxLzQgKiAxMDAlKTtcbiAgICB9XG4gIH1cbiAgLmxnXFw6dy0yXFwvMyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoMi8zICogMTAwJSk7XG4gICAgfVxuICB9XG4gIC5sZ1xcOnctM1xcLzQge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMvNCAqIDEwMCUpO1xuICAgIH1cbiAgfVxuICAubGdcXDp3LTN4bCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgd2lkdGg6IHZhcigtLWNvbnRhaW5lci0zeGwpO1xuICAgIH1cbiAgfVxuICAubGdcXDp3LTRcXC8xMiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoNC8xMiAqIDEwMCUpO1xuICAgIH1cbiAgfVxuICAubGdcXDp3LTVcXC8xMiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoNS8xMiAqIDEwMCUpO1xuICAgIH1cbiAgfVxuICAubGdcXDptYXgtdy14cyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteHMpO1xuICAgIH1cbiAgfVxuICAubGdcXDpmbGV4LXJvdyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cbiAgLmxnXFw6c3BhY2UteC00IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDY0cmVtKSB7XG4gICAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNCkgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sZ1xcOnAtNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICAgIH1cbiAgfVxuICAubGdcXDpwci01MCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUwKTtcbiAgICB9XG4gIH1cbiAgLmxnXFw6cGwtNTAge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUwKTtcbiAgICB9XG4gIH1cbiAgLnhsXFw6dy0yXFwvMyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA4MHJlbSkge1xuICAgICAgd2lkdGg6IGNhbGMoMi8zICogMTAwJSk7XG4gICAgfVxuICB9XG59XG4uYmlnZ2VzdCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLmJpZ2dlciB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG4uYmlnIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5zdGFuZGFyZC1zaXplIHtcbiAgZm9udC1zaXplOiAxLjBlbTtcbn1cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbn1cbi5ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYnVsbGV0cyB7XG4gIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbn1cbi5uby1idWxsZXRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5uby1tYXJnaW4ge1xuICBtYXJnaW46IDA7XG59XG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7XG59XG4uaW52aXNpYmxlIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmxlZnQtc2lkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNnZ3O1xuICBtYXJnaW4tdG9wOiAydnc7XG59XG4ucmlnaHQtc2lkZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiA2dnc7XG4gIG1hcmdpbi10b3A6IDJ2dztcbn1cbi5ibG9jay1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uaXMtYS1idXR0b24ge1xuICBib3JkZXItc3R5bGU6IG91dHNldDtcbiAgYm9yZGVyLWNvbG9yOiBva2xjaCg0MS41NCUgMCAwKTtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBva2xjaCgzNy43NyUgMCAwKTtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMXB4O1xufVxuLndob2xlLWZpeGVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi5iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0cHg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRpbmcge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0aW5nIHtcbiAgZnJvbSB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5yb3RhdGluZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGluZyA0cyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiByb3RhdGluZyA0cyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tcy1hbmltYXRpb246IHJvdGF0aW5nIDRzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uOiByb3RhdGluZyA0cyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcm90YXRpbmcgNHMgbGluZWFyIGluZmluaXRlO1xuICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbn1cbi5jYXJvdXNlbC1pbmRpY2F0b3Ige1xuICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgc3Ryb2tlLXdpZHRoOiA1MC4wO1xuICBzdHJva2U6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG4ubG9nby1tYXNrIHtcbiAgZmlsbDogI2ZmZmZmZjtcbiAgc3Ryb2tlLXdpZHRoOiAuMjY0NTg7XG59XG4ubG9nby1zdHJpcGUxIHtcbiAgZmlsbDogI2YwMDtcbiAgc3Ryb2tlLXdpZHRoOiAxLjAxMjI7XG4gIHN0cm9rZTogI2YwMDtcbn1cbi5sb2dvLXN0cmlwZTIge1xuICBmaWxsOiAjZjYwO1xuICBzdHJva2Utd2lkdGg6IDEuMDEyMjtcbiAgc3Ryb2tlOiAjZjYwO1xufVxuLmxvZ28tc3RyaXBlMyB7XG4gIGZpbGw6ICNmYzA7XG4gIHN0cm9rZS13aWR0aDogMS4wMTIyO1xuICBzdHJva2U6ICNmYzA7XG59XG4ubG9nby1zdHJpcGU0IHtcbiAgZmlsbDogIzBmMDtcbiAgc3Ryb2tlLXdpZHRoOiAxLjAxMjI7XG4gIHN0cm9rZTogIzBmMDtcbn1cbi5sb2dvLXN0cmlwZTUge1xuICBmaWxsOiAjMDBmO1xuICBzdHJva2Utd2lkdGg6IDEuMDEyMjtcbiAgc3Ryb2tlOiAjMDBmO1xufVxuLmxvZ28tc3RyaXBlNiB7XG4gIGZpbGw6ICM4MDAwODA7XG4gIHN0cm9rZS13aWR0aDogMS4wMTIyO1xuICBzdHJva2U6ICM4MDAwODA7XG59XG5jaXJjbGUub3V0ZXJjaXJjbGUge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDM7XG59XG5jaXJjbGUjY2lyY2xlZmlsbCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogODtcbn1cbmNpcmNsZSNyZWNvcmRsYWJlbCB7XG4gIGZpbGw6ICNmMGY7XG59XG5wYXRoI3d6bCB7XG4gIHN0cm9rZS13aWR0aDogLjI2NDU4O1xufVxucGF0aCN3emwtZmlsbCB7XG4gIHN0cm9rZS13aWR0aDogNS4xO1xufVxuLnZpbnlsLWxpbmVzIHtcbiAgc3Ryb2tlOiBva2xjaCgwLjIxIDAuMDM0IDI2NC42NjUpO1xuICBmaWxsOiBub25lO1xuICBzdHJva2UtZGFzaGFycmF5OiAwLjUsIDAuNTtcbiAgc3Ryb2tlLW9wYWNpdHk6IC44MjU1MztcbiAgc3Ryb2tlLXdpZHRoOiAuMjQ7XG59XG5AbGF5ZXIgYmFzZSB7XG4gIDp3aGVyZSg6cm9vdCksOnJvb3Q6aGFzKGlucHV0LnRoZW1lLWNvbnRyb2xsZXJbdmFsdWU9bGlnaHRdOmNoZWNrZWQpLFtkYXRhLXRoZW1lPWxpZ2h0XSB7XG4gICAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgICAtLWNvbG9yLWJhc2UtMTAwOiBva2xjaCgxMDAlIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLTIwMDogb2tsY2goOTglIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLTMwMDogb2tsY2goOTUlIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLWNvbnRlbnQ6IG9rbGNoKDIxJSAwLjAwNiAyODUuODg1KTtcbiAgICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDQ1JSAwLjI0IDI3Ny4wMjMpO1xuICAgIC0tY29sb3ItcHJpbWFyeS1jb250ZW50OiBva2xjaCg5MyUgMC4wMzQgMjcyLjc4OCk7XG4gICAgLS1jb2xvci1zZWNvbmRhcnk6IG9rbGNoKDY1JSAwLjI0MSAzNTQuMzA4KTtcbiAgICAtLWNvbG9yLXNlY29uZGFyeS1jb250ZW50OiBva2xjaCg5NCUgMC4wMjggMzQyLjI1OCk7XG4gICAgLS1jb2xvci1hY2NlbnQ6IG9rbGNoKDc3JSAwLjE1MiAxODEuOTEyKTtcbiAgICAtLWNvbG9yLWFjY2VudC1jb250ZW50OiBva2xjaCgzOCUgMC4wNjMgMTg4LjQxNik7XG4gICAgLS1jb2xvci1uZXV0cmFsOiBva2xjaCgxNCUgMC4wMDUgMjg1LjgyMyk7XG4gICAgLS1jb2xvci1uZXV0cmFsLWNvbnRlbnQ6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgIC0tY29sb3ItaW5mbzogb2tsY2goNzQlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1pbmZvLWNvbnRlbnQ6IG9rbGNoKDI5JSAwLjA2NiAyNDMuMTU3KTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3M6IG9rbGNoKDc2JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtY29udGVudDogb2tsY2goMzclIDAuMDc3IDE2OC45NCk7XG4gICAgLS1jb2xvci13YXJuaW5nOiBva2xjaCg4MiUgMC4xODkgODQuNDI5KTtcbiAgICAtLWNvbG9yLXdhcm5pbmctY29udGVudDogb2tsY2goNDElIDAuMTEyIDQ1LjkwNCk7XG4gICAgLS1jb2xvci1lcnJvcjogb2tsY2goNzElIDAuMTk0IDEzLjQyOCk7XG4gICAgLS1jb2xvci1lcnJvci1jb250ZW50OiBva2xjaCgyNyUgMC4xMDUgMTIuMDk0KTtcbiAgICAtLXJhZGl1cy1zZWxlY3RvcjogMC41cmVtO1xuICAgIC0tcmFkaXVzLWZpZWxkOiAwLjI1cmVtO1xuICAgIC0tcmFkaXVzLWJveDogMC41cmVtO1xuICAgIC0tc2l6ZS1zZWxlY3RvcjogMC4yNXJlbTtcbiAgICAtLXNpemUtZmllbGQ6IDAuMjVyZW07XG4gICAgLS1ib3JkZXI6IDFweDtcbiAgICAtLWRlcHRoOiAxO1xuICAgIC0tbm9pc2U6IDA7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIDpyb290IHtcbiAgICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgICAgIC0tY29sb3ItYmFzZS0xMDA6IG9rbGNoKDI1LjMzJSAwLjAxNiAyNTIuNDIpO1xuICAgICAgLS1jb2xvci1iYXNlLTIwMDogb2tsY2goMjMuMjYlIDAuMDE0IDI1My4xKTtcbiAgICAgIC0tY29sb3ItYmFzZS0zMDA6IG9rbGNoKDIxLjE1JSAwLjAxMiAyNTQuMDkpO1xuICAgICAgLS1jb2xvci1iYXNlLWNvbnRlbnQ6IG9rbGNoKDk3LjgwNyUgMC4wMjkgMjU2Ljg0Nyk7XG4gICAgICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDU4JSAwLjIzMyAyNzcuMTE3KTtcbiAgICAgIC0tY29sb3ItcHJpbWFyeS1jb250ZW50OiBva2xjaCg5NiUgMC4wMTggMjcyLjMxNCk7XG4gICAgICAtLWNvbG9yLXNlY29uZGFyeTogb2tsY2goNjUlIDAuMjQxIDM1NC4zMDgpO1xuICAgICAgLS1jb2xvci1zZWNvbmRhcnktY29udGVudDogb2tsY2goOTQlIDAuMDI4IDM0Mi4yNTgpO1xuICAgICAgLS1jb2xvci1hY2NlbnQ6IG9rbGNoKDc3JSAwLjE1MiAxODEuOTEyKTtcbiAgICAgIC0tY29sb3ItYWNjZW50LWNvbnRlbnQ6IG9rbGNoKDM4JSAwLjA2MyAxODguNDE2KTtcbiAgICAgIC0tY29sb3ItbmV1dHJhbDogb2tsY2goMTQlIDAuMDA1IDI4NS44MjMpO1xuICAgICAgLS1jb2xvci1uZXV0cmFsLWNvbnRlbnQ6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgICAgLS1jb2xvci1pbmZvOiBva2xjaCg3NCUgMC4xNiAyMzIuNjYxKTtcbiAgICAgIC0tY29sb3ItaW5mby1jb250ZW50OiBva2xjaCgyOSUgMC4wNjYgMjQzLjE1Nyk7XG4gICAgICAtLWNvbG9yLXN1Y2Nlc3M6IG9rbGNoKDc2JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAgIC0tY29sb3Itc3VjY2Vzcy1jb250ZW50OiBva2xjaCgzNyUgMC4wNzcgMTY4Ljk0KTtcbiAgICAgIC0tY29sb3Itd2FybmluZzogb2tsY2goODIlIDAuMTg5IDg0LjQyOSk7XG4gICAgICAtLWNvbG9yLXdhcm5pbmctY29udGVudDogb2tsY2goNDElIDAuMTEyIDQ1LjkwNCk7XG4gICAgICAtLWNvbG9yLWVycm9yOiBva2xjaCg3MSUgMC4xOTQgMTMuNDI4KTtcbiAgICAgIC0tY29sb3ItZXJyb3ItY29udGVudDogb2tsY2goMjclIDAuMTA1IDEyLjA5NCk7XG4gICAgICAtLXJhZGl1cy1zZWxlY3RvcjogMC41cmVtO1xuICAgICAgLS1yYWRpdXMtZmllbGQ6IDAuMjVyZW07XG4gICAgICAtLXJhZGl1cy1ib3g6IDAuNXJlbTtcbiAgICAgIC0tc2l6ZS1zZWxlY3RvcjogMC4yNXJlbTtcbiAgICAgIC0tc2l6ZS1maWVsZDogMC4yNXJlbTtcbiAgICAgIC0tYm9yZGVyOiAxcHg7XG4gICAgICAtLWRlcHRoOiAxO1xuICAgICAgLS1ub2lzZTogMDtcbiAgICB9XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgOnJvb3Q6aGFzKGlucHV0LnRoZW1lLWNvbnRyb2xsZXJbdmFsdWU9bGlnaHRdOmNoZWNrZWQpLFtkYXRhLXRoZW1lPWxpZ2h0XSB7XG4gICAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgICAtLWNvbG9yLWJhc2UtMTAwOiBva2xjaCgxMDAlIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLTIwMDogb2tsY2goOTglIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLTMwMDogb2tsY2goOTUlIDAgMCk7XG4gICAgLS1jb2xvci1iYXNlLWNvbnRlbnQ6IG9rbGNoKDIxJSAwLjAwNiAyODUuODg1KTtcbiAgICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDQ1JSAwLjI0IDI3Ny4wMjMpO1xuICAgIC0tY29sb3ItcHJpbWFyeS1jb250ZW50OiBva2xjaCg5MyUgMC4wMzQgMjcyLjc4OCk7XG4gICAgLS1jb2xvci1zZWNvbmRhcnk6IG9rbGNoKDY1JSAwLjI0MSAzNTQuMzA4KTtcbiAgICAtLWNvbG9yLXNlY29uZGFyeS1jb250ZW50OiBva2xjaCg5NCUgMC4wMjggMzQyLjI1OCk7XG4gICAgLS1jb2xvci1hY2NlbnQ6IG9rbGNoKDc3JSAwLjE1MiAxODEuOTEyKTtcbiAgICAtLWNvbG9yLWFjY2VudC1jb250ZW50OiBva2xjaCgzOCUgMC4wNjMgMTg4LjQxNik7XG4gICAgLS1jb2xvci1uZXV0cmFsOiBva2xjaCgxNCUgMC4wMDUgMjg1LjgyMyk7XG4gICAgLS1jb2xvci1uZXV0cmFsLWNvbnRlbnQ6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgIC0tY29sb3ItaW5mbzogb2tsY2goNzQlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1pbmZvLWNvbnRlbnQ6IG9rbGNoKDI5JSAwLjA2NiAyNDMuMTU3KTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3M6IG9rbGNoKDc2JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtY29udGVudDogb2tsY2goMzclIDAuMDc3IDE2OC45NCk7XG4gICAgLS1jb2xvci13YXJuaW5nOiBva2xjaCg4MiUgMC4xODkgODQuNDI5KTtcbiAgICAtLWNvbG9yLXdhcm5pbmctY29udGVudDogb2tsY2goNDElIDAuMTEyIDQ1LjkwNCk7XG4gICAgLS1jb2xvci1lcnJvcjogb2tsY2goNzElIDAuMTk0IDEzLjQyOCk7XG4gICAgLS1jb2xvci1lcnJvci1jb250ZW50OiBva2xjaCgyNyUgMC4xMDUgMTIuMDk0KTtcbiAgICAtLXJhZGl1cy1zZWxlY3RvcjogMC41cmVtO1xuICAgIC0tcmFkaXVzLWZpZWxkOiAwLjI1cmVtO1xuICAgIC0tcmFkaXVzLWJveDogMC41cmVtO1xuICAgIC0tc2l6ZS1zZWxlY3RvcjogMC4yNXJlbTtcbiAgICAtLXNpemUtZmllbGQ6IDAuMjVyZW07XG4gICAgLS1ib3JkZXI6IDFweDtcbiAgICAtLWRlcHRoOiAxO1xuICAgIC0tbm9pc2U6IDA7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgOnJvb3Q6aGFzKGlucHV0LnRoZW1lLWNvbnRyb2xsZXJbdmFsdWU9ZGFya106Y2hlY2tlZCksW2RhdGEtdGhlbWU9ZGFya10ge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgICAtLWNvbG9yLWJhc2UtMTAwOiBva2xjaCgyNS4zMyUgMC4wMTYgMjUyLjQyKTtcbiAgICAtLWNvbG9yLWJhc2UtMjAwOiBva2xjaCgyMy4yNiUgMC4wMTQgMjUzLjEpO1xuICAgIC0tY29sb3ItYmFzZS0zMDA6IG9rbGNoKDIxLjE1JSAwLjAxMiAyNTQuMDkpO1xuICAgIC0tY29sb3ItYmFzZS1jb250ZW50OiBva2xjaCg5Ny44MDclIDAuMDI5IDI1Ni44NDcpO1xuICAgIC0tY29sb3ItcHJpbWFyeTogb2tsY2goNTglIDAuMjMzIDI3Ny4xMTcpO1xuICAgIC0tY29sb3ItcHJpbWFyeS1jb250ZW50OiBva2xjaCg5NiUgMC4wMTggMjcyLjMxNCk7XG4gICAgLS1jb2xvci1zZWNvbmRhcnk6IG9rbGNoKDY1JSAwLjI0MSAzNTQuMzA4KTtcbiAgICAtLWNvbG9yLXNlY29uZGFyeS1jb250ZW50OiBva2xjaCg5NCUgMC4wMjggMzQyLjI1OCk7XG4gICAgLS1jb2xvci1hY2NlbnQ6IG9rbGNoKDc3JSAwLjE1MiAxODEuOTEyKTtcbiAgICAtLWNvbG9yLWFjY2VudC1jb250ZW50OiBva2xjaCgzOCUgMC4wNjMgMTg4LjQxNik7XG4gICAgLS1jb2xvci1uZXV0cmFsOiBva2xjaCgxNCUgMC4wMDUgMjg1LjgyMyk7XG4gICAgLS1jb2xvci1uZXV0cmFsLWNvbnRlbnQ6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgIC0tY29sb3ItaW5mbzogb2tsY2goNzQlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1pbmZvLWNvbnRlbnQ6IG9rbGNoKDI5JSAwLjA2NiAyNDMuMTU3KTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3M6IG9rbGNoKDc2JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtY29udGVudDogb2tsY2goMzclIDAuMDc3IDE2OC45NCk7XG4gICAgLS1jb2xvci13YXJuaW5nOiBva2xjaCg4MiUgMC4xODkgODQuNDI5KTtcbiAgICAtLWNvbG9yLXdhcm5pbmctY29udGVudDogb2tsY2goNDElIDAuMTEyIDQ1LjkwNCk7XG4gICAgLS1jb2xvci1lcnJvcjogb2tsY2goNzElIDAuMTk0IDEzLjQyOCk7XG4gICAgLS1jb2xvci1lcnJvci1jb250ZW50OiBva2xjaCgyNyUgMC4xMDUgMTIuMDk0KTtcbiAgICAtLXJhZGl1cy1zZWxlY3RvcjogMC41cmVtO1xuICAgIC0tcmFkaXVzLWZpZWxkOiAwLjI1cmVtO1xuICAgIC0tcmFkaXVzLWJveDogMC41cmVtO1xuICAgIC0tc2l6ZS1zZWxlY3RvcjogMC4yNXJlbTtcbiAgICAtLXNpemUtZmllbGQ6IDAuMjVyZW07XG4gICAgLS1ib3JkZXI6IDFweDtcbiAgICAtLWRlcHRoOiAxO1xuICAgIC0tbm9pc2U6IDA7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgQHByb3BlcnR5IC0tcmFkaWFscHJvZ3Jlc3Mge1xuICAgIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgICBpbmhlcml0czogdHJ1ZTtcbiAgICBpbml0aWFsLXZhbHVlOiAwJTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICA6cm9vdCB7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsY2gsIGN1cnJlbnRDb2xvciAzNSUsICMwMDAwKSAjMDAwMDtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICA6cm9vdDpoYXMoIC5tb2RhbC1vcGVuLCAubW9kYWxbb3Blbl0sIC5tb2RhbDp0YXJnZXQsIC5tb2RhbC10b2dnbGU6Y2hlY2tlZCwgLmRyYXdlcjpub3QoW2NsYXNzKj1cImRyYXdlci1vcGVuXCJdKSA+IC5kcmF3ZXItdG9nZ2xlOmNoZWNrZWQgKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICA6cm9vdCxcbltkYXRhLXRoZW1lXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcm9vdC1iZywgdmFyKC0tY29sb3ItYmFzZS0xMDApKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFzZS1jb250ZW50KTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICA6cm9vdCB7XG4gICAgLS1meC1ub2lzZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZmlsdGVyIGlkPSdhJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzEuMzQnIG51bU9jdGF2ZXM9JzQnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnJTNFJTNDL2ZlVHVyYnVsZW5jZSUzRSUzQy9maWx0ZXIlM0UlM0NyZWN0IHdpZHRoPScxMDAlMjUnIGhlaWdodD0nMTAwJTI1JyBmaWx0ZXI9J3VybCglMjNhKScgb3BhY2l0eT0nMC4yJyUzRSUzQy9yZWN0JTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuICAuY2hhdCB7XG4gICAgLS1tYXNrLWNoYXQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzEzJyBoZWlnaHQ9JzEzJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSdibGFjaycgZD0nTTAgMTEuNTAwNEMwIDEzLjAwMDQgMiAxMy4wMDA0IDIgMTMuMDAwNEgxMkgxM1YwLjAwMDM2MzI5TDEyLjUgMEMxMi41IDAgMTEuOTc3IDIuMDk1NzIgMTEuODU4MSAyLjUwMDMzQzExLjYwNzUgMy4zNTIzNyAxMC45MTQ5IDQuMjIzNzQgOSA1LjUwMDM2QzYgNy41MDAzNiAwIDEwLjAwMDQgMCAxMS41MDA0WicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICA6d2hlcmUoXG4gIDpyb290OmhhcyhcbiAgICAgIC5tb2RhbC1vcGVuLFxuICAgICAgLm1vZGFsW29wZW5dLFxuICAgICAgLm1vZGFsOnRhcmdldCxcbiAgICAgIC5tb2RhbC10b2dnbGU6Y2hlY2tlZCxcbiAgICAgIC5kcmF3ZXI6bm90KC5kcmF3ZXItb3BlbikgPiAuZHJhd2VyLXRvZ2dsZTpjaGVja2VkXG4gICAgKVxuKSB7XG4gICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1jb2xvci1iYXNlLTEwMCksIHZhcigtLWNvbG9yLWJhc2UtMTAwKSk7XG4gICAgLS1yb290LWJnOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItYmFzZS0xMDApLCBva2xjaCgwJSAwIDApIDQwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2tlbGV0b24ge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTAlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzIHtcbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IC0xMTUlO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJhZGlvIHtcbiAgMCUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgfVxuICA1MCUge1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxufVxuQGtleWZyYW1lcyBkcm9wZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJhdGluZyB7XG4gIDAlLCA0MCUge1xuICAgIHNjYWxlOiAxLjE7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDUpIGNvbnRyYXN0KDEuMDUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvYXN0IHtcbiAgMCUge1xuICAgIHNjYWxlOiAwLjk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBzY2FsZTogMTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5AcHJvcGVydHkgLS10dy1yb3RhdGUteCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogcm90YXRlWCgwKTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiByb3RhdGVZKDApO1xufVxuQHByb3BlcnR5IC0tdHctcm90YXRlLXoge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IHJvdGF0ZVooMCk7XG59XG5AcHJvcGVydHkgLS10dy1za2V3LXgge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IHNrZXdYKDApO1xufVxuQHByb3BlcnR5IC0tdHctc2tldy15IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiBza2V3WSgwKTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJvcmRlci1zdHlsZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogc29saWQ7XG59XG5AcHJvcGVydHkgLS10dy1mb250LXdlaWdodCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWVhc2Uge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG4iXX0= */