svelte 5.39.12 → 5.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/index.js +1 -1
- package/elements.d.ts +1 -0
- package/package.json +1 -1
- package/src/index-client.js +7 -1
- package/src/index-server.js +7 -1
- package/src/internal/client/context.js +20 -0
- package/src/internal/client/reactivity/batch.js +75 -57
- package/src/internal/client/reactivity/deriveds.js +16 -6
- package/src/internal/client/runtime.js +7 -3
- package/src/internal/server/context.js +9 -0
- package/src/internal/shared/errors.js +16 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +4 -0
- package/types/index.d.ts.map +2 -1
package/elements.d.ts
CHANGED
|
@@ -1658,6 +1658,7 @@ export interface SVGAttributes<T extends EventTarget> extends AriaAttributes, DO
|
|
|
1658
1658
|
'font-variant'?: number | string | undefined | null;
|
|
1659
1659
|
'font-weight'?: number | string | undefined | null;
|
|
1660
1660
|
format?: number | string | undefined | null;
|
|
1661
|
+
fr?: number | string | undefined | null;
|
|
1661
1662
|
from?: number | string | undefined | null;
|
|
1662
1663
|
fx?: number | string | undefined | null;
|
|
1663
1664
|
fy?: number | string | undefined | null;
|
package/package.json
CHANGED
package/src/index-client.js
CHANGED
|
@@ -242,7 +242,13 @@ function init_update_callbacks(context) {
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
export { flushSync } from './internal/client/reactivity/batch.js';
|
|
245
|
-
export {
|
|
245
|
+
export {
|
|
246
|
+
createContext,
|
|
247
|
+
getContext,
|
|
248
|
+
getAllContexts,
|
|
249
|
+
hasContext,
|
|
250
|
+
setContext
|
|
251
|
+
} from './internal/client/context.js';
|
|
246
252
|
export { hydrate, mount, unmount } from './internal/client/render.js';
|
|
247
253
|
export { tick, untrack, settled } from './internal/client/runtime.js';
|
|
248
254
|
export { createRawSnippet } from './internal/client/dom/blocks/snippet.js';
|
package/src/index-server.js
CHANGED
|
@@ -39,6 +39,12 @@ export async function settled() {}
|
|
|
39
39
|
|
|
40
40
|
export { getAbortSignal } from './internal/server/abort-signal.js';
|
|
41
41
|
|
|
42
|
-
export {
|
|
42
|
+
export {
|
|
43
|
+
createContext,
|
|
44
|
+
getAllContexts,
|
|
45
|
+
getContext,
|
|
46
|
+
hasContext,
|
|
47
|
+
setContext
|
|
48
|
+
} from './internal/server/context.js';
|
|
43
49
|
|
|
44
50
|
export { createRawSnippet } from './internal/server/blocks/snippet.js';
|
|
@@ -69,6 +69,26 @@ export function set_dev_current_component_function(fn) {
|
|
|
69
69
|
dev_current_component_function = fn;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Returns a `[get, set]` pair of functions for working with context in a type-safe way.
|
|
74
|
+
* @template T
|
|
75
|
+
* @returns {[() => T, (context: T) => T]}
|
|
76
|
+
*/
|
|
77
|
+
export function createContext() {
|
|
78
|
+
const key = {};
|
|
79
|
+
|
|
80
|
+
return [
|
|
81
|
+
() => {
|
|
82
|
+
if (!hasContext(key)) {
|
|
83
|
+
e.missing_context();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return getContext(key);
|
|
87
|
+
},
|
|
88
|
+
(context) => setContext(key, context)
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
|
|
72
92
|
/**
|
|
73
93
|
* Retrieves the context that belongs to the closest parent component with the specified `key`.
|
|
74
94
|
* Must be called during component initialisation.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** @import { Derived, Effect, Source, Value } from '#client' */
|
|
1
|
+
/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
|
|
2
2
|
import {
|
|
3
3
|
BLOCK_EFFECT,
|
|
4
4
|
BRANCH_EFFECT,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
DERIVED
|
|
15
15
|
} from '#client/constants';
|
|
16
16
|
import { async_mode_flag } from '../../flags/index.js';
|
|
17
|
-
import { deferred, define_property
|
|
17
|
+
import { deferred, define_property } from '../../shared/utils.js';
|
|
18
18
|
import {
|
|
19
19
|
active_effect,
|
|
20
20
|
is_dirty,
|
|
@@ -44,12 +44,12 @@ export let current_batch = null;
|
|
|
44
44
|
export let previous_batch = null;
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
* When time travelling
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* @type {Map<
|
|
47
|
+
* When time travelling (i.e. working in one batch, while other batches
|
|
48
|
+
* still have ongoing work), we ignore the real values of affected
|
|
49
|
+
* signals in favour of their values within the batch
|
|
50
|
+
* @type {Map<Value, any> | null}
|
|
51
51
|
*/
|
|
52
|
-
export let
|
|
52
|
+
export let batch_values = null;
|
|
53
53
|
|
|
54
54
|
/** @type {Set<() => void>} */
|
|
55
55
|
export let effect_pending_updates = new Set();
|
|
@@ -152,7 +152,7 @@ export class Batch {
|
|
|
152
152
|
|
|
153
153
|
previous_batch = null;
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
this.apply();
|
|
156
156
|
|
|
157
157
|
for (const root of root_effects) {
|
|
158
158
|
this.#traverse_effect_tree(root);
|
|
@@ -161,6 +161,10 @@ export class Batch {
|
|
|
161
161
|
// if we didn't start any new async work, and no async work
|
|
162
162
|
// is outstanding from a previous flush, commit
|
|
163
163
|
if (this.#pending === 0) {
|
|
164
|
+
// TODO we need this because we commit _then_ flush effects...
|
|
165
|
+
// maybe there's a way we can reverse the order?
|
|
166
|
+
var previous_batch_sources = batch_values;
|
|
167
|
+
|
|
164
168
|
this.#commit();
|
|
165
169
|
|
|
166
170
|
var render_effects = this.#render_effects;
|
|
@@ -175,6 +179,7 @@ export class Batch {
|
|
|
175
179
|
previous_batch = this;
|
|
176
180
|
current_batch = null;
|
|
177
181
|
|
|
182
|
+
batch_values = previous_batch_sources;
|
|
178
183
|
flush_queued_effects(render_effects);
|
|
179
184
|
flush_queued_effects(effects);
|
|
180
185
|
|
|
@@ -187,7 +192,7 @@ export class Batch {
|
|
|
187
192
|
this.#defer_effects(this.#block_effects);
|
|
188
193
|
}
|
|
189
194
|
|
|
190
|
-
|
|
195
|
+
batch_values = null;
|
|
191
196
|
|
|
192
197
|
for (const effect of this.#boundary_async_effects) {
|
|
193
198
|
update_effect(effect);
|
|
@@ -274,6 +279,7 @@ export class Batch {
|
|
|
274
279
|
}
|
|
275
280
|
|
|
276
281
|
this.current.set(source, source.v);
|
|
282
|
+
batch_values?.set(source, source.v);
|
|
277
283
|
}
|
|
278
284
|
|
|
279
285
|
activate() {
|
|
@@ -282,6 +288,7 @@ export class Batch {
|
|
|
282
288
|
|
|
283
289
|
deactivate() {
|
|
284
290
|
current_batch = null;
|
|
291
|
+
batch_values = null;
|
|
285
292
|
}
|
|
286
293
|
|
|
287
294
|
flush() {
|
|
@@ -335,31 +342,46 @@ export class Batch {
|
|
|
335
342
|
continue;
|
|
336
343
|
}
|
|
337
344
|
|
|
345
|
+
/** @type {Source[]} */
|
|
346
|
+
const sources = [];
|
|
347
|
+
|
|
338
348
|
for (const [source, value] of this.current) {
|
|
339
349
|
if (batch.current.has(source)) {
|
|
340
|
-
if (is_earlier) {
|
|
350
|
+
if (is_earlier && value !== batch.current.get(source)) {
|
|
341
351
|
// bring the value up to date
|
|
342
352
|
batch.current.set(source, value);
|
|
343
353
|
} else {
|
|
344
|
-
// later batch has more recent value,
|
|
354
|
+
// same value or later batch has more recent value,
|
|
345
355
|
// no need to re-run these effects
|
|
346
356
|
continue;
|
|
347
357
|
}
|
|
348
358
|
}
|
|
349
359
|
|
|
350
|
-
|
|
360
|
+
sources.push(source);
|
|
351
361
|
}
|
|
352
362
|
|
|
353
|
-
if (
|
|
354
|
-
|
|
355
|
-
|
|
363
|
+
if (sources.length === 0) {
|
|
364
|
+
continue;
|
|
365
|
+
}
|
|
356
366
|
|
|
357
|
-
|
|
358
|
-
|
|
367
|
+
// Re-run async/block effects that depend on distinct values changed in both batches
|
|
368
|
+
const others = [...batch.current.keys()].filter((s) => !this.current.has(s));
|
|
369
|
+
if (others.length > 0) {
|
|
370
|
+
for (const source of sources) {
|
|
371
|
+
mark_effects(source, others);
|
|
359
372
|
}
|
|
360
373
|
|
|
361
|
-
queued_root_effects
|
|
362
|
-
|
|
374
|
+
if (queued_root_effects.length > 0) {
|
|
375
|
+
current_batch = batch;
|
|
376
|
+
batch.apply();
|
|
377
|
+
|
|
378
|
+
for (const root of queued_root_effects) {
|
|
379
|
+
batch.#traverse_effect_tree(root);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
queued_root_effects = [];
|
|
383
|
+
batch.deactivate();
|
|
384
|
+
}
|
|
363
385
|
}
|
|
364
386
|
}
|
|
365
387
|
|
|
@@ -423,49 +445,23 @@ export class Batch {
|
|
|
423
445
|
queue_micro_task(task);
|
|
424
446
|
}
|
|
425
447
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
*/
|
|
429
|
-
static apply(current_batch) {
|
|
430
|
-
if (!async_mode_flag || batches.size === 1) {
|
|
431
|
-
return noop;
|
|
432
|
-
}
|
|
448
|
+
apply() {
|
|
449
|
+
if (!async_mode_flag || batches.size === 1) return;
|
|
433
450
|
|
|
434
451
|
// if there are multiple batches, we are 'time travelling' —
|
|
435
|
-
// we need to
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
/** @type {Map<Source, { v: unknown, wv: number }>} */
|
|
439
|
-
var current_values = new Map();
|
|
440
|
-
batch_deriveds = new Map();
|
|
441
|
-
|
|
442
|
-
for (const [source, current] of current_batch.current) {
|
|
443
|
-
current_values.set(source, { v: source.v, wv: source.wv });
|
|
444
|
-
source.v = current;
|
|
445
|
-
}
|
|
452
|
+
// we need to override values with the ones in this batch...
|
|
453
|
+
batch_values = new Map(this.current);
|
|
446
454
|
|
|
455
|
+
// ...and undo changes belonging to other batches
|
|
447
456
|
for (const batch of batches) {
|
|
448
|
-
if (batch ===
|
|
457
|
+
if (batch === this) continue;
|
|
449
458
|
|
|
450
459
|
for (const [source, previous] of batch.#previous) {
|
|
451
|
-
if (!
|
|
452
|
-
|
|
453
|
-
source.v = previous;
|
|
460
|
+
if (!batch_values.has(source)) {
|
|
461
|
+
batch_values.set(source, previous);
|
|
454
462
|
}
|
|
455
463
|
}
|
|
456
464
|
}
|
|
457
|
-
|
|
458
|
-
return () => {
|
|
459
|
-
for (const [source, { v, wv }] of current_values) {
|
|
460
|
-
// reset the source to the current value (unless
|
|
461
|
-
// it got a newer value as a result of effects running)
|
|
462
|
-
if (source.wv <= wv) {
|
|
463
|
-
source.v = v;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
batch_deriveds = null;
|
|
468
|
-
};
|
|
469
465
|
}
|
|
470
466
|
}
|
|
471
467
|
|
|
@@ -640,17 +636,19 @@ function flush_queued_effects(effects) {
|
|
|
640
636
|
|
|
641
637
|
/**
|
|
642
638
|
* This is similar to `mark_reactions`, but it only marks async/block effects
|
|
643
|
-
*
|
|
639
|
+
* depending on `value` and at least one of the other `sources`, so that
|
|
640
|
+
* these effects can re-run after another batch has been committed
|
|
644
641
|
* @param {Value} value
|
|
642
|
+
* @param {Source[]} sources
|
|
645
643
|
*/
|
|
646
|
-
function mark_effects(value) {
|
|
644
|
+
function mark_effects(value, sources) {
|
|
647
645
|
if (value.reactions !== null) {
|
|
648
646
|
for (const reaction of value.reactions) {
|
|
649
647
|
const flags = reaction.f;
|
|
650
648
|
|
|
651
649
|
if ((flags & DERIVED) !== 0) {
|
|
652
|
-
mark_effects(/** @type {Derived} */ (reaction));
|
|
653
|
-
} else if ((flags & (ASYNC | BLOCK_EFFECT)) !== 0) {
|
|
650
|
+
mark_effects(/** @type {Derived} */ (reaction), sources);
|
|
651
|
+
} else if ((flags & (ASYNC | BLOCK_EFFECT)) !== 0 && depends_on(reaction, sources)) {
|
|
654
652
|
set_signal_status(reaction, DIRTY);
|
|
655
653
|
schedule_effect(/** @type {Effect} */ (reaction));
|
|
656
654
|
}
|
|
@@ -658,6 +656,26 @@ function mark_effects(value) {
|
|
|
658
656
|
}
|
|
659
657
|
}
|
|
660
658
|
|
|
659
|
+
/**
|
|
660
|
+
* @param {Reaction} reaction
|
|
661
|
+
* @param {Source[]} sources
|
|
662
|
+
*/
|
|
663
|
+
function depends_on(reaction, sources) {
|
|
664
|
+
if (reaction.deps !== null) {
|
|
665
|
+
for (const dep of reaction.deps) {
|
|
666
|
+
if (sources.includes(dep)) {
|
|
667
|
+
return true;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
if ((dep.f & DERIVED) !== 0 && depends_on(/** @type {Derived} */ (dep), sources)) {
|
|
671
|
+
return true;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
return false;
|
|
677
|
+
}
|
|
678
|
+
|
|
661
679
|
/**
|
|
662
680
|
* @param {Effect} signal
|
|
663
681
|
* @returns {void}
|
|
@@ -33,7 +33,7 @@ import { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';
|
|
|
33
33
|
import { Boundary } from '../dom/blocks/boundary.js';
|
|
34
34
|
import { component_context } from '../context.js';
|
|
35
35
|
import { UNINITIALIZED } from '../../../constants.js';
|
|
36
|
-
import {
|
|
36
|
+
import { batch_values, current_batch } from './batch.js';
|
|
37
37
|
import { unset_context } from './async.js';
|
|
38
38
|
import { deferred } from '../../shared/utils.js';
|
|
39
39
|
|
|
@@ -126,9 +126,11 @@ export function async_derived(fn, location) {
|
|
|
126
126
|
try {
|
|
127
127
|
// If this code is changed at some point, make sure to still access the then property
|
|
128
128
|
// of fn() to read any signals it might access, so that we track them as dependencies.
|
|
129
|
-
|
|
129
|
+
// We call `unset_context` to undo any `save` calls that happen inside `fn()`
|
|
130
|
+
Promise.resolve(fn()).then(d.resolve, d.reject).then(unset_context);
|
|
130
131
|
} catch (error) {
|
|
131
132
|
d.reject(error);
|
|
133
|
+
unset_context();
|
|
132
134
|
}
|
|
133
135
|
|
|
134
136
|
if (DEV) current_async_effect = null;
|
|
@@ -142,6 +144,7 @@ export function async_derived(fn, location) {
|
|
|
142
144
|
batch.increment();
|
|
143
145
|
|
|
144
146
|
deferreds.get(batch)?.reject(STALE_REACTION);
|
|
147
|
+
deferreds.delete(batch); // delete to ensure correct order in Map iteration below
|
|
145
148
|
deferreds.set(batch, d);
|
|
146
149
|
}
|
|
147
150
|
}
|
|
@@ -169,6 +172,13 @@ export function async_derived(fn, location) {
|
|
|
169
172
|
|
|
170
173
|
internal_set(signal, value);
|
|
171
174
|
|
|
175
|
+
// All prior async derived runs are now stale
|
|
176
|
+
for (const [b, d] of deferreds) {
|
|
177
|
+
deferreds.delete(b);
|
|
178
|
+
if (b === batch) break;
|
|
179
|
+
d.reject(STALE_REACTION);
|
|
180
|
+
}
|
|
181
|
+
|
|
172
182
|
if (DEV && location !== undefined) {
|
|
173
183
|
recent_async_deriveds.add(signal);
|
|
174
184
|
|
|
@@ -185,8 +195,6 @@ export function async_derived(fn, location) {
|
|
|
185
195
|
boundary.update_pending_count(-1);
|
|
186
196
|
if (!pending) batch.decrement();
|
|
187
197
|
}
|
|
188
|
-
|
|
189
|
-
unset_context();
|
|
190
198
|
};
|
|
191
199
|
|
|
192
200
|
d.promise.then(handler, (e) => handler(null, e || 'unknown'));
|
|
@@ -336,6 +344,8 @@ export function update_derived(derived) {
|
|
|
336
344
|
var value = execute_derived(derived);
|
|
337
345
|
|
|
338
346
|
if (!derived.equals(value)) {
|
|
347
|
+
// TODO can we avoid setting `derived.v` when `batch_values !== null`,
|
|
348
|
+
// without causing the value to be stale later?
|
|
339
349
|
derived.v = value;
|
|
340
350
|
derived.wv = increment_write_version();
|
|
341
351
|
}
|
|
@@ -346,8 +356,8 @@ export function update_derived(derived) {
|
|
|
346
356
|
return;
|
|
347
357
|
}
|
|
348
358
|
|
|
349
|
-
if (
|
|
350
|
-
|
|
359
|
+
if (batch_values !== null) {
|
|
360
|
+
batch_values.set(derived, derived.v);
|
|
351
361
|
} else {
|
|
352
362
|
var status =
|
|
353
363
|
(skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
set_dev_stack
|
|
43
43
|
} from './context.js';
|
|
44
44
|
import * as w from './warnings.js';
|
|
45
|
-
import { Batch,
|
|
45
|
+
import { Batch, batch_values, flushSync, schedule_effect } from './reactivity/batch.js';
|
|
46
46
|
import { handle_error } from './error-handling.js';
|
|
47
47
|
import { UNINITIALIZED } from '../../constants.js';
|
|
48
48
|
import { captured_signals } from './legacy.js';
|
|
@@ -671,8 +671,8 @@ export function get(signal) {
|
|
|
671
671
|
} else if (is_derived) {
|
|
672
672
|
derived = /** @type {Derived} */ (signal);
|
|
673
673
|
|
|
674
|
-
if (
|
|
675
|
-
return
|
|
674
|
+
if (batch_values?.has(derived)) {
|
|
675
|
+
return batch_values.get(derived);
|
|
676
676
|
}
|
|
677
677
|
|
|
678
678
|
if (is_dirty(derived)) {
|
|
@@ -680,6 +680,10 @@ export function get(signal) {
|
|
|
680
680
|
}
|
|
681
681
|
}
|
|
682
682
|
|
|
683
|
+
if (batch_values?.has(signal)) {
|
|
684
|
+
return batch_values.get(signal);
|
|
685
|
+
}
|
|
686
|
+
|
|
683
687
|
if ((signal.f & ERROR_VALUE) !== 0) {
|
|
684
688
|
throw signal.v;
|
|
685
689
|
}
|
|
@@ -10,6 +10,15 @@ export function set_ssr_context(v) {
|
|
|
10
10
|
ssr_context = v;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @template T
|
|
15
|
+
* @returns {[() => T, (context: T) => T]}
|
|
16
|
+
*/
|
|
17
|
+
export function createContext() {
|
|
18
|
+
const key = {};
|
|
19
|
+
return [() => getContext(key), (context) => setContext(key, context)];
|
|
20
|
+
}
|
|
21
|
+
|
|
13
22
|
/**
|
|
14
23
|
* @template T
|
|
15
24
|
* @param {any} key
|
|
@@ -51,6 +51,22 @@ export function lifecycle_outside_component(name) {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
/**
|
|
55
|
+
* Context was not set in a parent component
|
|
56
|
+
* @returns {never}
|
|
57
|
+
*/
|
|
58
|
+
export function missing_context() {
|
|
59
|
+
if (DEV) {
|
|
60
|
+
const error = new Error(`missing_context\nContext was not set in a parent component\nhttps://svelte.dev/e/missing_context`);
|
|
61
|
+
|
|
62
|
+
error.name = 'Svelte error';
|
|
63
|
+
|
|
64
|
+
throw error;
|
|
65
|
+
} else {
|
|
66
|
+
throw new Error(`https://svelte.dev/e/missing_context`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
54
70
|
/**
|
|
55
71
|
* Attempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.
|
|
56
72
|
* @returns {never}
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -448,6 +448,10 @@ declare module 'svelte' {
|
|
|
448
448
|
}): Snippet<Params>;
|
|
449
449
|
/** Anything except a function */
|
|
450
450
|
type NotFunction<T> = T extends Function ? never : T;
|
|
451
|
+
/**
|
|
452
|
+
* Returns a `[get, set]` pair of functions for working with context in a type-safe way.
|
|
453
|
+
* */
|
|
454
|
+
export function createContext<T>(): [() => T, (context: T) => T];
|
|
451
455
|
/**
|
|
452
456
|
* Retrieves the context that belongs to the closest parent component with the specified `key`.
|
|
453
457
|
* Must be called during component initialisation.
|
package/types/index.d.ts.map
CHANGED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"flushSync",
|
|
23
23
|
"createRawSnippet",
|
|
24
24
|
"NotFunction",
|
|
25
|
+
"createContext",
|
|
25
26
|
"getContext",
|
|
26
27
|
"setContext",
|
|
27
28
|
"hasContext",
|
|
@@ -260,6 +261,6 @@
|
|
|
260
261
|
null,
|
|
261
262
|
null
|
|
262
263
|
],
|
|
263
|
-
"mappings": ";;;;;;;kBAUiBA,2BAA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkC/BC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwEhBC,kBAAkBA;;;;;;;;;;;;;;;;;;;;;;;;kBAwBbC,SAASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoCbC,oBAAoBA;;;;;;;;;;;;;;;;;;;;;;;;aAwBrBC,eAAeA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCfC,cAAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BdC,aAAaA;;;;;;;;;;;;;;;;;;;;;;;kBAuBRC,OAAOA;;;;;;;;;;;;;;;;kBAgBPC,eAAeA;;;;;;;;;;;;;;;;aAgBpBC,YAAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCzPRC,cAAcA;;;;;;;;;;;;iBAsBdC,OAAOA;;;;;;;;iBAwBPC,SAASA;;;;;;;;;;;;;;;;;;;;;;iBA0CTC,qBAAqBA;;;;;;;;;;iBA2CrBC,YAAYA;;;;;;;;;;iBAuBZC,WAAWA;;;;;
|
|
264
|
+
"mappings": "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",
|
|
264
265
|
"ignoreList": []
|
|
265
266
|
}
|