// node_modules/esm-env/true.js var true_default = true; // node_modules/svelte/src/internal/shared/utils.js var is_array = Array.isArray; var index_of = Array.prototype.indexOf; var array_from = Array.from; var object_keys = Object.keys; var define_property = Object.defineProperty; var get_descriptor = Object.getOwnPropertyDescriptor; var object_prototype = Object.prototype; var array_prototype = Array.prototype; var get_prototype_of = Object.getPrototypeOf; var is_extensible = Object.isExtensible; var noop = () => { }; function run_all(arr) { for (var i = 0; i < arr.length; i++) { arr[i](); } } function deferred() { var resolve; var reject; var promise = new Promise((res, rej) => { resolve = res; reject = rej; }); return { promise, resolve, reject }; } // node_modules/svelte/src/internal/client/constants.js var DERIVED = 1 << 1; var EFFECT = 1 << 2; var RENDER_EFFECT = 1 << 3; var MANAGED_EFFECT = 1 << 24; var BLOCK_EFFECT = 1 << 4; var BRANCH_EFFECT = 1 << 5; var ROOT_EFFECT = 1 << 6; var BOUNDARY_EFFECT = 1 << 7; var CONNECTED = 1 << 9; var CLEAN = 1 << 10; var DIRTY = 1 << 11; var MAYBE_DIRTY = 1 << 12; var INERT = 1 << 13; var DESTROYED = 1 << 14; var EFFECT_RAN = 1 << 15; var EFFECT_TRANSPARENT = 1 << 16; var EAGER_EFFECT = 1 << 17; var HEAD_EFFECT = 1 << 18; var EFFECT_PRESERVED = 1 << 19; var USER_EFFECT = 1 << 20; var EFFECT_OFFSCREEN = 1 << 25; var WAS_MARKED = 1 << 15; var REACTION_IS_UPDATING = 1 << 21; var ASYNC = 1 << 22; var ERROR_VALUE = 1 << 23; var STATE_SYMBOL = /* @__PURE__ */ Symbol("$state"); var LEGACY_PROPS = /* @__PURE__ */ Symbol("legacy props"); var PROXY_PATH_SYMBOL = /* @__PURE__ */ Symbol("proxy path"); var STALE_REACTION = new class StaleReactionError extends Error { name = "StaleReactionError"; message = "The reaction that called `getAbortSignal()` was re-run or destroyed"; }(); var ELEMENT_NODE = 1; var COMMENT_NODE = 8; // node_modules/svelte/src/internal/shared/errors.js function experimental_async_required(name) { if (true_default) { const error = new Error(`experimental_async_required Cannot use \`${name}(...)\` unless the \`experimental.async\` compiler option is \`true\` https://svelte.dev/e/experimental_async_required`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/experimental_async_required`); } } function lifecycle_outside_component(name) { if (true_default) { const error = new Error(`lifecycle_outside_component \`${name}(...)\` can only be used during component initialisation https://svelte.dev/e/lifecycle_outside_component`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/lifecycle_outside_component`); } } function missing_context() { if (true_default) { const error = new Error(`missing_context Context was not set in a parent component https://svelte.dev/e/missing_context`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/missing_context`); } } // node_modules/svelte/src/internal/client/errors.js function derived_references_self() { if (true_default) { const error = new Error(`derived_references_self A derived value cannot reference itself recursively https://svelte.dev/e/derived_references_self`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/derived_references_self`); } } function effect_in_teardown(rune) { if (true_default) { const error = new Error(`effect_in_teardown \`${rune}\` cannot be used inside an effect cleanup function https://svelte.dev/e/effect_in_teardown`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_in_teardown`); } } function effect_in_unowned_derived() { if (true_default) { const error = new Error(`effect_in_unowned_derived Effect cannot be created inside a \`$derived\` value that was not itself created inside an effect https://svelte.dev/e/effect_in_unowned_derived`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_in_unowned_derived`); } } function effect_orphan(rune) { if (true_default) { const error = new Error(`effect_orphan \`${rune}\` can only be used inside an effect (e.g. during component initialisation) https://svelte.dev/e/effect_orphan`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_orphan`); } } function effect_update_depth_exceeded() { if (true_default) { const error = new Error(`effect_update_depth_exceeded Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state https://svelte.dev/e/effect_update_depth_exceeded`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/effect_update_depth_exceeded`); } } function fork_discarded() { if (true_default) { const error = new Error(`fork_discarded Cannot commit a fork that was already discarded https://svelte.dev/e/fork_discarded`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/fork_discarded`); } } function fork_timing() { if (true_default) { const error = new Error(`fork_timing Cannot create a fork inside an effect or when state changes are pending https://svelte.dev/e/fork_timing`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/fork_timing`); } } function get_abort_signal_outside_reaction() { if (true_default) { const error = new Error(`get_abort_signal_outside_reaction \`getAbortSignal()\` can only be called inside an effect or derived https://svelte.dev/e/get_abort_signal_outside_reaction`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`); } } function hydratable_missing_but_required(key2) { if (true_default) { const error = new Error(`hydratable_missing_but_required Expected to find a hydratable with key \`${key2}\` during hydration, but did not. https://svelte.dev/e/hydratable_missing_but_required`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/hydratable_missing_but_required`); } } function hydration_failed() { if (true_default) { const error = new Error(`hydration_failed Failed to hydrate the application https://svelte.dev/e/hydration_failed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/hydration_failed`); } } function lifecycle_legacy_only(name) { if (true_default) { const error = new Error(`lifecycle_legacy_only \`${name}(...)\` cannot be used in runes mode https://svelte.dev/e/lifecycle_legacy_only`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/lifecycle_legacy_only`); } } function rune_outside_svelte(rune) { if (true_default) { const error = new Error(`rune_outside_svelte The \`${rune}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files https://svelte.dev/e/rune_outside_svelte`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/rune_outside_svelte`); } } function set_context_after_init() { if (true_default) { const error = new Error(`set_context_after_init \`setContext\` must be called when a component first initializes, not in a subsequent effect or after an \`await\` expression https://svelte.dev/e/set_context_after_init`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/set_context_after_init`); } } function state_descriptors_fixed() { if (true_default) { const error = new Error(`state_descriptors_fixed Property descriptors defined on \`$state\` objects must contain \`value\` and always be \`enumerable\`, \`configurable\` and \`writable\`. https://svelte.dev/e/state_descriptors_fixed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_descriptors_fixed`); } } function state_prototype_fixed() { if (true_default) { const error = new Error(`state_prototype_fixed Cannot set prototype of \`$state\` object https://svelte.dev/e/state_prototype_fixed`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_prototype_fixed`); } } function state_unsafe_mutation() { if (true_default) { const error = new Error(`state_unsafe_mutation Updating state inside \`$derived(...)\`, \`$inspect(...)\` or a template expression is forbidden. If the value should not be reactive, declare it without \`$state\` https://svelte.dev/e/state_unsafe_mutation`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/state_unsafe_mutation`); } } function svelte_boundary_reset_onerror() { if (true_default) { const error = new Error(`svelte_boundary_reset_onerror A \`\` \`reset\` function cannot be called while an error is still being handled https://svelte.dev/e/svelte_boundary_reset_onerror`); error.name = "Svelte error"; throw error; } else { throw new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`); } } // node_modules/svelte/src/constants.js var EACH_INDEX_REACTIVE = 1 << 1; var EACH_IS_CONTROLLED = 1 << 2; var EACH_IS_ANIMATED = 1 << 3; var EACH_ITEM_IMMUTABLE = 1 << 4; var PROPS_IS_RUNES = 1 << 1; var PROPS_IS_UPDATED = 1 << 2; var PROPS_IS_BINDABLE = 1 << 3; var PROPS_IS_LAZY_INITIAL = 1 << 4; var TRANSITION_OUT = 1 << 1; var TRANSITION_GLOBAL = 1 << 2; var TEMPLATE_USE_IMPORT_NODE = 1 << 1; var TEMPLATE_USE_SVG = 1 << 2; var TEMPLATE_USE_MATHML = 1 << 3; var HYDRATION_START = "["; var HYDRATION_START_ELSE = "[!"; var HYDRATION_END = "]"; var HYDRATION_ERROR = {}; var ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1; var ELEMENT_IS_INPUT = 1 << 2; var UNINITIALIZED = /* @__PURE__ */ Symbol(); var FILENAME = /* @__PURE__ */ Symbol("filename"); // node_modules/svelte/src/internal/client/warnings.js var bold = "font-weight: bold"; var normal = "font-weight: normal"; function hydratable_missing_but_expected(key2) { if (true_default) { console.warn(`%c[svelte] hydratable_missing_but_expected %cExpected to find a hydratable with key \`${key2}\` during hydration, but did not. https://svelte.dev/e/hydratable_missing_but_expected`, bold, normal); } else { console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`); } } function hydration_mismatch(location) { if (true_default) { console.warn( `%c[svelte] hydration_mismatch %c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : "Hydration failed because the initial UI does not match what was rendered on the server"} https://svelte.dev/e/hydration_mismatch`, bold, normal ); } else { console.warn(`https://svelte.dev/e/hydration_mismatch`); } } function invalid_raw_snippet_render() { if (true_default) { console.warn(`%c[svelte] invalid_raw_snippet_render %cThe \`render\` function passed to \`createRawSnippet\` should return HTML for a single element https://svelte.dev/e/invalid_raw_snippet_render`, bold, normal); } else { console.warn(`https://svelte.dev/e/invalid_raw_snippet_render`); } } function lifecycle_double_unmount() { if (true_default) { console.warn(`%c[svelte] lifecycle_double_unmount %cTried to unmount a component that was not mounted https://svelte.dev/e/lifecycle_double_unmount`, bold, normal); } else { console.warn(`https://svelte.dev/e/lifecycle_double_unmount`); } } function state_proxy_equality_mismatch(operator) { if (true_default) { console.warn(`%c[svelte] state_proxy_equality_mismatch %cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${operator}\` will produce unexpected results https://svelte.dev/e/state_proxy_equality_mismatch`, bold, normal); } else { console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`); } } function state_proxy_unmount() { if (true_default) { console.warn(`%c[svelte] state_proxy_unmount %cTried to unmount a state proxy, rather than a component https://svelte.dev/e/state_proxy_unmount`, bold, normal); } else { console.warn(`https://svelte.dev/e/state_proxy_unmount`); } } function svelte_boundary_reset_noop() { if (true_default) { console.warn(`%c[svelte] svelte_boundary_reset_noop %cA \`\` \`reset\` function only resets the boundary the first time it is called https://svelte.dev/e/svelte_boundary_reset_noop`, bold, normal); } else { console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`); } } // node_modules/svelte/src/internal/client/dom/hydration.js var hydrating = false; function set_hydrating(value) { hydrating = value; } var hydrate_node; function set_hydrate_node(node) { if (node === null) { hydration_mismatch(); throw HYDRATION_ERROR; } return hydrate_node = node; } function hydrate_next() { return set_hydrate_node(get_next_sibling(hydrate_node)); } function next(count = 1) { if (hydrating) { var i = count; var node = hydrate_node; while (i--) { node = /** @type {TemplateNode} */ get_next_sibling(node); } hydrate_node = node; } } function skip_nodes(remove = true) { var depth = 0; var node = hydrate_node; while (true) { if (node.nodeType === COMMENT_NODE) { var data = ( /** @type {Comment} */ node.data ); if (data === HYDRATION_END) { if (depth === 0) return node; depth -= 1; } else if (data === HYDRATION_START || data === HYDRATION_START_ELSE) { depth += 1; } } var next2 = ( /** @type {TemplateNode} */ get_next_sibling(node) ); if (remove) node.remove(); node = next2; } } // node_modules/svelte/src/internal/client/reactivity/equality.js function equals(value) { return value === this.v; } function safe_not_equal(a, b) { return a != a ? b == b : a !== b || a !== null && typeof a === "object" || typeof a === "function"; } function safe_equals(value) { return !safe_not_equal(value, this.v); } // node_modules/svelte/src/internal/flags/index.js var async_mode_flag = false; var legacy_mode_flag = false; var tracing_mode_flag = false; // node_modules/svelte/src/internal/client/dev/tracing.js var tracing_expressions = null; function tag(source2, label) { source2.label = label; tag_proxy(source2.v, label); return source2; } function tag_proxy(value, label) { value?.[PROXY_PATH_SYMBOL]?.(label); return value; } // node_modules/svelte/src/internal/shared/dev.js function get_error(label) { const error = new Error(); const stack2 = get_stack(); if (stack2.length === 0) { return null; } stack2.unshift("\n"); define_property(error, "stack", { value: stack2.join("\n") }); define_property(error, "name", { value: label }); return ( /** @type {Error & { stack: string }} */ error ); } function get_stack() { const limit = Error.stackTraceLimit; Error.stackTraceLimit = Infinity; const stack2 = new Error().stack; Error.stackTraceLimit = limit; if (!stack2) return []; const lines = stack2.split("\n"); const new_lines = []; for (let i = 0; i < lines.length; i++) { const line = lines[i]; const posixified = line.replaceAll("\\", "/"); if (line.trim() === "Error") { continue; } if (line.includes("validate_each_keys")) { return []; } if (posixified.includes("svelte/src/internal") || posixified.includes("node_modules/.vite")) { continue; } new_lines.push(line); } return new_lines; } // node_modules/svelte/src/internal/client/context.js var component_context = null; function set_component_context(context) { component_context = context; } var dev_stack = null; function set_dev_stack(stack2) { dev_stack = stack2; } var dev_current_component_function = null; function set_dev_current_component_function(fn) { dev_current_component_function = fn; } function createContext() { const key2 = {}; return [ () => { if (!hasContext(key2)) { missing_context(); } return getContext(key2); }, (context) => setContext(key2, context) ]; } function getContext(key2) { const context_map = get_or_init_context_map("getContext"); const result = ( /** @type {T} */ context_map.get(key2) ); return result; } function setContext(key2, context) { const context_map = get_or_init_context_map("setContext"); if (async_mode_flag) { var flags2 = ( /** @type {Effect} */ active_effect.f ); var valid = !active_reaction && (flags2 & BRANCH_EFFECT) !== 0 && // pop() runs synchronously, so this indicates we're setting context after an await !/** @type {ComponentContext} */ component_context.i; if (!valid) { set_context_after_init(); } } context_map.set(key2, context); return context; } function hasContext(key2) { const context_map = get_or_init_context_map("hasContext"); return context_map.has(key2); } function getAllContexts() { const context_map = get_or_init_context_map("getAllContexts"); return ( /** @type {T} */ context_map ); } function push(props, runes = false, fn) { component_context = { p: component_context, i: false, c: null, e: null, s: props, x: null, l: legacy_mode_flag && !runes ? { s: null, u: null, $: [] } : null }; if (true_default) { component_context.function = fn; dev_current_component_function = fn; } } function pop(component2) { var context = ( /** @type {ComponentContext} */ component_context ); var effects = context.e; if (effects !== null) { context.e = null; for (var fn of effects) { create_user_effect(fn); } } if (component2 !== void 0) { context.x = component2; } context.i = true; component_context = context.p; if (true_default) { dev_current_component_function = component_context?.function ?? null; } return component2 ?? /** @type {T} */ {}; } function is_runes() { return !legacy_mode_flag || component_context !== null && component_context.l === null; } function get_or_init_context_map(name) { if (component_context === null) { lifecycle_outside_component(name); } return component_context.c ??= new Map(get_parent_context(component_context) || void 0); } function get_parent_context(component_context2) { let parent = component_context2.p; while (parent !== null) { const context_map = parent.c; if (context_map !== null) { return context_map; } parent = parent.p; } return null; } // node_modules/svelte/src/internal/client/dom/task.js var micro_tasks = []; function run_micro_tasks() { var tasks = micro_tasks; micro_tasks = []; run_all(tasks); } function queue_micro_task(fn) { if (micro_tasks.length === 0 && !is_flushing_sync) { var tasks = micro_tasks; queueMicrotask(() => { if (tasks === micro_tasks) run_micro_tasks(); }); } micro_tasks.push(fn); } function flush_tasks() { while (micro_tasks.length > 0) { run_micro_tasks(); } } // node_modules/svelte/src/internal/client/error-handling.js var adjustments = /* @__PURE__ */ new WeakMap(); function handle_error(error) { var effect2 = active_effect; if (effect2 === null) { active_reaction.f |= ERROR_VALUE; return error; } if (true_default && error instanceof Error && !adjustments.has(error)) { adjustments.set(error, get_adjustments(error, effect2)); } if ((effect2.f & EFFECT_RAN) === 0) { if ((effect2.f & BOUNDARY_EFFECT) === 0) { if (true_default && !effect2.parent && error instanceof Error) { apply_adjustments(error); } throw error; } effect2.b.error(error); } else { invoke_error_boundary(error, effect2); } } function invoke_error_boundary(error, effect2) { while (effect2 !== null) { if ((effect2.f & BOUNDARY_EFFECT) !== 0) { try { effect2.b.error(error); return; } catch (e) { error = e; } } effect2 = effect2.parent; } if (true_default && error instanceof Error) { apply_adjustments(error); } throw error; } function get_adjustments(error, effect2) { const message_descriptor = get_descriptor(error, "message"); if (message_descriptor && !message_descriptor.configurable) return; var indent = is_firefox ? " " : " "; var component_stack = ` ${indent}in ${effect2.fn?.name || ""}`; var context = effect2.ctx; while (context !== null) { component_stack += ` ${indent}in ${context.function?.[FILENAME].split("/").pop()}`; context = context.p; } return { message: error.message + ` ${component_stack} `, stack: error.stack?.split("\n").filter((line) => !line.includes("svelte/src/internal")).join("\n") }; } function apply_adjustments(error) { const adjusted = adjustments.get(error); if (adjusted) { define_property(error, "message", { value: adjusted.message }); define_property(error, "stack", { value: adjusted.stack }); } } // node_modules/svelte/src/internal/client/reactivity/batch.js var batches = /* @__PURE__ */ new Set(); var current_batch = null; var previous_batch = null; var batch_values = null; var queued_root_effects = []; var last_scheduled_effect = null; var is_flushing = false; var is_flushing_sync = false; var Batch = class _Batch { committed = false; /** * The current values of any sources that are updated in this batch * They keys of this map are identical to `this.#previous` * @type {Map} */ current = /* @__PURE__ */ new Map(); /** * The values of any sources that are updated in this batch _before_ those updates took place. * They keys of this map are identical to `this.#current` * @type {Map} */ previous = /* @__PURE__ */ new Map(); /** * When the batch is committed (and the DOM is updated), we need to remove old branches * and append new ones by calling the functions added inside (if/each/key/etc) blocks * @type {Set<() => void>} */ #commit_callbacks = /* @__PURE__ */ new Set(); /** * If a fork is discarded, we need to destroy any effects that are no longer needed * @type {Set<(batch: Batch) => void>} */ #discard_callbacks = /* @__PURE__ */ new Set(); /** * The number of async effects that are currently in flight */ #pending = 0; /** * The number of async effects that are currently in flight, _not_ inside a pending boundary */ #blocking_pending = 0; /** * A deferred that resolves when the batch is committed, used with `settled()` * TODO replace with Promise.withResolvers once supported widely enough * @type {{ promise: Promise, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null} */ #deferred = null; /** * Deferred effects (which run after async work has completed) that are DIRTY * @type {Set} */ #dirty_effects = /* @__PURE__ */ new Set(); /** * Deferred effects that are MAYBE_DIRTY * @type {Set} */ #maybe_dirty_effects = /* @__PURE__ */ new Set(); /** * A set of branches that still exist, but will be destroyed when this batch * is committed — we skip over these during `process` * @type {Set} */ skipped_effects = /* @__PURE__ */ new Set(); is_fork = false; is_deferred() { return this.is_fork || this.#blocking_pending > 0; } /** * * @param {Effect[]} root_effects */ process(root_effects) { queued_root_effects = []; previous_batch = null; this.apply(); var target = { parent: null, effect: null, effects: [], render_effects: [] }; for (const root of root_effects) { this.#traverse_effect_tree(root, target); } if (!this.is_fork) { this.#resolve(); } if (this.is_deferred()) { this.#defer_effects(target.effects); this.#defer_effects(target.render_effects); } else { previous_batch = this; current_batch = null; flush_queued_effects(target.render_effects); flush_queued_effects(target.effects); previous_batch = null; this.#deferred?.resolve(); } batch_values = null; } /** * Traverse the effect tree, executing effects or stashing * them for later execution as appropriate * @param {Effect} root * @param {EffectTarget} target */ #traverse_effect_tree(root, target) { root.f ^= CLEAN; var effect2 = root.first; while (effect2 !== null) { var flags2 = effect2.f; var is_branch = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0; var is_skippable_branch = is_branch && (flags2 & CLEAN) !== 0; var skip = is_skippable_branch || (flags2 & INERT) !== 0 || this.skipped_effects.has(effect2); if ((effect2.f & BOUNDARY_EFFECT) !== 0 && effect2.b?.is_pending()) { target = { parent: target, effect: effect2, effects: [], render_effects: [] }; } if (!skip && effect2.fn !== null) { if (is_branch) { effect2.f ^= CLEAN; } else if ((flags2 & EFFECT) !== 0) { target.effects.push(effect2); } else if (async_mode_flag && (flags2 & (RENDER_EFFECT | MANAGED_EFFECT)) !== 0) { target.render_effects.push(effect2); } else if (is_dirty(effect2)) { if ((effect2.f & BLOCK_EFFECT) !== 0) this.#dirty_effects.add(effect2); update_effect(effect2); } var child2 = effect2.first; if (child2 !== null) { effect2 = child2; continue; } } var parent = effect2.parent; effect2 = effect2.next; while (effect2 === null && parent !== null) { if (parent === target.effect) { this.#defer_effects(target.effects); this.#defer_effects(target.render_effects); target = /** @type {EffectTarget} */ target.parent; } effect2 = parent.next; parent = parent.parent; } } } /** * @param {Effect[]} effects */ #defer_effects(effects) { for (const e of effects) { if ((e.f & DIRTY) !== 0) { this.#dirty_effects.add(e); } else if ((e.f & MAYBE_DIRTY) !== 0) { this.#maybe_dirty_effects.add(e); } this.#clear_marked(e.deps); set_signal_status(e, CLEAN); } } /** * @param {Value[] | null} deps */ #clear_marked(deps) { if (deps === null) return; for (const dep of deps) { if ((dep.f & DERIVED) === 0 || (dep.f & WAS_MARKED) === 0) { continue; } dep.f ^= WAS_MARKED; this.#clear_marked( /** @type {Derived} */ dep.deps ); } } /** * Associate a change to a given source with the current * batch, noting its previous and current values * @param {Source} source * @param {any} value */ capture(source2, value) { if (!this.previous.has(source2)) { this.previous.set(source2, value); } if ((source2.f & ERROR_VALUE) === 0) { this.current.set(source2, source2.v); batch_values?.set(source2, source2.v); } } activate() { current_batch = this; this.apply(); } deactivate() { if (current_batch !== this) return; current_batch = null; batch_values = null; } flush() { this.activate(); if (queued_root_effects.length > 0) { flush_effects(); if (current_batch !== null && current_batch !== this) { return; } } else if (this.#pending === 0) { this.process([]); } this.deactivate(); } discard() { for (const fn of this.#discard_callbacks) fn(this); this.#discard_callbacks.clear(); } #resolve() { if (this.#blocking_pending === 0) { for (const fn of this.#commit_callbacks) fn(); this.#commit_callbacks.clear(); } if (this.#pending === 0) { this.#commit(); } } #commit() { if (batches.size > 1) { this.previous.clear(); var previous_batch_values = batch_values; var is_earlier = true; var dummy_target = { parent: null, effect: null, effects: [], render_effects: [] }; for (const batch of batches) { if (batch === this) { is_earlier = false; continue; } const sources = []; for (const [source2, value] of this.current) { if (batch.current.has(source2)) { if (is_earlier && value !== batch.current.get(source2)) { batch.current.set(source2, value); } else { continue; } } sources.push(source2); } if (sources.length === 0) { continue; } const others = [...batch.current.keys()].filter((s) => !this.current.has(s)); if (others.length > 0) { var prev_queued_root_effects = queued_root_effects; queued_root_effects = []; const marked = /* @__PURE__ */ new Set(); const checked = /* @__PURE__ */ new Map(); for (const source2 of sources) { mark_effects(source2, others, marked, checked); } if (queued_root_effects.length > 0) { current_batch = batch; batch.apply(); for (const root of queued_root_effects) { batch.#traverse_effect_tree(root, dummy_target); } batch.deactivate(); } queued_root_effects = prev_queued_root_effects; } } current_batch = null; batch_values = previous_batch_values; } this.committed = true; batches.delete(this); } /** * * @param {boolean} blocking */ increment(blocking) { this.#pending += 1; if (blocking) this.#blocking_pending += 1; } /** * * @param {boolean} blocking */ decrement(blocking) { this.#pending -= 1; if (blocking) this.#blocking_pending -= 1; this.revive(); } revive() { for (const e of this.#dirty_effects) { this.#maybe_dirty_effects.delete(e); set_signal_status(e, DIRTY); schedule_effect(e); } for (const e of this.#maybe_dirty_effects) { set_signal_status(e, MAYBE_DIRTY); schedule_effect(e); } this.flush(); } /** @param {() => void} fn */ oncommit(fn) { this.#commit_callbacks.add(fn); } /** @param {(batch: Batch) => void} fn */ ondiscard(fn) { this.#discard_callbacks.add(fn); } settled() { return (this.#deferred ??= deferred()).promise; } static ensure() { if (current_batch === null) { const batch = current_batch = new _Batch(); batches.add(current_batch); if (!is_flushing_sync) { _Batch.enqueue(() => { if (current_batch !== batch) { return; } batch.flush(); }); } } return current_batch; } /** @param {() => void} task */ static enqueue(task) { queue_micro_task(task); } apply() { if (!async_mode_flag || !this.is_fork && batches.size === 1) return; batch_values = new Map(this.current); for (const batch of batches) { if (batch === this) continue; for (const [source2, previous] of batch.previous) { if (!batch_values.has(source2)) { batch_values.set(source2, previous); } } } } }; function flushSync(fn) { var was_flushing_sync = is_flushing_sync; is_flushing_sync = true; try { var result; if (fn) { if (current_batch !== null) { flush_effects(); } result = fn(); } while (true) { flush_tasks(); if (queued_root_effects.length === 0) { current_batch?.flush(); if (queued_root_effects.length === 0) { last_scheduled_effect = null; return ( /** @type {T} */ result ); } } flush_effects(); } } finally { is_flushing_sync = was_flushing_sync; } } function flush_effects() { var was_updating_effect = is_updating_effect; is_flushing = true; var source_stacks = true_default ? /* @__PURE__ */ new Set() : null; try { var flush_count = 0; set_is_updating_effect(true); while (queued_root_effects.length > 0) { var batch = Batch.ensure(); if (flush_count++ > 1e3) { if (true_default) { var updates = /* @__PURE__ */ new Map(); for (const source2 of batch.current.keys()) { for (const [stack2, update2] of source2.updated ?? []) { var entry = updates.get(stack2); if (!entry) { entry = { error: update2.error, count: 0 }; updates.set(stack2, entry); } entry.count += update2.count; } } for (const update2 of updates.values()) { if (update2.error) { console.error(update2.error); } } } infinite_loop_guard(); } batch.process(queued_root_effects); old_values.clear(); if (true_default) { for (const source2 of batch.current.keys()) { source_stacks.add(source2); } } } } finally { is_flushing = false; set_is_updating_effect(was_updating_effect); last_scheduled_effect = null; if (true_default) { for ( const source2 of /** @type {Set} */ source_stacks ) { source2.updated = null; } } } } function infinite_loop_guard() { try { effect_update_depth_exceeded(); } catch (error) { if (true_default) { define_property(error, "stack", { value: "" }); } invoke_error_boundary(error, last_scheduled_effect); } } var eager_block_effects = null; function flush_queued_effects(effects) { var length = effects.length; if (length === 0) return; var i = 0; while (i < length) { var effect2 = effects[i++]; if ((effect2.f & (DESTROYED | INERT)) === 0 && is_dirty(effect2)) { eager_block_effects = /* @__PURE__ */ new Set(); update_effect(effect2); if (effect2.deps === null && effect2.first === null && effect2.nodes === null) { if (effect2.teardown === null && effect2.ac === null) { unlink_effect(effect2); } else { effect2.fn = null; } } if (eager_block_effects?.size > 0) { old_values.clear(); for (const e of eager_block_effects) { if ((e.f & (DESTROYED | INERT)) !== 0) continue; const ordered_effects = [e]; let ancestor = e.parent; while (ancestor !== null) { if (eager_block_effects.has(ancestor)) { eager_block_effects.delete(ancestor); ordered_effects.push(ancestor); } ancestor = ancestor.parent; } for (let j = ordered_effects.length - 1; j >= 0; j--) { const e2 = ordered_effects[j]; if ((e2.f & (DESTROYED | INERT)) !== 0) continue; update_effect(e2); } } eager_block_effects.clear(); } } } eager_block_effects = null; } function mark_effects(value, sources, marked, checked) { if (marked.has(value)) return; marked.add(value); if (value.reactions !== null) { for (const reaction of value.reactions) { const flags2 = reaction.f; if ((flags2 & DERIVED) !== 0) { mark_effects( /** @type {Derived} */ reaction, sources, marked, checked ); } else if ((flags2 & (ASYNC | BLOCK_EFFECT)) !== 0 && (flags2 & DIRTY) === 0 && depends_on(reaction, sources, checked)) { set_signal_status(reaction, DIRTY); schedule_effect( /** @type {Effect} */ reaction ); } } } } function mark_eager_effects(value, effects) { if (value.reactions === null) return; for (const reaction of value.reactions) { const flags2 = reaction.f; if ((flags2 & DERIVED) !== 0) { mark_eager_effects( /** @type {Derived} */ reaction, effects ); } else if ((flags2 & EAGER_EFFECT) !== 0) { set_signal_status(reaction, DIRTY); effects.add( /** @type {Effect} */ reaction ); } } } function depends_on(reaction, sources, checked) { const depends = checked.get(reaction); if (depends !== void 0) return depends; if (reaction.deps !== null) { for (const dep of reaction.deps) { if (sources.includes(dep)) { return true; } if ((dep.f & DERIVED) !== 0 && depends_on( /** @type {Derived} */ dep, sources, checked )) { checked.set( /** @type {Derived} */ dep, true ); return true; } } } checked.set(reaction, false); return false; } function schedule_effect(signal) { var effect2 = last_scheduled_effect = signal; while (effect2.parent !== null) { effect2 = effect2.parent; var flags2 = effect2.f; if (is_flushing && effect2 === active_effect && (flags2 & BLOCK_EFFECT) !== 0 && (flags2 & HEAD_EFFECT) === 0) { return; } if ((flags2 & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) { if ((flags2 & CLEAN) === 0) return; effect2.f ^= CLEAN; } } queued_root_effects.push(effect2); } function fork(fn) { if (!async_mode_flag) { experimental_async_required("fork"); } if (current_batch !== null) { fork_timing(); } var batch = Batch.ensure(); batch.is_fork = true; batch_values = /* @__PURE__ */ new Map(); var committed = false; var settled2 = batch.settled(); flushSync(fn); batch_values = null; for (var [source2, value] of batch.previous) { source2.v = value; } return { commit: async () => { if (committed) { await settled2; return; } if (!batches.has(batch)) { fork_discarded(); } committed = true; batch.is_fork = false; for (var [source3, value2] of batch.current) { source3.v = value2; } flushSync(() => { var eager_effects2 = /* @__PURE__ */ new Set(); for (var source4 of batch.current.keys()) { mark_eager_effects(source4, eager_effects2); } set_eager_effects(eager_effects2); flush_eager_effects(); }); batch.revive(); await settled2; }, discard: () => { if (!committed && batches.has(batch)) { batches.delete(batch); batch.discard(); } } }; } // node_modules/svelte/src/reactivity/create-subscriber.js function createSubscriber(start) { let subscribers = 0; let version = source(0); let stop; if (true_default) { tag(version, "createSubscriber version"); } return () => { if (effect_tracking()) { get(version); render_effect(() => { if (subscribers === 0) { stop = untrack(() => start(() => increment(version))); } subscribers += 1; return () => { queue_micro_task(() => { subscribers -= 1; if (subscribers === 0) { stop?.(); stop = void 0; increment(version); } }); }; }); } }; } // node_modules/svelte/src/internal/client/dom/blocks/boundary.js var flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED | BOUNDARY_EFFECT; function boundary(node, props, children) { new Boundary(node, props, children); } var Boundary = class { /** @type {Boundary | null} */ parent; #pending = false; /** @type {TemplateNode} */ #anchor; /** @type {TemplateNode | null} */ #hydrate_open = hydrating ? hydrate_node : null; /** @type {BoundaryProps} */ #props; /** @type {((anchor: Node) => void)} */ #children; /** @type {Effect} */ #effect; /** @type {Effect | null} */ #main_effect = null; /** @type {Effect | null} */ #pending_effect = null; /** @type {Effect | null} */ #failed_effect = null; /** @type {DocumentFragment | null} */ #offscreen_fragment = null; /** @type {TemplateNode | null} */ #pending_anchor = null; #local_pending_count = 0; #pending_count = 0; #is_creating_fallback = false; /** * A source containing the number of pending async deriveds/expressions. * Only created if `$effect.pending()` is used inside the boundary, * otherwise updating the source results in needless `Batch.ensure()` * calls followed by no-op flushes * @type {Source | null} */ #effect_pending = null; #effect_pending_subscriber = createSubscriber(() => { this.#effect_pending = source(this.#local_pending_count); if (true_default) { tag(this.#effect_pending, "$effect.pending()"); } return () => { this.#effect_pending = null; }; }); /** * @param {TemplateNode} node * @param {BoundaryProps} props * @param {((anchor: Node) => void)} children */ constructor(node, props, children) { this.#anchor = node; this.#props = props; this.#children = children; this.parent = /** @type {Effect} */ active_effect.b; this.#pending = !!this.#props.pending; this.#effect = block(() => { active_effect.b = this; if (hydrating) { const comment2 = this.#hydrate_open; hydrate_next(); const server_rendered_pending = ( /** @type {Comment} */ comment2.nodeType === COMMENT_NODE && /** @type {Comment} */ comment2.data === HYDRATION_START_ELSE ); if (server_rendered_pending) { this.#hydrate_pending_content(); } else { this.#hydrate_resolved_content(); } } else { var anchor = this.#get_anchor(); try { this.#main_effect = branch(() => children(anchor)); } catch (error) { this.error(error); } if (this.#pending_count > 0) { this.#show_pending_snippet(); } else { this.#pending = false; } } return () => { this.#pending_anchor?.remove(); }; }, flags); if (hydrating) { this.#anchor = hydrate_node; } } #hydrate_resolved_content() { try { this.#main_effect = branch(() => this.#children(this.#anchor)); } catch (error) { this.error(error); } this.#pending = false; } #hydrate_pending_content() { const pending2 = this.#props.pending; if (!pending2) { return; } this.#pending_effect = branch(() => pending2(this.#anchor)); Batch.enqueue(() => { var anchor = this.#get_anchor(); this.#main_effect = this.#run(() => { Batch.ensure(); return branch(() => this.#children(anchor)); }); if (this.#pending_count > 0) { this.#show_pending_snippet(); } else { pause_effect( /** @type {Effect} */ this.#pending_effect, () => { this.#pending_effect = null; } ); this.#pending = false; } }); } #get_anchor() { var anchor = this.#anchor; if (this.#pending) { this.#pending_anchor = create_text(); this.#anchor.before(this.#pending_anchor); anchor = this.#pending_anchor; } return anchor; } /** * Returns `true` if the effect exists inside a boundary whose pending snippet is shown * @returns {boolean} */ is_pending() { return this.#pending || !!this.parent && this.parent.is_pending(); } has_pending_snippet() { return !!this.#props.pending; } /** * @param {() => Effect | null} fn */ #run(fn) { var previous_effect = active_effect; var previous_reaction = active_reaction; var previous_ctx = component_context; set_active_effect(this.#effect); set_active_reaction(this.#effect); set_component_context(this.#effect.ctx); try { return fn(); } catch (e) { handle_error(e); return null; } finally { set_active_effect(previous_effect); set_active_reaction(previous_reaction); set_component_context(previous_ctx); } } #show_pending_snippet() { const pending2 = ( /** @type {(anchor: Node) => void} */ this.#props.pending ); if (this.#main_effect !== null) { this.#offscreen_fragment = document.createDocumentFragment(); this.#offscreen_fragment.append( /** @type {TemplateNode} */ this.#pending_anchor ); move_effect(this.#main_effect, this.#offscreen_fragment); } if (this.#pending_effect === null) { this.#pending_effect = branch(() => pending2(this.#anchor)); } } /** * Updates the pending count associated with the currently visible pending snippet, * if any, such that we can replace the snippet with content once work is done * @param {1 | -1} d */ #update_pending_count(d) { if (!this.has_pending_snippet()) { if (this.parent) { this.parent.#update_pending_count(d); } return; } this.#pending_count += d; if (this.#pending_count === 0) { this.#pending = false; if (this.#pending_effect) { pause_effect(this.#pending_effect, () => { this.#pending_effect = null; }); } if (this.#offscreen_fragment) { this.#anchor.before(this.#offscreen_fragment); this.#offscreen_fragment = null; } } } /** * Update the source that powers `$effect.pending()` inside this boundary, * and controls when the current `pending` snippet (if any) is removed. * Do not call from inside the class * @param {1 | -1} d */ update_pending_count(d) { this.#update_pending_count(d); this.#local_pending_count += d; if (this.#effect_pending) { internal_set(this.#effect_pending, this.#local_pending_count); } } get_effect_pending() { this.#effect_pending_subscriber(); return get( /** @type {Source} */ this.#effect_pending ); } /** @param {unknown} error */ error(error) { var onerror = this.#props.onerror; let failed = this.#props.failed; if (this.#is_creating_fallback || !onerror && !failed) { throw error; } if (this.#main_effect) { destroy_effect(this.#main_effect); this.#main_effect = null; } if (this.#pending_effect) { destroy_effect(this.#pending_effect); this.#pending_effect = null; } if (this.#failed_effect) { destroy_effect(this.#failed_effect); this.#failed_effect = null; } if (hydrating) { set_hydrate_node( /** @type {TemplateNode} */ this.#hydrate_open ); next(); set_hydrate_node(skip_nodes()); } var did_reset = false; var calling_on_error = false; const reset2 = () => { if (did_reset) { svelte_boundary_reset_noop(); return; } did_reset = true; if (calling_on_error) { svelte_boundary_reset_onerror(); } Batch.ensure(); this.#local_pending_count = 0; if (this.#failed_effect !== null) { pause_effect(this.#failed_effect, () => { this.#failed_effect = null; }); } this.#pending = this.has_pending_snippet(); this.#main_effect = this.#run(() => { this.#is_creating_fallback = false; return branch(() => this.#children(this.#anchor)); }); if (this.#pending_count > 0) { this.#show_pending_snippet(); } else { this.#pending = false; } }; var previous_reaction = active_reaction; try { set_active_reaction(null); calling_on_error = true; onerror?.(error, reset2); calling_on_error = false; } catch (error2) { invoke_error_boundary(error2, this.#effect && this.#effect.parent); } finally { set_active_reaction(previous_reaction); } if (failed) { queue_micro_task(() => { this.#failed_effect = this.#run(() => { Batch.ensure(); this.#is_creating_fallback = true; try { return branch(() => { failed( this.#anchor, () => error, () => reset2 ); }); } catch (error2) { invoke_error_boundary( error2, /** @type {Effect} */ this.#effect.parent ); return null; } finally { this.#is_creating_fallback = false; } }); }); } } }; // node_modules/svelte/src/internal/client/reactivity/deriveds.js var recent_async_deriveds = /* @__PURE__ */ new Set(); function destroy_derived_effects(derived3) { var effects = derived3.effects; if (effects !== null) { derived3.effects = null; for (var i = 0; i < effects.length; i += 1) { destroy_effect( /** @type {Effect} */ effects[i] ); } } } var stack = []; function get_derived_parent_effect(derived3) { var parent = derived3.parent; while (parent !== null) { if ((parent.f & DERIVED) === 0) { return (parent.f & DESTROYED) === 0 ? ( /** @type {Effect} */ parent ) : null; } parent = parent.parent; } return null; } function execute_derived(derived3) { var value; var prev_active_effect = active_effect; set_active_effect(get_derived_parent_effect(derived3)); if (true_default) { let prev_eager_effects = eager_effects; set_eager_effects(/* @__PURE__ */ new Set()); try { if (stack.includes(derived3)) { derived_references_self(); } stack.push(derived3); derived3.f &= ~WAS_MARKED; destroy_derived_effects(derived3); value = update_reaction(derived3); } finally { set_active_effect(prev_active_effect); set_eager_effects(prev_eager_effects); stack.pop(); } } else { try { derived3.f &= ~WAS_MARKED; destroy_derived_effects(derived3); value = update_reaction(derived3); } finally { set_active_effect(prev_active_effect); } } return value; } function update_derived(derived3) { var value = execute_derived(derived3); if (!derived3.equals(value)) { if (!current_batch?.is_fork) { derived3.v = value; } derived3.wv = increment_write_version(); } if (is_destroying_effect) { return; } if (batch_values !== null) { if (effect_tracking() || current_batch?.is_fork) { batch_values.set(derived3, value); } } else { var status = (derived3.f & CONNECTED) === 0 ? MAYBE_DIRTY : CLEAN; set_signal_status(derived3, status); } } // node_modules/svelte/src/internal/client/reactivity/sources.js var eager_effects = /* @__PURE__ */ new Set(); var old_values = /* @__PURE__ */ new Map(); function set_eager_effects(v) { eager_effects = v; } var eager_effects_deferred = false; function set_eager_effects_deferred() { eager_effects_deferred = true; } function source(v, stack2) { var signal = { f: 0, // TODO ideally we could skip this altogether, but it causes type errors v, reactions: null, equals, rv: 0, wv: 0 }; if (true_default && tracing_mode_flag) { signal.created = stack2 ?? get_error("created at"); signal.updated = null; signal.set_during_effect = false; signal.trace = null; } return signal; } function state(v, stack2) { const s = source(v, stack2); push_reaction_value(s); return s; } function mutable_source(initial_value, immutable = false, trackable = true) { const s = source(initial_value); if (!immutable) { s.equals = safe_equals; } if (legacy_mode_flag && trackable && component_context !== null && component_context.l !== null) { (component_context.l.s ??= []).push(s); } return s; } function set(source2, value, should_proxy = false) { if (active_reaction !== null && // since we are untracking the function inside `$inspect.with` we need to add this check // to ensure we error if state is set inside an inspect effect (!untracking || (active_reaction.f & EAGER_EFFECT) !== 0) && is_runes() && (active_reaction.f & (DERIVED | BLOCK_EFFECT | ASYNC | EAGER_EFFECT)) !== 0 && !current_sources?.includes(source2)) { state_unsafe_mutation(); } let new_value = should_proxy ? proxy(value) : value; if (true_default) { tag_proxy( new_value, /** @type {string} */ source2.label ); } return internal_set(source2, new_value); } function internal_set(source2, value) { if (!source2.equals(value)) { var old_value = source2.v; if (is_destroying_effect) { old_values.set(source2, value); } else { old_values.set(source2, old_value); } source2.v = value; var batch = Batch.ensure(); batch.capture(source2, old_value); if (true_default) { if (tracing_mode_flag || active_effect !== null) { source2.updated ??= /* @__PURE__ */ new Map(); const count = (source2.updated.get("")?.count ?? 0) + 1; source2.updated.set("", { error: ( /** @type {any} */ null ), count }); if (tracing_mode_flag || count > 5) { const error = get_error("updated at"); if (error !== null) { let entry = source2.updated.get(error.stack); if (!entry) { entry = { error, count: 0 }; source2.updated.set(error.stack, entry); } entry.count++; } } } if (active_effect !== null) { source2.set_during_effect = true; } } if ((source2.f & DERIVED) !== 0) { if ((source2.f & DIRTY) !== 0) { execute_derived( /** @type {Derived} */ source2 ); } set_signal_status(source2, (source2.f & CONNECTED) !== 0 ? CLEAN : MAYBE_DIRTY); } source2.wv = increment_write_version(); mark_reactions(source2, DIRTY); if (is_runes() && active_effect !== null && (active_effect.f & CLEAN) !== 0 && (active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0) { if (untracked_writes === null) { set_untracked_writes([source2]); } else { untracked_writes.push(source2); } } if (!batch.is_fork && eager_effects.size > 0 && !eager_effects_deferred) { flush_eager_effects(); } } return value; } function flush_eager_effects() { eager_effects_deferred = false; var prev_is_updating_effect = is_updating_effect; set_is_updating_effect(true); const inspects = Array.from(eager_effects); try { for (const effect2 of inspects) { if ((effect2.f & CLEAN) !== 0) { set_signal_status(effect2, MAYBE_DIRTY); } if (is_dirty(effect2)) { update_effect(effect2); } } } finally { set_is_updating_effect(prev_is_updating_effect); } eager_effects.clear(); } function increment(source2) { set(source2, source2.v + 1); } function mark_reactions(signal, status) { var reactions = signal.reactions; if (reactions === null) return; var runes = is_runes(); var length = reactions.length; for (var i = 0; i < length; i++) { var reaction = reactions[i]; var flags2 = reaction.f; if (!runes && reaction === active_effect) continue; if (true_default && (flags2 & EAGER_EFFECT) !== 0) { eager_effects.add(reaction); continue; } var not_dirty = (flags2 & DIRTY) === 0; if (not_dirty) { set_signal_status(reaction, status); } if ((flags2 & DERIVED) !== 0) { var derived3 = ( /** @type {Derived} */ reaction ); batch_values?.delete(derived3); if ((flags2 & WAS_MARKED) === 0) { if (flags2 & CONNECTED) { reaction.f |= WAS_MARKED; } mark_reactions(derived3, MAYBE_DIRTY); } } else if (not_dirty) { if ((flags2 & BLOCK_EFFECT) !== 0 && eager_block_effects !== null) { eager_block_effects.add( /** @type {Effect} */ reaction ); } schedule_effect( /** @type {Effect} */ reaction ); } } } // node_modules/svelte/src/internal/client/proxy.js var regex_is_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/; function proxy(value) { if (typeof value !== "object" || value === null || STATE_SYMBOL in value) { return value; } const prototype = get_prototype_of(value); if (prototype !== object_prototype && prototype !== array_prototype) { return value; } var sources = /* @__PURE__ */ new Map(); var is_proxied_array = is_array(value); var version = state(0); var stack2 = true_default && tracing_mode_flag ? get_error("created at") : null; var parent_version = update_version; var with_parent = (fn) => { if (update_version === parent_version) { return fn(); } var reaction = active_reaction; var version2 = update_version; set_active_reaction(null); set_update_version(parent_version); var result = fn(); set_active_reaction(reaction); set_update_version(version2); return result; }; if (is_proxied_array) { sources.set("length", state( /** @type {any[]} */ value.length, stack2 )); if (true_default) { value = /** @type {any} */ inspectable_array( /** @type {any[]} */ value ); } } var path = ""; let updating = false; function update_path(new_path) { if (updating) return; updating = true; path = new_path; tag(version, `${path} version`); for (const [prop2, source2] of sources) { tag(source2, get_label(path, prop2)); } updating = false; } return new Proxy( /** @type {any} */ value, { defineProperty(_, prop2, descriptor) { if (!("value" in descriptor) || descriptor.configurable === false || descriptor.enumerable === false || descriptor.writable === false) { state_descriptors_fixed(); } var s = sources.get(prop2); if (s === void 0) { s = with_parent(() => { var s2 = state(descriptor.value, stack2); sources.set(prop2, s2); if (true_default && typeof prop2 === "string") { tag(s2, get_label(path, prop2)); } return s2; }); } else { set(s, descriptor.value, true); } return true; }, deleteProperty(target, prop2) { var s = sources.get(prop2); if (s === void 0) { if (prop2 in target) { const s2 = with_parent(() => state(UNINITIALIZED, stack2)); sources.set(prop2, s2); increment(version); if (true_default) { tag(s2, get_label(path, prop2)); } } } else { set(s, UNINITIALIZED); increment(version); } return true; }, get(target, prop2, receiver) { if (prop2 === STATE_SYMBOL) { return value; } if (true_default && prop2 === PROXY_PATH_SYMBOL) { return update_path; } var s = sources.get(prop2); var exists = prop2 in target; if (s === void 0 && (!exists || get_descriptor(target, prop2)?.writable)) { s = with_parent(() => { var p = proxy(exists ? target[prop2] : UNINITIALIZED); var s2 = state(p, stack2); if (true_default) { tag(s2, get_label(path, prop2)); } return s2; }); sources.set(prop2, s); } if (s !== void 0) { var v = get(s); return v === UNINITIALIZED ? void 0 : v; } return Reflect.get(target, prop2, receiver); }, getOwnPropertyDescriptor(target, prop2) { var descriptor = Reflect.getOwnPropertyDescriptor(target, prop2); if (descriptor && "value" in descriptor) { var s = sources.get(prop2); if (s) descriptor.value = get(s); } else if (descriptor === void 0) { var source2 = sources.get(prop2); var value2 = source2?.v; if (source2 !== void 0 && value2 !== UNINITIALIZED) { return { enumerable: true, configurable: true, value: value2, writable: true }; } } return descriptor; }, has(target, prop2) { if (prop2 === STATE_SYMBOL) { return true; } var s = sources.get(prop2); var has = s !== void 0 && s.v !== UNINITIALIZED || Reflect.has(target, prop2); if (s !== void 0 || active_effect !== null && (!has || get_descriptor(target, prop2)?.writable)) { if (s === void 0) { s = with_parent(() => { var p = has ? proxy(target[prop2]) : UNINITIALIZED; var s2 = state(p, stack2); if (true_default) { tag(s2, get_label(path, prop2)); } return s2; }); sources.set(prop2, s); } var value2 = get(s); if (value2 === UNINITIALIZED) { return false; } } return has; }, set(target, prop2, value2, receiver) { var s = sources.get(prop2); var has = prop2 in target; if (is_proxied_array && prop2 === "length") { for (var i = value2; i < /** @type {Source} */ s.v; i += 1) { var other_s = sources.get(i + ""); if (other_s !== void 0) { set(other_s, UNINITIALIZED); } else if (i in target) { other_s = with_parent(() => state(UNINITIALIZED, stack2)); sources.set(i + "", other_s); if (true_default) { tag(other_s, get_label(path, i)); } } } } if (s === void 0) { if (!has || get_descriptor(target, prop2)?.writable) { s = with_parent(() => state(void 0, stack2)); if (true_default) { tag(s, get_label(path, prop2)); } set(s, proxy(value2)); sources.set(prop2, s); } } else { has = s.v !== UNINITIALIZED; var p = with_parent(() => proxy(value2)); set(s, p); } var descriptor = Reflect.getOwnPropertyDescriptor(target, prop2); if (descriptor?.set) { descriptor.set.call(receiver, value2); } if (!has) { if (is_proxied_array && typeof prop2 === "string") { var ls = ( /** @type {Source} */ sources.get("length") ); var n = Number(prop2); if (Number.isInteger(n) && n >= ls.v) { set(ls, n + 1); } } increment(version); } return true; }, ownKeys(target) { get(version); var own_keys = Reflect.ownKeys(target).filter((key3) => { var source3 = sources.get(key3); return source3 === void 0 || source3.v !== UNINITIALIZED; }); for (var [key2, source2] of sources) { if (source2.v !== UNINITIALIZED && !(key2 in target)) { own_keys.push(key2); } } return own_keys; }, setPrototypeOf() { state_prototype_fixed(); } } ); } function get_label(path, prop2) { if (typeof prop2 === "symbol") return `${path}[Symbol(${prop2.description ?? ""})]`; if (regex_is_valid_identifier.test(prop2)) return `${path}.${prop2}`; return /^\d+$/.test(prop2) ? `${path}[${prop2}]` : `${path}['${prop2}']`; } function get_proxied_value(value) { try { if (value !== null && typeof value === "object" && STATE_SYMBOL in value) { return value[STATE_SYMBOL]; } } catch { } return value; } var ARRAY_MUTATING_METHODS = /* @__PURE__ */ new Set([ "copyWithin", "fill", "pop", "push", "reverse", "shift", "sort", "splice", "unshift" ]); function inspectable_array(array) { return new Proxy(array, { get(target, prop2, receiver) { var value = Reflect.get(target, prop2, receiver); if (!ARRAY_MUTATING_METHODS.has( /** @type {string} */ prop2 )) { return value; } return function(...args) { set_eager_effects_deferred(); var result = value.apply(this, args); flush_eager_effects(); return result; }; } }); } // node_modules/svelte/src/internal/client/dev/equality.js function init_array_prototype_warnings() { const array_prototype2 = Array.prototype; const cleanup = Array.__svelte_cleanup; if (cleanup) { cleanup(); } const { indexOf, lastIndexOf, includes } = array_prototype2; array_prototype2.indexOf = function(item, from_index) { const index2 = indexOf.call(this, item, from_index); if (index2 === -1) { for (let i = from_index ?? 0; i < this.length; i += 1) { if (get_proxied_value(this[i]) === item) { state_proxy_equality_mismatch("array.indexOf(...)"); break; } } } return index2; }; array_prototype2.lastIndexOf = function(item, from_index) { const index2 = lastIndexOf.call(this, item, from_index ?? this.length - 1); if (index2 === -1) { for (let i = 0; i <= (from_index ?? this.length - 1); i += 1) { if (get_proxied_value(this[i]) === item) { state_proxy_equality_mismatch("array.lastIndexOf(...)"); break; } } } return index2; }; array_prototype2.includes = function(item, from_index) { const has = includes.call(this, item, from_index); if (!has) { for (let i = 0; i < this.length; i += 1) { if (get_proxied_value(this[i]) === item) { state_proxy_equality_mismatch("array.includes(...)"); break; } } } return has; }; Array.__svelte_cleanup = () => { array_prototype2.indexOf = indexOf; array_prototype2.lastIndexOf = lastIndexOf; array_prototype2.includes = includes; }; } // node_modules/svelte/src/internal/client/dom/operations.js var $window; var $document; var is_firefox; var first_child_getter; var next_sibling_getter; function init_operations() { if ($window !== void 0) { return; } $window = window; $document = document; is_firefox = /Firefox/.test(navigator.userAgent); var element_prototype = Element.prototype; var node_prototype = Node.prototype; var text_prototype = Text.prototype; first_child_getter = get_descriptor(node_prototype, "firstChild").get; next_sibling_getter = get_descriptor(node_prototype, "nextSibling").get; if (is_extensible(element_prototype)) { element_prototype.__click = void 0; element_prototype.__className = void 0; element_prototype.__attributes = null; element_prototype.__style = void 0; element_prototype.__e = void 0; } if (is_extensible(text_prototype)) { text_prototype.__t = void 0; } if (true_default) { element_prototype.__svelte_meta = null; init_array_prototype_warnings(); } } function create_text(value = "") { return document.createTextNode(value); } function get_first_child(node) { return ( /** @type {TemplateNode | null} */ first_child_getter.call(node) ); } function get_next_sibling(node) { return ( /** @type {TemplateNode | null} */ next_sibling_getter.call(node) ); } function clear_text_content(node) { node.textContent = ""; } // node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js function without_reactive_context(fn) { var previous_reaction = active_reaction; var previous_effect = active_effect; set_active_reaction(null); set_active_effect(null); try { return fn(); } finally { set_active_reaction(previous_reaction); set_active_effect(previous_effect); } } // node_modules/svelte/src/internal/client/reactivity/effects.js function validate_effect(rune) { if (active_effect === null) { if (active_reaction === null) { effect_orphan(rune); } effect_in_unowned_derived(); } if (is_destroying_effect) { effect_in_teardown(rune); } } function push_effect(effect2, parent_effect) { var parent_last = parent_effect.last; if (parent_last === null) { parent_effect.last = parent_effect.first = effect2; } else { parent_last.next = effect2; effect2.prev = parent_last; parent_effect.last = effect2; } } function create_effect(type, fn, sync) { var parent = active_effect; if (true_default) { while (parent !== null && (parent.f & EAGER_EFFECT) !== 0) { parent = parent.parent; } } if (parent !== null && (parent.f & INERT) !== 0) { type |= INERT; } var effect2 = { ctx: component_context, deps: null, nodes: null, f: type | DIRTY | CONNECTED, first: null, fn, last: null, next: null, parent, b: parent && parent.b, prev: null, teardown: null, wv: 0, ac: null }; if (true_default) { effect2.component_function = dev_current_component_function; } if (sync) { try { update_effect(effect2); effect2.f |= EFFECT_RAN; } catch (e2) { destroy_effect(effect2); throw e2; } } else if (fn !== null) { schedule_effect(effect2); } var e = effect2; if (sync && e.deps === null && e.teardown === null && e.nodes === null && e.first === e.last && // either `null`, or a singular child (e.f & EFFECT_PRESERVED) === 0) { e = e.first; if ((type & BLOCK_EFFECT) !== 0 && (type & EFFECT_TRANSPARENT) !== 0 && e !== null) { e.f |= EFFECT_TRANSPARENT; } } if (e !== null) { e.parent = parent; if (parent !== null) { push_effect(e, parent); } if (active_reaction !== null && (active_reaction.f & DERIVED) !== 0 && (type & ROOT_EFFECT) === 0) { var derived3 = ( /** @type {Derived} */ active_reaction ); (derived3.effects ??= []).push(e); } } return effect2; } function effect_tracking() { return active_reaction !== null && !untracking; } function teardown(fn) { const effect2 = create_effect(RENDER_EFFECT, null, false); set_signal_status(effect2, CLEAN); effect2.teardown = fn; return effect2; } function user_effect(fn) { validate_effect("$effect"); if (true_default) { define_property(fn, "name", { value: "$effect" }); } var flags2 = ( /** @type {Effect} */ active_effect.f ); var defer = !active_reaction && (flags2 & BRANCH_EFFECT) !== 0 && (flags2 & EFFECT_RAN) === 0; if (defer) { var context = ( /** @type {ComponentContext} */ component_context ); (context.e ??= []).push(fn); } else { return create_user_effect(fn); } } function create_user_effect(fn) { return create_effect(EFFECT | USER_EFFECT, fn, false); } function effect_root(fn) { Batch.ensure(); const effect2 = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn, true); return () => { destroy_effect(effect2); }; } function component_root(fn) { Batch.ensure(); const effect2 = create_effect(ROOT_EFFECT | EFFECT_PRESERVED, fn, true); return (options = {}) => { return new Promise((fulfil) => { if (options.outro) { pause_effect(effect2, () => { destroy_effect(effect2); fulfil(void 0); }); } else { destroy_effect(effect2); fulfil(void 0); } }); }; } function render_effect(fn, flags2 = 0) { return create_effect(RENDER_EFFECT | flags2, fn, true); } function block(fn, flags2 = 0) { var effect2 = create_effect(BLOCK_EFFECT | flags2, fn, true); if (true_default) { effect2.dev_stack = dev_stack; } return effect2; } function branch(fn) { return create_effect(BRANCH_EFFECT | EFFECT_PRESERVED, fn, true); } function execute_effect_teardown(effect2) { var teardown2 = effect2.teardown; if (teardown2 !== null) { const previously_destroying_effect = is_destroying_effect; const previous_reaction = active_reaction; set_is_destroying_effect(true); set_active_reaction(null); try { teardown2.call(null); } finally { set_is_destroying_effect(previously_destroying_effect); set_active_reaction(previous_reaction); } } } function destroy_effect_children(signal, remove_dom = false) { var effect2 = signal.first; signal.first = signal.last = null; while (effect2 !== null) { const controller = effect2.ac; if (controller !== null) { without_reactive_context(() => { controller.abort(STALE_REACTION); }); } var next2 = effect2.next; if ((effect2.f & ROOT_EFFECT) !== 0) { effect2.parent = null; } else { destroy_effect(effect2, remove_dom); } effect2 = next2; } } function destroy_block_effect_children(signal) { var effect2 = signal.first; while (effect2 !== null) { var next2 = effect2.next; if ((effect2.f & BRANCH_EFFECT) === 0) { destroy_effect(effect2); } effect2 = next2; } } function destroy_effect(effect2, remove_dom = true) { var removed = false; if ((remove_dom || (effect2.f & HEAD_EFFECT) !== 0) && effect2.nodes !== null && effect2.nodes.end !== null) { remove_effect_dom( effect2.nodes.start, /** @type {TemplateNode} */ effect2.nodes.end ); removed = true; } destroy_effect_children(effect2, remove_dom && !removed); remove_reactions(effect2, 0); set_signal_status(effect2, DESTROYED); var transitions = effect2.nodes && effect2.nodes.t; if (transitions !== null) { for (const transition2 of transitions) { transition2.stop(); } } execute_effect_teardown(effect2); var parent = effect2.parent; if (parent !== null && parent.first !== null) { unlink_effect(effect2); } if (true_default) { effect2.component_function = null; } effect2.next = effect2.prev = effect2.teardown = effect2.ctx = effect2.deps = effect2.fn = effect2.nodes = effect2.ac = null; } function remove_effect_dom(node, end) { while (node !== null) { var next2 = node === end ? null : get_next_sibling(node); node.remove(); node = next2; } } function unlink_effect(effect2) { var parent = effect2.parent; var prev = effect2.prev; var next2 = effect2.next; if (prev !== null) prev.next = next2; if (next2 !== null) next2.prev = prev; if (parent !== null) { if (parent.first === effect2) parent.first = next2; if (parent.last === effect2) parent.last = prev; } } function pause_effect(effect2, callback, destroy = true) { var transitions = []; pause_children(effect2, transitions, true); var fn = () => { if (destroy) destroy_effect(effect2); if (callback) callback(); }; var remaining = transitions.length; if (remaining > 0) { var check = () => --remaining || fn(); for (var transition2 of transitions) { transition2.out(check); } } else { fn(); } } function pause_children(effect2, transitions, local) { if ((effect2.f & INERT) !== 0) return; effect2.f ^= INERT; var t = effect2.nodes && effect2.nodes.t; if (t !== null) { for (const transition2 of t) { if (transition2.is_global || local) { transitions.push(transition2); } } } var child2 = effect2.first; while (child2 !== null) { var sibling2 = child2.next; var transparent = (child2.f & EFFECT_TRANSPARENT) !== 0 || // If this is a branch effect without a block effect parent, // it means the parent block effect was pruned. In that case, // transparency information was transferred to the branch effect. (child2.f & BRANCH_EFFECT) !== 0 && (effect2.f & BLOCK_EFFECT) !== 0; pause_children(child2, transitions, transparent ? local : false); child2 = sibling2; } } function move_effect(effect2, fragment) { if (!effect2.nodes) return; var node = effect2.nodes.start; var end = effect2.nodes.end; while (node !== null) { var next2 = node === end ? null : get_next_sibling(node); fragment.append(node); node = next2; } } // node_modules/svelte/src/internal/client/legacy.js var captured_signals = null; // node_modules/svelte/src/internal/client/runtime.js var is_updating_effect = false; function set_is_updating_effect(value) { is_updating_effect = value; } var is_destroying_effect = false; function set_is_destroying_effect(value) { is_destroying_effect = value; } var active_reaction = null; var untracking = false; function set_active_reaction(reaction) { active_reaction = reaction; } var active_effect = null; function set_active_effect(effect2) { active_effect = effect2; } var current_sources = null; function push_reaction_value(value) { if (active_reaction !== null && (!async_mode_flag || (active_reaction.f & DERIVED) !== 0)) { if (current_sources === null) { current_sources = [value]; } else { current_sources.push(value); } } } var new_deps = null; var skipped_deps = 0; var untracked_writes = null; function set_untracked_writes(value) { untracked_writes = value; } var write_version = 1; var read_version = 0; var update_version = read_version; function set_update_version(value) { update_version = value; } function increment_write_version() { return ++write_version; } function is_dirty(reaction) { var flags2 = reaction.f; if ((flags2 & DIRTY) !== 0) { return true; } if (flags2 & DERIVED) { reaction.f &= ~WAS_MARKED; } if ((flags2 & MAYBE_DIRTY) !== 0) { var dependencies = reaction.deps; if (dependencies !== null) { var length = dependencies.length; for (var i = 0; i < length; i++) { var dependency = dependencies[i]; if (is_dirty( /** @type {Derived} */ dependency )) { update_derived( /** @type {Derived} */ dependency ); } if (dependency.wv > reaction.wv) { return true; } } } if ((flags2 & CONNECTED) !== 0 && // During time traveling we don't want to reset the status so that // traversal of the graph in the other batches still happens batch_values === null) { set_signal_status(reaction, CLEAN); } } return false; } function schedule_possible_effect_self_invalidation(signal, effect2, root = true) { var reactions = signal.reactions; if (reactions === null) return; if (!async_mode_flag && current_sources?.includes(signal)) { return; } for (var i = 0; i < reactions.length; i++) { var reaction = reactions[i]; if ((reaction.f & DERIVED) !== 0) { schedule_possible_effect_self_invalidation( /** @type {Derived} */ reaction, effect2, false ); } else if (effect2 === reaction) { if (root) { set_signal_status(reaction, DIRTY); } else if ((reaction.f & CLEAN) !== 0) { set_signal_status(reaction, MAYBE_DIRTY); } schedule_effect( /** @type {Effect} */ reaction ); } } } function update_reaction(reaction) { var previous_deps = new_deps; var previous_skipped_deps = skipped_deps; var previous_untracked_writes = untracked_writes; var previous_reaction = active_reaction; var previous_sources = current_sources; var previous_component_context = component_context; var previous_untracking = untracking; var previous_update_version = update_version; var flags2 = reaction.f; new_deps = /** @type {null | Value[]} */ null; skipped_deps = 0; untracked_writes = null; active_reaction = (flags2 & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null; current_sources = null; set_component_context(reaction.ctx); untracking = false; update_version = ++read_version; if (reaction.ac !== null) { without_reactive_context(() => { reaction.ac.abort(STALE_REACTION); }); reaction.ac = null; } try { reaction.f |= REACTION_IS_UPDATING; var fn = ( /** @type {Function} */ reaction.fn ); var result = fn(); var deps = reaction.deps; if (new_deps !== null) { var i; remove_reactions(reaction, skipped_deps); if (deps !== null && skipped_deps > 0) { deps.length = skipped_deps + new_deps.length; for (i = 0; i < new_deps.length; i++) { deps[skipped_deps + i] = new_deps[i]; } } else { reaction.deps = deps = new_deps; } if (effect_tracking() && (reaction.f & CONNECTED) !== 0) { for (i = skipped_deps; i < deps.length; i++) { (deps[i].reactions ??= []).push(reaction); } } } else if (deps !== null && skipped_deps < deps.length) { remove_reactions(reaction, skipped_deps); deps.length = skipped_deps; } if (is_runes() && untracked_writes !== null && !untracking && deps !== null && (reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0) { for (i = 0; i < /** @type {Source[]} */ untracked_writes.length; i++) { schedule_possible_effect_self_invalidation( untracked_writes[i], /** @type {Effect} */ reaction ); } } if (previous_reaction !== null && previous_reaction !== reaction) { read_version++; if (untracked_writes !== null) { if (previous_untracked_writes === null) { previous_untracked_writes = untracked_writes; } else { previous_untracked_writes.push(.../** @type {Source[]} */ untracked_writes); } } } if ((reaction.f & ERROR_VALUE) !== 0) { reaction.f ^= ERROR_VALUE; } return result; } catch (error) { return handle_error(error); } finally { reaction.f ^= REACTION_IS_UPDATING; new_deps = previous_deps; skipped_deps = previous_skipped_deps; untracked_writes = previous_untracked_writes; active_reaction = previous_reaction; current_sources = previous_sources; set_component_context(previous_component_context); untracking = previous_untracking; update_version = previous_update_version; } } function remove_reaction(signal, dependency) { let reactions = dependency.reactions; if (reactions !== null) { var index2 = index_of.call(reactions, signal); if (index2 !== -1) { var new_length = reactions.length - 1; if (new_length === 0) { reactions = dependency.reactions = null; } else { reactions[index2] = reactions[new_length]; reactions.pop(); } } } if (reactions === null && (dependency.f & DERIVED) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps` // allows us to skip the expensive work of disconnecting and immediately reconnecting it (new_deps === null || !new_deps.includes(dependency))) { set_signal_status(dependency, MAYBE_DIRTY); if ((dependency.f & CONNECTED) !== 0) { dependency.f ^= CONNECTED; dependency.f &= ~WAS_MARKED; } destroy_derived_effects( /** @type {Derived} **/ dependency ); remove_reactions( /** @type {Derived} **/ dependency, 0 ); } } function remove_reactions(signal, start_index) { var dependencies = signal.deps; if (dependencies === null) return; for (var i = start_index; i < dependencies.length; i++) { remove_reaction(signal, dependencies[i]); } } function update_effect(effect2) { var flags2 = effect2.f; if ((flags2 & DESTROYED) !== 0) { return; } set_signal_status(effect2, CLEAN); var previous_effect = active_effect; var was_updating_effect = is_updating_effect; active_effect = effect2; is_updating_effect = true; if (true_default) { var previous_component_fn = dev_current_component_function; set_dev_current_component_function(effect2.component_function); var previous_stack = ( /** @type {any} */ dev_stack ); set_dev_stack(effect2.dev_stack ?? dev_stack); } try { if ((flags2 & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) { destroy_block_effect_children(effect2); } else { destroy_effect_children(effect2); } execute_effect_teardown(effect2); var teardown2 = update_reaction(effect2); effect2.teardown = typeof teardown2 === "function" ? teardown2 : null; effect2.wv = write_version; if (true_default && tracing_mode_flag && (effect2.f & DIRTY) !== 0 && effect2.deps !== null) { for (var dep of effect2.deps) { if (dep.set_during_effect) { dep.wv = increment_write_version(); dep.set_during_effect = false; } } } } finally { is_updating_effect = was_updating_effect; active_effect = previous_effect; if (true_default) { set_dev_current_component_function(previous_component_fn); set_dev_stack(previous_stack); } } } async function tick() { if (async_mode_flag) { return new Promise((f) => { requestAnimationFrame(() => f()); setTimeout(() => f()); }); } await Promise.resolve(); flushSync(); } function settled() { return Batch.ensure().settled(); } function get(signal) { var flags2 = signal.f; var is_derived = (flags2 & DERIVED) !== 0; captured_signals?.add(signal); if (active_reaction !== null && !untracking) { var destroyed = active_effect !== null && (active_effect.f & DESTROYED) !== 0; if (!destroyed && !current_sources?.includes(signal)) { var deps = active_reaction.deps; if ((active_reaction.f & REACTION_IS_UPDATING) !== 0) { if (signal.rv < read_version) { signal.rv = read_version; if (new_deps === null && deps !== null && deps[skipped_deps] === signal) { skipped_deps++; } else if (new_deps === null) { new_deps = [signal]; } else if (!new_deps.includes(signal)) { new_deps.push(signal); } } } else { (active_reaction.deps ??= []).push(signal); var reactions = signal.reactions; if (reactions === null) { signal.reactions = [active_reaction]; } else if (!reactions.includes(active_reaction)) { reactions.push(active_reaction); } } } } if (true_default) { recent_async_deriveds.delete(signal); if (tracing_mode_flag && !untracking && tracing_expressions !== null && active_reaction !== null && tracing_expressions.reaction === active_reaction) { if (signal.trace) { signal.trace(); } else { var trace2 = get_error("traced at"); if (trace2) { var entry = tracing_expressions.entries.get(signal); if (entry === void 0) { entry = { traces: [] }; tracing_expressions.entries.set(signal, entry); } var last = entry.traces[entry.traces.length - 1]; if (trace2.stack !== last?.stack) { entry.traces.push(trace2); } } } } } if (is_destroying_effect) { if (old_values.has(signal)) { return old_values.get(signal); } if (is_derived) { var derived3 = ( /** @type {Derived} */ signal ); var value = derived3.v; if ((derived3.f & CLEAN) === 0 && derived3.reactions !== null || depends_on_old_values(derived3)) { value = execute_derived(derived3); } old_values.set(derived3, value); return value; } } else if (is_derived && (!batch_values?.has(signal) || current_batch?.is_fork && !effect_tracking())) { derived3 = /** @type {Derived} */ signal; if (is_dirty(derived3)) { update_derived(derived3); } if (is_updating_effect && effect_tracking() && (derived3.f & CONNECTED) === 0) { reconnect(derived3); } } if (batch_values?.has(signal)) { return batch_values.get(signal); } if ((signal.f & ERROR_VALUE) !== 0) { throw signal.v; } return signal.v; } function reconnect(derived3) { if (derived3.deps === null) return; derived3.f ^= CONNECTED; for (const dep of derived3.deps) { (dep.reactions ??= []).push(derived3); if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) { reconnect( /** @type {Derived} */ dep ); } } } function depends_on_old_values(derived3) { if (derived3.v === UNINITIALIZED) return true; if (derived3.deps === null) return false; for (const dep of derived3.deps) { if (old_values.has(dep)) { return true; } if ((dep.f & DERIVED) !== 0 && depends_on_old_values( /** @type {Derived} */ dep )) { return true; } } return false; } function untrack(fn) { var previous_untracking = untracking; try { untracking = true; return fn(); } finally { untracking = previous_untracking; } } var STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN); function set_signal_status(signal, status) { signal.f = signal.f & STATUS_MASK | status; } // node_modules/svelte/src/utils.js var DOM_BOOLEAN_ATTRIBUTES = [ "allowfullscreen", "async", "autofocus", "autoplay", "checked", "controls", "default", "disabled", "formnovalidate", "indeterminate", "inert", "ismap", "loop", "multiple", "muted", "nomodule", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "seamless", "selected", "webkitdirectory", "defer", "disablepictureinpicture", "disableremoteplayback" ]; var DOM_PROPERTIES = [ ...DOM_BOOLEAN_ATTRIBUTES, "formNoValidate", "isMap", "noModule", "playsInline", "readOnly", "value", "volume", "defaultValue", "defaultChecked", "srcObject", "noValidate", "allowFullscreen", "disablePictureInPicture", "disableRemotePlayback" ]; var PASSIVE_EVENTS = ["touchstart", "touchmove"]; function is_passive_event(name) { return PASSIVE_EVENTS.includes(name); } var STATE_CREATION_RUNES = ( /** @type {const} */ [ "$state", "$state.raw", "$derived", "$derived.by" ] ); var RUNES = ( /** @type {const} */ [ ...STATE_CREATION_RUNES, "$state.eager", "$state.snapshot", "$props", "$props.id", "$bindable", "$effect", "$effect.pre", "$effect.tracking", "$effect.root", "$effect.pending", "$inspect", "$inspect().with", "$inspect.trace", "$host" ] ); // node_modules/svelte/src/internal/client/dom/elements/events.js var all_registered_events = /* @__PURE__ */ new Set(); var root_event_handles = /* @__PURE__ */ new Set(); var last_propagated_event = null; function handle_event_propagation(event2) { var handler_element = this; var owner_document = ( /** @type {Node} */ handler_element.ownerDocument ); var event_name = event2.type; var path = event2.composedPath?.() || []; var current_target = ( /** @type {null | Element} */ path[0] || event2.target ); last_propagated_event = event2; var path_idx = 0; var handled_at = last_propagated_event === event2 && event2.__root; if (handled_at) { var at_idx = path.indexOf(handled_at); if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */ window)) { event2.__root = handler_element; return; } var handler_idx = path.indexOf(handler_element); if (handler_idx === -1) { return; } if (at_idx <= handler_idx) { path_idx = at_idx; } } current_target = /** @type {Element} */ path[path_idx] || event2.target; if (current_target === handler_element) return; define_property(event2, "currentTarget", { configurable: true, get() { return current_target || owner_document; } }); var previous_reaction = active_reaction; var previous_effect = active_effect; set_active_reaction(null); set_active_effect(null); try { var throw_error; var other_errors = []; while (current_target !== null) { var parent_element = current_target.assignedSlot || current_target.parentNode || /** @type {any} */ current_target.host || null; try { var delegated = current_target["__" + event_name]; if (delegated != null && (!/** @type {any} */ current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well // -> the target could not have been disabled because it emits the event in the first place event2.target === current_target)) { delegated.call(current_target, event2); } } catch (error) { if (throw_error) { other_errors.push(error); } else { throw_error = error; } } if (event2.cancelBubble || parent_element === handler_element || parent_element === null) { break; } current_target = parent_element; } if (throw_error) { for (let error of other_errors) { queueMicrotask(() => { throw error; }); } throw throw_error; } } finally { event2.__root = handler_element; delete event2.currentTarget; set_active_reaction(previous_reaction); set_active_effect(previous_effect); } } // node_modules/svelte/src/internal/client/dom/reconciler.js function create_fragment_from_html(html2) { var elem = document.createElement("template"); elem.innerHTML = html2.replaceAll("", ""); return elem.content; } // node_modules/svelte/src/internal/client/dom/template.js function assign_nodes(start, end) { var effect2 = ( /** @type {Effect} */ active_effect ); if (effect2.nodes === null) { effect2.nodes = { start, end, a: null, t: null }; } } function append(anchor, dom) { if (hydrating) { var effect2 = ( /** @type {Effect & { nodes: EffectNodes }} */ active_effect ); if ((effect2.f & EFFECT_RAN) === 0 || effect2.nodes.end === null) { effect2.nodes.end = hydrate_node; } hydrate_next(); return; } if (anchor === null) { return; } anchor.before( /** @type {Node} */ dom ); } // node_modules/svelte/src/internal/client/render.js var should_intro = true; function mount(component2, options) { return _mount(component2, options); } function hydrate(component2, options) { init_operations(); options.intro = options.intro ?? false; const target = options.target; const was_hydrating = hydrating; const previous_hydrate_node = hydrate_node; try { var anchor = get_first_child(target); while (anchor && (anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */ anchor.data !== HYDRATION_START)) { anchor = get_next_sibling(anchor); } if (!anchor) { throw HYDRATION_ERROR; } set_hydrating(true); set_hydrate_node( /** @type {Comment} */ anchor ); const instance = _mount(component2, { ...options, anchor }); set_hydrating(false); return ( /** @type {Exports} */ instance ); } catch (error) { if (error instanceof Error && error.message.split("\n").some((line) => line.startsWith("https://svelte.dev/e/"))) { throw error; } if (error !== HYDRATION_ERROR) { console.warn("Failed to hydrate: ", error); } if (options.recover === false) { hydration_failed(); } init_operations(); clear_text_content(target); set_hydrating(false); return mount(component2, options); } finally { set_hydrating(was_hydrating); set_hydrate_node(previous_hydrate_node); } } var document_listeners = /* @__PURE__ */ new Map(); function _mount(Component, { target, anchor, props = {}, events, context, intro = true }) { init_operations(); var registered_events = /* @__PURE__ */ new Set(); var event_handle = (events2) => { for (var i = 0; i < events2.length; i++) { var event_name = events2[i]; if (registered_events.has(event_name)) continue; registered_events.add(event_name); var passive2 = is_passive_event(event_name); target.addEventListener(event_name, handle_event_propagation, { passive: passive2 }); var n = document_listeners.get(event_name); if (n === void 0) { document.addEventListener(event_name, handle_event_propagation, { passive: passive2 }); document_listeners.set(event_name, 1); } else { document_listeners.set(event_name, n + 1); } } }; event_handle(array_from(all_registered_events)); root_event_handles.add(event_handle); var component2 = void 0; var unmount2 = component_root(() => { var anchor_node = anchor ?? target.appendChild(create_text()); boundary( /** @type {TemplateNode} */ anchor_node, { pending: () => { } }, (anchor_node2) => { if (context) { push({}); var ctx = ( /** @type {ComponentContext} */ component_context ); ctx.c = context; } if (events) { props.$$events = events; } if (hydrating) { assign_nodes( /** @type {TemplateNode} */ anchor_node2, null ); } should_intro = intro; component2 = Component(anchor_node2, props) || {}; should_intro = true; if (hydrating) { active_effect.nodes.end = hydrate_node; if (hydrate_node === null || hydrate_node.nodeType !== COMMENT_NODE || /** @type {Comment} */ hydrate_node.data !== HYDRATION_END) { hydration_mismatch(); throw HYDRATION_ERROR; } } if (context) { pop(); } } ); return () => { for (var event_name of registered_events) { target.removeEventListener(event_name, handle_event_propagation); var n = ( /** @type {number} */ document_listeners.get(event_name) ); if (--n === 0) { document.removeEventListener(event_name, handle_event_propagation); document_listeners.delete(event_name); } else { document_listeners.set(event_name, n); } } root_event_handles.delete(event_handle); if (anchor_node !== anchor) { anchor_node.parentNode?.removeChild(anchor_node); } }; }); mounted_components.set(component2, unmount2); return component2; } var mounted_components = /* @__PURE__ */ new WeakMap(); function unmount(component2, options) { const fn = mounted_components.get(component2); if (fn) { mounted_components.delete(component2); return fn(options); } if (true_default) { if (STATE_SYMBOL in component2) { state_proxy_unmount(); } else { lifecycle_double_unmount(); } } return Promise.resolve(); } // node_modules/svelte/src/internal/client/dom/blocks/snippet.js function createRawSnippet(fn) { return (anchor, ...params) => { var snippet2 = fn(...params); var element2; if (hydrating) { element2 = /** @type {Element} */ hydrate_node; hydrate_next(); } else { var html2 = snippet2.render().trim(); var fragment = create_fragment_from_html(html2); element2 = /** @type {Element} */ get_first_child(fragment); if (true_default && (get_next_sibling(element2) !== null || element2.nodeType !== ELEMENT_NODE)) { invalid_raw_snippet_render(); } anchor.before(element2); } const result = snippet2.setup?.(element2); assign_nodes(element2, element2); if (typeof result === "function") { teardown(result); } }; } // node_modules/svelte/src/internal/shared/attributes.js var whitespace = [..." \n\r\f \v\uFEFF"]; // node_modules/svelte/src/internal/client/dom/elements/bindings/size.js var ResizeObserverSingleton = class _ResizeObserverSingleton { /** */ #listeners = /* @__PURE__ */ new WeakMap(); /** @type {ResizeObserver | undefined} */ #observer; /** @type {ResizeObserverOptions} */ #options; /** @static */ static entries = /* @__PURE__ */ new WeakMap(); /** @param {ResizeObserverOptions} options */ constructor(options) { this.#options = options; } /** * @param {Element} element * @param {(entry: ResizeObserverEntry) => any} listener */ observe(element2, listener) { var listeners = this.#listeners.get(element2) || /* @__PURE__ */ new Set(); listeners.add(listener); this.#listeners.set(element2, listeners); this.#getObserver().observe(element2, this.#options); return () => { var listeners2 = this.#listeners.get(element2); listeners2.delete(listener); if (listeners2.size === 0) { this.#listeners.delete(element2); this.#observer.unobserve(element2); } }; } #getObserver() { return this.#observer ?? (this.#observer = new ResizeObserver( /** @param {any} entries */ (entries) => { for (var entry of entries) { _ResizeObserverSingleton.entries.set(entry.target, entry); for (var listener of this.#listeners.get(entry.target) || []) { listener(entry); } } } )); } }; var resize_observer_content_box = new ResizeObserverSingleton({ box: "content-box" }); var resize_observer_border_box = new ResizeObserverSingleton({ box: "border-box" }); var resize_observer_device_pixel_content_box = new ResizeObserverSingleton({ box: "device-pixel-content-box" }); // node_modules/svelte/src/store/utils.js function subscribe_to_store(store, run3, invalidate) { if (store == null) { run3(void 0); if (invalidate) invalidate(void 0); return noop; } const unsub = untrack( () => store.subscribe( run3, // @ts-expect-error invalidate ) ); return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; } // node_modules/svelte/src/store/shared/index.js var subscriber_queue = []; function readable(value, start) { return { subscribe: writable(value, start).subscribe }; } function writable(value, start = noop) { let stop = null; const subscribers = /* @__PURE__ */ new Set(); function set2(new_value) { if (safe_not_equal(value, new_value)) { value = new_value; if (stop) { const run_queue = !subscriber_queue.length; for (const subscriber of subscribers) { subscriber[1](); subscriber_queue.push(subscriber, value); } if (run_queue) { for (let i = 0; i < subscriber_queue.length; i += 2) { subscriber_queue[i][0](subscriber_queue[i + 1]); } subscriber_queue.length = 0; } } } } function update2(fn) { set2(fn( /** @type {T} */ value )); } function subscribe(run3, invalidate = noop) { const subscriber = [run3, invalidate]; subscribers.add(subscriber); if (subscribers.size === 1) { stop = start(set2, update2) || noop; } run3( /** @type {T} */ value ); return () => { subscribers.delete(subscriber); if (subscribers.size === 0 && stop) { stop(); stop = null; } }; } return { set: set2, update: update2, subscribe }; } function derived2(stores, fn, initial_value) { const single = !Array.isArray(stores); const stores_array = single ? [stores] : stores; if (!stores_array.every(Boolean)) { throw new Error("derived() expects stores as input, got a falsy value"); } const auto = fn.length < 2; return readable(initial_value, (set2, update2) => { let started = false; const values = []; let pending2 = 0; let cleanup = noop; const sync = () => { if (pending2) { return; } cleanup(); const result = fn(single ? values[0] : values, set2, update2); if (auto) { set2(result); } else { cleanup = typeof result === "function" ? result : noop; } }; const unsubscribers = stores_array.map( (store, i) => subscribe_to_store( store, (value) => { values[i] = value; pending2 &= ~(1 << i); if (started) { sync(); } }, () => { pending2 |= 1 << i; } ) ); started = true; sync(); return function stop() { run_all(unsubscribers); cleanup(); started = false; }; }); } function readonly(store) { return { // @ts-expect-error TODO i suspect the bind is unnecessary subscribe: store.subscribe.bind(store) }; } function get2(store) { let value; subscribe_to_store(store, (_) => value = _)(); return value; } // node_modules/svelte/src/legacy/legacy-client.js function createClassComponent(options) { return new Svelte4Component(options); } var Svelte4Component = class { /** @type {any} */ #events; /** @type {Record} */ #instance; /** * @param {ComponentConstructorOptions & { * component: any; * }} options */ constructor(options) { var sources = /* @__PURE__ */ new Map(); var add_source = (key2, value) => { var s = mutable_source(value, false, false); sources.set(key2, s); return s; }; const props = new Proxy( { ...options.props || {}, $$events: {} }, { get(target, prop2) { return get(sources.get(prop2) ?? add_source(prop2, Reflect.get(target, prop2))); }, has(target, prop2) { if (prop2 === LEGACY_PROPS) return true; get(sources.get(prop2) ?? add_source(prop2, Reflect.get(target, prop2))); return Reflect.has(target, prop2); }, set(target, prop2, value) { set(sources.get(prop2) ?? add_source(prop2, value), value); return Reflect.set(target, prop2, value); } } ); this.#instance = (options.hydrate ? hydrate : mount)(options.component, { target: options.target, anchor: options.anchor, props, context: options.context, intro: options.intro ?? false, recover: options.recover }); if (!async_mode_flag && (!options?.props?.$$host || options.sync === false)) { flushSync(); } this.#events = props.$$events; for (const key2 of Object.keys(this.#instance)) { if (key2 === "$set" || key2 === "$destroy" || key2 === "$on") continue; define_property(this, key2, { get() { return this.#instance[key2]; }, /** @param {any} value */ set(value) { this.#instance[key2] = value; }, enumerable: true }); } this.#instance.$set = /** @param {Record} next */ (next2) => { Object.assign(props, next2); }; this.#instance.$destroy = () => { unmount(this.#instance); }; } /** @param {Record} props */ $set(props) { this.#instance.$set(props); } /** * @param {string} event * @param {(...args: any[]) => any} callback * @returns {any} */ $on(event2, callback) { this.#events[event2] = this.#events[event2] || []; const cb = (...args) => callback.call(this, ...args); this.#events[event2].push(cb); return () => { this.#events[event2] = this.#events[event2].filter( /** @param {any} fn */ (fn) => fn !== cb ); }; } $destroy() { this.#instance.$destroy(); } }; // node_modules/svelte/src/internal/client/dom/elements/custom-element.js var SvelteElement; if (typeof HTMLElement === "function") { SvelteElement = class extends HTMLElement { /** The Svelte component constructor */ $$ctor; /** Slots */ $$s; /** @type {any} The Svelte component instance */ $$c; /** Whether or not the custom element is connected */ $$cn = false; /** @type {Record} Component props data */ $$d = {}; /** `true` if currently in the process of reflecting component props back to attributes */ $$r = false; /** @type {Record} Props definition (name, reflected, type etc) */ $$p_d = {}; /** @type {Record} Event listeners */ $$l = {}; /** @type {Map} Event listener unsubscribe functions */ $$l_u = /* @__PURE__ */ new Map(); /** @type {any} The managed render effect for reflecting attributes */ $$me; /** * @param {*} $$componentCtor * @param {*} $$slots * @param {*} use_shadow_dom */ constructor($$componentCtor, $$slots, use_shadow_dom) { super(); this.$$ctor = $$componentCtor; this.$$s = $$slots; if (use_shadow_dom) { this.attachShadow({ mode: "open" }); } } /** * @param {string} type * @param {EventListenerOrEventListenerObject} listener * @param {boolean | AddEventListenerOptions} [options] */ addEventListener(type, listener, options) { this.$$l[type] = this.$$l[type] || []; this.$$l[type].push(listener); if (this.$$c) { const unsub = this.$$c.$on(type, listener); this.$$l_u.set(listener, unsub); } super.addEventListener(type, listener, options); } /** * @param {string} type * @param {EventListenerOrEventListenerObject} listener * @param {boolean | AddEventListenerOptions} [options] */ removeEventListener(type, listener, options) { super.removeEventListener(type, listener, options); if (this.$$c) { const unsub = this.$$l_u.get(listener); if (unsub) { unsub(); this.$$l_u.delete(listener); } } } async connectedCallback() { this.$$cn = true; if (!this.$$c) { let create_slot = function(name) { return (anchor) => { const slot2 = document.createElement("slot"); if (name !== "default") slot2.name = name; append(anchor, slot2); }; }; await Promise.resolve(); if (!this.$$cn || this.$$c) { return; } const $$slots = {}; const existing_slots = get_custom_elements_slots(this); for (const name of this.$$s) { if (name in existing_slots) { if (name === "default" && !this.$$d.children) { this.$$d.children = create_slot(name); $$slots.default = true; } else { $$slots[name] = create_slot(name); } } } for (const attribute of this.attributes) { const name = this.$$g_p(attribute.name); if (!(name in this.$$d)) { this.$$d[name] = get_custom_element_value(name, attribute.value, this.$$p_d, "toProp"); } } for (const key2 in this.$$p_d) { if (!(key2 in this.$$d) && this[key2] !== void 0) { this.$$d[key2] = this[key2]; delete this[key2]; } } this.$$c = createClassComponent({ component: this.$$ctor, target: this.shadowRoot || this, props: { ...this.$$d, $$slots, $$host: this } }); this.$$me = effect_root(() => { render_effect(() => { this.$$r = true; for (const key2 of object_keys(this.$$c)) { if (!this.$$p_d[key2]?.reflect) continue; this.$$d[key2] = this.$$c[key2]; const attribute_value = get_custom_element_value( key2, this.$$d[key2], this.$$p_d, "toAttribute" ); if (attribute_value == null) { this.removeAttribute(this.$$p_d[key2].attribute || key2); } else { this.setAttribute(this.$$p_d[key2].attribute || key2, attribute_value); } } this.$$r = false; }); }); for (const type in this.$$l) { for (const listener of this.$$l[type]) { const unsub = this.$$c.$on(type, listener); this.$$l_u.set(listener, unsub); } } this.$$l = {}; } } // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte // and setting attributes through setAttribute etc, this is helpful /** * @param {string} attr * @param {string} _oldValue * @param {string} newValue */ attributeChangedCallback(attr2, _oldValue, newValue) { if (this.$$r) return; attr2 = this.$$g_p(attr2); this.$$d[attr2] = get_custom_element_value(attr2, newValue, this.$$p_d, "toProp"); this.$$c?.$set({ [attr2]: this.$$d[attr2] }); } disconnectedCallback() { this.$$cn = false; Promise.resolve().then(() => { if (!this.$$cn && this.$$c) { this.$$c.$destroy(); this.$$me(); this.$$c = void 0; } }); } /** * @param {string} attribute_name */ $$g_p(attribute_name) { return object_keys(this.$$p_d).find( (key2) => this.$$p_d[key2].attribute === attribute_name || !this.$$p_d[key2].attribute && key2.toLowerCase() === attribute_name ) || attribute_name; } }; } function get_custom_element_value(prop2, value, props_definition, transform) { const type = props_definition[prop2]?.type; value = type === "Boolean" && typeof value !== "boolean" ? value != null : value; if (!transform || !props_definition[prop2]) { return value; } else if (transform === "toAttribute") { switch (type) { case "Object": case "Array": return value == null ? null : JSON.stringify(value); case "Boolean": return value ? "" : null; case "Number": return value == null ? null : value; default: return value; } } else { switch (type) { case "Object": case "Array": return value && JSON.parse(value); case "Boolean": return value; // conversion already handled above case "Number": return value != null ? +value : value; default: return value; } } } function get_custom_elements_slots(element2) { const result = {}; element2.childNodes.forEach((node) => { result[ /** @type {Element} node */ node.slot || "default" ] = true; }); return result; } // node_modules/svelte/src/internal/client/hydratable.js function hydratable(key2, fn) { if (!async_mode_flag) { experimental_async_required("hydratable"); } if (hydrating) { const store = window.__svelte?.h; if (store?.has(key2)) { return ( /** @type {T} */ store.get(key2) ); } if (true_default) { hydratable_missing_but_required(key2); } else { hydratable_missing_but_expected(key2); } } return fn(); } // node_modules/svelte/src/index-client.js if (true_default) { let throw_rune_error = function(rune) { if (!(rune in globalThis)) { let value; Object.defineProperty(globalThis, rune, { configurable: true, // eslint-disable-next-line getter-return get: () => { if (value !== void 0) { return value; } rune_outside_svelte(rune); }, set: (v) => { value = v; } }); } }; throw_rune_error("$state"); throw_rune_error("$effect"); throw_rune_error("$derived"); throw_rune_error("$inspect"); throw_rune_error("$props"); throw_rune_error("$bindable"); } function getAbortSignal() { if (active_reaction === null) { get_abort_signal_outside_reaction(); } return (active_reaction.ac ??= new AbortController()).signal; } function onMount(fn) { if (component_context === null) { lifecycle_outside_component("onMount"); } if (legacy_mode_flag && component_context.l !== null) { init_update_callbacks(component_context).m.push(fn); } else { user_effect(() => { const cleanup = untrack(fn); if (typeof cleanup === "function") return ( /** @type {() => void} */ cleanup ); }); } } function onDestroy(fn) { if (component_context === null) { lifecycle_outside_component("onDestroy"); } onMount(() => () => untrack(fn)); } function create_custom_event(type, detail, { bubbles = false, cancelable = false } = {}) { return new CustomEvent(type, { detail, bubbles, cancelable }); } function createEventDispatcher() { const active_component_context = component_context; if (active_component_context === null) { lifecycle_outside_component("createEventDispatcher"); } return (type, detail, options) => { const events = ( /** @type {Record} */ active_component_context.s.$$events?.[ /** @type {string} */ type ] ); if (events) { const callbacks = is_array(events) ? events.slice() : [events]; const event2 = create_custom_event( /** @type {string} */ type, detail, options ); for (const fn of callbacks) { fn.call(active_component_context.x, event2); } return !event2.defaultPrevented; } return true; }; } function beforeUpdate(fn) { if (component_context === null) { lifecycle_outside_component("beforeUpdate"); } if (component_context.l === null) { lifecycle_legacy_only("beforeUpdate"); } init_update_callbacks(component_context).b.push(fn); } function afterUpdate(fn) { if (component_context === null) { lifecycle_outside_component("afterUpdate"); } if (component_context.l === null) { lifecycle_legacy_only("afterUpdate"); } init_update_callbacks(component_context).a.push(fn); } function init_update_callbacks(context) { var l = ( /** @type {ComponentContextLegacy} */ context.l ); return l.u ??= { a: [], b: [], m: [] }; } export { createContext, getContext, setContext, hasContext, getAllContexts, flushSync, fork, createSubscriber, active_reaction, set_active_reaction, active_effect, set_active_effect, tick, settled, untrack, effect_tracking, effect_root, render_effect, mount, hydrate, unmount, createRawSnippet, hydratable, getAbortSignal, onMount, onDestroy, createEventDispatcher, beforeUpdate, afterUpdate, readable, writable, derived2 as derived, readonly, get2 as get }; //# sourceMappingURL=chunk-YAQNMG2X.js.map