{"version":3,"file":"context-DZa5WwQ_.cjs","names":[],"sources":["../../../node_modules/.pnpm/solid-js@1.9.10/node_modules/solid-js/dist/solid.js","../../../node_modules/.pnpm/solid-js@1.9.10/node_modules/solid-js/web/dist/web.js","../src/context.ts"],"sourcesContent":["let taskIdCounter = 1,\n  isCallbackScheduled = false,\n  isPerformingWork = false,\n  taskQueue = [],\n  currentTask = null,\n  shouldYieldToHost = null,\n  yieldInterval = 5,\n  deadline = 0,\n  maxYieldInterval = 300,\n  maxDeadline = 0,\n  scheduleCallback = null,\n  scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n  const channel = new MessageChannel(),\n    port = channel.port2;\n  scheduleCallback = () => port.postMessage(null);\n  channel.port1.onmessage = () => {\n    if (scheduledCallback !== null) {\n      const currentTime = performance.now();\n      deadline = currentTime + yieldInterval;\n      maxDeadline = currentTime + maxYieldInterval;\n      try {\n        const hasMoreWork = scheduledCallback(currentTime);\n        if (!hasMoreWork) {\n          scheduledCallback = null;\n        } else port.postMessage(null);\n      } catch (error) {\n        port.postMessage(null);\n        throw error;\n      }\n    }\n  };\n  if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n    const scheduling = navigator.scheduling;\n    shouldYieldToHost = () => {\n      const currentTime = performance.now();\n      if (currentTime >= deadline) {\n        if (scheduling.isInputPending()) {\n          return true;\n        }\n        return currentTime >= maxDeadline;\n      } else {\n        return false;\n      }\n    };\n  } else {\n    shouldYieldToHost = () => performance.now() >= deadline;\n  }\n}\nfunction enqueue(taskQueue, task) {\n  function findIndex() {\n    let m = 0;\n    let n = taskQueue.length - 1;\n    while (m <= n) {\n      const k = n + m >> 1;\n      const cmp = task.expirationTime - taskQueue[k].expirationTime;\n      if (cmp > 0) m = k + 1;else if (cmp < 0) n = k - 1;else return k;\n    }\n    return m;\n  }\n  taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n  if (!scheduleCallback) setupScheduler();\n  let startTime = performance.now(),\n    timeout = maxSigned31BitInt;\n  if (options && options.timeout) timeout = options.timeout;\n  const newTask = {\n    id: taskIdCounter++,\n    fn,\n    startTime,\n    expirationTime: startTime + timeout\n  };\n  enqueue(taskQueue, newTask);\n  if (!isCallbackScheduled && !isPerformingWork) {\n    isCallbackScheduled = true;\n    scheduledCallback = flushWork;\n    scheduleCallback();\n  }\n  return newTask;\n}\nfunction cancelCallback(task) {\n  task.fn = null;\n}\nfunction flushWork(initialTime) {\n  isCallbackScheduled = false;\n  isPerformingWork = true;\n  try {\n    return workLoop(initialTime);\n  } finally {\n    currentTask = null;\n    isPerformingWork = false;\n  }\n}\nfunction workLoop(initialTime) {\n  let currentTime = initialTime;\n  currentTask = taskQueue[0] || null;\n  while (currentTask !== null) {\n    if (currentTask.expirationTime > currentTime && shouldYieldToHost()) {\n      break;\n    }\n    const callback = currentTask.fn;\n    if (callback !== null) {\n      currentTask.fn = null;\n      const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n      callback(didUserCallbackTimeout);\n      currentTime = performance.now();\n      if (currentTask === taskQueue[0]) {\n        taskQueue.shift();\n      }\n    } else taskQueue.shift();\n    currentTask = taskQueue[0] || null;\n  }\n  return currentTask !== null;\n}\n\nconst sharedConfig = {\n  context: undefined,\n  registry: undefined,\n  effects: undefined,\n  done: false,\n  getContextId() {\n    return getContextId(this.context.count);\n  },\n  getNextContextId() {\n    return getContextId(this.context.count++);\n  }\n};\nfunction getContextId(count) {\n  const num = String(count),\n    len = num.length - 1;\n  return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : \"\") + num;\n}\nfunction setHydrateContext(context) {\n  sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n  return {\n    ...sharedConfig.context,\n    id: sharedConfig.getNextContextId(),\n    count: 0\n  };\n}\n\nconst IS_DEV = false;\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst SUPPORTS_PROXY = typeof Proxy === \"function\";\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n  equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n  owned: null,\n  cleanups: null,\n  context: null,\n  owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n  const listener = Listener,\n    owner = Owner,\n    unowned = fn.length === 0,\n    current = detachedOwner === undefined ? owner : detachedOwner,\n    root = unowned ? UNOWNED : {\n      owned: null,\n      cleanups: null,\n      context: current ? current.context : null,\n      owner: current\n    },\n    updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n  Owner = root;\n  Listener = null;\n  try {\n    return runUpdates(updateFn, true);\n  } finally {\n    Listener = listener;\n    Owner = owner;\n  }\n}\nfunction createSignal(value, options) {\n  options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n  const s = {\n    value,\n    observers: null,\n    observerSlots: null,\n    comparator: options.equals || undefined\n  };\n  const setter = value => {\n    if (typeof value === \"function\") {\n      if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);else value = value(s.value);\n    }\n    return writeSignal(s, value);\n  };\n  return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n  const c = createComputation(fn, value, true, STALE);\n  if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n  const c = createComputation(fn, value, false, STALE);\n  if (Scheduler && Transition && Transition.running) Updates.push(c);else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n  runEffects = runUserEffects;\n  const c = createComputation(fn, value, false, STALE),\n    s = SuspenseContext && useContext(SuspenseContext);\n  if (s) c.suspense = s;\n  if (!options || !options.render) c.user = true;\n  Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n  let fn;\n  const c = createComputation(() => {\n      fn ? fn() : untrack(onInvalidate);\n      fn = undefined;\n    }, undefined, false, 0),\n    s = SuspenseContext && useContext(SuspenseContext);\n  if (s) c.suspense = s;\n  c.user = true;\n  return tracking => {\n    fn = tracking;\n    updateComputation(c);\n  };\n}\nfunction createMemo(fn, value, options) {\n  options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n  const c = createComputation(fn, value, true, 0);\n  c.observers = null;\n  c.observerSlots = null;\n  c.comparator = options.equals || undefined;\n  if (Scheduler && Transition && Transition.running) {\n    c.tState = STALE;\n    Updates.push(c);\n  } else updateComputation(c);\n  return readSignal.bind(c);\n}\nfunction isPromise(v) {\n  return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n  let source;\n  let fetcher;\n  let options;\n  if (typeof pFetcher === \"function\") {\n    source = pSource;\n    fetcher = pFetcher;\n    options = pOptions || {};\n  } else {\n    source = true;\n    fetcher = pSource;\n    options = pFetcher || {};\n  }\n  let pr = null,\n    initP = NO_INIT,\n    id = null,\n    loadedUnderTransition = false,\n    scheduled = false,\n    resolved = \"initialValue\" in options,\n    dynamic = typeof source === \"function\" && createMemo(source);\n  const contexts = new Set(),\n    [value, setValue] = (options.storage || createSignal)(options.initialValue),\n    [error, setError] = createSignal(undefined),\n    [track, trigger] = createSignal(undefined, {\n      equals: false\n    }),\n    [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n  if (sharedConfig.context) {\n    id = sharedConfig.getNextContextId();\n    if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);\n  }\n  function loadEnd(p, v, error, key) {\n    if (pr === p) {\n      pr = null;\n      key !== undefined && (resolved = true);\n      if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {\n        value: v\n      }));\n      initP = NO_INIT;\n      if (Transition && p && loadedUnderTransition) {\n        Transition.promises.delete(p);\n        loadedUnderTransition = false;\n        runUpdates(() => {\n          Transition.running = true;\n          completeLoad(v, error);\n        }, false);\n      } else completeLoad(v, error);\n    }\n    return v;\n  }\n  function completeLoad(v, err) {\n    runUpdates(() => {\n      if (err === undefined) setValue(() => v);\n      setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n      setError(err);\n      for (const c of contexts.keys()) c.decrement();\n      contexts.clear();\n    }, false);\n  }\n  function read() {\n    const c = SuspenseContext && useContext(SuspenseContext),\n      v = value(),\n      err = error();\n    if (err !== undefined && !pr) throw err;\n    if (Listener && !Listener.user && c) {\n      createComputed(() => {\n        track();\n        if (pr) {\n          if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);else if (!contexts.has(c)) {\n            c.increment();\n            contexts.add(c);\n          }\n        }\n      });\n    }\n    return v;\n  }\n  function load(refetching = true) {\n    if (refetching !== false && scheduled) return;\n    scheduled = false;\n    const lookup = dynamic ? dynamic() : source;\n    loadedUnderTransition = Transition && Transition.running;\n    if (lookup == null || lookup === false) {\n      loadEnd(pr, untrack(value));\n      return;\n    }\n    if (Transition && pr) Transition.promises.delete(pr);\n    let error;\n    const p = initP !== NO_INIT ? initP : untrack(() => {\n      try {\n        return fetcher(lookup, {\n          value: value(),\n          refetching\n        });\n      } catch (fetcherError) {\n        error = fetcherError;\n      }\n    });\n    if (error !== undefined) {\n      loadEnd(pr, undefined, castError(error), lookup);\n      return;\n    } else if (!isPromise(p)) {\n      loadEnd(pr, p, undefined, lookup);\n      return p;\n    }\n    pr = p;\n    if (\"v\" in p) {\n      if (p.s === 1) loadEnd(pr, p.v, undefined, lookup);else loadEnd(pr, undefined, castError(p.v), lookup);\n      return p;\n    }\n    scheduled = true;\n    queueMicrotask(() => scheduled = false);\n    runUpdates(() => {\n      setState(resolved ? \"refreshing\" : \"pending\");\n      trigger();\n    }, false);\n    return p.then(v => loadEnd(p, v, undefined, lookup), e => loadEnd(p, undefined, castError(e), lookup));\n  }\n  Object.defineProperties(read, {\n    state: {\n      get: () => state()\n    },\n    error: {\n      get: () => error()\n    },\n    loading: {\n      get() {\n        const s = state();\n        return s === \"pending\" || s === \"refreshing\";\n      }\n    },\n    latest: {\n      get() {\n        if (!resolved) return read();\n        const err = error();\n        if (err && !pr) throw err;\n        return value();\n      }\n    }\n  });\n  let owner = Owner;\n  if (dynamic) createComputed(() => (owner = Owner, load(false)));else load(false);\n  return [read, {\n    refetch: info => runWithOwner(owner, () => load(info)),\n    mutate: setValue\n  }];\n}\nfunction createDeferred(source, options) {\n  let t,\n    timeout = options ? options.timeoutMs : undefined;\n  const node = createComputation(() => {\n    if (!t || !t.fn) t = requestCallback(() => setDeferred(() => node.value), timeout !== undefined ? {\n      timeout\n    } : undefined);\n    return source();\n  }, undefined, true);\n  const [deferred, setDeferred] = createSignal(Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, options);\n  updateComputation(node);\n  setDeferred(() => Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n  return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n  const subs = new Map();\n  const node = createComputation(p => {\n    const v = source();\n    for (const [key, val] of subs.entries()) if (fn(key, v) !== fn(key, p)) {\n      for (const c of val.values()) {\n        c.state = STALE;\n        if (c.pure) Updates.push(c);else Effects.push(c);\n      }\n    }\n    return v;\n  }, undefined, true, STALE);\n  updateComputation(node);\n  return key => {\n    const listener = Listener;\n    if (listener) {\n      let l;\n      if (l = subs.get(key)) l.add(listener);else subs.set(key, l = new Set([listener]));\n      onCleanup(() => {\n        l.delete(listener);\n        !l.size && subs.delete(key);\n      });\n    }\n    return fn(key, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value);\n  };\n}\nfunction batch(fn) {\n  return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n  if (!ExternalSourceConfig && Listener === null) return fn();\n  const listener = Listener;\n  Listener = null;\n  try {\n    if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n    return fn();\n  } finally {\n    Listener = listener;\n  }\n}\nfunction on(deps, fn, options) {\n  const isArray = Array.isArray(deps);\n  let prevInput;\n  let defer = options && options.defer;\n  return prevValue => {\n    let input;\n    if (isArray) {\n      input = Array(deps.length);\n      for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n    } else input = deps();\n    if (defer) {\n      defer = false;\n      return prevValue;\n    }\n    const result = untrack(() => fn(input, prevInput, prevValue));\n    prevInput = input;\n    return result;\n  };\n}\nfunction onMount(fn) {\n  createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n  if (Owner === null) ;else if (Owner.cleanups === null) Owner.cleanups = [fn];else Owner.cleanups.push(fn);\n  return fn;\n}\nfunction catchError(fn, handler) {\n  ERROR || (ERROR = Symbol(\"error\"));\n  Owner = createComputation(undefined, undefined, true);\n  Owner.context = {\n    ...Owner.context,\n    [ERROR]: [handler]\n  };\n  if (Transition && Transition.running) Transition.sources.add(Owner);\n  try {\n    return fn();\n  } catch (err) {\n    handleError(err);\n  } finally {\n    Owner = Owner.owner;\n  }\n}\nfunction getListener() {\n  return Listener;\n}\nfunction getOwner() {\n  return Owner;\n}\nfunction runWithOwner(o, fn) {\n  const prev = Owner;\n  const prevListener = Listener;\n  Owner = o;\n  Listener = null;\n  try {\n    return runUpdates(fn, true);\n  } catch (err) {\n    handleError(err);\n  } finally {\n    Owner = prev;\n    Listener = prevListener;\n  }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n  Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n  if (Transition && Transition.running) {\n    fn();\n    return Transition.done;\n  }\n  const l = Listener;\n  const o = Owner;\n  return Promise.resolve().then(() => {\n    Listener = l;\n    Owner = o;\n    let t;\n    if (Scheduler || SuspenseContext) {\n      t = Transition || (Transition = {\n        sources: new Set(),\n        effects: [],\n        promises: new Set(),\n        disposed: new Set(),\n        queue: new Set(),\n        running: true\n      });\n      t.done || (t.done = new Promise(res => t.resolve = res));\n      t.running = true;\n    }\n    runUpdates(fn, false);\n    Listener = Owner = null;\n    return t ? t.done : undefined;\n  });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/createSignal(false);\nfunction useTransition() {\n  return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n  Effects.push.apply(Effects, e);\n  e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n  const id = Symbol(\"context\");\n  return {\n    id,\n    Provider: createProvider(id),\n    defaultValue\n  };\n}\nfunction useContext(context) {\n  let value;\n  return Owner && Owner.context && (value = Owner.context[context.id]) !== undefined ? value : context.defaultValue;\n}\nfunction children(fn) {\n  const children = createMemo(fn);\n  const memo = createMemo(() => resolveChildren(children()));\n  memo.toArray = () => {\n    const c = memo();\n    return Array.isArray(c) ? c : c != null ? [c] : [];\n  };\n  return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n  return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n  if (ExternalSourceConfig) {\n    const {\n      factory: oldFactory,\n      untrack: oldUntrack\n    } = ExternalSourceConfig;\n    ExternalSourceConfig = {\n      factory: (fn, trigger) => {\n        const oldSource = oldFactory(fn, trigger);\n        const source = factory(x => oldSource.track(x), trigger);\n        return {\n          track: x => source.track(x),\n          dispose() {\n            source.dispose();\n            oldSource.dispose();\n          }\n        };\n      },\n      untrack: fn => oldUntrack(() => untrack(fn))\n    };\n  } else {\n    ExternalSourceConfig = {\n      factory,\n      untrack\n    };\n  }\n}\nfunction readSignal() {\n  const runningTransition = Transition && Transition.running;\n  if (this.sources && (runningTransition ? this.tState : this.state)) {\n    if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);else {\n      const updates = Updates;\n      Updates = null;\n      runUpdates(() => lookUpstream(this), false);\n      Updates = updates;\n    }\n  }\n  if (Listener) {\n    const sSlot = this.observers ? this.observers.length : 0;\n    if (!Listener.sources) {\n      Listener.sources = [this];\n      Listener.sourceSlots = [sSlot];\n    } else {\n      Listener.sources.push(this);\n      Listener.sourceSlots.push(sSlot);\n    }\n    if (!this.observers) {\n      this.observers = [Listener];\n      this.observerSlots = [Listener.sources.length - 1];\n    } else {\n      this.observers.push(Listener);\n      this.observerSlots.push(Listener.sources.length - 1);\n    }\n  }\n  if (runningTransition && Transition.sources.has(this)) return this.tValue;\n  return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n  let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n  if (!node.comparator || !node.comparator(current, value)) {\n    if (Transition) {\n      const TransitionRunning = Transition.running;\n      if (TransitionRunning || !isComp && Transition.sources.has(node)) {\n        Transition.sources.add(node);\n        node.tValue = value;\n      }\n      if (!TransitionRunning) node.value = value;\n    } else node.value = value;\n    if (node.observers && node.observers.length) {\n      runUpdates(() => {\n        for (let i = 0; i < node.observers.length; i += 1) {\n          const o = node.observers[i];\n          const TransitionRunning = Transition && Transition.running;\n          if (TransitionRunning && Transition.disposed.has(o)) continue;\n          if (TransitionRunning ? !o.tState : !o.state) {\n            if (o.pure) Updates.push(o);else Effects.push(o);\n            if (o.observers) markDownstream(o);\n          }\n          if (!TransitionRunning) o.state = STALE;else o.tState = STALE;\n        }\n        if (Updates.length > 10e5) {\n          Updates = [];\n          if (IS_DEV) ;\n          throw new Error();\n        }\n      }, false);\n    }\n  }\n  return value;\n}\nfunction updateComputation(node) {\n  if (!node.fn) return;\n  cleanNode(node);\n  const time = ExecCount;\n  runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);\n  if (Transition && !Transition.running && Transition.sources.has(node)) {\n    queueMicrotask(() => {\n      runUpdates(() => {\n        Transition && (Transition.running = true);\n        Listener = Owner = node;\n        runComputation(node, node.tValue, time);\n        Listener = Owner = null;\n      }, false);\n    });\n  }\n}\nfunction runComputation(node, value, time) {\n  let nextValue;\n  const owner = Owner,\n    listener = Listener;\n  Listener = Owner = node;\n  try {\n    nextValue = node.fn(value);\n  } catch (err) {\n    if (node.pure) {\n      if (Transition && Transition.running) {\n        node.tState = STALE;\n        node.tOwned && node.tOwned.forEach(cleanNode);\n        node.tOwned = undefined;\n      } else {\n        node.state = STALE;\n        node.owned && node.owned.forEach(cleanNode);\n        node.owned = null;\n      }\n    }\n    node.updatedAt = time + 1;\n    return handleError(err);\n  } finally {\n    Listener = listener;\n    Owner = owner;\n  }\n  if (!node.updatedAt || node.updatedAt <= time) {\n    if (node.updatedAt != null && \"observers\" in node) {\n      writeSignal(node, nextValue, true);\n    } else if (Transition && Transition.running && node.pure) {\n      Transition.sources.add(node);\n      node.tValue = nextValue;\n    } else node.value = nextValue;\n    node.updatedAt = time;\n  }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n  const c = {\n    fn,\n    state: state,\n    updatedAt: null,\n    owned: null,\n    sources: null,\n    sourceSlots: null,\n    cleanups: null,\n    value: init,\n    owner: Owner,\n    context: Owner ? Owner.context : null,\n    pure\n  };\n  if (Transition && Transition.running) {\n    c.state = 0;\n    c.tState = state;\n  }\n  if (Owner === null) ;else if (Owner !== UNOWNED) {\n    if (Transition && Transition.running && Owner.pure) {\n      if (!Owner.tOwned) Owner.tOwned = [c];else Owner.tOwned.push(c);\n    } else {\n      if (!Owner.owned) Owner.owned = [c];else Owner.owned.push(c);\n    }\n  }\n  if (ExternalSourceConfig && c.fn) {\n    const [track, trigger] = createSignal(undefined, {\n      equals: false\n    });\n    const ordinary = ExternalSourceConfig.factory(c.fn, trigger);\n    onCleanup(() => ordinary.dispose());\n    const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());\n    const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);\n    c.fn = x => {\n      track();\n      return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);\n    };\n  }\n  return c;\n}\nfunction runTop(node) {\n  const runningTransition = Transition && Transition.running;\n  if ((runningTransition ? node.tState : node.state) === 0) return;\n  if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n  if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n  const ancestors = [node];\n  while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n    if (runningTransition && Transition.disposed.has(node)) return;\n    if (runningTransition ? node.tState : node.state) ancestors.push(node);\n  }\n  for (let i = ancestors.length - 1; i >= 0; i--) {\n    node = ancestors[i];\n    if (runningTransition) {\n      let top = node,\n        prev = ancestors[i + 1];\n      while ((top = top.owner) && top !== prev) {\n        if (Transition.disposed.has(top)) return;\n      }\n    }\n    if ((runningTransition ? node.tState : node.state) === STALE) {\n      updateComputation(node);\n    } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n      const updates = Updates;\n      Updates = null;\n      runUpdates(() => lookUpstream(node, ancestors[0]), false);\n      Updates = updates;\n    }\n  }\n}\nfunction runUpdates(fn, init) {\n  if (Updates) return fn();\n  let wait = false;\n  if (!init) Updates = [];\n  if (Effects) wait = true;else Effects = [];\n  ExecCount++;\n  try {\n    const res = fn();\n    completeUpdates(wait);\n    return res;\n  } catch (err) {\n    if (!wait) Effects = null;\n    Updates = null;\n    handleError(err);\n  }\n}\nfunction completeUpdates(wait) {\n  if (Updates) {\n    if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);else runQueue(Updates);\n    Updates = null;\n  }\n  if (wait) return;\n  let res;\n  if (Transition) {\n    if (!Transition.promises.size && !Transition.queue.size) {\n      const sources = Transition.sources;\n      const disposed = Transition.disposed;\n      Effects.push.apply(Effects, Transition.effects);\n      res = Transition.resolve;\n      for (const e of Effects) {\n        \"tState\" in e && (e.state = e.tState);\n        delete e.tState;\n      }\n      Transition = null;\n      runUpdates(() => {\n        for (const d of disposed) cleanNode(d);\n        for (const v of sources) {\n          v.value = v.tValue;\n          if (v.owned) {\n            for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n          }\n          if (v.tOwned) v.owned = v.tOwned;\n          delete v.tValue;\n          delete v.tOwned;\n          v.tState = 0;\n        }\n        setTransPending(false);\n      }, false);\n    } else if (Transition.running) {\n      Transition.running = false;\n      Transition.effects.push.apply(Transition.effects, Effects);\n      Effects = null;\n      setTransPending(true);\n      return;\n    }\n  }\n  const e = Effects;\n  Effects = null;\n  if (e.length) runUpdates(() => runEffects(e), false);\n  if (res) res();\n}\nfunction runQueue(queue) {\n  for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n  for (let i = 0; i < queue.length; i++) {\n    const item = queue[i];\n    const tasks = Transition.queue;\n    if (!tasks.has(item)) {\n      tasks.add(item);\n      Scheduler(() => {\n        tasks.delete(item);\n        runUpdates(() => {\n          Transition.running = true;\n          runTop(item);\n        }, false);\n        Transition && (Transition.running = false);\n      });\n    }\n  }\n}\nfunction runUserEffects(queue) {\n  let i,\n    userLength = 0;\n  for (i = 0; i < queue.length; i++) {\n    const e = queue[i];\n    if (!e.user) runTop(e);else queue[userLength++] = e;\n  }\n  if (sharedConfig.context) {\n    if (sharedConfig.count) {\n      sharedConfig.effects || (sharedConfig.effects = []);\n      sharedConfig.effects.push(...queue.slice(0, userLength));\n      return;\n    }\n    setHydrateContext();\n  }\n  if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {\n    queue = [...sharedConfig.effects, ...queue];\n    userLength += sharedConfig.effects.length;\n    delete sharedConfig.effects;\n  }\n  for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n  const runningTransition = Transition && Transition.running;\n  if (runningTransition) node.tState = 0;else node.state = 0;\n  for (let i = 0; i < node.sources.length; i += 1) {\n    const source = node.sources[i];\n    if (source.sources) {\n      const state = runningTransition ? source.tState : source.state;\n      if (state === STALE) {\n        if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);\n      } else if (state === PENDING) lookUpstream(source, ignore);\n    }\n  }\n}\nfunction markDownstream(node) {\n  const runningTransition = Transition && Transition.running;\n  for (let i = 0; i < node.observers.length; i += 1) {\n    const o = node.observers[i];\n    if (runningTransition ? !o.tState : !o.state) {\n      if (runningTransition) o.tState = PENDING;else o.state = PENDING;\n      if (o.pure) Updates.push(o);else Effects.push(o);\n      o.observers && markDownstream(o);\n    }\n  }\n}\nfunction cleanNode(node) {\n  let i;\n  if (node.sources) {\n    while (node.sources.length) {\n      const source = node.sources.pop(),\n        index = node.sourceSlots.pop(),\n        obs = source.observers;\n      if (obs && obs.length) {\n        const n = obs.pop(),\n          s = source.observerSlots.pop();\n        if (index < obs.length) {\n          n.sourceSlots[s] = index;\n          obs[index] = n;\n          source.observerSlots[index] = s;\n        }\n      }\n    }\n  }\n  if (node.tOwned) {\n    for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n    delete node.tOwned;\n  }\n  if (Transition && Transition.running && node.pure) {\n    reset(node, true);\n  } else if (node.owned) {\n    for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n    node.owned = null;\n  }\n  if (node.cleanups) {\n    for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n    node.cleanups = null;\n  }\n  if (Transition && Transition.running) node.tState = 0;else node.state = 0;\n}\nfunction reset(node, top) {\n  if (!top) {\n    node.tState = 0;\n    Transition.disposed.add(node);\n  }\n  if (node.owned) {\n    for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n  }\n}\nfunction castError(err) {\n  if (err instanceof Error) return err;\n  return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n    cause: err\n  });\n}\nfunction runErrors(err, fns, owner) {\n  try {\n    for (const f of fns) f(err);\n  } catch (e) {\n    handleError(e, owner && owner.owner || null);\n  }\n}\nfunction handleError(err, owner = Owner) {\n  const fns = ERROR && owner && owner.context && owner.context[ERROR];\n  const error = castError(err);\n  if (!fns) throw error;\n  if (Effects) Effects.push({\n    fn() {\n      runErrors(error, fns, owner);\n    },\n    state: STALE\n  });else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n  if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n  if (Array.isArray(children)) {\n    const results = [];\n    for (let i = 0; i < children.length; i++) {\n      const result = resolveChildren(children[i]);\n      Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n    }\n    return results;\n  }\n  return children;\n}\nfunction createProvider(id, options) {\n  return function provider(props) {\n    let res;\n    createRenderEffect(() => res = untrack(() => {\n      Owner.context = {\n        ...Owner.context,\n        [id]: props.value\n      };\n      return children(() => props.children);\n    }), undefined);\n    return res;\n  };\n}\nfunction onError(fn) {\n  ERROR || (ERROR = Symbol(\"error\"));\n  if (Owner === null) ;else if (Owner.context === null || !Owner.context[ERROR]) {\n    Owner.context = {\n      ...Owner.context,\n      [ERROR]: [fn]\n    };\n    mutateContext(Owner, ERROR, [fn]);\n  } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n  if (o.owned) {\n    for (let i = 0; i < o.owned.length; i++) {\n      if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n      if (!o.owned[i].context) {\n        o.owned[i].context = o.context;\n        mutateContext(o.owned[i], key, value);\n      } else if (!o.owned[i].context[key]) {\n        o.owned[i].context[key] = value;\n        mutateContext(o.owned[i], key, value);\n      }\n    }\n  }\n}\n\nfunction observable(input) {\n  return {\n    subscribe(observer) {\n      if (!(observer instanceof Object) || observer == null) {\n        throw new TypeError(\"Expected the observer to be an object.\");\n      }\n      const handler = typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n      if (!handler) {\n        return {\n          unsubscribe() {}\n        };\n      }\n      const dispose = createRoot(disposer => {\n        createEffect(() => {\n          const v = input();\n          untrack(() => handler(v));\n        });\n        return disposer;\n      });\n      if (getOwner()) onCleanup(dispose);\n      return {\n        unsubscribe() {\n          dispose();\n        }\n      };\n    },\n    [Symbol.observable || \"@@observable\"]() {\n      return this;\n    }\n  };\n}\nfunction from(producer, initalValue = undefined) {\n  const [s, set] = createSignal(initalValue, {\n    equals: false\n  });\n  if (\"subscribe\" in producer) {\n    const unsub = producer.subscribe(v => set(() => v));\n    onCleanup(() => \"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub());\n  } else {\n    const clean = producer(set);\n    onCleanup(clean);\n  }\n  return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n  for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n  let items = [],\n    mapped = [],\n    disposers = [],\n    len = 0,\n    indexes = mapFn.length > 1 ? [] : null;\n  onCleanup(() => dispose(disposers));\n  return () => {\n    let newItems = list() || [],\n      newLen = newItems.length,\n      i,\n      j;\n    newItems[$TRACK];\n    return untrack(() => {\n      let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n      if (newLen === 0) {\n        if (len !== 0) {\n          dispose(disposers);\n          disposers = [];\n          items = [];\n          mapped = [];\n          len = 0;\n          indexes && (indexes = []);\n        }\n        if (options.fallback) {\n          items = [FALLBACK];\n          mapped[0] = createRoot(disposer => {\n            disposers[0] = disposer;\n            return options.fallback();\n          });\n          len = 1;\n        }\n      }\n      else if (len === 0) {\n        mapped = new Array(newLen);\n        for (j = 0; j < newLen; j++) {\n          items[j] = newItems[j];\n          mapped[j] = createRoot(mapper);\n        }\n        len = newLen;\n      } else {\n        temp = new Array(newLen);\n        tempdisposers = new Array(newLen);\n        indexes && (tempIndexes = new Array(newLen));\n        for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);\n        for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n          temp[newEnd] = mapped[end];\n          tempdisposers[newEnd] = disposers[end];\n          indexes && (tempIndexes[newEnd] = indexes[end]);\n        }\n        newIndices = new Map();\n        newIndicesNext = new Array(newEnd + 1);\n        for (j = newEnd; j >= start; j--) {\n          item = newItems[j];\n          i = newIndices.get(item);\n          newIndicesNext[j] = i === undefined ? -1 : i;\n          newIndices.set(item, j);\n        }\n        for (i = start; i <= end; i++) {\n          item = items[i];\n          j = newIndices.get(item);\n          if (j !== undefined && j !== -1) {\n            temp[j] = mapped[i];\n            tempdisposers[j] = disposers[i];\n            indexes && (tempIndexes[j] = indexes[i]);\n            j = newIndicesNext[j];\n            newIndices.set(item, j);\n          } else disposers[i]();\n        }\n        for (j = start; j < newLen; j++) {\n          if (j in temp) {\n            mapped[j] = temp[j];\n            disposers[j] = tempdisposers[j];\n            if (indexes) {\n              indexes[j] = tempIndexes[j];\n              indexes[j](j);\n            }\n          } else mapped[j] = createRoot(mapper);\n        }\n        mapped = mapped.slice(0, len = newLen);\n        items = newItems.slice(0);\n      }\n      return mapped;\n    });\n    function mapper(disposer) {\n      disposers[j] = disposer;\n      if (indexes) {\n        const [s, set] = createSignal(j);\n        indexes[j] = set;\n        return mapFn(newItems[j], s);\n      }\n      return mapFn(newItems[j]);\n    }\n  };\n}\nfunction indexArray(list, mapFn, options = {}) {\n  let items = [],\n    mapped = [],\n    disposers = [],\n    signals = [],\n    len = 0,\n    i;\n  onCleanup(() => dispose(disposers));\n  return () => {\n    const newItems = list() || [],\n      newLen = newItems.length;\n    newItems[$TRACK];\n    return untrack(() => {\n      if (newLen === 0) {\n        if (len !== 0) {\n          dispose(disposers);\n          disposers = [];\n          items = [];\n          mapped = [];\n          len = 0;\n          signals = [];\n        }\n        if (options.fallback) {\n          items = [FALLBACK];\n          mapped[0] = createRoot(disposer => {\n            disposers[0] = disposer;\n            return options.fallback();\n          });\n          len = 1;\n        }\n        return mapped;\n      }\n      if (items[0] === FALLBACK) {\n        disposers[0]();\n        disposers = [];\n        items = [];\n        mapped = [];\n        len = 0;\n      }\n      for (i = 0; i < newLen; i++) {\n        if (i < items.length && items[i] !== newItems[i]) {\n          signals[i](() => newItems[i]);\n        } else if (i >= items.length) {\n          mapped[i] = createRoot(mapper);\n        }\n      }\n      for (; i < items.length; i++) {\n        disposers[i]();\n      }\n      len = signals.length = disposers.length = newLen;\n      items = newItems.slice(0);\n      return mapped = mapped.slice(0, len);\n    });\n    function mapper(disposer) {\n      disposers[i] = disposer;\n      const [s, set] = createSignal(newItems[i]);\n      signals[i] = set;\n      return mapFn(s, i);\n    }\n  };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n  hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n  if (hydrationEnabled) {\n    if (sharedConfig.context) {\n      const c = sharedConfig.context;\n      setHydrateContext(nextHydrateContext());\n      const r = untrack(() => Comp(props || {}));\n      setHydrateContext(c);\n      return r;\n    }\n  }\n  return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n  return true;\n}\nconst propTraps = {\n  get(_, property, receiver) {\n    if (property === $PROXY) return receiver;\n    return _.get(property);\n  },\n  has(_, property) {\n    if (property === $PROXY) return true;\n    return _.has(property);\n  },\n  set: trueFn,\n  deleteProperty: trueFn,\n  getOwnPropertyDescriptor(_, property) {\n    return {\n      configurable: true,\n      enumerable: true,\n      get() {\n        return _.get(property);\n      },\n      set: trueFn,\n      deleteProperty: trueFn\n    };\n  },\n  ownKeys(_) {\n    return _.keys();\n  }\n};\nfunction resolveSource(s) {\n  return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n  for (let i = 0, length = this.length; i < length; ++i) {\n    const v = this[i]();\n    if (v !== undefined) return v;\n  }\n}\nfunction mergeProps(...sources) {\n  let proxy = false;\n  for (let i = 0; i < sources.length; i++) {\n    const s = sources[i];\n    proxy = proxy || !!s && $PROXY in s;\n    sources[i] = typeof s === \"function\" ? (proxy = true, createMemo(s)) : s;\n  }\n  if (SUPPORTS_PROXY && proxy) {\n    return new Proxy({\n      get(property) {\n        for (let i = sources.length - 1; i >= 0; i--) {\n          const v = resolveSource(sources[i])[property];\n          if (v !== undefined) return v;\n        }\n      },\n      has(property) {\n        for (let i = sources.length - 1; i >= 0; i--) {\n          if (property in resolveSource(sources[i])) return true;\n        }\n        return false;\n      },\n      keys() {\n        const keys = [];\n        for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));\n        return [...new Set(keys)];\n      }\n    }, propTraps);\n  }\n  const sourcesMap = {};\n  const defined = Object.create(null);\n  for (let i = sources.length - 1; i >= 0; i--) {\n    const source = sources[i];\n    if (!source) continue;\n    const sourceKeys = Object.getOwnPropertyNames(source);\n    for (let i = sourceKeys.length - 1; i >= 0; i--) {\n      const key = sourceKeys[i];\n      if (key === \"__proto__\" || key === \"constructor\") continue;\n      const desc = Object.getOwnPropertyDescriptor(source, key);\n      if (!defined[key]) {\n        defined[key] = desc.get ? {\n          enumerable: true,\n          configurable: true,\n          get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])\n        } : desc.value !== undefined ? desc : undefined;\n      } else {\n        const sources = sourcesMap[key];\n        if (sources) {\n          if (desc.get) sources.push(desc.get.bind(source));else if (desc.value !== undefined) sources.push(() => desc.value);\n        }\n      }\n    }\n  }\n  const target = {};\n  const definedKeys = Object.keys(defined);\n  for (let i = definedKeys.length - 1; i >= 0; i--) {\n    const key = definedKeys[i],\n      desc = defined[key];\n    if (desc && desc.get) Object.defineProperty(target, key, desc);else target[key] = desc ? desc.value : undefined;\n  }\n  return target;\n}\nfunction splitProps(props, ...keys) {\n  const len = keys.length;\n  if (SUPPORTS_PROXY && $PROXY in props) {\n    const blocked = len > 1 ? keys.flat() : keys[0];\n    const res = keys.map(k => {\n      return new Proxy({\n        get(property) {\n          return k.includes(property) ? props[property] : undefined;\n        },\n        has(property) {\n          return k.includes(property) && property in props;\n        },\n        keys() {\n          return k.filter(property => property in props);\n        }\n      }, propTraps);\n    });\n    res.push(new Proxy({\n      get(property) {\n        return blocked.includes(property) ? undefined : props[property];\n      },\n      has(property) {\n        return blocked.includes(property) ? false : property in props;\n      },\n      keys() {\n        return Object.keys(props).filter(k => !blocked.includes(k));\n      }\n    }, propTraps));\n    return res;\n  }\n  const objects = [];\n  for (let i = 0; i <= len; i++) {\n    objects[i] = {};\n  }\n  for (const propName of Object.getOwnPropertyNames(props)) {\n    let keyIndex = len;\n    for (let i = 0; i < keys.length; i++) {\n      if (keys[i].includes(propName)) {\n        keyIndex = i;\n        break;\n      }\n    }\n    const desc = Object.getOwnPropertyDescriptor(props, propName);\n    const isDefaultDesc = !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n    isDefaultDesc ? objects[keyIndex][propName] = desc.value : Object.defineProperty(objects[keyIndex], propName, desc);\n  }\n  return objects;\n}\nfunction lazy(fn) {\n  let comp;\n  let p;\n  const wrap = props => {\n    const ctx = sharedConfig.context;\n    if (ctx) {\n      const [s, set] = createSignal();\n      sharedConfig.count || (sharedConfig.count = 0);\n      sharedConfig.count++;\n      (p || (p = fn())).then(mod => {\n        !sharedConfig.done && setHydrateContext(ctx);\n        sharedConfig.count--;\n        set(() => mod.default);\n        setHydrateContext();\n      });\n      comp = s;\n    } else if (!comp) {\n      const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));\n      comp = s;\n    }\n    let Comp;\n    return createMemo(() => (Comp = comp()) ? untrack(() => {\n      if (IS_DEV) ;\n      if (!ctx || sharedConfig.done) return Comp(props);\n      const c = sharedConfig.context;\n      setHydrateContext(ctx);\n      const r = Comp(props);\n      setHydrateContext(c);\n      return r;\n    }) : \"\");\n  };\n  wrap.preload = () => p || ((p = fn()).then(mod => comp = () => mod.default), p);\n  return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n  const ctx = sharedConfig.context;\n  return ctx ? sharedConfig.getNextContextId() : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n  const fallback = \"fallback\" in props && {\n    fallback: () => props.fallback\n  };\n  return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n  const fallback = \"fallback\" in props && {\n    fallback: () => props.fallback\n  };\n  return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n  const keyed = props.keyed;\n  const conditionValue = createMemo(() => props.when, undefined, undefined);\n  const condition = keyed ? conditionValue : createMemo(conditionValue, undefined, {\n    equals: (a, b) => !a === !b\n  });\n  return createMemo(() => {\n    const c = condition();\n    if (c) {\n      const child = props.children;\n      const fn = typeof child === \"function\" && child.length > 0;\n      return fn ? untrack(() => child(keyed ? c : () => {\n        if (!untrack(condition)) throw narrowedError(\"Show\");\n        return conditionValue();\n      })) : child;\n    }\n    return props.fallback;\n  }, undefined, undefined);\n}\nfunction Switch(props) {\n  const chs = children(() => props.children);\n  const switchFunc = createMemo(() => {\n    const ch = chs();\n    const mps = Array.isArray(ch) ? ch : [ch];\n    let func = () => undefined;\n    for (let i = 0; i < mps.length; i++) {\n      const index = i;\n      const mp = mps[i];\n      const prevFunc = func;\n      const conditionValue = createMemo(() => prevFunc() ? undefined : mp.when, undefined, undefined);\n      const condition = mp.keyed ? conditionValue : createMemo(conditionValue, undefined, {\n        equals: (a, b) => !a === !b\n      });\n      func = () => prevFunc() || (condition() ? [index, conditionValue, mp] : undefined);\n    }\n    return func;\n  });\n  return createMemo(() => {\n    const sel = switchFunc()();\n    if (!sel) return props.fallback;\n    const [index, conditionValue, mp] = sel;\n    const child = mp.children;\n    const fn = typeof child === \"function\" && child.length > 0;\n    return fn ? untrack(() => child(mp.keyed ? conditionValue() : () => {\n      if (untrack(switchFunc)()?.[0] !== index) throw narrowedError(\"Match\");\n      return conditionValue();\n    })) : child;\n  }, undefined, undefined);\n}\nfunction Match(props) {\n  return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n  Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n  let err;\n  if (sharedConfig.context && sharedConfig.load) err = sharedConfig.load(sharedConfig.getContextId());\n  const [errored, setErrored] = createSignal(err, undefined);\n  Errors || (Errors = new Set());\n  Errors.add(setErrored);\n  onCleanup(() => Errors.delete(setErrored));\n  return createMemo(() => {\n    let e;\n    if (e = errored()) {\n      const f = props.fallback;\n      return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n    }\n    return catchError(() => props.children, setErrored);\n  }, undefined, undefined);\n}\n\nconst suspenseListEquals = (a, b) => a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = /* #__PURE__ */createContext();\nfunction SuspenseList(props) {\n  let [wrapper, setWrapper] = createSignal(() => ({\n      inFallback: false\n    })),\n    show;\n  const listContext = useContext(SuspenseListContext);\n  const [registry, setRegistry] = createSignal([]);\n  if (listContext) {\n    show = listContext.register(createMemo(() => wrapper()().inFallback));\n  }\n  const resolved = createMemo(prev => {\n    const reveal = props.revealOrder,\n      tail = props.tail,\n      {\n        showContent = true,\n        showFallback = true\n      } = show ? show() : {},\n      reg = registry(),\n      reverse = reveal === \"backwards\";\n    if (reveal === \"together\") {\n      const all = reg.every(inFallback => !inFallback());\n      const res = reg.map(() => ({\n        showContent: all && showContent,\n        showFallback\n      }));\n      res.inFallback = !all;\n      return res;\n    }\n    let stop = false;\n    let inFallback = prev.inFallback;\n    const res = [];\n    for (let i = 0, len = reg.length; i < len; i++) {\n      const n = reverse ? len - i - 1 : i,\n        s = reg[n]();\n      if (!stop && !s) {\n        res[n] = {\n          showContent,\n          showFallback\n        };\n      } else {\n        const next = !stop;\n        if (next) inFallback = true;\n        res[n] = {\n          showContent: next,\n          showFallback: !tail || next && tail === \"collapsed\" ? showFallback : false\n        };\n        stop = true;\n      }\n    }\n    if (!stop) inFallback = false;\n    res.inFallback = inFallback;\n    return res;\n  }, {\n    inFallback: false\n  });\n  setWrapper(() => resolved);\n  return createComponent(SuspenseListContext.Provider, {\n    value: {\n      register: inFallback => {\n        let index;\n        setRegistry(registry => {\n          index = registry.length;\n          return [...registry, inFallback];\n        });\n        return createMemo(() => resolved()[index], undefined, {\n          equals: suspenseListEquals\n        });\n      }\n    },\n    get children() {\n      return props.children;\n    }\n  });\n}\nfunction Suspense(props) {\n  let counter = 0,\n    show,\n    ctx,\n    p,\n    flicker,\n    error;\n  const [inFallback, setFallback] = createSignal(false),\n    SuspenseContext = getSuspenseContext(),\n    store = {\n      increment: () => {\n        if (++counter === 1) setFallback(true);\n      },\n      decrement: () => {\n        if (--counter === 0) setFallback(false);\n      },\n      inFallback,\n      effects: [],\n      resolved: false\n    },\n    owner = getOwner();\n  if (sharedConfig.context && sharedConfig.load) {\n    const key = sharedConfig.getContextId();\n    let ref = sharedConfig.load(key);\n    if (ref) {\n      if (typeof ref !== \"object\" || ref.s !== 1) p = ref;else sharedConfig.gather(key);\n    }\n    if (p && p !== \"$$f\") {\n      const [s, set] = createSignal(undefined, {\n        equals: false\n      });\n      flicker = s;\n      p.then(() => {\n        if (sharedConfig.done) return set();\n        sharedConfig.gather(key);\n        setHydrateContext(ctx);\n        set();\n        setHydrateContext();\n      }, err => {\n        error = err;\n        set();\n      });\n    }\n  }\n  const listContext = useContext(SuspenseListContext);\n  if (listContext) show = listContext.register(store.inFallback);\n  let dispose;\n  onCleanup(() => dispose && dispose());\n  return createComponent(SuspenseContext.Provider, {\n    value: store,\n    get children() {\n      return createMemo(() => {\n        if (error) throw error;\n        ctx = sharedConfig.context;\n        if (flicker) {\n          flicker();\n          return flicker = undefined;\n        }\n        if (ctx && p === \"$$f\") setHydrateContext();\n        const rendered = createMemo(() => props.children);\n        return createMemo(prev => {\n          const inFallback = store.inFallback(),\n            {\n              showContent = true,\n              showFallback = true\n            } = show ? show() : {};\n          if ((!inFallback || p && p !== \"$$f\") && showContent) {\n            store.resolved = true;\n            dispose && dispose();\n            dispose = ctx = p = undefined;\n            resumeEffects(store.effects);\n            return rendered();\n          }\n          if (!showFallback) return;\n          if (dispose) return prev;\n          return createRoot(disposer => {\n            dispose = disposer;\n            if (ctx) {\n              setHydrateContext({\n                id: ctx.id + \"F\",\n                count: 0\n              });\n              ctx = undefined;\n            }\n            return props.fallback;\n          }, owner);\n        });\n      });\n    }\n  });\n}\n\nconst DEV = undefined;\n\nexport { $DEVCOMP, $PROXY, $TRACK, DEV, ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, batch, cancelCallback, catchError, children, createComponent, createComputed, createContext, createDeferred, createEffect, createMemo, createReaction, createRenderEffect, createResource, createRoot, createSelector, createSignal, createUniqueId, enableExternalSource, enableHydration, enableScheduling, equalFn, from, getListener, getOwner, indexArray, lazy, mapArray, mergeProps, observable, on, onCleanup, onError, onMount, requestCallback, resetErrorBoundaries, runWithOwner, sharedConfig, splitProps, startTransition, untrack, useContext, useTransition };\n","import { createMemo, createRoot, createRenderEffect, untrack, sharedConfig, enableHydration, getOwner, createEffect, runWithOwner, createSignal, onCleanup, splitProps } from 'solid-js';\nexport { ErrorBoundary, For, Index, Match, Show, Suspense, SuspenseList, Switch, createComponent, createRenderEffect as effect, getOwner, mergeProps, untrack } from 'solid-js';\n\nconst booleans = [\"allowfullscreen\", \"async\", \"alpha\",\n\"autofocus\",\n\"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\",\n\"indeterminate\", \"inert\",\n\"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\",\n\"selected\", \"adauctionheaders\",\n\"browsingtopics\",\n\"credentialless\",\n\"defaultchecked\", \"defaultmuted\", \"defaultselected\", \"defer\", \"disablepictureinpicture\", \"disableremoteplayback\", \"preservespitch\",\n\"shadowrootclonable\", \"shadowrootcustomelementregistry\",\n\"shadowrootdelegatesfocus\", \"shadowrootserializable\",\n\"sharedstoragewritable\"\n];\nconst Properties = /*#__PURE__*/new Set([\n\"className\", \"value\",\n\"readOnly\", \"noValidate\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", \"adAuctionHeaders\",\n\"allowFullscreen\", \"browsingTopics\",\n\"defaultChecked\", \"defaultMuted\", \"defaultSelected\", \"disablePictureInPicture\", \"disableRemotePlayback\", \"preservesPitch\", \"shadowRootClonable\", \"shadowRootCustomElementRegistry\",\n\"shadowRootDelegatesFocus\", \"shadowRootSerializable\",\n\"sharedStorageWritable\",\n...booleans]);\nconst ChildProperties = /*#__PURE__*/new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /*#__PURE__*/Object.assign(Object.create(null), {\n  className: \"class\",\n  htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/Object.assign(Object.create(null), {\n  class: \"className\",\n  novalidate: {\n    $: \"noValidate\",\n    FORM: 1\n  },\n  formnovalidate: {\n    $: \"formNoValidate\",\n    BUTTON: 1,\n    INPUT: 1\n  },\n  ismap: {\n    $: \"isMap\",\n    IMG: 1\n  },\n  nomodule: {\n    $: \"noModule\",\n    SCRIPT: 1\n  },\n  playsinline: {\n    $: \"playsInline\",\n    VIDEO: 1\n  },\n  readonly: {\n    $: \"readOnly\",\n    INPUT: 1,\n    TEXTAREA: 1\n  },\n  adauctionheaders: {\n    $: \"adAuctionHeaders\",\n    IFRAME: 1\n  },\n  allowfullscreen: {\n    $: \"allowFullscreen\",\n    IFRAME: 1\n  },\n  browsingtopics: {\n    $: \"browsingTopics\",\n    IMG: 1\n  },\n  defaultchecked: {\n    $: \"defaultChecked\",\n    INPUT: 1\n  },\n  defaultmuted: {\n    $: \"defaultMuted\",\n    AUDIO: 1,\n    VIDEO: 1\n  },\n  defaultselected: {\n    $: \"defaultSelected\",\n    OPTION: 1\n  },\n  disablepictureinpicture: {\n    $: \"disablePictureInPicture\",\n    VIDEO: 1\n  },\n  disableremoteplayback: {\n    $: \"disableRemotePlayback\",\n    AUDIO: 1,\n    VIDEO: 1\n  },\n  preservespitch: {\n    $: \"preservesPitch\",\n    AUDIO: 1,\n    VIDEO: 1\n  },\n  shadowrootclonable: {\n    $: \"shadowRootClonable\",\n    TEMPLATE: 1\n  },\n  shadowrootdelegatesfocus: {\n    $: \"shadowRootDelegatesFocus\",\n    TEMPLATE: 1\n  },\n  shadowrootserializable: {\n    $: \"shadowRootSerializable\",\n    TEMPLATE: 1\n  },\n  sharedstoragewritable: {\n    $: \"sharedStorageWritable\",\n    IFRAME: 1,\n    IMG: 1\n  }\n});\nfunction getPropAlias(prop, tagName) {\n  const a = PropAliases[prop];\n  return typeof a === \"object\" ? a[tagName] ? a[\"$\"] : undefined : a;\n}\nconst DelegatedEvents = /*#__PURE__*/new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /*#__PURE__*/new Set([\n\"altGlyph\", \"altGlyphDef\", \"altGlyphItem\", \"animate\", \"animateColor\", \"animateMotion\", \"animateTransform\", \"circle\", \"clipPath\", \"color-profile\", \"cursor\", \"defs\", \"desc\", \"ellipse\", \"feBlend\", \"feColorMatrix\", \"feComponentTransfer\", \"feComposite\", \"feConvolveMatrix\", \"feDiffuseLighting\", \"feDisplacementMap\", \"feDistantLight\", \"feDropShadow\", \"feFlood\", \"feFuncA\", \"feFuncB\", \"feFuncG\", \"feFuncR\", \"feGaussianBlur\", \"feImage\", \"feMerge\", \"feMergeNode\", \"feMorphology\", \"feOffset\", \"fePointLight\", \"feSpecularLighting\", \"feSpotLight\", \"feTile\", \"feTurbulence\", \"filter\", \"font\", \"font-face\", \"font-face-format\", \"font-face-name\", \"font-face-src\", \"font-face-uri\", \"foreignObject\", \"g\", \"glyph\", \"glyphRef\", \"hkern\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"metadata\", \"missing-glyph\", \"mpath\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\",\n\"set\", \"stop\",\n\"svg\", \"switch\", \"symbol\", \"text\", \"textPath\",\n\"tref\", \"tspan\", \"use\", \"view\", \"vkern\"]);\nconst SVGNamespace = {\n  xlink: \"http://www.w3.org/1999/xlink\",\n  xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/new Set([\"html\", \"base\", \"head\", \"link\", \"meta\", \"style\", \"title\", \"body\", \"address\", \"article\", \"aside\", \"footer\", \"header\", \"main\", \"nav\", \"section\", \"body\", \"blockquote\", \"dd\", \"div\", \"dl\", \"dt\", \"figcaption\", \"figure\", \"hr\", \"li\", \"ol\", \"p\", \"pre\", \"ul\", \"a\", \"abbr\", \"b\", \"bdi\", \"bdo\", \"br\", \"cite\", \"code\", \"data\", \"dfn\", \"em\", \"i\", \"kbd\", \"mark\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"small\", \"span\", \"strong\", \"sub\", \"sup\", \"time\", \"u\", \"var\", \"wbr\", \"area\", \"audio\", \"img\", \"map\", \"track\", \"video\", \"embed\", \"iframe\", \"object\", \"param\", \"picture\", \"portal\", \"source\", \"svg\", \"math\", \"canvas\", \"noscript\", \"script\", \"del\", \"ins\", \"caption\", \"col\", \"colgroup\", \"table\", \"tbody\", \"td\", \"tfoot\", \"th\", \"thead\", \"tr\", \"button\", \"datalist\", \"fieldset\", \"form\", \"input\", \"label\", \"legend\", \"meter\", \"optgroup\", \"option\", \"output\", \"progress\", \"select\", \"textarea\", \"details\", \"dialog\", \"menu\", \"summary\", \"details\", \"slot\", \"template\", \"acronym\", \"applet\", \"basefont\", \"bgsound\", \"big\", \"blink\", \"center\", \"content\", \"dir\", \"font\", \"frame\", \"frameset\", \"hgroup\", \"image\", \"keygen\", \"marquee\", \"menuitem\", \"nobr\", \"noembed\", \"noframes\", \"plaintext\", \"rb\", \"rtc\", \"shadow\", \"spacer\", \"strike\", \"tt\", \"xmp\", \"a\", \"abbr\", \"acronym\", \"address\", \"applet\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"basefont\", \"bdi\", \"bdo\", \"bgsound\", \"big\", \"blink\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"center\", \"cite\", \"code\", \"col\", \"colgroup\", \"content\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"dir\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"font\", \"footer\", \"form\", \"frame\", \"frameset\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"image\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"nobr\", \"noembed\", \"noframes\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"plaintext\", \"portal\", \"pre\", \"progress\", \"q\", \"rb\", \"rp\", \"rt\", \"rtc\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"shadow\", \"slot\", \"small\", \"source\", \"spacer\", \"span\", \"strike\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"template\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"tt\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"xmp\", \"input\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n\"webview\",\n\"isindex\", \"listing\", \"multicol\", \"nextid\", \"noindex\", \"search\"]);\n\nconst memo = fn => createMemo(() => fn());\n\nfunction reconcileArrays(parentNode, a, b) {\n  let bLength = b.length,\n    aEnd = a.length,\n    bEnd = bLength,\n    aStart = 0,\n    bStart = 0,\n    after = a[aEnd - 1].nextSibling,\n    map = null;\n  while (aStart < aEnd || bStart < bEnd) {\n    if (a[aStart] === b[bStart]) {\n      aStart++;\n      bStart++;\n      continue;\n    }\n    while (a[aEnd - 1] === b[bEnd - 1]) {\n      aEnd--;\n      bEnd--;\n    }\n    if (aEnd === aStart) {\n      const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n      while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n    } else if (bEnd === bStart) {\n      while (aStart < aEnd) {\n        if (!map || !map.has(a[aStart])) a[aStart].remove();\n        aStart++;\n      }\n    } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n      const node = a[--aEnd].nextSibling;\n      parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n      parentNode.insertBefore(b[--bEnd], node);\n      a[aEnd] = b[bEnd];\n    } else {\n      if (!map) {\n        map = new Map();\n        let i = bStart;\n        while (i < bEnd) map.set(b[i], i++);\n      }\n      const index = map.get(a[aStart]);\n      if (index != null) {\n        if (bStart < index && index < bEnd) {\n          let i = aStart,\n            sequence = 1,\n            t;\n          while (++i < aEnd && i < bEnd) {\n            if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n            sequence++;\n          }\n          if (sequence > index - bStart) {\n            const node = a[aStart];\n            while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n          } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n        } else aStart++;\n      } else a[aStart++].remove();\n    }\n  }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n  let disposer;\n  createRoot(dispose => {\n    disposer = dispose;\n    element === document ? code() : insert(element, code(), element.firstChild ? null : undefined, init);\n  }, options.owner);\n  return () => {\n    disposer();\n    element.textContent = \"\";\n  };\n}\nfunction template(html, isImportNode, isSVG, isMathML) {\n  let node;\n  const create = () => {\n    const t = isMathML ? document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"template\") : document.createElement(\"template\");\n    t.innerHTML = html;\n    return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;\n  };\n  const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);\n  fn.cloneNode = fn;\n  return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n  const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n  for (let i = 0, l = eventNames.length; i < l; i++) {\n    const name = eventNames[i];\n    if (!e.has(name)) {\n      e.add(name);\n      document.addEventListener(name, eventHandler);\n    }\n  }\n}\nfunction clearDelegatedEvents(document = window.document) {\n  if (document[$$EVENTS]) {\n    for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n    delete document[$$EVENTS];\n  }\n}\nfunction setProperty(node, name, value) {\n  if (isHydrating(node)) return;\n  node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n  if (isHydrating(node)) return;\n  if (value == null) node.removeAttribute(name);else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n  if (isHydrating(node)) return;\n  if (value == null) node.removeAttributeNS(namespace, name);else node.setAttributeNS(namespace, name, value);\n}\nfunction setBoolAttribute(node, name, value) {\n  if (isHydrating(node)) return;\n  value ? node.setAttribute(name, \"\") : node.removeAttribute(name);\n}\nfunction className(node, value) {\n  if (isHydrating(node)) return;\n  if (value == null) node.removeAttribute(\"class\");else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n  if (delegate) {\n    if (Array.isArray(handler)) {\n      node[`$$${name}`] = handler[0];\n      node[`$$${name}Data`] = handler[1];\n    } else node[`$$${name}`] = handler;\n  } else if (Array.isArray(handler)) {\n    const handlerFn = handler[0];\n    node.addEventListener(name, handler[0] = e => handlerFn.call(node, handler[1], e));\n  } else node.addEventListener(name, handler, typeof handler !== \"function\" && handler);\n}\nfunction classList(node, value, prev = {}) {\n  const classKeys = Object.keys(value || {}),\n    prevKeys = Object.keys(prev);\n  let i, len;\n  for (i = 0, len = prevKeys.length; i < len; i++) {\n    const key = prevKeys[i];\n    if (!key || key === \"undefined\" || value[key]) continue;\n    toggleClassKey(node, key, false);\n    delete prev[key];\n  }\n  for (i = 0, len = classKeys.length; i < len; i++) {\n    const key = classKeys[i],\n      classValue = !!value[key];\n    if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n    toggleClassKey(node, key, true);\n    prev[key] = classValue;\n  }\n  return prev;\n}\nfunction style(node, value, prev) {\n  if (!value) return prev ? setAttribute(node, \"style\") : value;\n  const nodeStyle = node.style;\n  if (typeof value === \"string\") return nodeStyle.cssText = value;\n  typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n  prev || (prev = {});\n  value || (value = {});\n  let v, s;\n  for (s in prev) {\n    value[s] == null && nodeStyle.removeProperty(s);\n    delete prev[s];\n  }\n  for (s in value) {\n    v = value[s];\n    if (v !== prev[s]) {\n      nodeStyle.setProperty(s, v);\n      prev[s] = v;\n    }\n  }\n  return prev;\n}\nfunction setStyleProperty(node, name, value) {\n  value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n  const prevProps = {};\n  if (!skipChildren) {\n    createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n  }\n  createRenderEffect(() => typeof props.ref === \"function\" && use(props.ref, node));\n  createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n  return prevProps;\n}\nfunction dynamicProperty(props, key) {\n  const src = props[key];\n  Object.defineProperty(props, key, {\n    get() {\n      return src();\n    },\n    enumerable: true\n  });\n  return props;\n}\nfunction use(fn, element, arg) {\n  return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n  if (marker !== undefined && !initial) initial = [];\n  if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n  createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n  props || (props = {});\n  for (const prop in prevProps) {\n    if (!(prop in props)) {\n      if (prop === \"children\") continue;\n      prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);\n    }\n  }\n  for (const prop in props) {\n    if (prop === \"children\") {\n      if (!skipChildren) insertExpression(node, props.children);\n      continue;\n    }\n    const value = props[prop];\n    prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);\n  }\n}\nfunction hydrate$1(code, element, options = {}) {\n  if (globalThis._$HY.done) return render(code, element, [...element.childNodes], options);\n  sharedConfig.completed = globalThis._$HY.completed;\n  sharedConfig.events = globalThis._$HY.events;\n  sharedConfig.load = id => globalThis._$HY.r[id];\n  sharedConfig.has = id => id in globalThis._$HY.r;\n  sharedConfig.gather = root => gatherHydratable(element, root);\n  sharedConfig.registry = new Map();\n  sharedConfig.context = {\n    id: options.renderId || \"\",\n    count: 0\n  };\n  try {\n    gatherHydratable(element, options.renderId);\n    return render(code, element, [...element.childNodes], options);\n  } finally {\n    sharedConfig.context = null;\n  }\n}\nfunction getNextElement(template) {\n  let node,\n    key,\n    hydrating = isHydrating();\n  if (!hydrating || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n    return template();\n  }\n  if (sharedConfig.completed) sharedConfig.completed.add(node);\n  sharedConfig.registry.delete(key);\n  return node;\n}\nfunction getNextMatch(el, nodeName) {\n  while (el && el.localName !== nodeName) el = el.nextSibling;\n  return el;\n}\nfunction getNextMarker(start) {\n  let end = start,\n    count = 0,\n    current = [];\n  if (isHydrating(start)) {\n    while (end) {\n      if (end.nodeType === 8) {\n        const v = end.nodeValue;\n        if (v === \"$\") count++;else if (v === \"/\") {\n          if (count === 0) return [end, current];\n          count--;\n        }\n      }\n      current.push(end);\n      end = end.nextSibling;\n    }\n  }\n  return [end, current];\n}\nfunction runHydrationEvents() {\n  if (sharedConfig.events && !sharedConfig.events.queued) {\n    queueMicrotask(() => {\n      const {\n        completed,\n        events\n      } = sharedConfig;\n      if (!events) return;\n      events.queued = false;\n      while (events.length) {\n        const [el, e] = events[0];\n        if (!completed.has(el)) return;\n        events.shift();\n        eventHandler(e);\n      }\n      if (sharedConfig.done) {\n        sharedConfig.events = _$HY.events = null;\n        sharedConfig.completed = _$HY.completed = null;\n      }\n    });\n    sharedConfig.events.queued = true;\n  }\n}\nfunction isHydrating(node) {\n  return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);\n}\nfunction toPropertyName(name) {\n  return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n  const classNames = key.trim().split(/\\s+/);\n  for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef, props) {\n  let isCE, isProp, isChildProp, propAlias, forceProp;\n  if (prop === \"style\") return style(node, value, prev);\n  if (prop === \"classList\") return classList(node, value, prev);\n  if (value === prev) return prev;\n  if (prop === \"ref\") {\n    if (!skipRef) value(node);\n  } else if (prop.slice(0, 3) === \"on:\") {\n    const e = prop.slice(3);\n    prev && node.removeEventListener(e, prev, typeof prev !== \"function\" && prev);\n    value && node.addEventListener(e, value, typeof value !== \"function\" && value);\n  } else if (prop.slice(0, 10) === \"oncapture:\") {\n    const e = prop.slice(10);\n    prev && node.removeEventListener(e, prev, true);\n    value && node.addEventListener(e, value, true);\n  } else if (prop.slice(0, 2) === \"on\") {\n    const name = prop.slice(2).toLowerCase();\n    const delegate = DelegatedEvents.has(name);\n    if (!delegate && prev) {\n      const h = Array.isArray(prev) ? prev[0] : prev;\n      node.removeEventListener(name, h);\n    }\n    if (delegate || value) {\n      addEventListener(node, name, value, delegate);\n      delegate && delegateEvents([name]);\n    }\n  } else if (prop.slice(0, 5) === \"attr:\") {\n    setAttribute(node, prop.slice(5), value);\n  } else if (prop.slice(0, 5) === \"bool:\") {\n    setBoolAttribute(node, prop.slice(5), value);\n  } else if ((forceProp = prop.slice(0, 5) === \"prop:\") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\") || \"is\" in props)) {\n    if (forceProp) {\n      prop = prop.slice(5);\n      isProp = true;\n    } else if (isHydrating(node)) return value;\n    if (prop === \"class\" || prop === \"className\") className(node, value);else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;else node[propAlias || prop] = value;\n  } else {\n    const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n    if (ns) setAttributeNS(node, ns, prop, value);else setAttribute(node, Aliases[prop] || prop, value);\n  }\n  return value;\n}\nfunction eventHandler(e) {\n  if (sharedConfig.registry && sharedConfig.events) {\n    if (sharedConfig.events.find(([el, ev]) => ev === e)) return;\n  }\n  let node = e.target;\n  const key = `$$${e.type}`;\n  const oriTarget = e.target;\n  const oriCurrentTarget = e.currentTarget;\n  const retarget = value => Object.defineProperty(e, \"target\", {\n    configurable: true,\n    value\n  });\n  const handleNode = () => {\n    const handler = node[key];\n    if (handler && !node.disabled) {\n      const data = node[`${key}Data`];\n      data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n      if (e.cancelBubble) return;\n    }\n    node.host && typeof node.host !== \"string\" && !node.host._$host && node.contains(e.target) && retarget(node.host);\n    return true;\n  };\n  const walkUpTree = () => {\n    while (handleNode() && (node = node._$host || node.parentNode || node.host));\n  };\n  Object.defineProperty(e, \"currentTarget\", {\n    configurable: true,\n    get() {\n      return node || document;\n    }\n  });\n  if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n  if (e.composedPath) {\n    const path = e.composedPath();\n    retarget(path[0]);\n    for (let i = 0; i < path.length - 2; i++) {\n      node = path[i];\n      if (!handleNode()) break;\n      if (node._$host) {\n        node = node._$host;\n        walkUpTree();\n        break;\n      }\n      if (node.parentNode === oriCurrentTarget) {\n        break;\n      }\n    }\n  }\n  else walkUpTree();\n  retarget(oriTarget);\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n  const hydrating = isHydrating(parent);\n  if (hydrating) {\n    !current && (current = [...parent.childNodes]);\n    let cleaned = [];\n    for (let i = 0; i < current.length; i++) {\n      const node = current[i];\n      if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();else cleaned.push(node);\n    }\n    current = cleaned;\n  }\n  while (typeof current === \"function\") current = current();\n  if (value === current) return current;\n  const t = typeof value,\n    multi = marker !== undefined;\n  parent = multi && current[0] && current[0].parentNode || parent;\n  if (t === \"string\" || t === \"number\") {\n    if (hydrating) return current;\n    if (t === \"number\") {\n      value = value.toString();\n      if (value === current) return current;\n    }\n    if (multi) {\n      let node = current[0];\n      if (node && node.nodeType === 3) {\n        node.data !== value && (node.data = value);\n      } else node = document.createTextNode(value);\n      current = cleanChildren(parent, current, marker, node);\n    } else {\n      if (current !== \"\" && typeof current === \"string\") {\n        current = parent.firstChild.data = value;\n      } else current = parent.textContent = value;\n    }\n  } else if (value == null || t === \"boolean\") {\n    if (hydrating) return current;\n    current = cleanChildren(parent, current, marker);\n  } else if (t === \"function\") {\n    createRenderEffect(() => {\n      let v = value();\n      while (typeof v === \"function\") v = v();\n      current = insertExpression(parent, v, current, marker);\n    });\n    return () => current;\n  } else if (Array.isArray(value)) {\n    const array = [];\n    const currentArray = current && Array.isArray(current);\n    if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n      createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n      return () => current;\n    }\n    if (hydrating) {\n      if (!array.length) return current;\n      if (marker === undefined) return current = [...parent.childNodes];\n      let node = array[0];\n      if (node.parentNode !== parent) return current;\n      const nodes = [node];\n      while ((node = node.nextSibling) !== marker) nodes.push(node);\n      return current = nodes;\n    }\n    if (array.length === 0) {\n      current = cleanChildren(parent, current, marker);\n      if (multi) return current;\n    } else if (currentArray) {\n      if (current.length === 0) {\n        appendNodes(parent, array, marker);\n      } else reconcileArrays(parent, current, array);\n    } else {\n      current && cleanChildren(parent);\n      appendNodes(parent, array);\n    }\n    current = array;\n  } else if (value.nodeType) {\n    if (hydrating && value.parentNode) return current = multi ? [value] : value;\n    if (Array.isArray(current)) {\n      if (multi) return current = cleanChildren(parent, current, marker, value);\n      cleanChildren(parent, current, null, value);\n    } else if (current == null || current === \"\" || !parent.firstChild) {\n      parent.appendChild(value);\n    } else parent.replaceChild(value, parent.firstChild);\n    current = value;\n  } else ;\n  return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n  let dynamic = false;\n  for (let i = 0, len = array.length; i < len; i++) {\n    let item = array[i],\n      prev = current && current[normalized.length],\n      t;\n    if (item == null || item === true || item === false) ; else if ((t = typeof item) === \"object\" && item.nodeType) {\n      normalized.push(item);\n    } else if (Array.isArray(item)) {\n      dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n    } else if (t === \"function\") {\n      if (unwrap) {\n        while (typeof item === \"function\") item = item();\n        dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n      } else {\n        normalized.push(item);\n        dynamic = true;\n      }\n    } else {\n      const value = String(item);\n      if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);else normalized.push(document.createTextNode(value));\n    }\n  }\n  return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n  for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n  if (marker === undefined) return parent.textContent = \"\";\n  const node = replacement || document.createTextNode(\"\");\n  if (current.length) {\n    let inserted = false;\n    for (let i = current.length - 1; i >= 0; i--) {\n      const el = current[i];\n      if (node !== el) {\n        const isParent = el.parentNode === parent;\n        if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);else isParent && el.remove();\n      } else inserted = true;\n    }\n  } else parent.insertBefore(node, marker);\n  return [node];\n}\nfunction gatherHydratable(element, root) {\n  const templates = element.querySelectorAll(`*[data-hk]`);\n  for (let i = 0; i < templates.length; i++) {\n    const node = templates[i];\n    const key = node.getAttribute(\"data-hk\");\n    if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key)) sharedConfig.registry.set(key, node);\n  }\n}\nfunction getHydrationKey() {\n  return sharedConfig.getNextContextId();\n}\nfunction NoHydration(props) {\n  return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n  return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n  !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n  const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n  console.error(err);\n}\nfunction renderToString(fn, options) {\n  throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n  throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n  throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false, is = undefined) {\n  return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName, {\n    is\n  });\n}\nconst hydrate = (...args) => {\n  enableHydration();\n  return hydrate$1(...args);\n};\nfunction Portal(props) {\n  const {\n      useShadow\n    } = props,\n    marker = document.createTextNode(\"\"),\n    mount = () => props.mount || document.body,\n    owner = getOwner();\n  let content;\n  let hydrating = !!sharedConfig.context;\n  createEffect(() => {\n    if (hydrating) getOwner().user = hydrating = false;\n    content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n    const el = mount();\n    if (el instanceof HTMLHeadElement) {\n      const [clean, setClean] = createSignal(false);\n      const cleanup = () => setClean(true);\n      createRoot(dispose => insert(el, () => !clean() ? content() : dispose(), null));\n      onCleanup(cleanup);\n    } else {\n      const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n        renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n          mode: \"open\"\n        }) : container;\n      Object.defineProperty(container, \"_$host\", {\n        get() {\n          return marker.parentNode;\n        },\n        configurable: true\n      });\n      insert(renderRoot, content);\n      el.appendChild(container);\n      props.ref && props.ref(container);\n      onCleanup(() => el.removeChild(container));\n    }\n  }, undefined, {\n    render: !hydrating\n  });\n  return marker;\n}\nfunction createDynamic(component, props) {\n  const cached = createMemo(component);\n  return createMemo(() => {\n    const component = cached();\n    switch (typeof component) {\n      case \"function\":\n        return untrack(() => component(props));\n      case \"string\":\n        const isSvg = SVGElements.has(component);\n        const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg, untrack(() => props.is));\n        spread(el, props, isSvg);\n        return el;\n    }\n  });\n}\nfunction Dynamic(props) {\n  const [, others] = splitProps(props, [\"component\"]);\n  return createDynamic(() => props.component, others);\n}\n\nexport { Aliases, voidFn as Assets, ChildProperties, DOMElements, DelegatedEvents, Dynamic, Hydration, voidFn as HydrationScript, NoHydration, Portal, Properties, RequestContext, SVGElements, SVGNamespace, addEventListener, assign, classList, className, clearDelegatedEvents, createDynamic, delegateEvents, dynamicProperty, escape, voidFn as generateHydrationScript, voidFn as getAssets, getHydrationKey, getNextElement, getNextMarker, getNextMatch, getPropAlias, voidFn as getRequestEvent, hydrate, innerHTML, insert, isDev, isServer, memo, render, renderToStream, renderToString, renderToStringAsync, resolveSSRNode, runHydrationEvents, setAttribute, setAttributeNS, setBoolAttribute, setProperty, setStyleProperty, spread, ssr, ssrAttribute, ssrClassList, ssrElement, ssrHydrationKey, ssrSpread, ssrStyle, style, template, use, voidFn as useAssets };\n","import { createContext, useContext } from 'solid-js'\n\nexport const ShadowDomTargetContext = createContext<ShadowRoot | undefined>(\n  undefined,\n)\n\nexport const DevtoolsOnCloseContext = createContext<\n  | {\n      onCloseClick: (\n        e: MouseEvent & { currentTarget: HTMLButtonElement; target: Element },\n      ) => void\n    }\n  | undefined\n>(undefined)\n\nexport const useDevtoolsOnClose = () => {\n  const context = useContext(DevtoolsOnCloseContext)\n  if (!context) {\n    throw new Error(\n      'useDevtoolsOnClose must be used within a TanStackRouterDevtools component',\n    )\n  }\n  return context\n}\n"],"x_google_ignoreList":[0,1],"mappings":";AAqHA,IAAM,eAAe;CACnB,SAAS,KAAA;CACT,UAAU,KAAA;CACV,SAAS,KAAA;CACT,MAAM;CACN,eAAe;AACb,SAAO,aAAa,KAAK,QAAQ,MAAM;;CAEzC,mBAAmB;AACjB,SAAO,aAAa,KAAK,QAAQ,QAAQ;;CAE5C;AACD,SAAS,aAAa,OAAO;CAC3B,MAAM,MAAM,OAAO,MAAM,EACvB,MAAM,IAAI,SAAS;AACrB,QAAO,aAAa,QAAQ,MAAM,MAAM,OAAO,aAAa,KAAK,IAAI,GAAG,MAAM;;AAEhF,SAAS,kBAAkB,SAAS;AAClC,cAAa,UAAU;;AAEzB,SAAS,qBAAqB;AAC5B,QAAO;EACL,GAAG,aAAa;EAChB,IAAI,aAAa,kBAAkB;EACnC,OAAO;EACR;;AAIH,IAAM,WAAW,GAAG,MAAM,MAAM;AAChC,IAAM,SAAS,OAAO,cAAc;AACpC,IAAM,iBAAiB,OAAO,UAAU;AACxC,IAAM,SAAS,OAAO,cAAc;AAEpC,IAAM,gBAAgB,EACpB,QAAQ,SACT;AACD,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAM,QAAQ;AACd,IAAM,UAAU;AAChB,IAAM,UAAU;CACd,OAAO;CACP,UAAU;CACV,SAAS;CACT,OAAO;CACR;AACD,IAAM,UAAU,EAAE;AAClB,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,uBAAuB;AAC3B,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,SAAS,WAAW,IAAI,eAAe;CACrC,MAAM,WAAW,UACf,QAAQ,OACR,UAAU,GAAG,WAAW,GACxB,UAAU,kBAAkB,KAAA,IAAY,QAAQ,eAChD,OAAO,UAAU,UAAU;EACzB,OAAO;EACP,UAAU;EACV,SAAS,UAAU,QAAQ,UAAU;EACrC,OAAO;EACR,EACD,WAAW,UAAU,WAAW,SAAS,cAAc,UAAU,KAAK,CAAC,CAAC;AAC1E,SAAQ;AACR,YAAW;AACX,KAAI;AACF,SAAO,WAAW,UAAU,KAAK;WACzB;AACR,aAAW;AACX,UAAQ;;;AAGZ,SAAS,aAAa,OAAO,SAAS;AACpC,WAAU,UAAU,OAAO,OAAO,EAAE,EAAE,eAAe,QAAQ,GAAG;CAChE,MAAM,IAAI;EACR;EACA,WAAW;EACX,eAAe;EACf,YAAY,QAAQ,UAAU,KAAA;EAC/B;CACD,MAAM,UAAS,UAAS;AACtB,MAAI,OAAO,UAAU,WACnB,KAAI,cAAc,WAAW,WAAW,WAAW,QAAQ,IAAI,EAAE,CAAE,SAAQ,MAAM,EAAE,OAAO;MAAM,SAAQ,MAAM,EAAE,MAAM;AAExH,SAAO,YAAY,GAAG,MAAM;;AAE9B,QAAO,CAAC,WAAW,KAAK,EAAE,EAAE,OAAO;;AAErC,SAAS,eAAe,IAAI,OAAO,SAAS;CAC1C,MAAM,IAAI,kBAAkB,IAAI,OAAO,MAAM,MAAM;AACnD,KAAI,aAAa,cAAc,WAAW,QAAS,SAAQ,KAAK,EAAE;KAAM,mBAAkB,EAAE;;AAE9F,SAAS,mBAAmB,IAAI,OAAO,SAAS;CAC9C,MAAM,IAAI,kBAAkB,IAAI,OAAO,OAAO,MAAM;AACpD,KAAI,aAAa,cAAc,WAAW,QAAS,SAAQ,KAAK,EAAE;KAAM,mBAAkB,EAAE;;AAE9F,SAAS,aAAa,IAAI,OAAO,SAAS;AACxC,cAAa;CACb,MAAM,IAAI,kBAAkB,IAAI,OAAO,OAAO,MAAM,EAClD,IAAI,mBAAmB,WAAW,gBAAgB;AACpD,KAAI,EAAG,GAAE,WAAW;AACpB,KAAI,CAAC,WAAW,CAAC,QAAQ,OAAQ,GAAE,OAAO;AAC1C,WAAU,QAAQ,KAAK,EAAE,GAAG,kBAAkB,EAAE;;AAgBlD,SAAS,WAAW,IAAI,OAAO,SAAS;AACtC,WAAU,UAAU,OAAO,OAAO,EAAE,EAAE,eAAe,QAAQ,GAAG;CAChE,MAAM,IAAI,kBAAkB,IAAI,OAAO,MAAM,EAAE;AAC/C,GAAE,YAAY;AACd,GAAE,gBAAgB;AAClB,GAAE,aAAa,QAAQ,UAAU,KAAA;AACjC,KAAI,aAAa,cAAc,WAAW,SAAS;AACjD,IAAE,SAAS;AACX,UAAQ,KAAK,EAAE;OACV,mBAAkB,EAAE;AAC3B,QAAO,WAAW,KAAK,EAAE;;AAE3B,SAAS,UAAU,GAAG;AACpB,QAAO,KAAK,OAAO,MAAM,YAAY,UAAU;;AAEjD,SAAS,eAAe,SAAS,UAAU,UAAU;CACnD,IAAI;CACJ,IAAI;CACJ,IAAI;AACJ,KAAI,OAAO,aAAa,YAAY;AAClC,WAAS;AACT,YAAU;AACV,YAAU,YAAY,EAAE;QACnB;AACL,WAAS;AACT,YAAU;AACV,YAAU,YAAY,EAAE;;CAE1B,IAAI,KAAK,MACP,QAAQ,SACR,KAAK,MACL,wBAAwB,OACxB,YAAY,OACZ,WAAW,kBAAkB,SAC7B,UAAU,OAAO,WAAW,cAAc,WAAW,OAAO;CAC9D,MAAM,2BAAW,IAAI,KAAK,EACxB,CAAC,OAAO,aAAa,QAAQ,WAAW,cAAc,QAAQ,aAAa,EAC3E,CAAC,OAAO,YAAY,aAAa,KAAA,EAAU,EAC3C,CAAC,OAAO,WAAW,aAAa,KAAA,GAAW,EACzC,QAAQ,OACT,CAAC,EACF,CAAC,OAAO,YAAY,aAAa,WAAW,UAAU,aAAa;AACrE,KAAI,aAAa,SAAS;AACxB,OAAK,aAAa,kBAAkB;AACpC,MAAI,QAAQ,gBAAgB,UAAW,SAAQ,QAAQ;WAAsB,aAAa,QAAQ,aAAa,IAAI,GAAG,CAAE,SAAQ,aAAa,KAAK,GAAG;;CAEvJ,SAAS,QAAQ,GAAG,GAAG,OAAO,KAAK;AACjC,MAAI,OAAO,GAAG;AACZ,QAAK;AACL,WAAQ,KAAA,MAAc,WAAW;AACjC,QAAK,MAAM,SAAS,MAAM,UAAU,QAAQ,WAAY,sBAAqB,QAAQ,WAAW,KAAK,EACnG,OAAO,GACR,CAAC,CAAC;AACH,WAAQ;AACR,OAAI,cAAc,KAAK,uBAAuB;AAC5C,eAAW,SAAS,OAAO,EAAE;AAC7B,4BAAwB;AACxB,qBAAiB;AACf,gBAAW,UAAU;AACrB,kBAAa,GAAG,MAAM;OACrB,MAAM;SACJ,cAAa,GAAG,MAAM;;AAE/B,SAAO;;CAET,SAAS,aAAa,GAAG,KAAK;AAC5B,mBAAiB;AACf,OAAI,QAAQ,KAAA,EAAW,gBAAe,EAAE;AACxC,YAAS,QAAQ,KAAA,IAAY,YAAY,WAAW,UAAU,aAAa;AAC3E,YAAS,IAAI;AACb,QAAK,MAAM,KAAK,SAAS,MAAM,CAAE,GAAE,WAAW;AAC9C,YAAS,OAAO;KACf,MAAM;;CAEX,SAAS,OAAO;EACd,MAAM,IAAI,mBAAmB,WAAW,gBAAgB,EACtD,IAAI,OAAO,EACX,MAAM,OAAO;AACf,MAAI,QAAQ,KAAA,KAAa,CAAC,GAAI,OAAM;AACpC,MAAI,YAAY,CAAC,SAAS,QAAQ,EAChC,sBAAqB;AACnB,UAAO;AACP,OAAI;QACE,EAAE,YAAY,cAAc,sBAAuB,YAAW,SAAS,IAAI,GAAG;aAAU,CAAC,SAAS,IAAI,EAAE,EAAE;AAC5G,OAAE,WAAW;AACb,cAAS,IAAI,EAAE;;;IAGnB;AAEJ,SAAO;;CAET,SAAS,KAAK,aAAa,MAAM;AAC/B,MAAI,eAAe,SAAS,UAAW;AACvC,cAAY;EACZ,MAAM,SAAS,UAAU,SAAS,GAAG;AACrC,0BAAwB,cAAc,WAAW;AACjD,MAAI,UAAU,QAAQ,WAAW,OAAO;AACtC,WAAQ,IAAI,QAAQ,MAAM,CAAC;AAC3B;;AAEF,MAAI,cAAc,GAAI,YAAW,SAAS,OAAO,GAAG;EACpD,IAAI;EACJ,MAAM,IAAI,UAAU,UAAU,QAAQ,cAAc;AAClD,OAAI;AACF,WAAO,QAAQ,QAAQ;KACrB,OAAO,OAAO;KACd;KACD,CAAC;YACK,cAAc;AACrB,YAAQ;;IAEV;AACF,MAAI,UAAU,KAAA,GAAW;AACvB,WAAQ,IAAI,KAAA,GAAW,UAAU,MAAM,EAAE,OAAO;AAChD;aACS,CAAC,UAAU,EAAE,EAAE;AACxB,WAAQ,IAAI,GAAG,KAAA,GAAW,OAAO;AACjC,UAAO;;AAET,OAAK;AACL,MAAI,OAAO,GAAG;AACZ,OAAI,EAAE,MAAM,EAAG,SAAQ,IAAI,EAAE,GAAG,KAAA,GAAW,OAAO;OAAM,SAAQ,IAAI,KAAA,GAAW,UAAU,EAAE,EAAE,EAAE,OAAO;AACtG,UAAO;;AAET,cAAY;AACZ,uBAAqB,YAAY,MAAM;AACvC,mBAAiB;AACf,YAAS,WAAW,eAAe,UAAU;AAC7C,YAAS;KACR,MAAM;AACT,SAAO,EAAE,MAAK,MAAK,QAAQ,GAAG,GAAG,KAAA,GAAW,OAAO,GAAE,MAAK,QAAQ,GAAG,KAAA,GAAW,UAAU,EAAE,EAAE,OAAO,CAAC;;AAExG,QAAO,iBAAiB,MAAM;EAC5B,OAAO,EACL,WAAW,OAAO,EACnB;EACD,OAAO,EACL,WAAW,OAAO,EACnB;EACD,SAAS,EACP,MAAM;GACJ,MAAM,IAAI,OAAO;AACjB,UAAO,MAAM,aAAa,MAAM;KAEnC;EACD,QAAQ,EACN,MAAM;AACJ,OAAI,CAAC,SAAU,QAAO,MAAM;GAC5B,MAAM,MAAM,OAAO;AACnB,OAAI,OAAO,CAAC,GAAI,OAAM;AACtB,UAAO,OAAO;KAEjB;EACF,CAAC;CACF,IAAI,QAAQ;AACZ,KAAI,QAAS,uBAAsB,QAAQ,OAAO,KAAK,MAAM,EAAE;KAAM,MAAK,MAAM;AAChF,QAAO,CAAC,MAAM;EACZ,UAAS,SAAQ,aAAa,aAAa,KAAK,KAAK,CAAC;EACtD,QAAQ;EACT,CAAC;;AA6CJ,SAAS,QAAQ,IAAI;AACnB,KAAI,CAAC,wBAAwB,aAAa,KAAM,QAAO,IAAI;CAC3D,MAAM,WAAW;AACjB,YAAW;AACX,KAAI;AACF,MAAI,qBAAsB,QAAO,qBAAqB,QAAQ,GAAG;AACjE,SAAO,IAAI;WACH;AACR,aAAW;;;AAyBf,SAAS,UAAU,IAAI;AACrB,KAAI,UAAU;UAAgB,MAAM,aAAa,KAAM,OAAM,WAAW,CAAC,GAAG;KAAM,OAAM,SAAS,KAAK,GAAG;AACzG,QAAO;;AAwBT,SAAS,aAAa,GAAG,IAAI;CAC3B,MAAM,OAAO;CACb,MAAM,eAAe;AACrB,SAAQ;AACR,YAAW;AACX,KAAI;AACF,SAAO,WAAW,IAAI,KAAK;UACpB,KAAK;AACZ,cAAY,IAAI;WACR;AACR,UAAQ;AACR,aAAW;;;AAMf,SAAS,gBAAgB,IAAI;AAC3B,KAAI,cAAc,WAAW,SAAS;AACpC,MAAI;AACJ,SAAO,WAAW;;CAEpB,MAAM,IAAI;CACV,MAAM,IAAI;AACV,QAAO,QAAQ,SAAS,CAAC,WAAW;AAClC,aAAW;AACX,UAAQ;EACR,IAAI;AACJ,MAAI,aAAa,iBAAiB;AAChC,OAAI,eAAe,aAAa;IAC9B,yBAAS,IAAI,KAAK;IAClB,SAAS,EAAE;IACX,0BAAU,IAAI,KAAK;IACnB,0BAAU,IAAI,KAAK;IACnB,uBAAO,IAAI,KAAK;IAChB,SAAS;IACV;AACD,KAAE,SAAS,EAAE,OAAO,IAAI,SAAQ,QAAO,EAAE,UAAU,IAAI;AACvD,KAAE,UAAU;;AAEd,aAAW,IAAI,MAAM;AACrB,aAAW,QAAQ;AACnB,SAAO,IAAI,EAAE,OAAO,KAAA;GACpB;;AAEJ,IAAM,CAAC,cAAc,mBAAgC,6BAAa,MAAM;AAQxE,SAAS,cAAc,cAAc,SAAS;CAC5C,MAAM,KAAK,OAAO,UAAU;AAC5B,QAAO;EACL;EACA,UAAU,eAAe,GAAG;EAC5B;EACD;;AAEH,SAAS,WAAW,SAAS;CAC3B,IAAI;AACJ,QAAO,SAAS,MAAM,YAAY,QAAQ,MAAM,QAAQ,QAAQ,SAAS,KAAA,IAAY,QAAQ,QAAQ;;AAEvG,SAAS,SAAS,IAAI;CACpB,MAAM,WAAW,WAAW,GAAG;CAC/B,MAAM,OAAO,iBAAiB,gBAAgB,UAAU,CAAC,CAAC;AAC1D,MAAK,gBAAgB;EACnB,MAAM,IAAI,MAAM;AAChB,SAAO,MAAM,QAAQ,EAAE,GAAG,IAAI,KAAK,OAAO,CAAC,EAAE,GAAG,EAAE;;AAEpD,QAAO;;AAET,IAAI;AA+BJ,SAAS,aAAa;CACpB,MAAM,oBAAoB,cAAc,WAAW;AACnD,KAAI,KAAK,YAAY,oBAAoB,KAAK,SAAS,KAAK,OAC1D,MAAK,oBAAoB,KAAK,SAAS,KAAK,WAAW,MAAO,mBAAkB,KAAK;MAAM;EACzF,MAAM,UAAU;AAChB,YAAU;AACV,mBAAiB,aAAa,KAAK,EAAE,MAAM;AAC3C,YAAU;;AAGd,KAAI,UAAU;EACZ,MAAM,QAAQ,KAAK,YAAY,KAAK,UAAU,SAAS;AACvD,MAAI,CAAC,SAAS,SAAS;AACrB,YAAS,UAAU,CAAC,KAAK;AACzB,YAAS,cAAc,CAAC,MAAM;SACzB;AACL,YAAS,QAAQ,KAAK,KAAK;AAC3B,YAAS,YAAY,KAAK,MAAM;;AAElC,MAAI,CAAC,KAAK,WAAW;AACnB,QAAK,YAAY,CAAC,SAAS;AAC3B,QAAK,gBAAgB,CAAC,SAAS,QAAQ,SAAS,EAAE;SAC7C;AACL,QAAK,UAAU,KAAK,SAAS;AAC7B,QAAK,cAAc,KAAK,SAAS,QAAQ,SAAS,EAAE;;;AAGxD,KAAI,qBAAqB,WAAW,QAAQ,IAAI,KAAK,CAAE,QAAO,KAAK;AACnE,QAAO,KAAK;;AAEd,SAAS,YAAY,MAAM,OAAO,QAAQ;CACxC,IAAI,UAAU,cAAc,WAAW,WAAW,WAAW,QAAQ,IAAI,KAAK,GAAG,KAAK,SAAS,KAAK;AACpG,KAAI,CAAC,KAAK,cAAc,CAAC,KAAK,WAAW,SAAS,MAAM,EAAE;AACxD,MAAI,YAAY;GACd,MAAM,oBAAoB,WAAW;AACrC,OAAI,qBAAqB,CAAC,UAAU,WAAW,QAAQ,IAAI,KAAK,EAAE;AAChE,eAAW,QAAQ,IAAI,KAAK;AAC5B,SAAK,SAAS;;AAEhB,OAAI,CAAC,kBAAmB,MAAK,QAAQ;QAChC,MAAK,QAAQ;AACpB,MAAI,KAAK,aAAa,KAAK,UAAU,OACnC,kBAAiB;AACf,QAAK,IAAI,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK,GAAG;IACjD,MAAM,IAAI,KAAK,UAAU;IACzB,MAAM,oBAAoB,cAAc,WAAW;AACnD,QAAI,qBAAqB,WAAW,SAAS,IAAI,EAAE,CAAE;AACrD,QAAI,oBAAoB,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO;AAC5C,SAAI,EAAE,KAAM,SAAQ,KAAK,EAAE;SAAM,SAAQ,KAAK,EAAE;AAChD,SAAI,EAAE,UAAW,gBAAe,EAAE;;AAEpC,QAAI,CAAC,kBAAmB,GAAE,QAAQ;QAAW,GAAE,SAAS;;AAE1D,OAAI,QAAQ,SAAS,KAAM;AACzB,cAAU,EAAE;AAEZ,UAAM,IAAI,OAAO;;KAElB,MAAM;;AAGb,QAAO;;AAET,SAAS,kBAAkB,MAAM;AAC/B,KAAI,CAAC,KAAK,GAAI;AACd,WAAU,KAAK;CACf,MAAM,OAAO;AACb,gBAAe,MAAM,cAAc,WAAW,WAAW,WAAW,QAAQ,IAAI,KAAK,GAAG,KAAK,SAAS,KAAK,OAAO,KAAK;AACvH,KAAI,cAAc,CAAC,WAAW,WAAW,WAAW,QAAQ,IAAI,KAAK,CACnE,sBAAqB;AACnB,mBAAiB;AACf,kBAAe,WAAW,UAAU;AACpC,cAAW,QAAQ;AACnB,kBAAe,MAAM,KAAK,QAAQ,KAAK;AACvC,cAAW,QAAQ;KAClB,MAAM;GACT;;AAGN,SAAS,eAAe,MAAM,OAAO,MAAM;CACzC,IAAI;CACJ,MAAM,QAAQ,OACZ,WAAW;AACb,YAAW,QAAQ;AACnB,KAAI;AACF,cAAY,KAAK,GAAG,MAAM;UACnB,KAAK;AACZ,MAAI,KAAK,KACP,KAAI,cAAc,WAAW,SAAS;AACpC,QAAK,SAAS;AACd,QAAK,UAAU,KAAK,OAAO,QAAQ,UAAU;AAC7C,QAAK,SAAS,KAAA;SACT;AACL,QAAK,QAAQ;AACb,QAAK,SAAS,KAAK,MAAM,QAAQ,UAAU;AAC3C,QAAK,QAAQ;;AAGjB,OAAK,YAAY,OAAO;AACxB,SAAO,YAAY,IAAI;WACf;AACR,aAAW;AACX,UAAQ;;AAEV,KAAI,CAAC,KAAK,aAAa,KAAK,aAAa,MAAM;AAC7C,MAAI,KAAK,aAAa,QAAQ,eAAe,KAC3C,aAAY,MAAM,WAAW,KAAK;WACzB,cAAc,WAAW,WAAW,KAAK,MAAM;AACxD,cAAW,QAAQ,IAAI,KAAK;AAC5B,QAAK,SAAS;QACT,MAAK,QAAQ;AACpB,OAAK,YAAY;;;AAGrB,SAAS,kBAAkB,IAAI,MAAM,MAAM,QAAQ,OAAO,SAAS;CACjE,MAAM,IAAI;EACR;EACO;EACP,WAAW;EACX,OAAO;EACP,SAAS;EACT,aAAa;EACb,UAAU;EACV,OAAO;EACP,OAAO;EACP,SAAS,QAAQ,MAAM,UAAU;EACjC;EACD;AACD,KAAI,cAAc,WAAW,SAAS;AACpC,IAAE,QAAQ;AACV,IAAE,SAAS;;AAEb,KAAI,UAAU;UAAgB,UAAU,QACtC,KAAI,cAAc,WAAW,WAAW,MAAM,KAC5C,KAAI,CAAC,MAAM,OAAQ,OAAM,SAAS,CAAC,EAAE;KAAM,OAAM,OAAO,KAAK,EAAE;UAE3D,CAAC,MAAM,MAAO,OAAM,QAAQ,CAAC,EAAE;KAAM,OAAM,MAAM,KAAK,EAAE;AAGhE,KAAI,wBAAwB,EAAE,IAAI;EAChC,MAAM,CAAC,OAAO,WAAW,aAAa,KAAA,GAAW,EAC/C,QAAQ,OACT,CAAC;EACF,MAAM,WAAW,qBAAqB,QAAQ,EAAE,IAAI,QAAQ;AAC5D,kBAAgB,SAAS,SAAS,CAAC;EACnC,MAAM,4BAA4B,gBAAgB,QAAQ,CAAC,WAAW,aAAa,SAAS,CAAC;EAC7F,MAAM,eAAe,qBAAqB,QAAQ,EAAE,IAAI,oBAAoB;AAC5E,IAAE,MAAK,MAAK;AACV,UAAO;AACP,UAAO,cAAc,WAAW,UAAU,aAAa,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE;;;AAGvF,QAAO;;AAET,SAAS,OAAO,MAAM;CACpB,MAAM,oBAAoB,cAAc,WAAW;AACnD,MAAK,oBAAoB,KAAK,SAAS,KAAK,WAAW,EAAG;AAC1D,MAAK,oBAAoB,KAAK,SAAS,KAAK,WAAW,QAAS,QAAO,aAAa,KAAK;AACzF,KAAI,KAAK,YAAY,QAAQ,KAAK,SAAS,WAAW,CAAE,QAAO,KAAK,SAAS,QAAQ,KAAK,KAAK;CAC/F,MAAM,YAAY,CAAC,KAAK;AACxB,SAAQ,OAAO,KAAK,WAAW,CAAC,KAAK,aAAa,KAAK,YAAY,YAAY;AAC7E,MAAI,qBAAqB,WAAW,SAAS,IAAI,KAAK,CAAE;AACxD,MAAI,oBAAoB,KAAK,SAAS,KAAK,MAAO,WAAU,KAAK,KAAK;;AAExE,MAAK,IAAI,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;AAC9C,SAAO,UAAU;AACjB,MAAI,mBAAmB;GACrB,IAAI,MAAM,MACR,OAAO,UAAU,IAAI;AACvB,WAAQ,MAAM,IAAI,UAAU,QAAQ,KAClC,KAAI,WAAW,SAAS,IAAI,IAAI,CAAE;;AAGtC,OAAK,oBAAoB,KAAK,SAAS,KAAK,WAAW,MACrD,mBAAkB,KAAK;YACb,oBAAoB,KAAK,SAAS,KAAK,WAAW,SAAS;GACrE,MAAM,UAAU;AAChB,aAAU;AACV,oBAAiB,aAAa,MAAM,UAAU,GAAG,EAAE,MAAM;AACzD,aAAU;;;;AAIhB,SAAS,WAAW,IAAI,MAAM;AAC5B,KAAI,QAAS,QAAO,IAAI;CACxB,IAAI,OAAO;AACX,KAAI,CAAC,KAAM,WAAU,EAAE;AACvB,KAAI,QAAS,QAAO;KAAU,WAAU,EAAE;AAC1C;AACA,KAAI;EACF,MAAM,MAAM,IAAI;AAChB,kBAAgB,KAAK;AACrB,SAAO;UACA,KAAK;AACZ,MAAI,CAAC,KAAM,WAAU;AACrB,YAAU;AACV,cAAY,IAAI;;;AAGpB,SAAS,gBAAgB,MAAM;AAC7B,KAAI,SAAS;AACX,MAAI,aAAa,cAAc,WAAW,QAAS,eAAc,QAAQ;MAAM,UAAS,QAAQ;AAChG,YAAU;;AAEZ,KAAI,KAAM;CACV,IAAI;AACJ,KAAI;MACE,CAAC,WAAW,SAAS,QAAQ,CAAC,WAAW,MAAM,MAAM;GACvD,MAAM,UAAU,WAAW;GAC3B,MAAM,WAAW,WAAW;AAC5B,WAAQ,KAAK,MAAM,SAAS,WAAW,QAAQ;AAC/C,SAAM,WAAW;AACjB,QAAK,MAAM,KAAK,SAAS;AACvB,gBAAY,MAAM,EAAE,QAAQ,EAAE;AAC9B,WAAO,EAAE;;AAEX,gBAAa;AACb,oBAAiB;AACf,SAAK,MAAM,KAAK,SAAU,WAAU,EAAE;AACtC,SAAK,MAAM,KAAK,SAAS;AACvB,OAAE,QAAQ,EAAE;AACZ,SAAI,EAAE,MACJ,MAAK,IAAI,IAAI,GAAG,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,IAAK,WAAU,EAAE,MAAM,GAAG;AAE3E,SAAI,EAAE,OAAQ,GAAE,QAAQ,EAAE;AAC1B,YAAO,EAAE;AACT,YAAO,EAAE;AACT,OAAE,SAAS;;AAEb,oBAAgB,MAAM;MACrB,MAAM;aACA,WAAW,SAAS;AAC7B,cAAW,UAAU;AACrB,cAAW,QAAQ,KAAK,MAAM,WAAW,SAAS,QAAQ;AAC1D,aAAU;AACV,mBAAgB,KAAK;AACrB;;;CAGJ,MAAM,IAAI;AACV,WAAU;AACV,KAAI,EAAE,OAAQ,kBAAiB,WAAW,EAAE,EAAE,MAAM;AACpD,KAAI,IAAK,MAAK;;AAEhB,SAAS,SAAS,OAAO;AACvB,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAK,QAAO,MAAM,GAAG;;AAEzD,SAAS,cAAc,OAAO;AAC5B,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,OAAO,MAAM;EACnB,MAAM,QAAQ,WAAW;AACzB,MAAI,CAAC,MAAM,IAAI,KAAK,EAAE;AACpB,SAAM,IAAI,KAAK;AACf,mBAAgB;AACd,UAAM,OAAO,KAAK;AAClB,qBAAiB;AACf,gBAAW,UAAU;AACrB,YAAO,KAAK;OACX,MAAM;AACT,mBAAe,WAAW,UAAU;KACpC;;;;AAIR,SAAS,eAAe,OAAO;CAC7B,IAAI,GACF,aAAa;AACf,MAAK,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACjC,MAAM,IAAI,MAAM;AAChB,MAAI,CAAC,EAAE,KAAM,QAAO,EAAE;MAAM,OAAM,gBAAgB;;AAEpD,KAAI,aAAa,SAAS;AACxB,MAAI,aAAa,OAAO;AACtB,gBAAa,YAAY,aAAa,UAAU,EAAE;AAClD,gBAAa,QAAQ,KAAK,GAAG,MAAM,MAAM,GAAG,WAAW,CAAC;AACxD;;AAEF,qBAAmB;;AAErB,KAAI,aAAa,YAAY,aAAa,QAAQ,CAAC,aAAa,QAAQ;AACtE,UAAQ,CAAC,GAAG,aAAa,SAAS,GAAG,MAAM;AAC3C,gBAAc,aAAa,QAAQ;AACnC,SAAO,aAAa;;AAEtB,MAAK,IAAI,GAAG,IAAI,YAAY,IAAK,QAAO,MAAM,GAAG;;AAEnD,SAAS,aAAa,MAAM,QAAQ;CAClC,MAAM,oBAAoB,cAAc,WAAW;AACnD,KAAI,kBAAmB,MAAK,SAAS;KAAO,MAAK,QAAQ;AACzD,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK,GAAG;EAC/C,MAAM,SAAS,KAAK,QAAQ;AAC5B,MAAI,OAAO,SAAS;GAClB,MAAM,QAAQ,oBAAoB,OAAO,SAAS,OAAO;AACzD,OAAI,UAAU;QACR,WAAW,WAAW,CAAC,OAAO,aAAa,OAAO,YAAY,WAAY,QAAO,OAAO;cACnF,UAAU,QAAS,cAAa,QAAQ,OAAO;;;;AAIhE,SAAS,eAAe,MAAM;CAC5B,MAAM,oBAAoB,cAAc,WAAW;AACnD,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK,GAAG;EACjD,MAAM,IAAI,KAAK,UAAU;AACzB,MAAI,oBAAoB,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO;AAC5C,OAAI,kBAAmB,GAAE,SAAS;OAAa,GAAE,QAAQ;AACzD,OAAI,EAAE,KAAM,SAAQ,KAAK,EAAE;OAAM,SAAQ,KAAK,EAAE;AAChD,KAAE,aAAa,eAAe,EAAE;;;;AAItC,SAAS,UAAU,MAAM;CACvB,IAAI;AACJ,KAAI,KAAK,QACP,QAAO,KAAK,QAAQ,QAAQ;EAC1B,MAAM,SAAS,KAAK,QAAQ,KAAK,EAC/B,QAAQ,KAAK,YAAY,KAAK,EAC9B,MAAM,OAAO;AACf,MAAI,OAAO,IAAI,QAAQ;GACrB,MAAM,IAAI,IAAI,KAAK,EACjB,IAAI,OAAO,cAAc,KAAK;AAChC,OAAI,QAAQ,IAAI,QAAQ;AACtB,MAAE,YAAY,KAAK;AACnB,QAAI,SAAS;AACb,WAAO,cAAc,SAAS;;;;AAKtC,KAAI,KAAK,QAAQ;AACf,OAAK,IAAI,KAAK,OAAO,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,KAAK,OAAO,GAAG;AACvE,SAAO,KAAK;;AAEd,KAAI,cAAc,WAAW,WAAW,KAAK,KAC3C,OAAM,MAAM,KAAK;UACR,KAAK,OAAO;AACrB,OAAK,IAAI,KAAK,MAAM,SAAS,GAAG,KAAK,GAAG,IAAK,WAAU,KAAK,MAAM,GAAG;AACrE,OAAK,QAAQ;;AAEf,KAAI,KAAK,UAAU;AACjB,OAAK,IAAI,KAAK,SAAS,SAAS,GAAG,KAAK,GAAG,IAAK,MAAK,SAAS,IAAI;AAClE,OAAK,WAAW;;AAElB,KAAI,cAAc,WAAW,QAAS,MAAK,SAAS;KAAO,MAAK,QAAQ;;AAE1E,SAAS,MAAM,MAAM,KAAK;AACxB,KAAI,CAAC,KAAK;AACR,OAAK,SAAS;AACd,aAAW,SAAS,IAAI,KAAK;;AAE/B,KAAI,KAAK,MACP,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,MAAM,QAAQ,IAAK,OAAM,KAAK,MAAM,GAAG;;AAGpE,SAAS,UAAU,KAAK;AACtB,KAAI,eAAe,MAAO,QAAO;AACjC,QAAO,IAAI,MAAM,OAAO,QAAQ,WAAW,MAAM,iBAAiB,EAChE,OAAO,KACR,CAAC;;AAEJ,SAAS,UAAU,KAAK,KAAK,OAAO;AAClC,KAAI;AACF,OAAK,MAAM,KAAK,IAAK,GAAE,IAAI;UACpB,GAAG;AACV,cAAY,GAAG,SAAS,MAAM,SAAS,KAAK;;;AAGhD,SAAS,YAAY,KAAK,QAAQ,OAAO;CACvC,MAAM,MAAM,SAAS,SAAS,MAAM,WAAW,MAAM,QAAQ;CAC7D,MAAM,QAAQ,UAAU,IAAI;AAC5B,KAAI,CAAC,IAAK,OAAM;AAChB,KAAI,QAAS,SAAQ,KAAK;EACxB,KAAK;AACH,aAAU,OAAO,KAAK,MAAM;;EAE9B,OAAO;EACR,CAAC;KAAM,WAAU,OAAO,KAAK,MAAM;;AAEtC,SAAS,gBAAgB,UAAU;AACjC,KAAI,OAAO,aAAa,cAAc,CAAC,SAAS,OAAQ,QAAO,gBAAgB,UAAU,CAAC;AAC1F,KAAI,MAAM,QAAQ,SAAS,EAAE;EAC3B,MAAM,UAAU,EAAE;AAClB,OAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;GACxC,MAAM,SAAS,gBAAgB,SAAS,GAAG;AAC3C,SAAM,QAAQ,OAAO,GAAG,QAAQ,KAAK,MAAM,SAAS,OAAO,GAAG,QAAQ,KAAK,OAAO;;AAEpF,SAAO;;AAET,QAAO;;AAET,SAAS,eAAe,IAAI,SAAS;AACnC,QAAO,SAAS,SAAS,OAAO;EAC9B,IAAI;AACJ,2BAAyB,MAAM,cAAc;AAC3C,SAAM,UAAU;IACd,GAAG,MAAM;KACR,KAAK,MAAM;IACb;AACD,UAAO,eAAe,MAAM,SAAS;IACrC,EAAE,KAAA,EAAU;AACd,SAAO;;;AAyEX,IAAM,WAAW,OAAO,WAAW;AACnC,SAAS,QAAQ,GAAG;AAClB,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,GAAE,IAAI;;AAE3C,SAAS,SAAS,MAAM,OAAO,UAAU,EAAE,EAAE;CAC3C,IAAI,QAAQ,EAAE,EACZ,SAAS,EAAE,EACX,YAAY,EAAE,EACd,MAAM,GACN,UAAU,MAAM,SAAS,IAAI,EAAE,GAAG;AACpC,iBAAgB,QAAQ,UAAU,CAAC;AACnC,cAAa;EACX,IAAI,WAAW,MAAM,IAAI,EAAE,EACzB,SAAS,SAAS,QAClB,GACA;AACF,WAAS;AACT,SAAO,cAAc;GACnB,IAAI,YAAY,gBAAgB,MAAM,eAAe,aAAa,OAAO,KAAK,QAAQ;AACtF,OAAI,WAAW,GAAG;AAChB,QAAI,QAAQ,GAAG;AACb,aAAQ,UAAU;AAClB,iBAAY,EAAE;AACd,aAAQ,EAAE;AACV,cAAS,EAAE;AACX,WAAM;AACN,iBAAY,UAAU,EAAE;;AAE1B,QAAI,QAAQ,UAAU;AACpB,aAAQ,CAAC,SAAS;AAClB,YAAO,KAAK,YAAW,aAAY;AACjC,gBAAU,KAAK;AACf,aAAO,QAAQ,UAAU;OACzB;AACF,WAAM;;cAGD,QAAQ,GAAG;AAClB,aAAS,IAAI,MAAM,OAAO;AAC1B,SAAK,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC3B,WAAM,KAAK,SAAS;AACpB,YAAO,KAAK,WAAW,OAAO;;AAEhC,UAAM;UACD;AACL,WAAO,IAAI,MAAM,OAAO;AACxB,oBAAgB,IAAI,MAAM,OAAO;AACjC,gBAAY,cAAc,IAAI,MAAM,OAAO;AAC3C,SAAK,QAAQ,GAAG,MAAM,KAAK,IAAI,KAAK,OAAO,EAAE,QAAQ,OAAO,MAAM,WAAW,SAAS,QAAQ;AAC9F,SAAK,MAAM,MAAM,GAAG,SAAS,SAAS,GAAG,OAAO,SAAS,UAAU,SAAS,MAAM,SAAS,SAAS,SAAS,OAAO,UAAU;AAC5H,UAAK,UAAU,OAAO;AACtB,mBAAc,UAAU,UAAU;AAClC,iBAAY,YAAY,UAAU,QAAQ;;AAE5C,iCAAa,IAAI,KAAK;AACtB,qBAAiB,IAAI,MAAM,SAAS,EAAE;AACtC,SAAK,IAAI,QAAQ,KAAK,OAAO,KAAK;AAChC,YAAO,SAAS;AAChB,SAAI,WAAW,IAAI,KAAK;AACxB,oBAAe,KAAK,MAAM,KAAA,IAAY,KAAK;AAC3C,gBAAW,IAAI,MAAM,EAAE;;AAEzB,SAAK,IAAI,OAAO,KAAK,KAAK,KAAK;AAC7B,YAAO,MAAM;AACb,SAAI,WAAW,IAAI,KAAK;AACxB,SAAI,MAAM,KAAA,KAAa,MAAM,IAAI;AAC/B,WAAK,KAAK,OAAO;AACjB,oBAAc,KAAK,UAAU;AAC7B,kBAAY,YAAY,KAAK,QAAQ;AACrC,UAAI,eAAe;AACnB,iBAAW,IAAI,MAAM,EAAE;WAClB,WAAU,IAAI;;AAEvB,SAAK,IAAI,OAAO,IAAI,QAAQ,IAC1B,KAAI,KAAK,MAAM;AACb,YAAO,KAAK,KAAK;AACjB,eAAU,KAAK,cAAc;AAC7B,SAAI,SAAS;AACX,cAAQ,KAAK,YAAY;AACzB,cAAQ,GAAG,EAAE;;UAEV,QAAO,KAAK,WAAW,OAAO;AAEvC,aAAS,OAAO,MAAM,GAAG,MAAM,OAAO;AACtC,YAAQ,SAAS,MAAM,EAAE;;AAE3B,UAAO;IACP;EACF,SAAS,OAAO,UAAU;AACxB,aAAU,KAAK;AACf,OAAI,SAAS;IACX,MAAM,CAAC,GAAG,OAAO,aAAa,EAAE;AAChC,YAAQ,KAAK;AACb,WAAO,MAAM,SAAS,IAAI,EAAE;;AAE9B,UAAO,MAAM,SAAS,GAAG;;;;AAkE/B,IAAI,mBAAmB;AAIvB,SAAS,gBAAgB,MAAM,OAAO;AACpC,KAAI;MACE,aAAa,SAAS;GACxB,MAAM,IAAI,aAAa;AACvB,qBAAkB,oBAAoB,CAAC;GACvC,MAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC,CAAC;AAC1C,qBAAkB,EAAE;AACpB,UAAO;;;AAGX,QAAO,cAAc,KAAK,SAAS,EAAE,CAAC,CAAC;;AAEzC,SAAS,SAAS;AAChB,QAAO;;AAET,IAAM,YAAY;CAChB,IAAI,GAAG,UAAU,UAAU;AACzB,MAAI,aAAa,OAAQ,QAAO;AAChC,SAAO,EAAE,IAAI,SAAS;;CAExB,IAAI,GAAG,UAAU;AACf,MAAI,aAAa,OAAQ,QAAO;AAChC,SAAO,EAAE,IAAI,SAAS;;CAExB,KAAK;CACL,gBAAgB;CAChB,yBAAyB,GAAG,UAAU;AACpC,SAAO;GACL,cAAc;GACd,YAAY;GACZ,MAAM;AACJ,WAAO,EAAE,IAAI,SAAS;;GAExB,KAAK;GACL,gBAAgB;GACjB;;CAEH,QAAQ,GAAG;AACT,SAAO,EAAE,MAAM;;CAElB;AACD,SAAS,cAAc,GAAG;AACxB,QAAO,EAAE,IAAI,OAAO,MAAM,aAAa,GAAG,GAAG,KAAK,EAAE,GAAG;;AAEzD,SAAS,iBAAiB;AACxB,MAAK,IAAI,IAAI,GAAG,SAAS,KAAK,QAAQ,IAAI,QAAQ,EAAE,GAAG;EACrD,MAAM,IAAI,KAAK,IAAI;AACnB,MAAI,MAAM,KAAA,EAAW,QAAO;;;AAGhC,SAAS,WAAW,GAAG,SAAS;CAC9B,IAAI,QAAQ;AACZ,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,MAAM,IAAI,QAAQ;AAClB,UAAQ,SAAS,CAAC,CAAC,KAAK,UAAU;AAClC,UAAQ,KAAK,OAAO,MAAM,cAAc,QAAQ,MAAM,WAAW,EAAE,IAAI;;AAEzE,KAAI,kBAAkB,MACpB,QAAO,IAAI,MAAM;EACf,IAAI,UAAU;AACZ,QAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;IAC5C,MAAM,IAAI,cAAc,QAAQ,GAAG,CAAC;AACpC,QAAI,MAAM,KAAA,EAAW,QAAO;;;EAGhC,IAAI,UAAU;AACZ,QAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,IACvC,KAAI,YAAY,cAAc,QAAQ,GAAG,CAAE,QAAO;AAEpD,UAAO;;EAET,OAAO;GACL,MAAM,OAAO,EAAE;AACf,QAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,IAAK,MAAK,KAAK,GAAG,OAAO,KAAK,cAAc,QAAQ,GAAG,CAAC,CAAC;AAC7F,UAAO,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC;;EAE5B,EAAE,UAAU;CAEf,MAAM,aAAa,EAAE;CACrB,MAAM,UAAU,OAAO,OAAO,KAAK;AACnC,MAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;EAC5C,MAAM,SAAS,QAAQ;AACvB,MAAI,CAAC,OAAQ;EACb,MAAM,aAAa,OAAO,oBAAoB,OAAO;AACrD,OAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;GAC/C,MAAM,MAAM,WAAW;AACvB,OAAI,QAAQ,eAAe,QAAQ,cAAe;GAClD,MAAM,OAAO,OAAO,yBAAyB,QAAQ,IAAI;AACzD,OAAI,CAAC,QAAQ,KACX,SAAQ,OAAO,KAAK,MAAM;IACxB,YAAY;IACZ,cAAc;IACd,KAAK,eAAe,KAAK,WAAW,OAAO,CAAC,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC;IACpE,GAAG,KAAK,UAAU,KAAA,IAAY,OAAO,KAAA;QACjC;IACL,MAAM,UAAU,WAAW;AAC3B,QAAI;SACE,KAAK,IAAK,SAAQ,KAAK,KAAK,IAAI,KAAK,OAAO,CAAC;cAAU,KAAK,UAAU,KAAA,EAAW,SAAQ,WAAW,KAAK,MAAM;;;;;CAK3H,MAAM,SAAS,EAAE;CACjB,MAAM,cAAc,OAAO,KAAK,QAAQ;AACxC,MAAK,IAAI,IAAI,YAAY,SAAS,GAAG,KAAK,GAAG,KAAK;EAChD,MAAM,MAAM,YAAY,IACtB,OAAO,QAAQ;AACjB,MAAI,QAAQ,KAAK,IAAK,QAAO,eAAe,QAAQ,KAAK,KAAK;MAAM,QAAO,OAAO,OAAO,KAAK,QAAQ,KAAA;;AAExG,QAAO;;AAET,SAAS,WAAW,OAAO,GAAG,MAAM;CAClC,MAAM,MAAM,KAAK;AACjB,KAAI,kBAAkB,UAAU,OAAO;EACrC,MAAM,UAAU,MAAM,IAAI,KAAK,MAAM,GAAG,KAAK;EAC7C,MAAM,MAAM,KAAK,KAAI,MAAK;AACxB,UAAO,IAAI,MAAM;IACf,IAAI,UAAU;AACZ,YAAO,EAAE,SAAS,SAAS,GAAG,MAAM,YAAY,KAAA;;IAElD,IAAI,UAAU;AACZ,YAAO,EAAE,SAAS,SAAS,IAAI,YAAY;;IAE7C,OAAO;AACL,YAAO,EAAE,QAAO,aAAY,YAAY,MAAM;;IAEjD,EAAE,UAAU;IACb;AACF,MAAI,KAAK,IAAI,MAAM;GACjB,IAAI,UAAU;AACZ,WAAO,QAAQ,SAAS,SAAS,GAAG,KAAA,IAAY,MAAM;;GAExD,IAAI,UAAU;AACZ,WAAO,QAAQ,SAAS,SAAS,GAAG,QAAQ,YAAY;;GAE1D,OAAO;AACL,WAAO,OAAO,KAAK,MAAM,CAAC,QAAO,MAAK,CAAC,QAAQ,SAAS,EAAE,CAAC;;GAE9D,EAAE,UAAU,CAAC;AACd,SAAO;;CAET,MAAM,UAAU,EAAE;AAClB,MAAK,IAAI,IAAI,GAAG,KAAK,KAAK,IACxB,SAAQ,KAAK,EAAE;AAEjB,MAAK,MAAM,YAAY,OAAO,oBAAoB,MAAM,EAAE;EACxD,IAAI,WAAW;AACf,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,KAAI,KAAK,GAAG,SAAS,SAAS,EAAE;AAC9B,cAAW;AACX;;EAGJ,MAAM,OAAO,OAAO,yBAAyB,OAAO,SAAS;AACvC,GAAC,KAAK,OAAO,CAAC,KAAK,OAAO,KAAK,cAAc,KAAK,YAAY,KAAK,eACzE,QAAQ,UAAU,YAAY,KAAK,QAAQ,OAAO,eAAe,QAAQ,WAAW,UAAU,KAAK;;AAErH,QAAO;;AAET,SAAS,KAAK,IAAI;CAChB,IAAI;CACJ,IAAI;CACJ,MAAM,QAAO,UAAS;EACpB,MAAM,MAAM,aAAa;AACzB,MAAI,KAAK;GACP,MAAM,CAAC,GAAG,OAAO,cAAc;AAC/B,gBAAa,UAAU,aAAa,QAAQ;AAC5C,gBAAa;AACb,IAAC,MAAM,IAAI,IAAI,GAAG,MAAK,QAAO;AAC5B,KAAC,aAAa,QAAQ,kBAAkB,IAAI;AAC5C,iBAAa;AACb,cAAU,IAAI,QAAQ;AACtB,uBAAmB;KACnB;AACF,UAAO;aACE,CAAC,MAAM;GAChB,MAAM,CAAC,KAAK,sBAAsB,MAAM,IAAI,IAAI,GAAG,MAAK,QAAO,IAAI,QAAQ,CAAC;AAC5E,UAAO;;EAET,IAAI;AACJ,SAAO,kBAAkB,OAAO,MAAM,IAAI,cAAc;AAEtD,OAAI,CAAC,OAAO,aAAa,KAAM,QAAO,KAAK,MAAM;GACjD,MAAM,IAAI,aAAa;AACvB,qBAAkB,IAAI;GACtB,MAAM,IAAI,KAAK,MAAM;AACrB,qBAAkB,EAAE;AACpB,UAAO;IACP,GAAG,GAAG;;AAEV,MAAK,gBAAgB,OAAO,IAAI,IAAI,EAAE,MAAK,QAAO,aAAa,IAAI,QAAQ,EAAE;AAC7E,QAAO;;AAET,IAAI,UAAU;AACd,SAAS,iBAAiB;AAExB,QADY,aAAa,UACZ,aAAa,kBAAkB,GAAG,MAAM;;AAGvD,IAAM,iBAAgB,SAAQ,oBAAoB,KAAK;AACvD,SAAS,IAAI,OAAO;CAClB,MAAM,WAAW,cAAc,SAAS,EACtC,gBAAgB,MAAM,UACvB;AACD,QAAO,WAAW,eAAe,MAAM,MAAM,MAAM,UAAU,YAAY,KAAA,EAAU,CAAC;;AAQtF,SAAS,KAAK,OAAO;CACnB,MAAM,QAAQ,MAAM;CACpB,MAAM,iBAAiB,iBAAiB,MAAM,MAAM,KAAA,GAAW,KAAA,EAAU;CACzE,MAAM,YAAY,QAAQ,iBAAiB,WAAW,gBAAgB,KAAA,GAAW,EAC/E,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAC3B,CAAC;AACF,QAAO,iBAAiB;EACtB,MAAM,IAAI,WAAW;AACrB,MAAI,GAAG;GACL,MAAM,QAAQ,MAAM;AAEpB,UADW,OAAO,UAAU,cAAc,MAAM,SAAS,IAC7C,cAAc,MAAM,QAAQ,UAAU;AAChD,QAAI,CAAC,QAAQ,UAAU,CAAE,OAAM,cAAc,OAAO;AACpD,WAAO,gBAAgB;KACvB,CAAC,GAAG;;AAER,SAAO,MAAM;IACZ,KAAA,GAAW,KAAA,EAAU;;AAE1B,SAAS,OAAO,OAAO;CACrB,MAAM,MAAM,eAAe,MAAM,SAAS;CAC1C,MAAM,aAAa,iBAAiB;EAClC,MAAM,KAAK,KAAK;EAChB,MAAM,MAAM,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,GAAG;EACzC,IAAI,aAAa,KAAA;AACjB,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;GACnC,MAAM,QAAQ;GACd,MAAM,KAAK,IAAI;GACf,MAAM,WAAW;GACjB,MAAM,iBAAiB,iBAAiB,UAAU,GAAG,KAAA,IAAY,GAAG,MAAM,KAAA,GAAW,KAAA,EAAU;GAC/F,MAAM,YAAY,GAAG,QAAQ,iBAAiB,WAAW,gBAAgB,KAAA,GAAW,EAClF,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAC3B,CAAC;AACF,gBAAa,UAAU,KAAK,WAAW,GAAG;IAAC;IAAO;IAAgB;IAAG,GAAG,KAAA;;AAE1E,SAAO;GACP;AACF,QAAO,iBAAiB;EACtB,MAAM,MAAM,YAAY,EAAE;AAC1B,MAAI,CAAC,IAAK,QAAO,MAAM;EACvB,MAAM,CAAC,OAAO,gBAAgB,MAAM;EACpC,MAAM,QAAQ,GAAG;AAEjB,SADW,OAAO,UAAU,cAAc,MAAM,SAAS,IAC7C,cAAc,MAAM,GAAG,QAAQ,gBAAgB,SAAS;AAClE,OAAI,QAAQ,WAAW,EAAE,GAAG,OAAO,MAAO,OAAM,cAAc,QAAQ;AACtE,UAAO,gBAAgB;IACvB,CAAC,GAAG;IACL,KAAA,GAAW,KAAA,EAAU;;AAE1B,SAAS,MAAM,OAAO;AACpB,QAAO;;;;ACp9CT,IAAM,6BAA0B,IAAI,IAAI;CACxC;CAAa;CACb;CAAY;CAAc;CAAkB;CAAS;CAAY;CAAe;CAChF;CAAmB;CACnB;CAAkB;CAAgB;CAAmB;CAA2B;CAAyB;CAAkB;CAAsB;CACjJ;CAA4B;CAC5B;CACA,GApBiB;EAAC;EAAmB;EAAS;EAC9C;EACA;EAAY;EAAW;EAAY;EAAW;EAAY;EAAkB;EAC5E;EAAiB;EACjB;EAAS;EAAQ;EAAY;EAAS;EAAY;EAAc;EAAQ;EAAe;EAAY;EAAY;EAAY;EAC3H;EAAY;EACZ;EACA;EACA;EAAkB;EAAgB;EAAmB;EAAS;EAA2B;EAAyB;EAClH;EAAsB;EACtB;EAA4B;EAC5B;EACC;CAQW,CAAC;AACb,IAAM,kCAA+B,IAAI,IAAI;CAAC;CAAa;CAAe;CAAa;CAAW,CAAC;AACnG,IAAM,UAAuB,uBAAO,OAAO,OAAO,OAAO,KAAK,EAAE;CAC9D,WAAW;CACX,SAAS;CACV,CAAC;AACF,IAAM,cAA2B,uBAAO,OAAO,OAAO,OAAO,KAAK,EAAE;CAClE,OAAO;CACP,YAAY;EACV,GAAG;EACH,MAAM;EACP;CACD,gBAAgB;EACd,GAAG;EACH,QAAQ;EACR,OAAO;EACR;CACD,OAAO;EACL,GAAG;EACH,KAAK;EACN;CACD,UAAU;EACR,GAAG;EACH,QAAQ;EACT;CACD,aAAa;EACX,GAAG;EACH,OAAO;EACR;CACD,UAAU;EACR,GAAG;EACH,OAAO;EACP,UAAU;EACX;CACD,kBAAkB;EAChB,GAAG;EACH,QAAQ;EACT;CACD,iBAAiB;EACf,GAAG;EACH,QAAQ;EACT;CACD,gBAAgB;EACd,GAAG;EACH,KAAK;EACN;CACD,gBAAgB;EACd,GAAG;EACH,OAAO;EACR;CACD,cAAc;EACZ,GAAG;EACH,OAAO;EACP,OAAO;EACR;CACD,iBAAiB;EACf,GAAG;EACH,QAAQ;EACT;CACD,yBAAyB;EACvB,GAAG;EACH,OAAO;EACR;CACD,uBAAuB;EACrB,GAAG;EACH,OAAO;EACP,OAAO;EACR;CACD,gBAAgB;EACd,GAAG;EACH,OAAO;EACP,OAAO;EACR;CACD,oBAAoB;EAClB,GAAG;EACH,UAAU;EACX;CACD,0BAA0B;EACxB,GAAG;EACH,UAAU;EACX;CACD,wBAAwB;EACtB,GAAG;EACH,UAAU;EACX;CACD,uBAAuB;EACrB,GAAG;EACH,QAAQ;EACR,KAAK;EACN;CACF,CAAC;AACF,SAAS,aAAa,MAAM,SAAS;CACnC,MAAM,IAAI,YAAY;AACtB,QAAO,OAAO,MAAM,WAAW,EAAE,WAAW,EAAE,OAAO,KAAA,IAAY;;AAEnE,IAAM,kCAA+B,IAAI,IAAI;CAAC;CAAe;CAAS;CAAY;CAAe;CAAW;CAAY;CAAS;CAAW;CAAS;CAAa;CAAa;CAAY;CAAa;CAAW;CAAe;CAAe;CAAc;CAAe;CAAa;CAAY;CAAa;CAAa,CAAC;AAClU,IAAM,8BAA2B,IAAI,IAAI;CACzC;CAAY;CAAe;CAAgB;CAAW;CAAgB;CAAiB;CAAoB;CAAU;CAAY;CAAiB;CAAU;CAAQ;CAAQ;CAAW;CAAW;CAAiB;CAAuB;CAAe;CAAoB;CAAqB;CAAqB;CAAkB;CAAgB;CAAW;CAAW;CAAW;CAAW;CAAW;CAAkB;CAAW;CAAW;CAAe;CAAgB;CAAY;CAAgB;CAAsB;CAAe;CAAU;CAAgB;CAAU;CAAQ;CAAa;CAAoB;CAAkB;CAAiB;CAAiB;CAAiB;CAAK;CAAS;CAAY;CAAS;CAAS;CAAQ;CAAkB;CAAU;CAAQ;CAAY;CAAiB;CAAS;CAAQ;CAAW;CAAW;CAAY;CAAkB;CACp2B;CAAO;CACP;CAAO;CAAU;CAAU;CAAQ;CACnC;CAAQ;CAAS;CAAO;CAAQ;CAAQ,CAAC;AACzC,IAAM,eAAe;CACnB,OAAO;CACP,KAAK;CACN;AAKD,IAAM,QAAO,OAAM,iBAAiB,IAAI,CAAC;AAEzC,SAAS,gBAAgB,YAAY,GAAG,GAAG;CACzC,IAAI,UAAU,EAAE,QACd,OAAO,EAAE,QACT,OAAO,SACP,SAAS,GACT,SAAS,GACT,QAAQ,EAAE,OAAO,GAAG,aACpB,MAAM;AACR,QAAO,SAAS,QAAQ,SAAS,MAAM;AACrC,MAAI,EAAE,YAAY,EAAE,SAAS;AAC3B;AACA;AACA;;AAEF,SAAO,EAAE,OAAO,OAAO,EAAE,OAAO,IAAI;AAClC;AACA;;AAEF,MAAI,SAAS,QAAQ;GACnB,MAAM,OAAO,OAAO,UAAU,SAAS,EAAE,SAAS,GAAG,cAAc,EAAE,OAAO,UAAU;AACtF,UAAO,SAAS,KAAM,YAAW,aAAa,EAAE,WAAW,KAAK;aACvD,SAAS,OAClB,QAAO,SAAS,MAAM;AACpB,OAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,QAAQ,CAAE,GAAE,QAAQ,QAAQ;AACnD;;WAEO,EAAE,YAAY,EAAE,OAAO,MAAM,EAAE,YAAY,EAAE,OAAO,IAAI;GACjE,MAAM,OAAO,EAAE,EAAE,MAAM;AACvB,cAAW,aAAa,EAAE,WAAW,EAAE,UAAU,YAAY;AAC7D,cAAW,aAAa,EAAE,EAAE,OAAO,KAAK;AACxC,KAAE,QAAQ,EAAE;SACP;AACL,OAAI,CAAC,KAAK;AACR,0BAAM,IAAI,KAAK;IACf,IAAI,IAAI;AACR,WAAO,IAAI,KAAM,KAAI,IAAI,EAAE,IAAI,IAAI;;GAErC,MAAM,QAAQ,IAAI,IAAI,EAAE,QAAQ;AAChC,OAAI,SAAS,KACX,KAAI,SAAS,SAAS,QAAQ,MAAM;IAClC,IAAI,IAAI,QACN,WAAW,GACX;AACF,WAAO,EAAE,IAAI,QAAQ,IAAI,MAAM;AAC7B,UAAK,IAAI,IAAI,IAAI,EAAE,GAAG,KAAK,QAAQ,MAAM,QAAQ,SAAU;AAC3D;;AAEF,QAAI,WAAW,QAAQ,QAAQ;KAC7B,MAAM,OAAO,EAAE;AACf,YAAO,SAAS,MAAO,YAAW,aAAa,EAAE,WAAW,KAAK;UAC5D,YAAW,aAAa,EAAE,WAAW,EAAE,UAAU;SACnD;OACF,GAAE,UAAU,QAAQ;;;;AAKjC,IAAM,WAAW;AACjB,SAAS,OAAO,MAAM,SAAS,MAAM,UAAU,EAAE,EAAE;CACjD,IAAI;AACJ,aAAW,YAAW;AACpB,aAAW;AACX,cAAY,WAAW,MAAM,GAAG,OAAO,SAAS,MAAM,EAAE,QAAQ,aAAa,OAAO,KAAA,GAAW,KAAK;IACnG,QAAQ,MAAM;AACjB,cAAa;AACX,YAAU;AACV,UAAQ,cAAc;;;AAG1B,SAAS,SAAS,MAAM,cAAc,OAAO,UAAU;CACrD,IAAI;CACJ,MAAM,eAAe;EACnB,MAAM,IAAI,WAAW,SAAS,gBAAgB,sCAAsC,WAAW,GAAG,SAAS,cAAc,WAAW;AACpI,IAAE,YAAY;AACd,SAAO,QAAQ,EAAE,QAAQ,WAAW,aAAa,WAAW,EAAE,aAAa,EAAE,QAAQ;;CAEvF,MAAM,KAAK,qBAAqB,cAAc,SAAS,WAAW,SAAS,OAAO,QAAQ,GAAG,KAAK,CAAC,UAAU,SAAS,OAAO,QAAQ,GAAG,UAAU,KAAK;AACvJ,IAAG,YAAY;AACf,QAAO;;AAET,SAAS,eAAe,YAAY,WAAW,OAAO,UAAU;CAC9D,MAAM,IAAI,SAAS,cAAc,SAAS,4BAAY,IAAI,KAAK;AAC/D,MAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,IAAI,GAAG,KAAK;EACjD,MAAM,OAAO,WAAW;AACxB,MAAI,CAAC,EAAE,IAAI,KAAK,EAAE;AAChB,KAAE,IAAI,KAAK;AACX,YAAS,iBAAiB,MAAM,aAAa;;;;AAcnD,SAAS,aAAa,MAAM,MAAM,OAAO;AACvC,KAAI,YAAY,KAAK,CAAE;AACvB,KAAI,SAAS,KAAM,MAAK,gBAAgB,KAAK;KAAM,MAAK,aAAa,MAAM,MAAM;;AAEnF,SAAS,eAAe,MAAM,WAAW,MAAM,OAAO;AACpD,KAAI,YAAY,KAAK,CAAE;AACvB,KAAI,SAAS,KAAM,MAAK,kBAAkB,WAAW,KAAK;KAAM,MAAK,eAAe,WAAW,MAAM,MAAM;;AAE7G,SAAS,iBAAiB,MAAM,MAAM,OAAO;AAC3C,KAAI,YAAY,KAAK,CAAE;AACvB,SAAQ,KAAK,aAAa,MAAM,GAAG,GAAG,KAAK,gBAAgB,KAAK;;AAElE,SAAS,UAAU,MAAM,OAAO;AAC9B,KAAI,YAAY,KAAK,CAAE;AACvB,KAAI,SAAS,KAAM,MAAK,gBAAgB,QAAQ;KAAM,MAAK,YAAY;;AAEzE,SAAS,iBAAiB,MAAM,MAAM,SAAS,UAAU;AACvD,KAAI,SACF,KAAI,MAAM,QAAQ,QAAQ,EAAE;AAC1B,OAAK,KAAK,UAAU,QAAQ;AAC5B,OAAK,KAAK,KAAK,SAAS,QAAQ;OAC3B,MAAK,KAAK,UAAU;UAClB,MAAM,QAAQ,QAAQ,EAAE;EACjC,MAAM,YAAY,QAAQ;AAC1B,OAAK,iBAAiB,MAAM,QAAQ,MAAK,MAAK,UAAU,KAAK,MAAM,QAAQ,IAAI,EAAE,CAAC;OAC7E,MAAK,iBAAiB,MAAM,SAAS,OAAO,YAAY,cAAc,QAAQ;;AAEvF,SAAS,UAAU,MAAM,OAAO,OAAO,EAAE,EAAE;CACzC,MAAM,YAAY,OAAO,KAAK,SAAS,EAAE,CAAC,EACxC,WAAW,OAAO,KAAK,KAAK;CAC9B,IAAI,GAAG;AACP,MAAK,IAAI,GAAG,MAAM,SAAS,QAAQ,IAAI,KAAK,KAAK;EAC/C,MAAM,MAAM,SAAS;AACrB,MAAI,CAAC,OAAO,QAAQ,eAAe,MAAM,KAAM;AAC/C,iBAAe,MAAM,KAAK,MAAM;AAChC,SAAO,KAAK;;AAEd,MAAK,IAAI,GAAG,MAAM,UAAU,QAAQ,IAAI,KAAK,KAAK;EAChD,MAAM,MAAM,UAAU,IACpB,aAAa,CAAC,CAAC,MAAM;AACvB,MAAI,CAAC,OAAO,QAAQ,eAAe,KAAK,SAAS,cAAc,CAAC,WAAY;AAC5E,iBAAe,MAAM,KAAK,KAAK;AAC/B,OAAK,OAAO;;AAEd,QAAO;;AAET,SAAS,MAAM,MAAM,OAAO,MAAM;AAChC,KAAI,CAAC,MAAO,QAAO,OAAO,aAAa,MAAM,QAAQ,GAAG;CACxD,MAAM,YAAY,KAAK;AACvB,KAAI,OAAO,UAAU,SAAU,QAAO,UAAU,UAAU;AAC1D,QAAO,SAAS,aAAa,UAAU,UAAU,OAAO,KAAA;AACxD,UAAS,OAAO,EAAE;AAClB,WAAU,QAAQ,EAAE;CACpB,IAAI,GAAG;AACP,MAAK,KAAK,MAAM;AACd,QAAM,MAAc,UAAU,eAAe,EAAE;AAC/C,SAAO,KAAK;;AAEd,MAAK,KAAK,OAAO;AACf,MAAI,MAAM;AACV,MAAI,MAAM,KAAK,IAAI;AACjB,aAAU,YAAY,GAAG,EAAE;AAC3B,QAAK,KAAK;;;AAGd,QAAO;;AAKT,SAAS,OAAO,MAAM,QAAQ,EAAE,EAAE,OAAO,cAAc;CACrD,MAAM,YAAY,EAAE;AACpB,KAAI,CAAC,aACH,0BAAyB,UAAU,WAAW,iBAAiB,MAAM,MAAM,UAAU,UAAU,SAAS,CAAC;AAE3G,0BAAyB,OAAO,MAAM,QAAQ,cAAc,IAAI,MAAM,KAAK,KAAK,CAAC;AACjF,0BAAyB,OAAO,MAAM,OAAO,OAAO,MAAM,WAAW,KAAK,CAAC;AAC3E,QAAO;;AAYT,SAAS,IAAI,IAAI,SAAS,KAAK;AAC7B,QAAO,cAAc,GAAG,SAAS,IAAI,CAAC;;AAExC,SAAS,OAAO,QAAQ,UAAU,QAAQ,SAAS;AACjD,KAAI,WAAW,KAAA,KAAa,CAAC,QAAS,WAAU,EAAE;AAClD,KAAI,OAAO,aAAa,WAAY,QAAO,iBAAiB,QAAQ,UAAU,SAAS,OAAO;AAC9F,qBAAmB,YAAW,iBAAiB,QAAQ,UAAU,EAAE,SAAS,OAAO,EAAE,QAAQ;;AAE/F,SAAS,OAAO,MAAM,OAAO,OAAO,cAAc,YAAY,EAAE,EAAE,UAAU,OAAO;AACjF,WAAU,QAAQ,EAAE;AACpB,MAAK,MAAM,QAAQ,UACjB,KAAI,EAAE,QAAQ,QAAQ;AACpB,MAAI,SAAS,WAAY;AACzB,YAAU,QAAQ,WAAW,MAAM,MAAM,MAAM,UAAU,OAAO,OAAO,SAAS,MAAM;;AAG1F,MAAK,MAAM,QAAQ,OAAO;AACxB,MAAI,SAAS,YAAY;AACvB,OAAI,CAAC,aAAc,kBAAiB,MAAM,MAAM,SAAS;AACzD;;EAEF,MAAM,QAAQ,MAAM;AACpB,YAAU,QAAQ,WAAW,MAAM,MAAM,OAAO,UAAU,OAAO,OAAO,SAAS,MAAM;;;AAsB3F,SAAS,eAAe,UAAU;CAChC,IAAI,MACF;AAEF,KAAI,CADU,aAAa,IACT,EAAE,OAAO,aAAa,SAAS,IAAI,MAAM,iBAAiB,CAAC,EAC3E,QAAO,UAAU;AAEnB,KAAI,aAAa,UAAW,cAAa,UAAU,IAAI,KAAK;AAC5D,cAAa,SAAS,OAAO,IAAI;AACjC,QAAO;;AAgDT,SAAS,YAAY,MAAM;AACzB,QAAO,CAAC,CAAC,aAAa,WAAW,CAAC,aAAa,SAAS,CAAC,QAAQ,KAAK;;AAExE,SAAS,eAAe,MAAM;AAC5B,QAAO,KAAK,aAAa,CAAC,QAAQ,cAAc,GAAG,MAAM,EAAE,aAAa,CAAC;;AAE3E,SAAS,eAAe,MAAM,KAAK,OAAO;CACxC,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,MAAM;AAC1C,MAAK,IAAI,IAAI,GAAG,UAAU,WAAW,QAAQ,IAAI,SAAS,IAAK,MAAK,UAAU,OAAO,WAAW,IAAI,MAAM;;AAE5G,SAAS,WAAW,MAAM,MAAM,OAAO,MAAM,OAAO,SAAS,OAAO;CAClE,IAAI,MAAM,QAAQ,aAAa,WAAW;AAC1C,KAAI,SAAS,QAAS,QAAO,MAAM,MAAM,OAAO,KAAK;AACrD,KAAI,SAAS,YAAa,QAAO,UAAU,MAAM,OAAO,KAAK;AAC7D,KAAI,UAAU,KAAM,QAAO;AAC3B,KAAI,SAAS;MACP,CAAC,QAAS,OAAM,KAAK;YAChB,KAAK,MAAM,GAAG,EAAE,KAAK,OAAO;EACrC,MAAM,IAAI,KAAK,MAAM,EAAE;AACvB,UAAQ,KAAK,oBAAoB,GAAG,MAAM,OAAO,SAAS,cAAc,KAAK;AAC7E,WAAS,KAAK,iBAAiB,GAAG,OAAO,OAAO,UAAU,cAAc,MAAM;YACrE,KAAK,MAAM,GAAG,GAAG,KAAK,cAAc;EAC7C,MAAM,IAAI,KAAK,MAAM,GAAG;AACxB,UAAQ,KAAK,oBAAoB,GAAG,MAAM,KAAK;AAC/C,WAAS,KAAK,iBAAiB,GAAG,OAAO,KAAK;YACrC,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM;EACpC,MAAM,OAAO,KAAK,MAAM,EAAE,CAAC,aAAa;EACxC,MAAM,WAAW,gBAAgB,IAAI,KAAK;AAC1C,MAAI,CAAC,YAAY,MAAM;GACrB,MAAM,IAAI,MAAM,QAAQ,KAAK,GAAG,KAAK,KAAK;AAC1C,QAAK,oBAAoB,MAAM,EAAE;;AAEnC,MAAI,YAAY,OAAO;AACrB,oBAAiB,MAAM,MAAM,OAAO,SAAS;AAC7C,eAAY,eAAe,CAAC,KAAK,CAAC;;YAE3B,KAAK,MAAM,GAAG,EAAE,KAAK,QAC9B,cAAa,MAAM,KAAK,MAAM,EAAE,EAAE,MAAM;UAC/B,KAAK,MAAM,GAAG,EAAE,KAAK,QAC9B,kBAAiB,MAAM,KAAK,MAAM,EAAE,EAAE,MAAM;WAClC,YAAY,KAAK,MAAM,GAAG,EAAE,KAAK,aAAa,cAAc,gBAAgB,IAAI,KAAK,KAAK,CAAC,WAAW,YAAY,aAAa,MAAM,KAAK,QAAQ,MAAM,SAAS,WAAW,IAAI,KAAK,OAAO,OAAO,KAAK,SAAS,SAAS,IAAI,IAAI,QAAQ,QAAQ;AAC5P,MAAI,WAAW;AACb,UAAO,KAAK,MAAM,EAAE;AACpB,YAAS;aACA,YAAY,KAAK,CAAE,QAAO;AACrC,MAAI,SAAS,WAAW,SAAS,YAAa,WAAU,MAAM,MAAM;WAAU,QAAQ,CAAC,UAAU,CAAC,YAAa,MAAK,eAAe,KAAK,IAAI;MAAW,MAAK,aAAa,QAAQ;QAC5K;EACL,MAAM,KAAK,SAAS,KAAK,QAAQ,IAAI,GAAG,MAAM,aAAa,KAAK,MAAM,IAAI,CAAC;AAC3E,MAAI,GAAI,gBAAe,MAAM,IAAI,MAAM,MAAM;MAAM,cAAa,MAAM,QAAQ,SAAS,MAAM,MAAM;;AAErG,QAAO;;AAET,SAAS,aAAa,GAAG;AACvB,KAAI,aAAa,YAAY,aAAa;MACpC,aAAa,OAAO,MAAM,CAAC,IAAI,QAAQ,OAAO,EAAE,CAAE;;CAExD,IAAI,OAAO,EAAE;CACb,MAAM,MAAM,KAAK,EAAE;CACnB,MAAM,YAAY,EAAE;CACpB,MAAM,mBAAmB,EAAE;CAC3B,MAAM,YAAW,UAAS,OAAO,eAAe,GAAG,UAAU;EAC3D,cAAc;EACd;EACD,CAAC;CACF,MAAM,mBAAmB;EACvB,MAAM,UAAU,KAAK;AACrB,MAAI,WAAW,CAAC,KAAK,UAAU;GAC7B,MAAM,OAAO,KAAK,GAAG,IAAI;AACzB,YAAS,KAAA,IAAY,QAAQ,KAAK,MAAM,MAAM,EAAE,GAAG,QAAQ,KAAK,MAAM,EAAE;AACxE,OAAI,EAAE,aAAc;;AAEtB,OAAK,QAAQ,OAAO,KAAK,SAAS,YAAY,CAAC,KAAK,KAAK,UAAU,KAAK,SAAS,EAAE,OAAO,IAAI,SAAS,KAAK,KAAK;AACjH,SAAO;;CAET,MAAM,mBAAmB;AACvB,SAAO,YAAY,KAAK,OAAO,KAAK,UAAU,KAAK,cAAc,KAAK;;AAExE,QAAO,eAAe,GAAG,iBAAiB;EACxC,cAAc;EACd,MAAM;AACJ,UAAO,QAAQ;;EAElB,CAAC;AACF,KAAI,aAAa,YAAY,CAAC,aAAa,KAAM,cAAa,OAAO,KAAK,OAAO;AACjF,KAAI,EAAE,cAAc;EAClB,MAAM,OAAO,EAAE,cAAc;AAC7B,WAAS,KAAK,GAAG;AACjB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK;AACxC,UAAO,KAAK;AACZ,OAAI,CAAC,YAAY,CAAE;AACnB,OAAI,KAAK,QAAQ;AACf,WAAO,KAAK;AACZ,gBAAY;AACZ;;AAEF,OAAI,KAAK,eAAe,iBACtB;;OAID,aAAY;AACjB,UAAS,UAAU;;AAErB,SAAS,iBAAiB,QAAQ,OAAO,SAAS,QAAQ,aAAa;CACrE,MAAM,YAAY,YAAY,OAAO;AACrC,KAAI,WAAW;AACb,GAAC,YAAY,UAAU,CAAC,GAAG,OAAO,WAAW;EAC7C,IAAI,UAAU,EAAE;AAChB,OAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;GACvC,MAAM,OAAO,QAAQ;AACrB,OAAI,KAAK,aAAa,KAAK,KAAK,KAAK,MAAM,GAAG,EAAE,KAAK,KAAM,MAAK,QAAQ;OAAM,SAAQ,KAAK,KAAK;;AAElG,YAAU;;AAEZ,QAAO,OAAO,YAAY,WAAY,WAAU,SAAS;AACzD,KAAI,UAAU,QAAS,QAAO;CAC9B,MAAM,IAAI,OAAO,OACf,QAAQ,WAAW,KAAA;AACrB,UAAS,SAAS,QAAQ,MAAM,QAAQ,GAAG,cAAc;AACzD,KAAI,MAAM,YAAY,MAAM,UAAU;AACpC,MAAI,UAAW,QAAO;AACtB,MAAI,MAAM,UAAU;AAClB,WAAQ,MAAM,UAAU;AACxB,OAAI,UAAU,QAAS,QAAO;;AAEhC,MAAI,OAAO;GACT,IAAI,OAAO,QAAQ;AACnB,OAAI,QAAQ,KAAK,aAAa,EAC5B,MAAK,SAAS,UAAU,KAAK,OAAO;OAC/B,QAAO,SAAS,eAAe,MAAM;AAC5C,aAAU,cAAc,QAAQ,SAAS,QAAQ,KAAK;aAElD,YAAY,MAAM,OAAO,YAAY,SACvC,WAAU,OAAO,WAAW,OAAO;MAC9B,WAAU,OAAO,cAAc;YAE/B,SAAS,QAAQ,MAAM,WAAW;AAC3C,MAAI,UAAW,QAAO;AACtB,YAAU,cAAc,QAAQ,SAAS,OAAO;YACvC,MAAM,YAAY;AAC3B,2BAAyB;GACvB,IAAI,IAAI,OAAO;AACf,UAAO,OAAO,MAAM,WAAY,KAAI,GAAG;AACvC,aAAU,iBAAiB,QAAQ,GAAG,SAAS,OAAO;IACtD;AACF,eAAa;YACJ,MAAM,QAAQ,MAAM,EAAE;EAC/B,MAAM,QAAQ,EAAE;EAChB,MAAM,eAAe,WAAW,MAAM,QAAQ,QAAQ;AACtD,MAAI,uBAAuB,OAAO,OAAO,SAAS,YAAY,EAAE;AAC9D,4BAAyB,UAAU,iBAAiB,QAAQ,OAAO,SAAS,QAAQ,KAAK,CAAC;AAC1F,gBAAa;;AAEf,MAAI,WAAW;AACb,OAAI,CAAC,MAAM,OAAQ,QAAO;AAC1B,OAAI,WAAW,KAAA,EAAW,QAAO,UAAU,CAAC,GAAG,OAAO,WAAW;GACjE,IAAI,OAAO,MAAM;AACjB,OAAI,KAAK,eAAe,OAAQ,QAAO;GACvC,MAAM,QAAQ,CAAC,KAAK;AACpB,WAAQ,OAAO,KAAK,iBAAiB,OAAQ,OAAM,KAAK,KAAK;AAC7D,UAAO,UAAU;;AAEnB,MAAI,MAAM,WAAW,GAAG;AACtB,aAAU,cAAc,QAAQ,SAAS,OAAO;AAChD,OAAI,MAAO,QAAO;aACT,aACT,KAAI,QAAQ,WAAW,EACrB,aAAY,QAAQ,OAAO,OAAO;MAC7B,iBAAgB,QAAQ,SAAS,MAAM;OACzC;AACL,cAAW,cAAc,OAAO;AAChC,eAAY,QAAQ,MAAM;;AAE5B,YAAU;YACD,MAAM,UAAU;AACzB,MAAI,aAAa,MAAM,WAAY,QAAO,UAAU,QAAQ,CAAC,MAAM,GAAG;AACtE,MAAI,MAAM,QAAQ,QAAQ,EAAE;AAC1B,OAAI,MAAO,QAAO,UAAU,cAAc,QAAQ,SAAS,QAAQ,MAAM;AACzE,iBAAc,QAAQ,SAAS,MAAM,MAAM;aAClC,WAAW,QAAQ,YAAY,MAAM,CAAC,OAAO,WACtD,QAAO,YAAY,MAAM;MACpB,QAAO,aAAa,OAAO,OAAO,WAAW;AACpD,YAAU;;AAEZ,QAAO;;AAET,SAAS,uBAAuB,YAAY,OAAO,SAAS,QAAQ;CAClE,IAAI,UAAU;AACd,MAAK,IAAI,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,KAAK;EAChD,IAAI,OAAO,MAAM,IACf,OAAO,WAAW,QAAQ,WAAW,SACrC;AACF,MAAI,QAAQ,QAAQ,SAAS,QAAQ,SAAS;YAAmB,IAAI,OAAO,UAAU,YAAY,KAAK,SACrG,YAAW,KAAK,KAAK;WACZ,MAAM,QAAQ,KAAK,CAC5B,WAAU,uBAAuB,YAAY,MAAM,KAAK,IAAI;WACnD,MAAM,WACf,KAAI,QAAQ;AACV,UAAO,OAAO,SAAS,WAAY,QAAO,MAAM;AAChD,aAAU,uBAAuB,YAAY,MAAM,QAAQ,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,QAAQ,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI;SACrH;AACL,cAAW,KAAK,KAAK;AACrB,aAAU;;OAEP;GACL,MAAM,QAAQ,OAAO,KAAK;AAC1B,OAAI,QAAQ,KAAK,aAAa,KAAK,KAAK,SAAS,MAAO,YAAW,KAAK,KAAK;OAAM,YAAW,KAAK,SAAS,eAAe,MAAM,CAAC;;;AAGtI,QAAO;;AAET,SAAS,YAAY,QAAQ,OAAO,SAAS,MAAM;AACjD,MAAK,IAAI,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,IAAK,QAAO,aAAa,MAAM,IAAI,OAAO;;AAEzF,SAAS,cAAc,QAAQ,SAAS,QAAQ,aAAa;AAC3D,KAAI,WAAW,KAAA,EAAW,QAAO,OAAO,cAAc;CACtD,MAAM,OAAO,eAAe,SAAS,eAAe,GAAG;AACvD,KAAI,QAAQ,QAAQ;EAClB,IAAI,WAAW;AACf,OAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;GAC5C,MAAM,KAAK,QAAQ;AACnB,OAAI,SAAS,IAAI;IACf,MAAM,WAAW,GAAG,eAAe;AACnC,QAAI,CAAC,YAAY,CAAC,EAAG,YAAW,OAAO,aAAa,MAAM,GAAG,GAAG,OAAO,aAAa,MAAM,OAAO;QAAM,aAAY,GAAG,QAAQ;SACzH,YAAW;;OAEf,QAAO,aAAa,MAAM,OAAO;AACxC,QAAO,CAAC,KAAK;;AAUf,SAAS,kBAAkB;AACzB,QAAO,aAAa,kBAAkB;;AAuCxC,IAAM,gBAAgB;AACtB,SAAS,cAAc,SAAS,QAAQ,OAAO,KAAK,KAAA,GAAW;AAC7D,QAAO,QAAQ,SAAS,gBAAgB,eAAe,QAAQ,GAAG,SAAS,cAAc,SAAS,EAChG,IACD,CAAC;;AA6CJ,SAAS,cAAc,WAAW,OAAO;CACvC,MAAM,SAAS,WAAW,UAAU;AACpC,QAAO,iBAAiB;EACtB,MAAM,YAAY,QAAQ;AAC1B,UAAQ,OAAO,WAAf;GACE,KAAK,WACH,QAAO,cAAc,UAAU,MAAM,CAAC;GACxC,KAAK;IACH,MAAM,QAAQ,YAAY,IAAI,UAAU;IACxC,MAAM,KAAK,aAAa,UAAU,gBAAgB,GAAG,cAAc,WAAW,OAAO,cAAc,MAAM,GAAG,CAAC;AAC7G,WAAO,IAAI,OAAO,MAAM;AACxB,WAAO;;GAEX;;AAEJ,SAAS,QAAQ,OAAO;CACtB,MAAM,GAAG,UAAU,WAAW,OAAO,CAAC,YAAY,CAAC;AACnD,QAAO,oBAAoB,MAAM,WAAW,OAAO;;;;AC7vBrD,IAAa,yBAAyB,cACpC,KAAA,EACD;AAED,IAAa,yBAAyB,cAOpC,KAAA,EAAU;AAEZ,IAAa,2BAA2B;CACtC,MAAM,UAAU,WAAW,uBAAuB;AAClD,KAAI,CAAC,QACH,OAAM,IAAI,MACR,4EACD;AAEH,QAAO"}