{"version":3,"file":"index-DnRTLmeh.js","sources":["../node_modules/solid-js/dist/solid.js","../node_modules/solid-js/web/dist/web.js","../node_modules/@solidjs/router/dist/lifecycle.js","../node_modules/@solidjs/router/dist/utils.js","../node_modules/@solidjs/router/dist/routing.js","../node_modules/@solidjs/router/dist/routers/components.jsx","../node_modules/@solidjs/router/dist/routers/createRouter.js","../node_modules/@solidjs/router/dist/data/action.js","../node_modules/@solidjs/router/dist/data/events.js","../node_modules/@solidjs/router/dist/routers/Router.js","../src/Layout.jsx","../src/page/Home.jsx","../src/CONSTANTS.js","../src/api.js","../src/component/resource/Meta.jsx","../src/component/resource/Text.jsx","../src/component/resource/media/Image.jsx","../src/component/Shapes.jsx","../src/component/resource/media/Controls.jsx","../src/component/resource/media/Audio.jsx","../src/component/resource/media/Video.jsx","../src/component/resource/media/Link.jsx","../src/component/resource/media/File.jsx","../src/component/resource/Files.jsx","../src/component/resource/Resource.jsx","../src/component/Resources.jsx","../src/component/Select.jsx","../src/component/input/Text.jsx","../src/component/input/DialogAdmin.jsx","../src/component/Navigation.jsx","../src/page/Post.jsx","../src/page/Create.jsx","../__vite-browser-external","../node_modules/qrcode-svg/lib/qrcode.js","../src/component/QR.jsx","../src/page/Share.jsx","../src/page/Admin.jsx","../src/page/Test.jsx","../src/index.jsx"],"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 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 const hasTimeRemaining = true;\n try {\n const hasMoreWork = scheduledCallback(hasTimeRemaining, 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 >= maxYieldInterval;\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;\n else if (cmp < 0) n = k - 1;\n 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(hasTimeRemaining, initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(hasTimeRemaining, initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || 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};\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: `${sharedConfig.context.id}${sharedConfig.context.count++}-`,\n count: 0\n };\n}\n\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\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\n ? UNOWNED\n : {\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);\n 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);\n 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);\n 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 () => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n },\n undefined,\n false,\n 0\n ),\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 ((arguments.length === 2 && typeof pFetcher === \"object\") || arguments.length === 1) {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n } else {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\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.context.id}${sharedConfig.context.count++}`;\n let v;\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;\n else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v;\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)\n queueMicrotask(() =>\n options.onHydrated(key, {\n value: v\n })\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);\n 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 const p =\n initP !== NO_INIT\n ? initP\n : untrack(() =>\n fetcher(lookup, {\n value: value(),\n refetching\n })\n );\n if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"value\" in p) {\n if (p.status === \"success\") loadEnd(pr, p.value, undefined, lookup);\n else loadEnd(pr, undefined, undefined, 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(\n v => loadEnd(p, v, undefined, lookup),\n e => loadEnd(p, undefined, castError(e), lookup)\n );\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 if (dynamic) createComputed(() => load(false));\n else load(false);\n return [\n read,\n {\n refetch: load,\n mutate: setValue\n }\n ];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(\n () => {\n if (!t || !t.fn)\n t = requestCallback(\n () => setDeferred(() => node.value),\n timeout !== undefined\n ? {\n timeout\n }\n : undefined\n );\n return source();\n },\n undefined,\n true\n );\n const [deferred, setDeferred] = createSignal(\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n options\n );\n updateComputation(node);\n setDeferred(() =>\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(\n p => {\n const v = source();\n for (const [key, val] of subs.entries())\n 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);\n else Effects.push(c);\n }\n }\n return v;\n },\n undefined,\n true,\n STALE\n );\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);\n 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(\n key,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\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);\n else if (Owner.cleanups === null) Owner.cleanups = [fn];\n 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 =\n Transition ||\n (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 return Owner && Owner.context && Owner.context[context.id] !== undefined\n ? Owner.context[context.id]\n : 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 { factory: oldFactory, untrack: oldUntrack } = 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);\n 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 =\n 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);\n else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;\n else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (false);\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(\n node,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n time\n );\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);\n else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];\n else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];\n 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;\n 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);\n 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);\n 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 } else if (sharedConfig.effects) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n setHydrateContext();\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;\n 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))\n 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;\n else o.state = PENDING;\n if (o.pure) Updates.push(o);\n 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 (Transition && Transition.running && node.pure) {\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\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;\n 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)\n Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });\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(\n () =>\n (res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n })),\n undefined\n );\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null);\n 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 =\n 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) {\n const [s, set] = createSignal(undefined, {\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 i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newLen = newItems.length,\n newIndices,\n newIndicesNext,\n temp,\n tempdisposers,\n tempIndexes,\n start,\n end,\n newEnd,\n 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 } 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 (\n start = 0, end = Math.min(len, newLen);\n start < end && items[start] === newItems[start];\n start++\n );\n for (\n end = len - 1, newEnd = newLen - 1;\n end >= start && newEnd >= start && items[end] === newItems[newEnd];\n end--, newEnd--\n ) {\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 newItems[$TRACK];\n return untrack(() => {\n if (newItems.length === 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 < newItems.length; 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 = newItems.length;\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 (proxy) {\n return new Proxy(\n {\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++)\n keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n },\n propTraps\n );\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 ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind((sourcesMap[key] = [desc.get.bind(source)]))\n }\n : desc.value !== undefined\n ? desc\n : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));\n 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);\n else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n if ($PROXY in props) {\n const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);\n const res = keys.map(k => {\n return new Proxy(\n {\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 },\n propTraps\n );\n });\n res.push(\n new Proxy(\n {\n get(property) {\n return blocked.has(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.has(k));\n }\n },\n propTraps\n )\n );\n return res;\n }\n const otherObject = {};\n const objects = keys.map(() => ({}));\n for (const propName of Object.getOwnPropertyNames(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc =\n !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n let blocked = false;\n let objectIndex = 0;\n for (const k of keys) {\n if (k.includes(propName)) {\n blocked = true;\n isDefaultDesc\n ? (objects[objectIndex][propName] = desc.value)\n : Object.defineProperty(objects[objectIndex], propName, desc);\n }\n ++objectIndex;\n }\n if (!blocked) {\n isDefaultDesc\n ? (otherObject[propName] = desc.value)\n : Object.defineProperty(otherObject, propName, desc);\n }\n }\n return [...objects, otherObject];\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 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(\n () =>\n (Comp = comp()) &&\n untrack(() => {\n if (false);\n if (!ctx) 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 };\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 ? `${ctx.id}${ctx.count++}` : `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 condition = createMemo(() => props.when, undefined, {\n equals: (a, b) => (keyed ? a === b : !a === !b)\n });\n return createMemo(\n () => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn\n ? untrack(() =>\n child(\n keyed\n ? c\n : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return props.when;\n }\n )\n )\n : child;\n }\n return props.fallback;\n },\n undefined,\n undefined\n );\n}\nfunction Switch(props) {\n let keyed = false;\n const equals = (a, b) => (keyed ? a[1] === b[1] : !a[1] === !b[1]) && a[2] === b[2];\n const conditions = children(() => props.children),\n evalConditions = createMemo(\n () => {\n let conds = conditions();\n if (!Array.isArray(conds)) conds = [conds];\n for (let i = 0; i < conds.length; i++) {\n const c = conds[i].when;\n if (c) {\n keyed = !!conds[i].keyed;\n return [i, c, conds[i]];\n }\n }\n return [-1];\n },\n undefined,\n {\n equals\n }\n );\n return createMemo(\n () => {\n const [index, when, cond] = evalConditions();\n if (index < 0) return props.fallback;\n const c = cond.children;\n const fn = typeof c === \"function\" && c.length > 0;\n return fn\n ? untrack(() =>\n c(\n keyed\n ? when\n : () => {\n if (untrack(evalConditions)[0] !== index) throw narrowedError(\"Match\");\n return cond.when;\n }\n )\n )\n : c;\n },\n undefined,\n undefined\n );\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)\n err = sharedConfig.load(sharedConfig.context.id + sharedConfig.context.count);\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 () => {\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 },\n undefined,\n undefined\n );\n}\n\nconst suspenseListEquals = (a, b) =>\n a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = 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(\n prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n { showContent = true, showFallback = true } = 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 {\n inFallback: false\n }\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.context.id + sharedConfig.context.count;\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.status !== \"success\") p = ref;\n 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 () => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n },\n err => {\n error = err;\n set();\n }\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 { showContent = true, showFallback = true } = 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 {\n $DEVCOMP,\n $PROXY,\n $TRACK,\n DEV,\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n batch,\n cancelCallback,\n catchError,\n children,\n createComponent,\n createComputed,\n createContext,\n createDeferred,\n createEffect,\n createMemo,\n createReaction,\n createRenderEffect,\n createResource,\n createRoot,\n createSelector,\n createSignal,\n createUniqueId,\n enableExternalSource,\n enableHydration,\n enableScheduling,\n equalFn,\n from,\n getListener,\n getOwner,\n indexArray,\n lazy,\n mapArray,\n mergeProps,\n observable,\n on,\n onCleanup,\n onError,\n onMount,\n requestCallback,\n resetErrorBoundaries,\n runWithOwner,\n sharedConfig,\n splitProps,\n startTransition,\n untrack,\n useContext,\n useTransition\n};\n","import {\n createRoot,\n sharedConfig,\n createRenderEffect,\n untrack,\n enableHydration,\n getOwner,\n createEffect,\n runWithOwner,\n createMemo,\n createSignal,\n onCleanup,\n splitProps\n} from \"solid-js\";\nexport {\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n createComponent,\n createRenderEffect as effect,\n getOwner,\n createMemo as memo,\n mergeProps,\n untrack\n} from \"solid-js\";\n\nconst booleans = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\"\n];\nconst Properties = /*#__PURE__*/ new Set([\n \"className\",\n \"value\",\n \"readOnly\",\n \"formNoValidate\",\n \"isMap\",\n \"noModule\",\n \"playsInline\",\n ...booleans\n]);\nconst ChildProperties = /*#__PURE__*/ new Set([\n \"innerHTML\",\n \"textContent\",\n \"innerText\",\n \"children\"\n]);\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 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});\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([\n \"beforeinput\",\n \"click\",\n \"dblclick\",\n \"contextmenu\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"pointerdown\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"pointerup\",\n \"touchend\",\n \"touchmove\",\n \"touchstart\"\n]);\nconst SVGElements = /*#__PURE__*/ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\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([\n \"html\",\n \"base\",\n \"head\",\n \"link\",\n \"meta\",\n \"style\",\n \"title\",\n \"body\",\n \"address\",\n \"article\",\n \"aside\",\n \"footer\",\n \"header\",\n \"main\",\n \"nav\",\n \"section\",\n \"body\",\n \"blockquote\",\n \"dd\",\n \"div\",\n \"dl\",\n \"dt\",\n \"figcaption\",\n \"figure\",\n \"hr\",\n \"li\",\n \"ol\",\n \"p\",\n \"pre\",\n \"ul\",\n \"a\",\n \"abbr\",\n \"b\",\n \"bdi\",\n \"bdo\",\n \"br\",\n \"cite\",\n \"code\",\n \"data\",\n \"dfn\",\n \"em\",\n \"i\",\n \"kbd\",\n \"mark\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"small\",\n \"span\",\n \"strong\",\n \"sub\",\n \"sup\",\n \"time\",\n \"u\",\n \"var\",\n \"wbr\",\n \"area\",\n \"audio\",\n \"img\",\n \"map\",\n \"track\",\n \"video\",\n \"embed\",\n \"iframe\",\n \"object\",\n \"param\",\n \"picture\",\n \"portal\",\n \"source\",\n \"svg\",\n \"math\",\n \"canvas\",\n \"noscript\",\n \"script\",\n \"del\",\n \"ins\",\n \"caption\",\n \"col\",\n \"colgroup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"tr\",\n \"button\",\n \"datalist\",\n \"fieldset\",\n \"form\",\n \"input\",\n \"label\",\n \"legend\",\n \"meter\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"progress\",\n \"select\",\n \"textarea\",\n \"details\",\n \"dialog\",\n \"menu\",\n \"summary\",\n \"details\",\n \"slot\",\n \"template\",\n \"acronym\",\n \"applet\",\n \"basefont\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"center\",\n \"content\",\n \"dir\",\n \"font\",\n \"frame\",\n \"frameset\",\n \"hgroup\",\n \"image\",\n \"keygen\",\n \"marquee\",\n \"menuitem\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"rb\",\n \"rtc\",\n \"shadow\",\n \"spacer\",\n \"strike\",\n \"tt\",\n \"xmp\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"base\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"blockquote\",\n \"body\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"content\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"head\",\n \"header\",\n \"hgroup\",\n \"hr\",\n \"html\",\n \"i\",\n \"iframe\",\n \"image\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"keygen\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"marquee\",\n \"menu\",\n \"menuitem\",\n \"meta\",\n \"meter\",\n \"nav\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"plaintext\",\n \"portal\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rb\",\n \"rp\",\n \"rt\",\n \"rtc\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"shadow\",\n \"slot\",\n \"small\",\n \"source\",\n \"spacer\",\n \"span\",\n \"strike\",\n \"strong\",\n \"style\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"title\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n \"xmp\",\n \"input\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\"\n]);\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\n ? code()\n : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isCE, isSVG) {\n let node;\n const create = () => {\n const t = document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;\n };\n const fn = isCE\n ? () => untrack(() => document.importNode(node || (node = create()), true))\n : () => (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 (!!sharedConfig.context && node.isConnected) return;\n node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttribute(name);\n else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttributeNS(namespace, name);\n else node.setAttributeNS(namespace, name, value);\n}\nfunction className(node, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttribute(\"class\");\n 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);\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 spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(\n () => (prevProps.children = insertExpression(node, props.children, prevProps.children))\n );\n }\n createRenderEffect(() => props.ref && 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);\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);\n }\n}\nfunction hydrate$1(code, element, 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 gatherHydratable(element, options.renderId);\n const dispose = render(code, element, [...element.childNodes], options);\n sharedConfig.context = null;\n return dispose;\n}\nfunction getNextElement(template) {\n let node, key;\n if (!sharedConfig.context || !(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 (sharedConfig.context) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;\n 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 { completed, events } = sharedConfig;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n eventHandler(e);\n events.shift();\n }\n });\n sharedConfig.events.queued = true;\n }\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++)\n node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef) {\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);\n value && node.addEventListener(e, 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 (\n (forceProp = prop.slice(0, 5) === \"prop:\") ||\n (isChildProp = ChildProperties.has(prop)) ||\n (!isSVG &&\n ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||\n (isCE = node.nodeName.includes(\"-\"))\n ) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (!!sharedConfig.context && node.isConnected) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);\n else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;\n 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);\n else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n const key = `$$${e.type}`;\n let node = (e.composedPath && e.composedPath()[0]) || e.target;\n if (e.target !== node) {\n Object.defineProperty(e, \"target\", {\n configurable: true,\n value: node\n });\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 while (node) {\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 = node._$host || node.parentNode || node.host;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = !!sharedConfig.context && parent.isConnected;\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();\n 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\") value = value.toString();\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 [...parent.childNodes];\n let node = array[0];\n let 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);\n 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 =\n normalizeIncomingArray(\n normalized,\n Array.isArray(item) ? item : [item],\n Array.isArray(prev) ? prev : [prev]\n ) || 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);\n 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)\n isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n 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))\n sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n const hydrate = sharedConfig.context;\n return `${hydrate.id}${hydrate.count++}`;\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) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const { useShadow } = 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 () => {\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 =\n useShadow && container.attachShadow\n ? container.attachShadow({\n mode: \"open\"\n })\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 },\n undefined,\n {\n render: !hydrating\n }\n );\n return marker;\n}\nfunction Dynamic(props) {\n const [p, others] = splitProps(props, [\"component\"]);\n const cached = createMemo(() => p.component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(others));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);\n spread(el, others, isSvg);\n return el;\n }\n });\n}\n\nexport {\n Aliases,\n voidFn as Assets,\n ChildProperties,\n DOMElements,\n DelegatedEvents,\n Dynamic,\n Hydration,\n voidFn as HydrationScript,\n NoHydration,\n Portal,\n Properties,\n RequestContext,\n SVGElements,\n SVGNamespace,\n addEventListener,\n assign,\n classList,\n className,\n clearDelegatedEvents,\n delegateEvents,\n dynamicProperty,\n escape,\n voidFn as generateHydrationScript,\n voidFn as getAssets,\n getHydrationKey,\n getNextElement,\n getNextMarker,\n getNextMatch,\n getPropAlias,\n voidFn as getRequestEvent,\n hydrate,\n innerHTML,\n insert,\n isDev,\n isServer,\n render,\n renderToStream,\n renderToString,\n renderToStringAsync,\n resolveSSRNode,\n runHydrationEvents,\n setAttribute,\n setAttributeNS,\n setProperty,\n spread,\n ssr,\n ssrAttribute,\n ssrClassList,\n ssrElement,\n ssrHydrationKey,\n ssrSpread,\n ssrStyle,\n style,\n template,\n use,\n voidFn as useAssets\n};\n","import { isServer } from \"solid-js/web\";\nexport function createBeforeLeave() {\n let listeners = new Set();\n function subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }\n let ignore = false;\n function confirm(to, options) {\n if (ignore)\n return !(ignore = false);\n const e = {\n to,\n options,\n defaultPrevented: false,\n preventDefault: () => (e.defaultPrevented = true)\n };\n for (const l of listeners)\n l.listener({\n ...e,\n from: l.location,\n retry: (force) => {\n force && (ignore = true);\n l.navigate(to, { ...options, resolve: false });\n }\n });\n return !e.defaultPrevented;\n }\n return {\n subscribe,\n confirm\n };\n}\n// The following supports browser initiated blocking (eg back/forward)\nlet depth;\nexport function saveCurrentDepth() {\n if (!window.history.state || window.history.state._depth == null) {\n window.history.replaceState({ ...window.history.state, _depth: window.history.length - 1 }, \"\");\n }\n depth = window.history.state._depth;\n}\nif (!isServer) {\n saveCurrentDepth();\n}\nexport function keepDepth(state) {\n return {\n ...state,\n _depth: window.history.state && window.history.state._depth\n };\n}\nexport function notifyIfNotBlocked(notify, block) {\n let ignore = false;\n return () => {\n const prevDepth = depth;\n saveCurrentDepth();\n const delta = prevDepth == null ? null : depth - prevDepth;\n if (ignore) {\n ignore = false;\n return;\n }\n if (delta && block(delta)) {\n ignore = true;\n window.history.go(-delta);\n }\n else {\n notify();\n }\n };\n}\n","import { createMemo, getOwner, runWithOwner } from \"solid-js\";\nconst hasSchemeRegex = /^(?:[a-z0-9]+:)?\\/\\//i;\nconst trimPathRegex = /^\\/+|(\\/)\\/+$/g;\nexport const mockBase = \"http://sr\";\nexport function normalizePath(path, omitSlash = false) {\n const s = path.replace(trimPathRegex, \"$1\");\n return s ? (omitSlash || /^[?#]/.test(s) ? s : \"/\" + s) : \"\";\n}\nexport function resolvePath(base, path, from) {\n if (hasSchemeRegex.test(path)) {\n return undefined;\n }\n const basePath = normalizePath(base);\n const fromPath = from && normalizePath(from);\n let result = \"\";\n if (!fromPath || path.startsWith(\"/\")) {\n result = basePath;\n }\n else if (fromPath.toLowerCase().indexOf(basePath.toLowerCase()) !== 0) {\n result = basePath + fromPath;\n }\n else {\n result = fromPath;\n }\n return (result || \"/\") + normalizePath(path, !result);\n}\nexport function invariant(value, message) {\n if (value == null) {\n throw new Error(message);\n }\n return value;\n}\nexport function joinPaths(from, to) {\n return normalizePath(from).replace(/\\/*(\\*.*)?$/g, \"\") + normalizePath(to);\n}\nexport function extractSearchParams(url) {\n const params = {};\n url.searchParams.forEach((value, key) => {\n params[key] = value;\n });\n return params;\n}\nexport function createMatcher(path, partial, matchFilters) {\n const [pattern, splat] = path.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n const len = segments.length;\n return (location) => {\n const locSegments = location.split(\"/\").filter(Boolean);\n const lenDiff = locSegments.length - len;\n if (lenDiff < 0 || (lenDiff > 0 && splat === undefined && !partial)) {\n return null;\n }\n const match = {\n path: len ? \"\" : \"/\",\n params: {}\n };\n const matchFilter = (s) => matchFilters === undefined ? undefined : matchFilters[s];\n for (let i = 0; i < len; i++) {\n const segment = segments[i];\n const locSegment = locSegments[i];\n const dynamic = segment[0] === \":\";\n const key = dynamic ? segment.slice(1) : segment;\n if (dynamic && matchSegment(locSegment, matchFilter(key))) {\n match.params[key] = locSegment;\n }\n else if (dynamic || !matchSegment(locSegment, segment)) {\n return null;\n }\n match.path += `/${locSegment}`;\n }\n if (splat) {\n const remainder = lenDiff ? locSegments.slice(-lenDiff).join(\"/\") : \"\";\n if (matchSegment(remainder, matchFilter(splat))) {\n match.params[splat] = remainder;\n }\n else {\n return null;\n }\n }\n return match;\n };\n}\nfunction matchSegment(input, filter) {\n const isEqual = (s) => s.localeCompare(input, undefined, { sensitivity: \"base\" }) === 0;\n if (filter === undefined) {\n return true;\n }\n else if (typeof filter === \"string\") {\n return isEqual(filter);\n }\n else if (typeof filter === \"function\") {\n return filter(input);\n }\n else if (Array.isArray(filter)) {\n return filter.some(isEqual);\n }\n else if (filter instanceof RegExp) {\n return filter.test(input);\n }\n return false;\n}\nexport function scoreRoute(route) {\n const [pattern, splat] = route.pattern.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n return segments.reduce((score, segment) => score + (segment.startsWith(\":\") ? 2 : 3), segments.length - (splat === undefined ? 0 : 1));\n}\nexport function createMemoObject(fn) {\n const map = new Map();\n const owner = getOwner();\n return new Proxy({}, {\n get(_, property) {\n if (!map.has(property)) {\n runWithOwner(owner, () => map.set(property, createMemo(() => fn()[property])));\n }\n return map.get(property)();\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n },\n ownKeys() {\n return Reflect.ownKeys(fn());\n }\n });\n}\nexport function mergeSearchString(search, params) {\n const merged = new URLSearchParams(search);\n Object.entries(params).forEach(([key, value]) => {\n if (value == null || value === \"\") {\n merged.delete(key);\n }\n else {\n merged.set(key, String(value));\n }\n });\n const s = merged.toString();\n return s ? `?${s}` : \"\";\n}\nexport function expandOptionals(pattern) {\n let match = /(\\/?\\:[^\\/]+)\\?/.exec(pattern);\n if (!match)\n return [pattern];\n let prefix = pattern.slice(0, match.index);\n let suffix = pattern.slice(match.index + match[0].length);\n const prefixes = [prefix, (prefix += match[1])];\n // This section handles adjacent optional params. We don't actually want all permuations since\n // that will lead to equivalent routes which have the same number of params. For example\n // `/:a?/:b?/:c`? only has the unique expansion: `/`, `/:a`, `/:a/:b`, `/:a/:b/:c` and we can\n // discard `/:b`, `/:c`, `/:b/:c` by building them up in order and not recursing. This also helps\n // ensure predictability where earlier params have precidence.\n while ((match = /^(\\/\\:[^\\/]+)\\?/.exec(suffix))) {\n prefixes.push((prefix += match[1]));\n suffix = suffix.slice(match[0].length);\n }\n return expandOptionals(suffix).reduce((results, expansion) => [...results, ...prefixes.map(p => p + expansion)], []);\n}\n","import { runWithOwner } from \"solid-js\";\nimport { createComponent, createContext, createMemo, createRenderEffect, createSignal, on, onCleanup, untrack, useContext, startTransition, resetErrorBoundaries } from \"solid-js\";\nimport { isServer, getRequestEvent } from \"solid-js/web\";\nimport { createBeforeLeave } from \"./lifecycle.js\";\nimport { mockBase, createMemoObject, extractSearchParams, invariant, resolvePath, createMatcher, joinPaths, scoreRoute, mergeSearchString, expandOptionals } from \"./utils.js\";\nconst MAX_REDIRECTS = 100;\nexport const RouterContextObj = createContext();\nexport const RouteContextObj = createContext();\nexport const useRouter = () => invariant(useContext(RouterContextObj), \" and 'use' router primitives can be only used inside a Route.\");\nlet TempRoute;\nexport const useRoute = () => TempRoute || useContext(RouteContextObj) || useRouter().base;\nexport const useResolvedPath = (path) => {\n const route = useRoute();\n return createMemo(() => route.resolvePath(path()));\n};\nexport const useHref = (to) => {\n const router = useRouter();\n return createMemo(() => {\n const to_ = to();\n return to_ !== undefined ? router.renderPath(to_) : to_;\n });\n};\nexport const useNavigate = () => useRouter().navigatorFactory();\nexport const useLocation = () => useRouter().location;\nexport const useIsRouting = () => useRouter().isRouting;\nexport const useMatch = (path, matchFilters) => {\n const location = useLocation();\n const matchers = createMemo(() => expandOptionals(path()).map(path => createMatcher(path, undefined, matchFilters)));\n return createMemo(() => {\n for (const matcher of matchers()) {\n const match = matcher(location.pathname);\n if (match)\n return match;\n }\n });\n};\nexport const useParams = () => useRouter().params;\nexport const useSearchParams = () => {\n const location = useLocation();\n const navigate = useNavigate();\n const setSearchParams = (params, options) => {\n const searchString = untrack(() => location.pathname + mergeSearchString(location.search, params) + location.hash);\n navigate(searchString, {\n scroll: false,\n resolve: false,\n ...options\n });\n };\n return [location.query, setSearchParams];\n};\nexport const useBeforeLeave = (listener) => {\n const s = useRouter().beforeLeave.subscribe({\n listener,\n location: useLocation(),\n navigate: useNavigate()\n });\n onCleanup(s);\n};\nexport function createRoutes(routeDef, base = \"\") {\n const { component, load, children, info } = routeDef;\n const isLeaf = !children || (Array.isArray(children) && !children.length);\n const shared = {\n key: routeDef,\n component,\n load,\n info\n };\n return asArray(routeDef.path).reduce((acc, originalPath) => {\n for (const expandedPath of expandOptionals(originalPath)) {\n const path = joinPaths(base, expandedPath);\n let pattern = isLeaf ? path : path.split(\"/*\", 1)[0];\n pattern = pattern\n .split(\"/\")\n .map((s) => {\n return s.startsWith(\":\") || s.startsWith(\"*\") ? s : encodeURIComponent(s);\n })\n .join(\"/\");\n acc.push({\n ...shared,\n originalPath,\n pattern,\n matcher: createMatcher(pattern, !isLeaf, routeDef.matchFilters)\n });\n }\n return acc;\n }, []);\n}\nexport function createBranch(routes, index = 0) {\n return {\n routes,\n score: scoreRoute(routes[routes.length - 1]) * 10000 - index,\n matcher(location) {\n const matches = [];\n for (let i = routes.length - 1; i >= 0; i--) {\n const route = routes[i];\n const match = route.matcher(location);\n if (!match) {\n return null;\n }\n matches.unshift({\n ...match,\n route\n });\n }\n return matches;\n }\n };\n}\nfunction asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function createBranches(routeDef, base = \"\", stack = [], branches = []) {\n const routeDefs = asArray(routeDef);\n for (let i = 0, len = routeDefs.length; i < len; i++) {\n const def = routeDefs[i];\n if (def && typeof def === \"object\") {\n if (!def.hasOwnProperty(\"path\"))\n def.path = \"\";\n const routes = createRoutes(def, base);\n for (const route of routes) {\n stack.push(route);\n const isEmptyArray = Array.isArray(def.children) && def.children.length === 0;\n if (def.children && !isEmptyArray) {\n createBranches(def.children, route.pattern, stack, branches);\n }\n else {\n const branch = createBranch([...stack], branches.length);\n branches.push(branch);\n }\n stack.pop();\n }\n }\n }\n // Stack will be empty on final return\n return stack.length ? branches : branches.sort((a, b) => b.score - a.score);\n}\nexport function getRouteMatches(branches, location) {\n for (let i = 0, len = branches.length; i < len; i++) {\n const match = branches[i].matcher(location);\n if (match) {\n return match;\n }\n }\n return [];\n}\nexport function createLocation(path, state) {\n const origin = new URL(mockBase);\n const url = createMemo(prev => {\n const path_ = path();\n try {\n return new URL(path_, origin);\n }\n catch (err) {\n console.error(`Invalid path ${path_}`);\n return prev;\n }\n }, origin, {\n equals: (a, b) => a.href === b.href\n });\n const pathname = createMemo(() => url().pathname);\n const search = createMemo(() => url().search, true);\n const hash = createMemo(() => url().hash);\n const key = () => \"\";\n return {\n get pathname() {\n return pathname();\n },\n get search() {\n return search();\n },\n get hash() {\n return hash();\n },\n get state() {\n return state();\n },\n get key() {\n return key();\n },\n query: createMemoObject(on(search, () => extractSearchParams(url())))\n };\n}\nlet intent;\nexport function getIntent() {\n return intent;\n}\nexport function createRouterContext(integration, branches, getContext, options = {}) {\n const { signal: [source, setSource], utils = {} } = integration;\n const parsePath = utils.parsePath || (p => p);\n const renderPath = utils.renderPath || (p => p);\n const beforeLeave = utils.beforeLeave || createBeforeLeave();\n const basePath = resolvePath(\"\", options.base || \"\");\n if (basePath === undefined) {\n throw new Error(`${basePath} is not a valid base path`);\n }\n else if (basePath && !source().value) {\n setSource({ value: basePath, replace: true, scroll: false });\n }\n const [isRouting, setIsRouting] = createSignal(false);\n const start = async (callback) => {\n setIsRouting(true);\n try {\n await startTransition(callback);\n }\n finally {\n setIsRouting(false);\n }\n };\n const [reference, setReference] = createSignal(source().value);\n const [state, setState] = createSignal(source().state);\n const location = createLocation(reference, state);\n const referrers = [];\n const submissions = createSignal(isServer ? initFromFlash() : []);\n const matches = createMemo(() => getRouteMatches(branches(), location.pathname));\n const params = createMemoObject(() => {\n const m = matches();\n const params = {};\n for (let i = 0; i < m.length; i++) {\n Object.assign(params, m[i].params);\n }\n return params;\n });\n const baseRoute = {\n pattern: basePath,\n path: () => basePath,\n outlet: () => null,\n resolvePath(to) {\n return resolvePath(basePath, to);\n }\n };\n createRenderEffect(() => {\n const { value, state } = source();\n // Untrack this whole block so `start` doesn't cause Solid's Listener to be preserved\n untrack(() => {\n if (value !== reference()) {\n start(() => {\n intent = \"native\";\n setReference(value);\n setState(state);\n resetErrorBoundaries();\n submissions[1]([]);\n }).then(() => {\n intent = undefined;\n });\n }\n });\n });\n return {\n base: baseRoute,\n location,\n params,\n isRouting,\n renderPath,\n parsePath,\n navigatorFactory,\n matches,\n beforeLeave,\n preloadRoute,\n singleFlight: options.singleFlight === undefined ? true : options.singleFlight,\n submissions\n };\n function navigateFromRoute(route, to, options) {\n // Untrack in case someone navigates in an effect - don't want to track `reference` or route paths\n untrack(() => {\n if (typeof to === \"number\") {\n if (!to) {\n // A delta of 0 means stay at the current location, so it is ignored\n }\n else if (utils.go) {\n utils.go(to);\n }\n else {\n console.warn(\"Router integration does not support relative routing\");\n }\n return;\n }\n const { replace, resolve, scroll, state: nextState } = {\n replace: false,\n resolve: true,\n scroll: true,\n ...options\n };\n const resolvedTo = resolve ? route.resolvePath(to) : resolvePath(\"\", to);\n if (resolvedTo === undefined) {\n throw new Error(`Path '${to}' is not a routable path`);\n }\n else if (referrers.length >= MAX_REDIRECTS) {\n throw new Error(\"Too many redirects\");\n }\n const current = reference();\n if (resolvedTo !== current || nextState !== state()) {\n if (isServer) {\n const e = getRequestEvent();\n e && (e.response = { status: 302, headers: new Headers({ Location: resolvedTo }) });\n setSource({ value: resolvedTo, replace, scroll, state: nextState });\n }\n else if (beforeLeave.confirm(resolvedTo, options)) {\n const len = referrers.push({ value: current, replace, scroll, state: state() });\n start(() => {\n intent = \"navigate\";\n setReference(resolvedTo);\n setState(nextState);\n resetErrorBoundaries();\n submissions[1]([]);\n }).then(() => {\n if (referrers.length === len) {\n intent = undefined;\n navigateEnd({\n value: resolvedTo,\n state: nextState\n });\n }\n });\n }\n }\n });\n }\n function navigatorFactory(route) {\n // Workaround for vite issue (https://github.com/vitejs/vite/issues/3803)\n route = route || useContext(RouteContextObj) || baseRoute;\n return (to, options) => navigateFromRoute(route, to, options);\n }\n function navigateEnd(next) {\n const first = referrers[0];\n if (first) {\n if (next.value !== first.value || next.state !== first.state) {\n setSource({\n ...next,\n replace: first.replace,\n scroll: first.scroll\n });\n }\n referrers.length = 0;\n }\n }\n function preloadRoute(url, preloadData) {\n const matches = getRouteMatches(branches(), url.pathname);\n const prevIntent = intent;\n intent = \"preload\";\n for (let match in matches) {\n const { route, params } = matches[match];\n route.component &&\n route.component.preload &&\n route.component.preload();\n const { load } = route;\n preloadData &&\n load &&\n runWithOwner(getContext(), () => load({\n params,\n location: {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n query: extractSearchParams(url),\n state: null,\n key: \"\"\n },\n intent: \"preload\"\n }));\n }\n intent = prevIntent;\n }\n function initFromFlash() {\n const e = getRequestEvent();\n return (e && e.router && e.router.submission\n ? [e.router.submission]\n : []);\n }\n}\nexport function createRouteContext(router, parent, outlet, match) {\n const { base, location, params } = router;\n const { pattern, component, load } = match().route;\n const path = createMemo(() => match().path);\n component &&\n component.preload &&\n component.preload();\n const data = load ? load({ params, location, intent: intent || \"initial\" }) : undefined;\n const route = {\n parent,\n pattern,\n path,\n outlet: () => component\n ? createComponent(component, {\n params,\n location,\n data,\n get children() {\n return outlet();\n }\n })\n : outlet(),\n resolvePath(to) {\n return resolvePath(base.path(), to, path());\n }\n };\n return route;\n}\n","/*@refresh skip*/\nimport { getRequestEvent, isServer } from \"solid-js/web\";\nimport { children, createMemo, createRoot, getOwner, mergeProps, on, Show, untrack } from \"solid-js\";\nimport { createBranches, createRouteContext, createRouterContext, getRouteMatches, RouteContextObj, RouterContextObj } from \"../routing.js\";\nexport const createRouterComponent = (router) => (props) => {\n const { base } = props;\n const routeDefs = children(() => props.children);\n const branches = createMemo(() => createBranches(routeDefs(), props.base || \"\"));\n let context;\n const routerState = createRouterContext(router, branches, () => context, {\n base,\n singleFlight: props.singleFlight\n });\n router.create && router.create(routerState);\n return (\n \n {(context = getOwner()) && null}\n \n \n );\n};\nfunction Root(props) {\n const location = props.routerState.location;\n const params = props.routerState.params;\n const data = createMemo(() => props.load && untrack(() => props.load({ params, location, intent: \"preload\" })));\n return (\n {Root => (\n {props.children}\n )}\n );\n}\nfunction Routes(props) {\n if (isServer) {\n const e = getRequestEvent();\n if (e && e.router && e.router.dataOnly) {\n dataOnly(e, props.routerState, props.branches);\n return;\n }\n e &&\n ((e.router || (e.router = {})).matches ||\n (e.router.matches = props.routerState.matches().map(({ route, path, params }) => ({\n path: route.originalPath,\n pattern: route.pattern,\n match: path,\n params,\n info: route.info\n }))));\n }\n const disposers = [];\n let root;\n const routeStates = createMemo(on(props.routerState.matches, (nextMatches, prevMatches, prev) => {\n let equal = prevMatches && nextMatches.length === prevMatches.length;\n const next = [];\n for (let i = 0, len = nextMatches.length; i < len; i++) {\n const prevMatch = prevMatches && prevMatches[i];\n const nextMatch = nextMatches[i];\n if (prev && prevMatch && nextMatch.route.key === prevMatch.route.key) {\n next[i] = prev[i];\n }\n else {\n equal = false;\n if (disposers[i]) {\n disposers[i]();\n }\n createRoot(dispose => {\n disposers[i] = dispose;\n next[i] = createRouteContext(props.routerState, next[i - 1] || props.routerState.base, createOutlet(() => routeStates()[i + 1]), () => props.routerState.matches()[i]);\n });\n }\n }\n disposers.splice(nextMatches.length).forEach(dispose => dispose());\n if (prev && equal) {\n return prev;\n }\n root = next[0];\n return next;\n }));\n return createOutlet(() => routeStates() && root)();\n}\nconst createOutlet = (child) => {\n return () => (\n {child => {child.outlet()}}\n );\n};\nexport const Route = (props) => {\n const childRoutes = children(() => props.children);\n return mergeProps(props, {\n get children() {\n return childRoutes();\n }\n });\n};\n// for data only mode with single flight mutations\nfunction dataOnly(event, routerState, branches) {\n const url = new URL(event.request.url);\n const prevMatches = getRouteMatches(branches, new URL(event.router.previousUrl || event.request.url).pathname);\n const matches = getRouteMatches(branches, url.pathname);\n for (let match = 0; match < matches.length; match++) {\n if (!prevMatches[match] || matches[match].route !== prevMatches[match].route)\n event.router.dataOnly = true;\n const { route, params } = matches[match];\n route.load &&\n route.load({\n params,\n location: routerState.location,\n intent: \"preload\"\n });\n }\n}\n","import { createSignal, onCleanup } from \"solid-js\";\nimport { createRouterComponent } from \"./components.jsx\";\nfunction intercept([value, setValue], get, set) {\n return [get ? () => get(value()) : value, set ? (v) => setValue(set(v)) : setValue];\n}\nfunction querySelector(selector) {\n if (selector === \"#\") {\n return null;\n }\n // Guard against selector being an invalid CSS selector\n try {\n return document.querySelector(selector);\n }\n catch (e) {\n return null;\n }\n}\nexport function createRouter(config) {\n let ignore = false;\n const wrap = (value) => (typeof value === \"string\" ? { value } : value);\n const signal = intercept(createSignal(wrap(config.get()), { equals: (a, b) => a.value === b.value }), undefined, next => {\n !ignore && config.set(next);\n return next;\n });\n config.init &&\n onCleanup(config.init((value = config.get()) => {\n ignore = true;\n signal[1](wrap(value));\n ignore = false;\n }));\n return createRouterComponent({\n signal,\n create: config.create,\n utils: config.utils\n });\n}\nexport function bindEvent(target, type, handler) {\n target.addEventListener(type, handler);\n return () => target.removeEventListener(type, handler);\n}\nexport function scrollToHash(hash, fallbackTop) {\n const el = querySelector(`#${hash}`);\n if (el) {\n el.scrollIntoView();\n }\n else if (fallbackTop) {\n window.scrollTo(0, 0);\n }\n}\n","import { $TRACK, createMemo, createSignal, onCleanup, getOwner } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport { useRouter } from \"../routing.js\";\nimport { mockBase } from \"../utils.js\";\nimport { cacheKeyOp, hashKey, revalidate, cache } from \"./cache.js\";\nexport const actions = /* #__PURE__ */ new Map();\nexport function useSubmissions(fn, filter) {\n const router = useRouter();\n const subs = createMemo(() => router.submissions[0]().filter(s => s.url === fn.toString() && (!filter || filter(s.input))));\n return new Proxy([], {\n get(_, property) {\n if (property === $TRACK)\n return subs();\n if (property === \"pending\")\n return subs().some(sub => !sub.result);\n return subs()[property];\n }\n });\n}\nexport function useSubmission(fn, filter) {\n const submissions = useSubmissions(fn, filter);\n return new Proxy({}, {\n get(_, property) {\n return submissions[submissions.length - 1]?.[property];\n }\n });\n}\nexport function useAction(action) {\n const r = useRouter();\n return (...args) => action.apply({ r }, args);\n}\nexport function action(fn, name) {\n function mutate(...variables) {\n const router = this.r;\n const form = this.f;\n const p = (router.singleFlight && fn.withOptions\n ? fn.withOptions({ headers: { \"X-Single-Flight\": \"true\" } })\n : fn)(...variables);\n const [result, setResult] = createSignal();\n let submission;\n function handler(error) {\n return async (res) => {\n const result = await handleResponse(res, error, router.navigatorFactory());\n if (!result)\n return submission.clear();\n setResult(result);\n if (result.error && !form)\n throw result.error;\n return result.data;\n };\n }\n router.submissions[1](s => [\n ...s,\n (submission = {\n input: variables,\n url,\n get result() {\n return result()?.data;\n },\n get error() {\n return result()?.error;\n },\n get pending() {\n return !result();\n },\n clear() {\n router.submissions[1](v => v.filter(i => i.input !== variables));\n },\n retry() {\n setResult(undefined);\n const p = fn(...variables);\n return p.then(handler(), handler(true));\n }\n })\n ]);\n return p.then(handler(), handler(true));\n }\n const url = fn.url ||\n (name && `https://action/${name}`) ||\n (!isServer ? `https://action/${hashString(fn.toString())}` : \"\");\n return toAction(mutate, url);\n}\nfunction toAction(fn, url) {\n fn.toString = () => {\n if (!url)\n throw new Error(\"Client Actions need explicit names if server rendered\");\n return url;\n };\n fn.with = function (...args) {\n const newFn = function (...passedArgs) {\n return fn.call(this, ...args, ...passedArgs);\n };\n const uri = new URL(url, mockBase);\n uri.searchParams.set(\"args\", hashKey(args));\n return toAction(newFn, (uri.origin === \"https://action\" ? uri.origin : \"\") + uri.pathname + uri.search);\n };\n fn.url = url;\n if (!isServer) {\n actions.set(url, fn);\n getOwner() && onCleanup(() => actions.delete(url));\n }\n return fn;\n}\nconst hashString = (s) => s.split(\"\").reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0);\nasync function handleResponse(response, error, navigate) {\n let data;\n let keys;\n let invalidateKeys;\n if (response instanceof Response) {\n if (response.headers.has(\"X-Revalidate\"))\n keys = invalidateKeys = response.headers.get(\"X-Revalidate\").split(\",\");\n if (response.customBody) {\n data = await response.customBody();\n if (response.headers.has(\"X-Single-Flight\")) {\n keys || (keys = []);\n invalidateKeys || (invalidateKeys = []);\n Object.keys(data).forEach(key => {\n if (key === \"_$value\")\n return;\n keys.push(key);\n cache.set(key, data[key]);\n });\n data = data._$value;\n }\n }\n if (response.headers.has(\"Location\")) {\n const locationUrl = response.headers.get(\"Location\") || \"/\";\n if (locationUrl.startsWith(\"http\")) {\n window.location.href = locationUrl;\n }\n else {\n navigate(locationUrl);\n }\n }\n }\n else if (error)\n return { error: response };\n else\n data = response;\n // invalidate\n cacheKeyOp(invalidateKeys, entry => (entry[0] = 0));\n // trigger revalidation\n await revalidate(keys, false);\n return data != null ? { data } : undefined;\n}\n","import { delegateEvents } from \"solid-js/web\";\nimport { onCleanup } from \"solid-js\";\nimport { actions } from \"./action.js\";\nimport { mockBase } from \"../utils.js\";\nexport function setupNativeEvents(preload = true, explicitLinks = false, actionBase = \"/_server\") {\n return (router) => {\n const basePath = router.base.path();\n const navigateFromRoute = router.navigatorFactory(router.base);\n let preloadTimeout = {};\n function isSvg(el) {\n return el.namespaceURI === \"http://www.w3.org/2000/svg\";\n }\n function handleAnchor(evt) {\n if (evt.defaultPrevented ||\n evt.button !== 0 ||\n evt.metaKey ||\n evt.altKey ||\n evt.ctrlKey ||\n evt.shiftKey)\n return;\n const a = evt\n .composedPath()\n .find(el => el instanceof Node && el.nodeName.toUpperCase() === \"A\");\n if (!a || (explicitLinks && !a.hasAttribute(\"link\")))\n return;\n const svg = isSvg(a);\n const href = svg ? a.href.baseVal : a.href;\n const target = svg ? a.target.baseVal : a.target;\n if (target || (!href && !a.hasAttribute(\"state\")))\n return;\n const rel = (a.getAttribute(\"rel\") || \"\").split(/\\s+/);\n if (a.hasAttribute(\"download\") || (rel && rel.includes(\"external\")))\n return;\n const url = svg ? new URL(href, document.baseURI) : new URL(href);\n if (url.origin !== window.location.origin ||\n (basePath && url.pathname && !url.pathname.toLowerCase().startsWith(basePath.toLowerCase())))\n return;\n return [a, url];\n }\n function handleAnchorClick(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [a, url] = res;\n const to = router.parsePath(url.pathname + url.search + url.hash);\n const state = a.getAttribute(\"state\");\n evt.preventDefault();\n navigateFromRoute(to, {\n resolve: false,\n replace: a.hasAttribute(\"replace\"),\n scroll: !a.hasAttribute(\"noscroll\"),\n state: state && JSON.parse(state)\n });\n }\n function handleAnchorPreload(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [a, url] = res;\n if (!preloadTimeout[url.pathname])\n router.preloadRoute(url, a.getAttribute(\"preload\") !== \"false\");\n }\n function handleAnchorIn(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [a, url] = res;\n if (preloadTimeout[url.pathname])\n return;\n preloadTimeout[url.pathname] = setTimeout(() => {\n router.preloadRoute(url, a.getAttribute(\"preload\") !== \"false\");\n delete preloadTimeout[url.pathname];\n }, 200);\n }\n function handleAnchorOut(evt) {\n const res = handleAnchor(evt);\n if (!res)\n return;\n const [, url] = res;\n if (preloadTimeout[url.pathname]) {\n clearTimeout(preloadTimeout[url.pathname]);\n delete preloadTimeout[url.pathname];\n }\n }\n function handleFormSubmit(evt) {\n if (evt.defaultPrevented)\n return;\n let actionRef = evt.submitter && evt.submitter.hasAttribute(\"formaction\")\n ? evt.submitter.getAttribute(\"formaction\")\n : evt.target.getAttribute(\"action\");\n if (!actionRef)\n return;\n if (!actionRef.startsWith(\"https://action/\")) {\n // normalize server actions\n const url = new URL(actionRef, mockBase);\n actionRef = router.parsePath(url.pathname + url.search);\n if (!actionRef.startsWith(actionBase))\n return;\n }\n if (evt.target.method.toUpperCase() !== \"POST\")\n throw new Error(\"Only POST forms are supported for Actions\");\n const handler = actions.get(actionRef);\n if (handler) {\n evt.preventDefault();\n const data = new FormData(evt.target);\n if (evt.submitter && evt.submitter.name)\n data.append(evt.submitter.name, evt.submitter.value);\n handler.call({ r: router, f: evt.target }, data);\n }\n }\n // ensure delegated event run first\n delegateEvents([\"click\", \"submit\"]);\n document.addEventListener(\"click\", handleAnchorClick);\n if (preload) {\n document.addEventListener(\"mouseover\", handleAnchorIn);\n document.addEventListener(\"mouseout\", handleAnchorOut);\n document.addEventListener(\"focusin\", handleAnchorPreload);\n document.addEventListener(\"touchstart\", handleAnchorPreload);\n }\n document.addEventListener(\"submit\", handleFormSubmit);\n onCleanup(() => {\n document.removeEventListener(\"click\", handleAnchorClick);\n if (preload) {\n document.removeEventListener(\"mouseover\", handleAnchorIn);\n document.removeEventListener(\"mouseout\", handleAnchorOut);\n document.removeEventListener(\"focusin\", handleAnchorPreload);\n document.removeEventListener(\"touchstart\", handleAnchorPreload);\n }\n document.removeEventListener(\"submit\", handleFormSubmit);\n });\n };\n}\n","import { isServer } from \"solid-js/web\";\nimport { createRouter, scrollToHash, bindEvent } from \"./createRouter.js\";\nimport { StaticRouter } from \"./StaticRouter.js\";\nimport { setupNativeEvents } from \"../data/events.js\";\nimport { createBeforeLeave, keepDepth, notifyIfNotBlocked, saveCurrentDepth } from \"../lifecycle.js\";\nexport function Router(props) {\n if (isServer)\n return StaticRouter(props);\n const getSource = () => ({\n value: window.location.pathname + window.location.search + window.location.hash,\n state: window.history.state\n });\n const beforeLeave = createBeforeLeave();\n return createRouter({\n get: getSource,\n set({ value, replace, scroll, state }) {\n if (replace) {\n window.history.replaceState(keepDepth(state), \"\", value);\n }\n else {\n window.history.pushState(state, \"\", value);\n }\n scrollToHash(window.location.hash.slice(1), scroll);\n saveCurrentDepth();\n },\n init: notify => bindEvent(window, \"popstate\", notifyIfNotBlocked(notify, delta => {\n if (delta && delta < 0) {\n return !beforeLeave.confirm(delta);\n }\n else {\n const s = getSource();\n return !beforeLeave.confirm(s.value, { state: s.state });\n }\n })),\n create: setupNativeEvents(props.preload, props.explicitLinks, props.actionBase),\n utils: {\n go: delta => window.history.go(delta),\n beforeLeave\n }\n })(props);\n}\n","import { createEffect } from \"solid-js\";\n\nfunction Layout(props) {\n return (\n <>\n {props.children}\n \n );\n}\n\nexport default Layout;\n","import styles from \"./Home.module.css\";\nimport { useNavigate } from \"@solidjs/router\";\n\nfunction Home() {\n // let letter;\n // const O = [\n // \"O\",\n // \"Ø\",\n // \"Ö\",\n // \"Ô\",\n // \"Ŏ\",\n // \"Ȏ\",\n // \"Ȯ\",\n // \"Ọ\",\n // \"Ɵ\",\n // \"Ỏ\",\n // \"Ō\",\n // \"Õ\",\n // \"Ǫ\",\n // \"Ȍ\",\n // ];\n\n // const [o, setO] = createSignal(O[0]);\n\n // const flickerO = ({ time }) => {\n // setO(O[Math.floor(Math.random() * O.length)]);\n // setTimeout(flickerO, time, { time });\n // };\n\n // flickerO({ time: 250 });\n\n const navigate = useNavigate();\n\n return (\n
\n
\n
\n
navigate(\"/a\")}>\n
HEKØL
\n
\n
\n
\n
navigate(\"/e/u3oiJaAhm6Pa6Dvzx0vZzDO5YgL8AX6Rsa4DxgPhhqq\")} class={styles.question}>\n ?\n
\n {/*
navigate(\"/e/demo\")} class={styles.color}>
*/}\n
\n
\n
\n );\n}\n\nexport default Home;\n","const URI_API = import.meta.env.DEV ? \"http://localhost:8000\" : \"\";\n\nconst SORT = [\n { key: \"old\", label: \"Start\" },\n { key: \"top\", label: \"Top\" },\n { key: \"new\", label: \"End\" },\n];\n\nexport { URI_API, SORT };\n","import { URI_API } from \"./CONSTANTS.js\";\nimport { createSignal } from \"solid-js\";\n\nconst [authorization, setAuthorization] = createSignal({});\n\nconst fetch = (uri, options) => {\n options = options || {};\n options.headers = {\n ...options?.headers,\n Authorization: JSON.stringify(authorization()),\n };\n\n return window\n .fetch(uri, options)\n .then(r => r.ok && (r.headers.get('Content-Length') === '0' ? true : r.json()))\n};\n\nconst queryize = (params) =>\n (params &&\n \"?\" +\n Object.keys(params)\n .reduce(function (a, k) {\n a.push(k + \"=\" + encodeURIComponent(params[k]));\n return a;\n }, [])\n .join(\"&\")) ||\n \"\";\n\nconst api = {\n color: {\n GET: () => fetch(`${URI_API}/color`),\n },\n a: {\n POST: ({ options = {}, body } = {}) => {\n return fetch(`${URI_API}/a/`, {\n method: \"POST\",\n body: JSON.stringify(body),\n headers: {\n Accept: \"application/json\",\n },\n ...options,\n });\n },\n id: (id) => {\n return {\n POST: ({ options = {}, body } = {}) => {\n return fetch(`${URI_API}/a/${id}/`, {\n method: \"POST\",\n body: JSON.stringify(body),\n headers: {\n Accept: \"application/json\",\n },\n ...options,\n });\n },\n asset: (asset) => {\n return {\n POST: ({ options = {} } = {}) => {\n var body = new FormData();\n body.append(\"file\", asset);\n return fetch(`${URI_API}/a/${id}/${asset.name}`, {\n method: \"POST\",\n body: body,\n ...options,\n });\n },\n };\n },\n };\n },\n },\n r: {\n id: (id) => {\n return {\n GET: ({ options = {} } = {}) => {\n return fetch(`${URI_API}/r/${id}`, {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n },\n ...options,\n });\n },\n DELETE: ({ options = {} } = {}) => {\n return fetch(`${URI_API}/r/${id}`, {\n method: \"DELETE\",\n headers: {\n Accept: \"application/json\",\n },\n ...options,\n });\n },\n };\n },\n },\n c: {\n GET: ({ options = {}, params }) => {\n return fetch(`${URI_API}/c${(params && queryize(params)) || \"\"}`, {\n method: \"GET\",\n ...options,\n });\n },\n id: (id) => {\n return {\n GET: ({ options = {}, params }) => {\n return fetch(\n `${URI_API}/c/${id}${queryize(params)}`,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n },\n ...options,\n }\n );\n },\n };\n },\n },\n};\n\nclass _signal {\n constructor(path) {\n this._path = path || \"\";\n }\n\n getOwnPropertyDescriptor(property) {\n return {\n get: () => {\n console.log(`Accessing property: ${property}`);\n return new _signal(this._path + property);\n },\n set: (value) => {\n console.log(`Setting property: ${property} to ${value}`);\n return new _signal(this._path + property);\n },\n };\n }\n}\n\n// const target = {};\n// const handler = {\n// get(target, property) {\n// console.log(`Accessing property: ${property}`);\n// return new Proxy(target, this);\n// },\n// set(target, property, value) {\n// console.log(`Setting property: ${property} to ${value}`);\n// return new Proxy(target, this);\n// },\n// deleteProperty(target, property) {\n// console.log(`Deleting property: ${property}`);\n// return new Proxy(target, this);\n// },\n// };\n\n// const signal = new Proxy(target, handler);\n\n// const _signal = () => {\n// return {\n// getOwnPropertyDescriptor: (property) => {\n// return {\n// get: () => {\n// console.log(\"get - \" + property);\n// return _signal();\n// },\n// set: (value) => {\n// console.log(\"set - \" + property + \" - \" + value);\n// return _signal();\n// },\n// };\n// },\n// };\n// };\n\nconst signal = new _signal();\n\nexport { api, signal, queryize, authorization, setAuthorization };\n","\nimport styles from \"./Resource.module.css\";\n\nfunction Meta(props) {\n if (!props.meta) return;\n \n const formatTime = (created) => {\n created = Math.round(created / 1000000000);\n const current = Math.floor(new Date().getTime() / 1000);\n const delta = Math.max(0, current - created);\n \n let time = created;\n \n if (delta > 86400) {\n time = Math.floor(delta / 86400) + \"d\";\n } else if (delta > 3600) {\n time = Math.floor(delta / 3600) + \"h\";\n } else if (delta > 60) {\n time = Math.floor(delta / 60) + \"m\";\n } else {\n time = delta + \"s\";\n }\n \n return time;\n };\n \n return (\n \n {formatTime(props.meta.created)}\n {props.meta.reply_count && (\n \n  \n {props.meta.reply_count}\n  comment{props.meta.reply_count != 1 ? \"s\" : \"\"}\n \n )}\n \n \n );\n }\n\n export default Meta;","import styles from \"./Resource.module.css\";\n\nfunction Text(props) {\n const anchorize = (text) => {\n const regex = /(https?:\\/\\/(?:[-\\w]+\\.)+[a-zA-Z]{2,}(?:\\/[^\\s?#]*)?(?:\\?(?:[^\\s#]*))?(?:#(.*))?|(www\\.(?:[-\\w]+\\.)+[a-zA-Z]{2,}(?:\\/[^\\s?#]*)?(?:\\?(?:[^\\s#]*))?(?:#(.*))?|((?:[-\\w]+\\.)+[a-zA-Z]{2,}(?:\\/[^\\s?#]*)?(?:\\?(?:[^\\s#]*))?(?:#(.*))?)))/gd;\n return text.replace(regex, (match) => {\n const url = match.startsWith('http') ? match : `http://${match}`;\n return `
${match}`;\n });\n };\n \n const greentext = (text) => text.replace(/>([^<\\n]+)/g, `>$1`);\n \n return (\n <>\n {props?.text?.title && (\n
\n )}\n {props?.text?.body && (\n
\n )}\n \n );\n }\n\n export default Text;","function Image(props) {\n return \n}\n\nexport default Image;","function Triangle(props) {\n return (\n \n \n \n );\n}\n\nfunction Pause(props) {\n return (\n \n \n \n \n );\n}\n\nfunction Cross(props) {\n const stroke = 0.125;\n const dr = stroke / 2.0;\n const ir = 0.5 - dr;\n const or = 0.5 + dr;\n\n return (\n \n \n \n );\n}\n\nfunction Ellipsis(props) {\n const stroke = props.stroke || 0.1;\n return (\n \n \n \n \n \n );\n}\n\nfunction Arrow(props) {\n const stroke = props.stroke || 0.1;\n return (\n \n \n \n );\n}\n\nfunction Eye(props) {\n return (\n \n \n \n );\n}\n\nexport { Triangle, Pause, Cross, Ellipsis, Arrow, Eye };\n","import { createSignal, onMount } from \"solid-js\";\nimport { Triangle, Pause } from \"../../Shapes\";\nimport styles from \"./Controls.module.css\"\n\nfunction Controls(props) {\n const PROGRESS_UPDATE_INTERVAL = 10;\n let element = props.children\n\n let controls, duration, progress;\n\n const [isPlaying, setIsPlaying] = createSignal(false);\n const [isVisible, setIsVisible] = createSignal(false)\n const [isScrubbing, setIsScrubbing] = createSignal(false)\n\n const updateSize = () => {\n controls.style.top = element.offsetTop + 'px';\n controls.style.left = element.offsetLeft + 'px';\n controls.style.width = element.offsetWidth + 'px';\n controls.style.height = element.offsetHeight + 'px';\n }\n\n props?.overlay && window.addEventListener(\"resize\", updateSize)\n props?.overlay && element.addEventListener(\"loadeddata\", updateSize)\n\n const updateProgress = () => {\n let percent = (element.currentTime / element.duration) * 100;\n progress.style.width = percent + \"%\";\n\n isPlaying() && setTimeout(updateProgress, PROGRESS_UPDATE_INTERVAL);\n };\n\n const scrub = (e) => {\n setIsScrubbing(true);\n element.pause();\n\n if (isNaN(element.duration)) return;\n\n const controlRect = controls.getBoundingClientRect();\n const position = e?.clientX;\n const percentage = (position - controlRect.left) / controlRect.width;\n const time = element.duration * percentage;\n\n element.currentTime = time;\n\n element.addEventListener('seeked', () => {\n if (isPlaying()) element.play();\n });\n\n updateProgress();\n };\n\n const togglePlayback = () => {\n isPlaying() ? element?.pause() : element?.play();\n setIsPlaying(!isPlaying());\n updateProgress();\n };\n\n let timeControl = 0;\n const timeHover = 750;\n\n const toggleHover = () => {\n setTimeout(() => {\n if (Date.now() - timeControl >= timeHover) {\n setIsVisible(false)\n }\n }, timeHover + 100);\n\n setIsVisible(true);\n timeControl = Date.now();\n };\n\n\n const move = (e) => {\n e?.buttons == 1 && scrub(e);\n toggleHover();\n }\n\n const lift = (e) => {\n if (!isScrubbing()) {\n togglePlayback();\n }\n\n setIsScrubbing(false)\n };\n\n\n return (\n <>\n {element}\n e.stopPropagation()}\n onMouseMove={move}\n // onTouchMove={move}\n onMouseUp={lift}\n // onTouchEnd={lift}\n onKeyDown={(e) => {\n switch (e.key) {\n case \"Escape\":\n props.exit();\n break;\n case \" \":\n togglePlayback();\n break;\n }\n }}\n >\n
\n {props.name}\n
\n
\n {isPlaying() ? (\n \n ) : (\n \n )}\n
\n e.stopPropagation()}\n >\n
\n
\n \n \n \n \n )\n}\n\nexport default Controls;","import Controls from \"./Controls\";\n\nfunction Audio(props) {\n return (\n \n \n \n );\n}\n\nexport default Audio;","import Controls from \"./Controls\"\n\nfunction Video(props) {\n function isIOS() {\n const userAgent = navigator.userAgent.toLowerCase();\n return /iphone|ipad|ipod/.test(userAgent);\n }\n\n return (\n isIOS() ? (\n \n ) : (\n \n \n \n )\n )\n}\n\nexport default Video","import styles from \"./File.module.css\";\n\nfunction Link(props) {\n function formatSize(bytes) {\n const units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];\n const index = Math.floor(Math.log(bytes) / Math.log(1024));\n const value = bytes / Math.pow(1024, index);\n return `${Math.round(value)} ${units[index]}`;\n }\n\n return
{props.name}
{formatSize(props.size)}
\n}\n\nexport default Link;","import styles from \"./File.module.css\";\nimport Image from \"./Image\";\nimport Audio from \"./Audio\";\nimport Video from \"./Video\";\nimport Link from \"./Link\";\n\nfunction File(props) {\n if (!props?.src || !props?.type) {\n return;\n }\n\n return (\n
\n {props.type.startsWith(\"image\") ? (\n \n ) : props.type.startsWith(\"audio\") ? (\n
\n );\n}\n\nexport default File;\n","import styles from \"./Resource.module.css\";\nimport { URI_API } from \"../../CONSTANTS\";\nimport File from \"./media/File\";\n\nfunction Files(props) {\n if (!props.files || !props.files?.length) return;\n \n for (let i = 0; i < props.files?.length || 0; i++) {\n props.files[i].src = `${URI_API}/r/${props.id}/${props.files[i].name}`;\n }\n \n return (\n
\n \n {(file, i) => {\n return (\n \n );\n }}\n \n
\n );\n }\n\n export default Files;","import styles from \"./Resource.module.css\";\nimport { useNavigate, useLocation } from \"@solidjs/router\";\nimport { api } from \"../../api.js\";\nimport Meta from \"./Meta.jsx\";\nimport Text from \"./Text.jsx\";\nimport Files from \"./Files.jsx\"\nimport { Cross } from \"../Shapes.jsx\";\n\nfunction Resource(props) {\n const location = useLocation();\n const navigate = useNavigate();\n\n return (\n navigate(`/e/${props?.resource?.id}${window.location.hash}`)}\n class={`${styles.Resource} ${props.class || \"\"}`}\n id={props.resource?.id}\n >\n {location.hash == \"#admin\" && (\n {\n e.preventDefault();\n e.stopPropagation();\n\n api.r\n .id(props.resource.id)\n .DELETE()\n .then((r) => {\n if (r.ok) document.getElementById(props.resource.id).remove();\n });\n }}\n >\n \n \n )}\n {props?.resource?.text && }\n {props?.resource?.files && }\n {props?.resource?.meta && }\n \n );\n}\n\nexport default Resource;\n","import { createResource, createSignal } from \"solid-js\";\nimport Resource from \"./resource/Resource\";\nimport { api } from \"../api\";\nimport { useNavigate } from \"@solidjs/router\";\n\nfunction Resources(props) {\n const navigate = useNavigate();\n\n return (\n \n {(id, i) => {\n const [resource] = createResource(() => api.r.id(id).GET());\n return <>\n {resource() &&
}\n \n \n\n }}\n
\n );\n}\n\nexport default Resources;\n","import { createSignal, onMount } from \"solid-js\";\nimport styles from \"./Select.module.css\";\n\nfunction Select(props) {\n const [active, setActive] = createSignal();\n\n let rOptions;\n\n onMount(() => {\n addEventListener(\"click\", (e) => setActive(false));\n });\n\n return (\n
\n {!active() && (\n {\n e.stopPropagation();\n setActive(true);\n }}\n >\n {props.selection().label}\n
\n )}\n
\n {active() && (\n \n {(t, i) => (\n {\n e.stopPropagation();\n props.setSelection(t);\n setActive(false);\n }}\n >\n {t.label}\n
\n )}\n \n )}\n \n \n );\n}\n\nexport default Select;\n","import styles from \"./Text.module.css\";\n\nfunction Text(props) {\n return (\n <>\n
\n
\n \n
\n \n );\n}\n\nexport default Text;\n","import { authorization, setAuthorization } from \"../../api\";\nimport { useLocation } from \"@solidjs/router\";\nimport Text from \"./Text\";\nimport { onMount } from \"solid-js\";\n\nfunction DialogAdmin() {\n const location = useLocation();\n\n onMount(() => {\n if(!authorization()?.admin) {\n const session = sessionStorage.getItem(\"authorization\");\n\n if(!session) return;\n\n const a = JSON.parse(session);\n\n if(session) setAuthorization({...authorization(), ...a})\n }\n })\n\n return (location.hash == \"#admin\") && (\n <>\n {\n const a = { ...authorization(), admin: e.target.value }\n setAuthorization(a)\n sessionStorage.setItem(\"authorization\", JSON.stringify(a))\n }}\n placeholder=\"Admin\"\n value={authorization()?.admin}\n />\n
\n
\n \n );\n}\n\nexport default DialogAdmin;\n","import { useNavigate } from \"@solidjs/router\";\nimport styles from \"./Navigation.module.css\";\n\nimport { Triangle } from \"./Shapes\";\n\nfunction Navigation(props) {\n const navigate = useNavigate();\n\n return (\n
\n navigate(props.resource?.parent ? `/e/${props.resource.parent}${window.location.hash}` : \"/\")}\n >\n \n
\n
navigate(`/a/${props.resource.id}`)}>\n \n
\n
navigate(`/s/${props.resource.id}`)}>\n \n
\n \n );\n}\n\nexport default Navigation;\n","import Resource from \"../component/resource/Resource\";\nimport Resources from \"../component/Resources\";\nimport {\n createSignal,\n createResource,\n createEffect,\n} from \"solid-js\";\nimport { useLocation, useParams } from \"@solidjs/router\";\nimport { SORT } from \"../CONSTANTS\";\nimport { api } from \"../api\";\nimport Select from \"../component/Select\";\nimport DialogAdmin from \"../component/input/DialogAdmin\"\nimport styles from \"./Post.module.css\";\nimport Navigation from \"../component/Navigation\";\n\nfunction Post(props) {\n const params = useParams();\n const location = useLocation();\n\n const [sort, setSort] = createSignal(SORT[0]);\n\n const [resource] = createResource(\n () => params.id,\n () => api.r.id(params.id).GET()\n );\n\n const [resources] = createResource(\n () => [resource(), sort()],\n () =>\n resource()?.meta.reply_count &&\n api.c.id(resource().id).GET({ params: { sort: sort().key } })\n );\n\n return (\n <>\n {location.hash == \"#admin\" && ()}\n
\n {resource() && }\n {resources() && (\n <>\n
\n \n
\n \n }\n \n );\n}\n\nexport default Admin;\n","// import Picker from \"../component/Picker.jsx\";\n\nfunction Test() {\n // const socket = new WebSocket(`ws://localhost:8000/ws`);\n\n // socket.addEventListener(\"open\", (event) => {\n // socket.send(`{\"method\": \"TEST\"}`);\n // socket.send(`{\"method\": \"WATCH\"}`);\n // setTimeout(() => socket.send(`{\"method\": \"WATCH\"}`), 5000);\n // });\n\n // socket.addEventListener(\"message\", (event) => {\n // console.log(event.data);\n // });\n\n // return <>;\n\n}\n\nexport default Test;\n","import { render } from \"solid-js/web\";\nimport { Router, Route, Navigate } from \"@solidjs/router\";\n\nimport \"./index.css\";\n\nimport Layout from \"./Layout\";\nimport Home from \"./page/Home\";\nimport Post from \"./page/Post\";\nimport Create from \"./page/Create\";\nimport Share from \"./page/Share\";\nimport Admin from \"./page/Admin\"\nimport Resource from \"./component/resource/Resource\";\nimport Test from \"./page/Test\";\n\nconst root = document.getElementById(\"root\");\n\nif (import.meta.env.DEV && !(root instanceof HTMLElement)) {\n throw new Error(\n \"Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?\"\n );\n}\n\nrender(\n () => (\n \n \n \n \n \n \n \n \n \n ),\n root\n);\n\n"],"names":["equalFn","a","b","$PROXY","$TRACK","signalOptions","runEffects","runQueue","STALE","PENDING","UNOWNED","NO_INIT","Owner","Transition","ExternalSourceConfig","Listener","Updates","Effects","ExecCount","createRoot","fn","detachedOwner","listener","owner","unowned","current","root","updateFn","untrack","cleanNode","runUpdates","createSignal","value","options","s","setter","writeSignal","readSignal","createComputed","c","createComputation","updateComputation","createRenderEffect","createEffect","runUserEffects","createMemo","isPromise","v","createResource","pSource","pFetcher","pOptions","source","fetcher","pr","initP","scheduled","resolved","dynamic","contexts","setValue","error","setError","track","trigger","state","setState","loadEnd","p","key","completeLoad","err","read","SuspenseContext","load","refetching","lookup","e","castError","on","deps","isArray","prevInput","defer","prevValue","input","i","result","onMount","onCleanup","getOwner","runWithOwner","o","prev","prevListener","handleError","startTransition","l","t","createContext","defaultValue","id","createProvider","useContext","context","children","memo","resolveChildren","updates","lookUpstream","sSlot","node","isComp","TransitionRunning","markDownstream","time","runComputation","nextValue","init","pure","runTop","ancestors","wait","res","completeUpdates","queue","userLength","ignore","index","obs","n","results","props","FALLBACK","dispose","d","mapArray","list","mapFn","items","mapped","disposers","len","indexes","newItems","j","newLen","newIndices","newIndicesNext","temp","tempdisposers","tempIndexes","start","end","newEnd","item","disposer","mapper","set","createComponent","Comp","trueFn","propTraps","_","property","receiver","resolveSource","resolveSources","length","mergeProps","sources","proxy","keys","sourcesMap","defined","sourceKeys","desc","target","definedKeys","narrowedError","name","For","fallback","Show","keyed","condition","child","booleans","Properties","ChildProperties","Aliases","PropAliases","getPropAlias","prop","tagName","DelegatedEvents","SVGNamespace","reconcileArrays","parentNode","bLength","aEnd","bEnd","aStart","bStart","after","map","sequence","$$EVENTS","render","code","element","insert","template","html","isCE","isSVG","create","delegateEvents","eventNames","document","eventHandler","setAttribute","setAttributeNS","namespace","className","addEventListener","handler","delegate","handlerFn","classList","classKeys","prevKeys","toggleClassKey","classValue","style","nodeStyle","spread","skipChildren","prevProps","insertExpression","assign","use","arg","parent","accessor","marker","initial","skipRef","assignProp","toPropertyName","w","classNames","nameLen","isProp","isChildProp","propAlias","forceProp","h","ns","data","unwrapArray","multi","cleanChildren","array","currentArray","normalizeIncomingArray","appendNodes","normalized","unwrap","replacement","inserted","el","isParent","isServer","createBeforeLeave","listeners","subscribe","confirm","to","force","depth","saveCurrentDepth","keepDepth","notifyIfNotBlocked","notify","block","prevDepth","delta","hasSchemeRegex","trimPathRegex","mockBase","normalizePath","path","omitSlash","resolvePath","base","from","basePath","fromPath","invariant","message","joinPaths","extractSearchParams","url","params","createMatcher","partial","matchFilters","pattern","splat","segments","location","locSegments","lenDiff","match","matchFilter","segment","locSegment","matchSegment","remainder","filter","isEqual","scoreRoute","route","score","createMemoObject","expandOptionals","prefix","suffix","prefixes","expansion","MAX_REDIRECTS","RouterContextObj","RouteContextObj","useRouter","useNavigate","useLocation","useParams","createRoutes","routeDef","component","info","isLeaf","shared","asArray","acc","originalPath","expandedPath","createBranch","routes","matches","createBranches","stack","branches","routeDefs","def","isEmptyArray","branch","getRouteMatches","createLocation","origin","path_","pathname","search","hash","intent","createRouterContext","integration","getContext","setSource","utils","parsePath","renderPath","beforeLeave","isRouting","setIsRouting","callback","reference","setReference","referrers","submissions","m","baseRoute","navigatorFactory","preloadRoute","navigateFromRoute","replace","resolve","scroll","nextState","resolvedTo","navigateEnd","next","first","preloadData","prevIntent","createRouteContext","router","outlet","createRouterComponent","routerState","singleFlight","_$createComponent","Provider","Root","rootLoad","_$memo","Routes","when","routeStates","nextMatches","prevMatches","equal","prevMatch","nextMatch","createOutlet","splice","forEach","Route","childRoutes","intercept","get","querySelector","selector","createRouter","config","wrap","signal","bindEvent","type","scrollToHash","fallbackTop","actions","setupNativeEvents","preload","explicitLinks","actionBase","preloadTimeout","isSvg","handleAnchor","evt","svg","href","rel","handleAnchorClick","handleAnchorPreload","handleAnchorIn","handleAnchorOut","handleFormSubmit","actionRef","Router","getSource","Layout","Home","navigate","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","_el$5","_el$6","nextSibling","_el$7","$$click","setProperty","_$effect","_p$","_v$","styles","_v$2","column","_v$3","_v$4","box","_v$5","title","_v$6","row","_v$7","question","_$className","undefined","_$delegateEvents","URI_API","SORT","authorization","setAuthorization","fetch","uri","r","queryize","k","api","body","asset","Meta","meta","formatTime","created","Math","round","floor","Date","getTime","max","_$insert","_c$","reply_count","_tmpl$2","bar","Text","anchorize","text","regex","startsWith","link","greentext","innerHTML","Image","_$setAttribute","src","Triangle","class","fill","strokeWidth","stroke","_$style","Pause","_v$8","_v$9","_v$10","Cross","_tmpl$3","_v$11","_v$12","_v$13","_v$14","_v$15","Controls","controls","duration","progress","isPlaying","setIsPlaying","isVisible","setIsVisible","isScrubbing","setIsScrubbing","updateSize","top","offsetTop","left","offsetLeft","width","offsetWidth","height","offsetHeight","overlay","window","updateProgress","percent","currentTime","setTimeout","PROGRESS_UPDATE_INTERVAL","scrub","isNaN","pause","controlRect","getBoundingClientRect","percentage","clientX","play","togglePlayback","timeControl","timeHover","toggleHover","now","move","buttons","lift","$$keydown","exit","$$mouseup","$$mousemove","stopPropagation","_ref$","_$use","transform","_ref$2","_ref$3","HTMLAudioElement","active","playing","Audio","_$mergeProps","Video","isIOS","userAgent","navigator","toLowerCase","test","Link","formatSize","bytes","units","log","pow","size","File","_c$2","_c$3","Media","Files","files","_$For","each","file","elements","Resource","resource","preventDefault","DELETE","then","ok","getElementById","remove","delete","_c$4","Resources","resources","GET","Select","setActive","rOptions","selection","label","setSelection","option","_$addEventListener","onInput","placeholder","DialogAdmin","admin","session","sessionStorage","getItem","JSON","parse","setItem","stringify","Navigation","Post","sort","setSort","Sort","Create","attachment","editor","setResource","equals","updateHeight","scrollHeight","send","POST","catch","console","drop","reduce","Object","values","scrollTo","innerHeight","_el$8","_el$9","_el$10","_el$11","_el$12","_el$13","_el$14","$$input","_el$15","f","_el$16","_tmpl$4","_el$17","_el$18","focus","_el$19","_tmpl$5","radius","click","_ref$4","gap","tools","upload","__viteBrowserExternal","QR8bitByte","QRMode","byteArray","buffer","QRCodeModel","typeNumber","errorCorrectLevel","newData","col","maskPattern","minLostPoint","lostPoint","QRUtil","target_mc","instance_name","qr_mc","cs","y","x","dark","pos","bits","mod","inc","bitIndex","byteIndex","mask","dataList","rsBlocks","QRRSBlock","QRBitBuffer","totalDataCount","offset","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","rsPoly","rawPoly","QRPolynomial","modPoly","modIndex","totalCodeCount","QRErrorCorrectLevel","QRMaskPattern","digit","errorCorrectLength","QRMath","mode","qrCode","moduleCount","sameCount","count","darkCount","ratio","num","shift","totalCount","dataCount","rsBlock","bufIndex","bit","QRCodeLimitLength","QRCode","_getErrorCorrectLevel","ecl","_getTypeNumber","content","_getUTF8Length","limit","table","opt","modules","pretty","indent","EOL","xsize","ysize","join","swap","xmlDeclaration","predefined","defs","bgrect","modrect","pathdata","module","px","py","fs","require$$0","QR","onClick","ref","color","background","padding","container","Share","qr","history","back","r$","Admin","Test"],"mappings":"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,QACA,YACA,WACA,UACA,WACA,UACA,WACA,iBACA,SACA,gBACA,QACA,QACA,OACA,WACA,QACA,WACA,aACA,OACA,cACA,WACA,WACA,WACA,WACA,UACF,EACMC,GAA2B,IAAI,IAAI,CACvC,YACA,QACA,WACA,iBACA,QACA,WACA,cACA,GAAGD,EACL,CAAC,EACKE,GAAgC,IAAI,IAAI,CAC5C,YACA,cACA,YACA,UACF,CAAC,EACKC,GAAwB,OAAO,OAAO,OAAO,OAAO,IAAI,EAAG,CAC/D,UAAW,QACX,QAAS,KACX,CAAC,EACKC,GAA4B,OAAO,OAAO,OAAO,OAAO,IAAI,EAAG,CACnE,MAAO,YACP,eAAgB,CACd,EAAG,iBACH,OAAQ,EACR,MAAO,CACR,EACD,MAAO,CACL,EAAG,QACH,IAAK,CACN,EACD,SAAU,CACR,EAAG,WACH,OAAQ,CACT,EACD,YAAa,CACX,EAAG,cACH,MAAO,CACR,EACD,SAAU,CACR,EAAG,WACH,MAAO,EACP,SAAU,CACX,CACH,CAAC,EACD,SAASC,GAAaC,EAAMC,EAAS,CACnC,MAAMjM,EAAI8L,GAAYE,CAAI,EAC1B,OAAO,OAAOhM,GAAM,SAAYA,EAAEiM,CAAO,EAAIjM,EAAE,EAAO,OAAaA,CACrE,CACA,MAAMkM,GAAgC,IAAI,IAAI,CAC5C,cACA,QACA,WACA,cACA,UACA,WACA,QACA,UACA,QACA,YACA,YACA,WACA,YACA,UACA,cACA,cACA,aACA,cACA,YACA,WACA,YACA,YACF,CAAC,EA+EKC,GAAe,CACnB,MAAO,+BACP,IAAK,sCACP,EA2RA,SAASC,GAAgBC,EAAYrM,EAAGC,EAAG,CACzC,IAAIqM,EAAUrM,EAAE,OACdsM,EAAOvM,EAAE,OACTwM,EAAOF,EACPG,EAAS,EACTC,EAAS,EACTC,EAAQ3M,EAAEuM,EAAO,CAAC,EAAE,YACpBK,EAAM,KACR,KAAOH,EAASF,GAAQG,EAASF,GAAM,CACrC,GAAIxM,EAAEyM,CAAM,IAAMxM,EAAEyM,CAAM,EAAG,CAC3BD,IACAC,IACA,QACD,CACD,KAAO1M,EAAEuM,EAAO,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AAK,UAAUC,CAAU,CACtI/B,EAAU,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,33]}