@elaraai/east 1.0.84 → 1.0.86
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/dist/src/analyze.d.ts.map +1 -1
- package/dist/src/analyze.js +48 -0
- package/dist/src/analyze.js.map +1 -1
- package/dist/src/ast_to_ir.coerce_to.spec.js +4 -4
- package/dist/src/ast_to_ir.coerce_to.spec.js.map +1 -1
- package/dist/src/ast_to_ir.d.ts +6 -1
- package/dist/src/ast_to_ir.d.ts.map +1 -1
- package/dist/src/ast_to_ir.js +20 -7
- package/dist/src/ast_to_ir.js.map +1 -1
- package/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +52 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/codegen/canonical.d.ts +37 -0
- package/dist/src/codegen/canonical.d.ts.map +1 -0
- package/dist/src/codegen/canonical.js +208 -0
- package/dist/src/codegen/canonical.js.map +1 -0
- package/dist/src/codegen/codegen.spec.js +132 -201
- package/dist/src/codegen/codegen.spec.js.map +1 -1
- package/dist/src/codegen/printer.d.ts.map +1 -1
- package/dist/src/codegen/printer.js +142 -24
- package/dist/src/codegen/printer.js.map +1 -1
- package/dist/src/codegen/spellings.d.ts +4 -1
- package/dist/src/codegen/spellings.d.ts.map +1 -1
- package/dist/src/codegen/spellings.js +5 -1
- package/dist/src/codegen/spellings.js.map +1 -1
- package/dist/src/compile/builtins/index.d.ts.map +1 -1
- package/dist/src/compile/builtins/index.js +2 -0
- package/dist/src/compile/builtins/index.js.map +1 -1
- package/dist/src/compile/builtins/primitives.d.ts.map +1 -1
- package/dist/src/compile/builtins/primitives.js +2 -1
- package/dist/src/compile/builtins/primitives.js.map +1 -1
- package/dist/src/compile/builtins/query.d.ts +10 -0
- package/dist/src/compile/builtins/query.d.ts.map +1 -0
- package/dist/src/compile/builtins/query.js +5 -0
- package/dist/src/compile/builtins/query.js.map +1 -0
- package/dist/src/expr/block.d.ts.map +1 -1
- package/dist/src/expr/block.js +2 -1
- package/dist/src/expr/block.js.map +1 -1
- package/dist/src/expr/index.d.ts +75 -47
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/index.js +31 -0
- package/dist/src/expr/index.js.map +1 -1
- package/dist/src/expr/libs/datetime.d.ts +20 -20
- package/dist/src/expr/libs/datetime.d.ts.map +1 -1
- package/dist/src/expr/libs/datetime.js +208 -167
- package/dist/src/expr/libs/datetime.js.map +1 -1
- package/dist/src/expr/libs/float.d.ts +15 -15
- package/dist/src/expr/libs/float.d.ts.map +1 -1
- package/dist/src/expr/libs/float.js +298 -267
- package/dist/src/expr/libs/float.js.map +1 -1
- package/dist/src/expr/libs/integer.d.ts +12 -12
- package/dist/src/expr/libs/integer.d.ts.map +1 -1
- package/dist/src/expr/libs/integer.js +219 -194
- package/dist/src/expr/libs/integer.js.map +1 -1
- package/dist/src/expr/libs/lazy.d.ts +28 -0
- package/dist/src/expr/libs/lazy.d.ts.map +1 -0
- package/dist/src/expr/libs/lazy.js +55 -0
- package/dist/src/expr/libs/lazy.js.map +1 -0
- package/dist/src/expr/libs/lazy.spec.d.ts +6 -0
- package/dist/src/expr/libs/lazy.spec.d.ts.map +1 -0
- package/dist/src/expr/libs/lazy.spec.js +102 -0
- package/dist/src/expr/libs/lazy.spec.js.map +1 -0
- package/dist/src/expr/query.d.ts +60 -0
- package/dist/src/expr/query.d.ts.map +1 -0
- package/dist/src/expr/query.js +84 -0
- package/dist/src/expr/query.js.map +1 -0
- package/dist/src/functions.crossimport.spec.js +8 -0
- package/dist/src/functions.crossimport.spec.js.map +1 -1
- package/dist/src/functions.d.ts +45 -8
- package/dist/src/functions.d.ts.map +1 -1
- package/dist/src/functions.js +138 -28
- package/dist/src/functions.js.map +1 -1
- package/dist/src/functions.spec.js +60 -2
- package/dist/src/functions.spec.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -0
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +9 -0
- package/dist/src/internal.js.map +1 -1
- package/dist/src/location.d.ts +22 -0
- package/dist/src/location.d.ts.map +1 -1
- package/dist/src/location.js +31 -0
- package/dist/src/location.js.map +1 -1
- package/dist/src/naming.d.ts +5 -3
- package/dist/src/naming.d.ts.map +1 -1
- package/dist/src/naming.js.map +1 -1
- package/dist/src/portable.spec.d.ts +6 -0
- package/dist/src/portable.spec.d.ts.map +1 -0
- package/dist/src/portable.spec.js +181 -0
- package/dist/src/portable.spec.js.map +1 -0
- package/dist/src/query/evaluate.d.ts +98 -0
- package/dist/src/query/evaluate.d.ts.map +1 -0
- package/dist/src/query/evaluate.js +193 -0
- package/dist/src/query/evaluate.js.map +1 -0
- package/dist/src/query/index.d.ts +17 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/index.js +17 -0
- package/dist/src/query/index.js.map +1 -0
- package/dist/src/query/jq/catalog.d.ts +174 -0
- package/dist/src/query/jq/catalog.d.ts.map +1 -0
- package/dist/src/query/jq/catalog.js +1740 -0
- package/dist/src/query/jq/catalog.js.map +1 -0
- package/dist/src/query/jq/check.d.ts +210 -0
- package/dist/src/query/jq/check.d.ts.map +1 -0
- package/dist/src/query/jq/check.js +2261 -0
- package/dist/src/query/jq/check.js.map +1 -0
- package/dist/src/query/jq/complete.d.ts +89 -0
- package/dist/src/query/jq/complete.d.ts.map +1 -0
- package/dist/src/query/jq/complete.js +320 -0
- package/dist/src/query/jq/complete.js.map +1 -0
- package/dist/src/query/jq/describe.d.ts +53 -0
- package/dist/src/query/jq/describe.d.ts.map +1 -0
- package/dist/src/query/jq/describe.js +149 -0
- package/dist/src/query/jq/describe.js.map +1 -0
- package/dist/src/query/jq/lex.d.ts +118 -0
- package/dist/src/query/jq/lex.d.ts.map +1 -0
- package/dist/src/query/jq/lex.js +371 -0
- package/dist/src/query/jq/lex.js.map +1 -0
- package/dist/src/query/jq/literals.d.ts +49 -0
- package/dist/src/query/jq/literals.d.ts.map +1 -0
- package/dist/src/query/jq/literals.js +78 -0
- package/dist/src/query/jq/literals.js.map +1 -0
- package/dist/src/query/jq/messages.d.ts +126 -0
- package/dist/src/query/jq/messages.d.ts.map +1 -0
- package/dist/src/query/jq/messages.js +172 -0
- package/dist/src/query/jq/messages.js.map +1 -0
- package/dist/src/query/jq/parse.d.ts +70 -0
- package/dist/src/query/jq/parse.d.ts.map +1 -0
- package/dist/src/query/jq/parse.js +1013 -0
- package/dist/src/query/jq/parse.js.map +1 -0
- package/dist/src/query/jq/print.d.ts +59 -0
- package/dist/src/query/jq/print.d.ts.map +1 -0
- package/dist/src/query/jq/print.js +587 -0
- package/dist/src/query/jq/print.js.map +1 -0
- package/dist/src/query/jq/shapes.d.ts +345 -0
- package/dist/src/query/jq/shapes.d.ts.map +1 -0
- package/dist/src/query/jq/shapes.js +584 -0
- package/dist/src/query/jq/shapes.js.map +1 -0
- package/dist/src/query/jq/spans.d.ts +133 -0
- package/dist/src/query/jq/spans.d.ts.map +1 -0
- package/dist/src/query/jq/spans.js +195 -0
- package/dist/src/query/jq/spans.js.map +1 -0
- package/dist/src/query/jq/split.d.ts +334 -0
- package/dist/src/query/jq/split.d.ts.map +1 -0
- package/dist/src/query/jq/split.js +2108 -0
- package/dist/src/query/jq/split.js.map +1 -0
- package/dist/src/query/jq/strftime.d.ts +20 -0
- package/dist/src/query/jq/strftime.d.ts.map +1 -0
- package/dist/src/query/jq/strftime.js +65 -0
- package/dist/src/query/jq/strftime.js.map +1 -0
- package/dist/src/query/jq/summary.d.ts +139 -0
- package/dist/src/query/jq/summary.d.ts.map +1 -0
- package/dist/src/query/jq/summary.js +222 -0
- package/dist/src/query/jq/summary.js.map +1 -0
- package/dist/src/query/jq/translate-builtins.d.ts +21 -0
- package/dist/src/query/jq/translate-builtins.d.ts.map +1 -0
- package/dist/src/query/jq/translate-builtins.js +1873 -0
- package/dist/src/query/jq/translate-builtins.js.map +1 -0
- package/dist/src/query/jq/translate.d.ts +627 -0
- package/dist/src/query/jq/translate.d.ts.map +1 -0
- package/dist/src/query/jq/translate.js +3364 -0
- package/dist/src/query/jq/translate.js.map +1 -0
- package/dist/src/query/types.d.ts +505 -0
- package/dist/src/query/types.d.ts.map +1 -0
- package/dist/src/query/types.js +231 -0
- package/dist/src/query/types.js.map +1 -0
- package/dist/src/runner_exec.d.ts +134 -0
- package/dist/src/runner_exec.d.ts.map +1 -0
- package/dist/src/runner_exec.js +371 -0
- package/dist/src/runner_exec.js.map +1 -0
- package/dist/src/runner_exec.spec.d.ts +6 -0
- package/dist/src/runner_exec.spec.d.ts.map +1 -0
- package/dist/src/runner_exec.spec.js +198 -0
- package/dist/src/runner_exec.spec.js.map +1 -0
- package/dist/src/runner_io.d.ts +370 -0
- package/dist/src/runner_io.d.ts.map +1 -0
- package/dist/src/runner_io.js +563 -0
- package/dist/src/runner_io.js.map +1 -0
- package/dist/src/runner_io.spec.d.ts +6 -0
- package/dist/src/runner_io.spec.d.ts.map +1 -0
- package/dist/src/runner_io.spec.js +224 -0
- package/dist/src/runner_io.spec.js.map +1 -0
- package/dist/src/runner_merge.d.ts +95 -0
- package/dist/src/runner_merge.d.ts.map +1 -0
- package/dist/src/runner_merge.js +238 -0
- package/dist/src/runner_merge.js.map +1 -0
- package/dist/src/runner_protocol.d.ts +11 -4
- package/dist/src/runner_protocol.d.ts.map +1 -1
- package/dist/src/runner_protocol.js +11 -4
- package/dist/src/runner_protocol.js.map +1 -1
- package/dist/src/serialization/beast2/index.d.ts +1 -1
- package/dist/src/serialization/beast2/index.d.ts.map +1 -1
- package/dist/src/serialization/beast2/index.js.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.d.ts +10 -6
- package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.js +10 -6
- package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
- package/dist/src/serialization/beast2/v5/frames.spec.d.ts +6 -0
- package/dist/src/serialization/beast2/v5/frames.spec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/frames.spec.js +42 -0
- package/dist/src/serialization/beast2/v5/frames.spec.js.map +1 -0
- package/dist/src/serialization/beast2/v5/index.spec.js +108 -0
- package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.d.ts +12 -7
- package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.js +16 -6
- package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
- package/dist/src/serialization/beast2/v5/lazy.spec.js +159 -18
- package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
- package/dist/src/serialization/beast2/v5/stream.d.ts +110 -21
- package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/stream.js +153 -42
- package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
- package/dist/src/serialization/beast2/v5/weight.d.ts +36 -0
- package/dist/src/serialization/beast2/v5/weight.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/weight.js +238 -0
- package/dist/src/serialization/beast2/v5/weight.js.map +1 -0
- package/dist/src/serialization/crc32.d.ts +38 -0
- package/dist/src/serialization/crc32.d.ts.map +1 -0
- package/dist/src/serialization/crc32.js +70 -0
- package/dist/src/serialization/crc32.js.map +1 -0
- package/dist/src/serialization/crc32.spec.d.ts +6 -0
- package/dist/src/serialization/crc32.spec.d.ts.map +1 -0
- package/dist/src/serialization/crc32.spec.js +92 -0
- package/dist/src/serialization/crc32.spec.js.map +1 -0
- package/dist/src/serialization/east-inferred.spec.js +4 -0
- package/dist/src/serialization/east-inferred.spec.js.map +1 -1
- package/dist/src/serialization/east.d.ts.map +1 -1
- package/dist/src/serialization/east.js +134 -110
- package/dist/src/serialization/east.js.map +1 -1
- package/dist/src/serialization/east.spec.js +185 -4
- package/dist/src/serialization/east.spec.js.map +1 -1
- package/dist/src/serialization/east_text.d.ts +25 -0
- package/dist/src/serialization/east_text.d.ts.map +1 -0
- package/dist/src/serialization/east_text.js +29 -0
- package/dist/src/serialization/east_text.js.map +1 -0
- package/dist/src/serialization/index.d.ts +1 -1
- package/dist/src/serialization/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +7 -6
- package/dist/src/types.js.map +1 -1
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAuC,MAAM,0BAA0B,CAAC;AACnG,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,KAAK,mBAAmB,EAAwB,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,KAAK,WAAW,EAA4C,MAAM,aAAa,CAAC;AAiBzF,OAAO,EAAE,KAAK,qBAAqB,EAA8G,MAAM,YAAY,CAAC;AAEpK,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ import { MAGIC_BYTES_V5, TAG_NEW, createV5EncodeContext, buildV5Encoder, buildV5
|
|
|
41
41
|
import { TAG_OR_TERMINATOR_FRAME, bytesReader, isBeast2SyncRangeReader, readExact, readU64LE, readBeast2ExtentsSync } from "./range.js";
|
|
42
42
|
import { SegmentCutter, decodeBeast2FenceFor } from "./boundary.js";
|
|
43
43
|
import { isBeast2ManifestSource } from "./manifest.js";
|
|
44
|
+
import { decodedWeightFor } from "./weight.js";
|
|
44
45
|
/** Validates that a root type is streamable and returns its kind. */
|
|
45
46
|
function checkSegmented(typeValue) {
|
|
46
47
|
if (!isSegmentedRoot(typeValue)) {
|
|
@@ -914,12 +915,15 @@ export function iterBeast2SegmentsFor(type, options) {
|
|
|
914
915
|
// =============================================================================
|
|
915
916
|
// Paging reader
|
|
916
917
|
// =============================================================================
|
|
917
|
-
/**
|
|
918
|
-
*
|
|
919
|
-
*
|
|
920
|
-
*
|
|
921
|
-
*
|
|
922
|
-
|
|
918
|
+
/** The decoded weight a {@link Beast2Pages}' cache keeps by default: enough
|
|
919
|
+
* for any input the query planner reads whole in each piece, which decodes to
|
|
920
|
+
* at most about 16 times its stored 16 MiB (v5/SPEC.md, "The pager's
|
|
921
|
+
* cache"). */
|
|
922
|
+
const PAGES_CACHE_BYTES_DEFAULT = 256 * 1024 * 1024;
|
|
923
|
+
/** The misses of a run — its first, then each one or two segments past the
|
|
924
|
+
* last — from which it drops what it passed: one keyed read can straddle a
|
|
925
|
+
* segment boundary, and four misses in order are not chance. */
|
|
926
|
+
const RUN_DROPS_FROM = 4;
|
|
923
927
|
/** The bytes a fence probe reads first: the frame header plus enough of the
|
|
924
928
|
* payload for the first key of any ordinary row. A key that does not fit
|
|
925
929
|
* grows the probe fourfold until it does, the final attempt reading the
|
|
@@ -932,9 +936,12 @@ const FENCE_PROBE_BYTES = 4096;
|
|
|
932
936
|
* {@link segment} seeks to and decodes exactly one segment. Requires the blob
|
|
933
937
|
* to carry an index (written by default by {@link Beast2Writer}); random
|
|
934
938
|
* access additionally requires self-contained segments. The element and keyed
|
|
935
|
-
* read paths ({@link element} / {@link get})
|
|
936
|
-
*
|
|
937
|
-
*
|
|
939
|
+
* read paths ({@link element} / {@link get}) keep the segments they decode in
|
|
940
|
+
* a cache of the reader's own — up to `cacheBytes` of decoded weight, least
|
|
941
|
+
* recently used first, and dropping behind reads in key order (v5/SPEC.md,
|
|
942
|
+
* "The pager's cache") — so a read loop over neighbouring rows decodes each
|
|
943
|
+
* segment once rather than once per element; {@link segment} itself always
|
|
944
|
+
* decodes fresh.
|
|
938
945
|
*
|
|
939
946
|
* The blob is either a whole `Uint8Array` or a {@link Beast2SyncRangeReader}:
|
|
940
947
|
* through a reader the open reads only the tail (footer + index) and the
|
|
@@ -984,14 +991,34 @@ export class Beast2Pages {
|
|
|
984
991
|
fenceDec = null;
|
|
985
992
|
/** The decoder of a manifest's stored fence bytes, built on first use. */
|
|
986
993
|
manifestFenceDec = null;
|
|
987
|
-
/**
|
|
988
|
-
*
|
|
989
|
-
* Only {@link element} and {@link get}
|
|
990
|
-
* {@link segment}
|
|
991
|
-
*
|
|
992
|
-
*
|
|
993
|
-
*
|
|
994
|
+
/** The decoded segments the element and keyed reads keep, by segment
|
|
995
|
+
* index, least recently used first: the Map's order is the recency list,
|
|
996
|
+
* and a hit moves its segment last. Only {@link element} and {@link get}
|
|
997
|
+
* route through it: every scan — {@link segment}, {@link segmentDisjoint},
|
|
998
|
+
* {@link slice} — decodes fresh. Its segments decode frozen, so a caller
|
|
999
|
+
* cannot change what a later read is served through what one read
|
|
1000
|
+
* returned (#1129). `first`/`last` carry a Set/Dict segment's key range so
|
|
1001
|
+
* a hit can maintain the caller's order threading without a container
|
|
1002
|
+
* walk. */
|
|
994
1003
|
segmentCache = new Map();
|
|
1004
|
+
/** The cache's budget, in decoded weight. */
|
|
1005
|
+
cacheBudget;
|
|
1006
|
+
/** The decoded weight of the segments the cache holds. */
|
|
1007
|
+
cacheWeight = 0;
|
|
1008
|
+
/** What the cache has done — see {@link cacheStats}. */
|
|
1009
|
+
cacheHits = 0;
|
|
1010
|
+
cacheEvictions = 0;
|
|
1011
|
+
cacheDropped = 0;
|
|
1012
|
+
cachePeak = 0;
|
|
1013
|
+
/** Weighs a decoded segment; built on the first decode the cache keeps. */
|
|
1014
|
+
weighSegment = null;
|
|
1015
|
+
/** Drop-behind: the segment the last miss read (-1 before any), the run's
|
|
1016
|
+
* misses so far, its first included, the first segment of the run not yet
|
|
1017
|
+
* dropped behind, and what the run marks the segments its misses decode. */
|
|
1018
|
+
runLast = -1;
|
|
1019
|
+
runMisses = 0;
|
|
1020
|
+
runNextDrop = 0;
|
|
1021
|
+
runId = 0;
|
|
995
1022
|
/** Segments decoded so far — see {@link segmentsDecoded}. */
|
|
996
1023
|
decodes = 0;
|
|
997
1024
|
/** Fences probed so far — see {@link fencesProbed}. */
|
|
@@ -1001,6 +1028,11 @@ export class Beast2Pages {
|
|
|
1001
1028
|
keptFences = [];
|
|
1002
1029
|
/** @internal Use {@link openBeast2PagesFor}. */
|
|
1003
1030
|
constructor(source, typeValue, options) {
|
|
1031
|
+
const cacheBytes = options?.cacheBytes ?? PAGES_CACHE_BYTES_DEFAULT;
|
|
1032
|
+
if (!(cacheBytes >= 0)) {
|
|
1033
|
+
throw new TypeError(`beast2 v5: cacheBytes is a decoded weight in bytes, 0 or more, not ${cacheBytes}`);
|
|
1034
|
+
}
|
|
1035
|
+
this.cacheBudget = cacheBytes;
|
|
1004
1036
|
let kind;
|
|
1005
1037
|
let sourceMap;
|
|
1006
1038
|
let index;
|
|
@@ -1081,6 +1113,34 @@ export class Beast2Pages {
|
|
|
1081
1113
|
get fencesProbed() {
|
|
1082
1114
|
return this.probes;
|
|
1083
1115
|
}
|
|
1116
|
+
/**
|
|
1117
|
+
* What the cache of the element and keyed reads has done, and what it holds
|
|
1118
|
+
* now: the figures east-c's pager keeps, by the same rules (v5/SPEC.md, "The
|
|
1119
|
+
* pager's cache").
|
|
1120
|
+
*/
|
|
1121
|
+
get cacheStats() {
|
|
1122
|
+
return {
|
|
1123
|
+
hits: this.cacheHits,
|
|
1124
|
+
evictions: this.cacheEvictions,
|
|
1125
|
+
droppedBehind: this.cacheDropped,
|
|
1126
|
+
segments: this.segmentCache.size,
|
|
1127
|
+
weight: this.cacheWeight,
|
|
1128
|
+
peakWeight: this.cachePeak,
|
|
1129
|
+
budget: this.cacheBudget,
|
|
1130
|
+
};
|
|
1131
|
+
}
|
|
1132
|
+
/**
|
|
1133
|
+
* Lets every segment the cache holds go, and forgets the run of reads in key
|
|
1134
|
+
* order they were in: what a lazy value does once it has read its
|
|
1135
|
+
* collection whole, after which its reads never come here again.
|
|
1136
|
+
*
|
|
1137
|
+
* @internal
|
|
1138
|
+
*/
|
|
1139
|
+
clearCache() {
|
|
1140
|
+
this.segmentCache.clear();
|
|
1141
|
+
this.cacheWeight = 0;
|
|
1142
|
+
this.runLast = -1;
|
|
1143
|
+
}
|
|
1084
1144
|
/** Reads segment `i`'s frame — exactly its wire bytes, from its index
|
|
1085
1145
|
* offset to the next segment's (or the terminator) — and opens its
|
|
1086
1146
|
* logical chunk. The only place segment bytes are fetched, so a ranged
|
|
@@ -1126,8 +1186,10 @@ export class Beast2Pages {
|
|
|
1126
1186
|
const order = this.kind === "Array" ? undefined : { prev: undefined, has: false };
|
|
1127
1187
|
return this.decodeSegmentCore(i, order);
|
|
1128
1188
|
}
|
|
1129
|
-
/** Seeks to and decodes segment `i`, threading the caller's order state.
|
|
1130
|
-
|
|
1189
|
+
/** Seeks to and decodes segment `i`, threading the caller's order state.
|
|
1190
|
+
* `freeze` decodes it frozen whatever the pager was opened with: the
|
|
1191
|
+
* cache's segments are shared by every read they serve (#1129). */
|
|
1192
|
+
decodeSegmentCore(i, order, freeze = false) {
|
|
1131
1193
|
if (!this.selfContained) {
|
|
1132
1194
|
throw new Error(`beast2 v5: blob has cross-segment aliasing — random access needs self-contained segments`);
|
|
1133
1195
|
}
|
|
@@ -1139,7 +1201,7 @@ export class Beast2Pages {
|
|
|
1139
1201
|
if (n !== this.indexData.counts[i]) {
|
|
1140
1202
|
throw new Error(`beast2 v5: segment ${i} declares ${n} elements, index says ${this.indexData.counts[i]}`);
|
|
1141
1203
|
}
|
|
1142
|
-
const ctx = { containers: [], sourceMap: this.sourceMap, frozen: this.platform?.frozen ?? false, ...buildPlatformContext(this.platform) };
|
|
1204
|
+
const ctx = { containers: [], sourceMap: this.sourceMap, frozen: freeze || (this.platform?.frozen ?? false), ...buildPlatformContext(this.platform) };
|
|
1143
1205
|
const value = this.decodeSegment(reader, ctx, n, order);
|
|
1144
1206
|
if (reader.offset !== reader.buffer.length) {
|
|
1145
1207
|
throw new Error(`beast2 v5: ${reader.buffer.length - reader.offset} logical bytes after segment ${i}`);
|
|
@@ -1147,16 +1209,20 @@ export class Beast2Pages {
|
|
|
1147
1209
|
this.decodes++;
|
|
1148
1210
|
return value;
|
|
1149
1211
|
}
|
|
1150
|
-
/** Decodes segment `i` through the
|
|
1151
|
-
*
|
|
1152
|
-
*
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1212
|
+
/** Decodes segment `i` through the cache, threading the caller's order
|
|
1213
|
+
* state exactly as a fresh decode would: a hit replays the boundary-ascent
|
|
1214
|
+
* check against the cached segment's first key and advances `order` to its
|
|
1215
|
+
* last. A miss steps the run of misses ({@link runStep}), decodes the
|
|
1216
|
+
* segment frozen — every read it serves shares it — and weighs it, and the
|
|
1217
|
+
* least recently used go until the cache is within its budget; the newest
|
|
1218
|
+
* never does, so one segment over budget still caches. Serves
|
|
1219
|
+
* {@link element} and {@link get} only — see {@link segmentCache}. */
|
|
1155
1220
|
segmentCached(i, order) {
|
|
1156
1221
|
const hit = this.segmentCache.get(i);
|
|
1157
1222
|
if (hit !== undefined) {
|
|
1158
1223
|
this.segmentCache.delete(i);
|
|
1159
|
-
this.segmentCache.set(i, hit); //
|
|
1224
|
+
this.segmentCache.set(i, hit); // the most recently used goes last
|
|
1225
|
+
this.cacheHits++;
|
|
1160
1226
|
if (order !== undefined && this.orderCmp !== null) {
|
|
1161
1227
|
if (order.has && this.orderCmp(order.prev, hit.first) >= 0) {
|
|
1162
1228
|
throw new Error(`beast2 v5: ${this.kind === "Dict" ? "Dict keys" : "Set elements"} are not strictly ascending in East order — the wire must hold the canonical value (corrupt or pre-contract blob)`);
|
|
@@ -1166,7 +1232,8 @@ export class Beast2Pages {
|
|
|
1166
1232
|
}
|
|
1167
1233
|
return hit.seg;
|
|
1168
1234
|
}
|
|
1169
|
-
|
|
1235
|
+
this.runStep(i);
|
|
1236
|
+
const seg = this.decodeSegmentCore(i, order, true);
|
|
1170
1237
|
let first;
|
|
1171
1238
|
let last;
|
|
1172
1239
|
if (this.kind !== "Array") {
|
|
@@ -1175,12 +1242,55 @@ export class Beast2Pages {
|
|
|
1175
1242
|
// order state on the segment's last key.
|
|
1176
1243
|
last = order?.prev;
|
|
1177
1244
|
}
|
|
1178
|
-
this.
|
|
1179
|
-
|
|
1180
|
-
|
|
1245
|
+
this.weighSegment ??= decodedWeightFor(this.typeValue);
|
|
1246
|
+
const weight = this.weighSegment(seg);
|
|
1247
|
+
this.segmentCache.set(i, { seg, first, last, weight, run: this.runId });
|
|
1248
|
+
this.cacheWeight += weight;
|
|
1249
|
+
for (const [k, entry] of this.segmentCache) {
|
|
1250
|
+
if (this.cacheWeight <= this.cacheBudget || k === i)
|
|
1251
|
+
break;
|
|
1252
|
+
this.letGo(k, entry);
|
|
1253
|
+
this.cacheEvictions++;
|
|
1181
1254
|
}
|
|
1255
|
+
if (this.cacheWeight > this.cachePeak)
|
|
1256
|
+
this.cachePeak = this.cacheWeight;
|
|
1182
1257
|
return seg;
|
|
1183
1258
|
}
|
|
1259
|
+
/** A miss reading segment `s`: it continues the run of misses when it reads
|
|
1260
|
+
* one or two segments past the last — a join's lookups can skip a segment
|
|
1261
|
+
* holding no key they want — and starts a run otherwise. From the run's
|
|
1262
|
+
* fourth miss on ({@link RUN_DROPS_FROM}), what the run itself decoded, from
|
|
1263
|
+
* its first segment to two before `s`, is let go: a reader in key order
|
|
1264
|
+
* keeps the segment it is in and the one before. A reader at random lands
|
|
1265
|
+
* one or two past its last miss with odds of about 2 in the segment count
|
|
1266
|
+
* S, so three such misses in a row are (2/S)³ — 1 in 80,000 over 87
|
|
1267
|
+
* segments. Hits never touch the run. */
|
|
1268
|
+
runStep(s) {
|
|
1269
|
+
const last = this.runLast;
|
|
1270
|
+
this.runLast = s;
|
|
1271
|
+
if (last < 0 || s <= last || s - last > 2) {
|
|
1272
|
+
this.runId++;
|
|
1273
|
+
this.runMisses = 1;
|
|
1274
|
+
this.runNextDrop = s;
|
|
1275
|
+
return;
|
|
1276
|
+
}
|
|
1277
|
+
if (++this.runMisses < RUN_DROPS_FROM)
|
|
1278
|
+
return;
|
|
1279
|
+
for (let k = this.runNextDrop; k + 2 <= s; k++) {
|
|
1280
|
+
const entry = this.segmentCache.get(k);
|
|
1281
|
+
if (entry !== undefined && entry.run === this.runId) {
|
|
1282
|
+
this.letGo(k, entry);
|
|
1283
|
+
this.cacheDropped++;
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
if (s - 1 > this.runNextDrop)
|
|
1287
|
+
this.runNextDrop = s - 1;
|
|
1288
|
+
}
|
|
1289
|
+
/** Lets cached segment `k` go. */
|
|
1290
|
+
letGo(k, entry) {
|
|
1291
|
+
this.segmentCache.delete(k);
|
|
1292
|
+
this.cacheWeight -= entry.weight;
|
|
1293
|
+
}
|
|
1184
1294
|
/** Segment `i`'s first key or element, probed ({@link probeFirstKey}) and
|
|
1185
1295
|
* counted. A Set element or Dict key is immutable, so a Set or Dict fence
|
|
1186
1296
|
* is kept and handed out again without a probe; an Array's first element
|
|
@@ -1467,7 +1577,11 @@ export class Beast2Pages {
|
|
|
1467
1577
|
/**
|
|
1468
1578
|
* Looks up one Set element or Dict value by key (Set/Dict roots only):
|
|
1469
1579
|
* binary-searches the verified segment fences for the only segment whose
|
|
1470
|
-
* range can hold the key, decodes it
|
|
1580
|
+
* range can hold the key, decodes it (or takes it from the cache), and looks
|
|
1581
|
+
* the key up in it. A segment is a SortedSet or SortedMap under the same
|
|
1582
|
+
* East comparator, so the lookup is its B-tree's, O(log m) in a segment of m
|
|
1583
|
+
* keys — as east-c looks a key up in its segment — and never a walk of the
|
|
1584
|
+
* segment's entries.
|
|
1471
1585
|
*
|
|
1472
1586
|
* @param key - the Set element or Dict key to look up
|
|
1473
1587
|
* @returns the Dict value (or the stored Set element) for `key`, or
|
|
@@ -1488,17 +1602,12 @@ export class Beast2Pages {
|
|
|
1488
1602
|
const order = { prev: undefined, has: false };
|
|
1489
1603
|
const segment = this.decodeDisjoint(this.segmentFor(key), order, fences, true);
|
|
1490
1604
|
if (this.kind === "Set") {
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
return undefined;
|
|
1605
|
+
// The stored element, not the key asked with: the least at or above it,
|
|
1606
|
+
// when that one is East-equal to it.
|
|
1607
|
+
const at = segment.keys(key).next();
|
|
1608
|
+
return !at.done && this.orderCmp(at.value, key) === 0 ? at.value : undefined;
|
|
1496
1609
|
}
|
|
1497
|
-
|
|
1498
|
-
if (this.orderCmp(k, key) === 0)
|
|
1499
|
-
return v;
|
|
1500
|
-
}
|
|
1501
|
-
return undefined;
|
|
1610
|
+
return segment.get(key);
|
|
1502
1611
|
}
|
|
1503
1612
|
}
|
|
1504
1613
|
/**
|
|
@@ -1511,8 +1620,10 @@ export class Beast2Pages {
|
|
|
1511
1620
|
* whose fences are already decoded, so a keyed read touches exactly one.
|
|
1512
1621
|
*
|
|
1513
1622
|
* @param type - the collection type (Array/Set/Dict)
|
|
1514
|
-
* @param options - decode options (platform functions for decoded functions)
|
|
1515
|
-
*
|
|
1623
|
+
* @param options - decode options (platform functions for decoded functions),
|
|
1624
|
+
* and the decoded weight the reader's cache keeps (`cacheBytes`)
|
|
1625
|
+
* @returns a function opening a blob for paged reads, which throws a
|
|
1626
|
+
* `TypeError` when `cacheBytes` is negative or not a number
|
|
1516
1627
|
* @throws {TypeError} When `type` is not an Array, Set or Dict type.
|
|
1517
1628
|
*/
|
|
1518
1629
|
export function openBeast2PagesFor(type, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAsB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEnG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAA4B,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAoB,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,SAAS,EAAqC,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,OAAO,EAGP,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,SAAS,EACT,eAAe,GAEhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA8B,uBAAuB,EAAE,WAAW,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACpK,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAA6B,MAAM,eAAe,CAAC;AAKlF,qEAAqE;AACrE,SAAS,cAAc,CAAC,SAAwB;IAC9C,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,yDAAyD,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,SAAS,CAAC,IAAqB,CAAC;AACzC,CAAC;AAED;kEACkE;AAClE,SAAS,WAAW,CAAC,SAAwB,EAAE,IAAmB;IAChE,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,SAAiB,CAAC,KAAK,CAAC,CAAC,CAAE,SAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9F,CAAC;AAsCD;;qDAEqD;AACrD,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,aAAa;IACA,KAAK,CAAc;IACnB,QAAQ,CAAU;IAClB,IAAI,CAAuC;IAC5D,wEAAwE;IAChE,IAAI,CAA+B;IACnC,cAAc,GAAG,CAAC,CAAC;IAC3B,iEAAiE;IAChD,QAAQ,GAAuC,EAAE,CAAC;IAEnE,YAAY,KAAkB,EAAE,QAAiB,EAAE,IAA0C;QAC3F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;yCACqC;IACrC,MAAM,CAAC,OAAmB,EAAE,IAAO;QACjC,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;YACjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,iEAAiE;QACjE,8CAA8C;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,mCAAmC;IACnC,MAAM;QACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;sDAKkD;IAC1C,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,GAAG,sBAAsB;gBAAE,OAAO,IAAI,CAAC;YAChF,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;kBAEc;IACN,YAAY,CAAC,OAAe;QAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC/B,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBAAE,OAAO;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,SAAwB,EAAE,SAA2B,EAAE,YAAoC;IAC5G,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC9C,MAAM,IAAI,SAAS,CAAC,8CAA8C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,SAAS,CAAC,SAAS,CAAC,2DAA2D,CAAC,CAAC;QAC9L,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAChC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAClC,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;;mDAEmD;AACnD,SAAS,WAAW,CAAC,IAAgB,EAAE,KAAiB,EAAE,KAAa;IACrE,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,uBAAuB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAChG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACzC,mBAAmB,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,YAAY;IACvB,yCAAyC;IACzC,QAAQ,GAAG,CAAC,CAAC;IACI,IAAI,CAAgB;IACpB,IAAI,CAA8B;IAClC,aAAa,CAAU;IACvB,SAAS,CAAU;IACnB,GAAG,CAAkB;IACrB,WAAW,CAA8C;IACzD,KAAK,GAAwC,EAAE,CAAC;IAChD,QAAQ,CAAsC;IACvD,OAAO,CAAM;IACb,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,KAAK,CAAC;IACzB;6BACyB;IACR,MAAM,CAAwB;IAE/C;;;;;;OAMG;IACH,YAAY,IAAuB,EAAE,IAAiC,EAAE,OAA6B;QACnG,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAS,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhE,2EAA2E;QAC3E,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACpC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;oBAC3B,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;wBAChC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;oBACpD,CAAC;oBACD,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;wBAChC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACpE,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,KAAqB;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAE,KAAe,CAAC,MAAM,CAAC,CAAC,CAAE,KAAa,CAAC,IAAI,CAAC;QACpF,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,KAAa,EAAE,QAAoB;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED;sDACkD;IAC1C,YAAY,CAAC,KAAa,EAAE,YAAwB;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,uEAAuE;YACvE,6CAA6C;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;iFAC6E;IACrE,WAAW,CAAC,KAAU;QAC5B,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAuB,CAAC,IAAI,EAAE,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,CAAC,IAAI,qDAAqD;oBAC5E,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,mDAAmD;oBAC9F,uDAAuD,CACxD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,KAAiB;QAC5B,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACF;AAED;wEACwE;AACxE,SAAS,qBAAqB,CAAC,MAAoB,EAAE,cAAsB,EAAE,QAA6C,EAAE,aAAsB;IAChJ,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;IACjC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpD,2EAA2E;IAC3E,yEAAyE;IACzE,mBAAmB;IACnB,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACjD,CAAC,KAAK,EAAE,CAAC;IACX,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAqB,IAAuB,EAAE,OAA6B;IAChH,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;QAAC,CAAC;QAC7D,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAkDD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAwB,EAAE,SAA2B;IACrF,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,iEAAiE;IACjE,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzB,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,GAAG,CAAE,OAA8B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACtC,KAAK,CAAE,OAA8B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzB,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3B,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,mBAAmB;IACb,IAAI,CAAgB;IACrC,2DAA2D;IAC1C,IAAI,CAAyB;IAC9C,mEAAmE;IAClD,MAAM,CAAqC;IAC3C,IAAI,CAAa;IACjB,aAAa,CAAqD;IAClE,QAAQ,CAAsC;IACvD,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,iDAAiD;IAChC,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;IAC3C,oCAAoC;IAC5B,KAAK,GAAG,CAAC,CAAC;IAClB,8DAA8D;IACtD,cAAc,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC,CAAC;IACZ,OAAO,CAAU;IACjB,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IAEzB;;;;;;;OAOG;IACH,YAAY,IAAuB,EAAE,IAAuD,EAAE,OAAoC;QAChI,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAI,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAe,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,EACnG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;qDACiD;IACjD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;kFAC8E;IAC9E,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,OAA2B;QAC7B,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,GAAY,CAAC;QACjB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAE,OAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,kDAAkD;oBACvH,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,OAAmB,EAAE,SAAiB;QAC/C,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;sEACkE;IAC1D,KAAK,CAAC,KAAa,EAAE,SAAiB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,4DAA4D;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;;YACtC,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;oBACgB;IAChB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;oBACgB;IAChB,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;;YACtC,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;iBACa;IACL,YAAY,CAAC,QAAoB;QACvC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC;YACzF,YAAY,EAAE,QAAQ,CAAC,MAAM;SAC9B,CAAC,CAAC;IACL,CAAC;CACF;AAcD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAqB,IAAuB,EAAE,OAAkC;IAClH,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEzC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,QAAQ,GAAsB,IAAI,KAAK,MAAM;YACjD,CAAC,CAAC,CAAE,KAAiB,YAAY,SAAS;gBACtC,CAAC,CAAE,KAAqC,CAAC,OAAO,EAAE;gBAClD,CAAC,CAAC,CAAC,GAAI,KAA+B,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,IAAI,KAAK,KAAK;gBACd,CAAC,CAAC,CAAE,KAAiB,YAAY,SAAS;oBACtC,CAAC,CAAE,KAA2B;oBAC9B,CAAC,CAAC,CAAC,GAAI,KAAsB,CAAC,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC;gBAC9C,CAAC,CAAE,KAA2B,CAAC;QAEnC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjI,KAAK,MAAM,OAAO,IAAI,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChB,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,2EAA2E;AAC3E,SAAS,aAAa,CAAC,IAAgB;IACrC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,gBAAgB,cAAc,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,aAAa,CAAC,IAAgB,EAAE,SAAwB;IAC/D,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7D,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;wEAUwE;AACxE,SAAS,mBAAmB,CAAC,SAAwB,EAAE,IAAmB;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAW,SAAS,EAAE,GAAI,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC3B,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,KAAK,CAAC,GAAG,IAAI,GAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CAAC,uIAAuI,CAAC,CAAC;oBAC3J,CAAC;oBACD,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;oBACf,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAE,SAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAM,SAAS,EAAE,GAAI,CAAC,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC/B,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,KAAK,CAAC,GAAG,IAAI,GAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,0IAA0I,CAAC,CAAC;oBAC9J,CAAC;oBACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oBAClB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,GAAG,GAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAqB,IAAuB,EAAE,OAA6B;IAC9G,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,SAAS,CAAC,CAAC;IAE1B,OAAO,QAAQ,CAAC,EAAE,IAAgB;QAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/H,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAElD,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,wEAAwE;QACxE,gDAAgD;QAChD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAEpF,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,KAAK,GAA6B,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACvG,SAAS,CAAC;YACR,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACnE,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM;YACnB,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,0CAA0C,CAAC,CAAC;QAChH,CAAC;QACD,kEAAkE;QAClE,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,6BAA6B,MAAM,CAAC,UAAU,cAAc,CAAC,CAAC;QAC7H,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;kBAIkB;AAClB,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;4CAG4C;AAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,WAAW;IACtB,wEAAwE;IAC/D,MAAM,CAAoB;IACnC;;0CAEsC;IAC7B,YAAY,CAAS;IAC9B,oDAAoD;IAC3C,aAAa,CAAU;IACf,MAAM,CAAwB;IAC/C;mCAC+B;IACd,cAAc,GAAgC,IAAI,CAAC;IACpE,iFAAiF;IAChE,WAAW,CAAS;IACpB,SAAS,CAAc;IACvB,IAAI,CAAgB;IACpB,SAAS,CAAgB;IAC1C;6EACyE;IACjE,SAAS,CAAY;IACZ,aAAa,CAAuF;IACpG,QAAQ,CAAkC;IAC1C,UAAU,CAAW;IACrB,QAAQ,CAAsC;IAC/D,2EAA2E;IACnE,MAAM,GAAiB,IAAI,CAAC;IAC5B,QAAQ,GAAiE,IAAI,CAAC;IACtF,0EAA0E;IAClE,gBAAgB,GAAwC,IAAI,CAAC;IACrE;;;;;;0BAMsB;IACL,YAAY,GAAG,IAAI,GAAG,EAA+C,CAAC;IACvF,6DAA6D;IACrD,OAAO,GAAG,CAAC,CAAC;IACpB,uDAAuD;IAC/C,MAAM,GAAG,CAAC,CAAC;IACnB;wCACoC;IACnB,UAAU,GAAU,EAAE,CAAC;IAExC,gDAAgD;IAChD,YAAY,MAAiE,EAAE,SAAwB,EAAE,OAA6B;QACpI,IAAI,IAAmB,CAAC;QACxB,IAAI,SAAoB,CAAC;QACzB,IAAI,KAAkB,CAAC;QACvB,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACjC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACxC,KAAK,GAAG;gBACN,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC3C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACjE,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,CAAC;YACD,KAAK,GAAG,KAAK,CAAC;YACd,qEAAqE;YACrE,gEAAgE;YAChE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC;YAC1F,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,oEAAoE;YACpE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/D,KAAK,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/I,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;iFAG6E;IAC7E,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;wBAIoB;IACZ,WAAW,CAAC,CAAS;QAC3B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QACzC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACtG,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;IAED;;6CAEyC;IACjC,mBAAmB,CAAC,CAAS;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,UAAU,OAAO,CAAC,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QAClC,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,CAAS;QACf,MAAM,KAAK,GAA6B,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5G,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,4EAA4E;IACpE,iBAAiB,CAAC,CAAS,EAAE,KAA+B;QAClE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,GAAG,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3J,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,gCAAgC,CAAC,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;2CAIuC;IAC/B,aAAa,CAAC,CAAS,EAAE,KAA+B;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB;YACjD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAClD,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,mHAAmH,CAAC,CAAC;gBACxM,CAAC;gBACD,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACtB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAU,CAAC;QACf,IAAI,IAAS,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,GAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAE,GAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACxG,qEAAqE;YACrE,yCAAyC;YACzC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;+EAI2E;IACnE,QAAQ,CAAC,CAAS;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;sCAIkC;IAC1B,aAAa,CAAC,CAAS;QAC7B,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,SAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,SAAiB,CAAC,KAAK,CAAC;gBACzG,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,SAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,SAAiB,CAAC,KAAK,CAAC;YACzG,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;QACzC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACtG,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC;QAC7B,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAChG,MAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,GAAG,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3J,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,MAAM,CAAC,UAAU,EAAE,CAAC,CAAE,2CAA2C;gBACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED;4DACwD;IAChD,YAAY;QAClB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QACxC,MAAM,MAAM,GAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,+BAA+B,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC;YACjN,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;iFAE6E;IACrE,cAAc,CAAC,CAAS,EAAE,KAAmB,EAAE,MAAa,EAAE,MAAM,GAAG,KAAK;QAClF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC;QACjN,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;uEACmE;IAC3D,UAAU,CAAC,GAAW;QAC5B,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,IAAI,GAAG;gBAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;;gBAC1C,EAAE,GAAG,GAAG,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAE,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+DAA+D,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,kBAAkB,IAAI,CAAC,YAAY,YAAY,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAU,CAAC;QAC5D,OAAO,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,MAAc,EAAE,KAAa;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,KAAK,KAAK,oDAAoD,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,KAAK,GAAG,GAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE;YACjD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAM,SAAS,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAW,SAAS,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;QAC7H,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,EAAoB,CAAC;QAEjF,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAU,EAAE,CAAC;YACtB,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,GAAG,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAU,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;gBACvB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,OAAO,GAAqB,CAAC;QAC/B,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,EAA8B,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,KAAK,GAAG,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,MAAM,IAAI,IAAI,OAAmB,EAAE,CAAC;oBACvC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAAC,IAAI,EAAE,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACnC,IAAI,KAAK,IAAI,KAAK;wBAAE,MAAM;oBACzB,GAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC5B,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAK,OAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC1D,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;wBAAC,IAAI,EAAE,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACnC,IAAI,KAAK,IAAI,KAAK;wBAAE,MAAM;oBACzB,GAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjC,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YACD,IAAI,IAAK,OAAoC,CAAC,IAAI,CAAC;YACnD,GAAG,EAAE,CAAC;QACR,CAAC;QACD,OAAO,GAAqB,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CACR,GAAmG;QAEnG,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACxE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC;gBAAE,EAAE,GAAG,GAAG,CAAC;;gBAC/C,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,CAAS;QACvB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;QACtH,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;;;OAUG;IACH,GAAG,CACD,GAAmG;QAEnG,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iGAAiG,CAAC,CAAC;QACrH,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,6DAA6D;QAC7D,IAAI,IAAI,CAAC,QAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QACzD,MAAM,KAAK,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,OAAmB,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAS,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;YACnD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAK,OAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,IAAI,CAAC,QAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAqB,IAAuB,EAAE,OAA6B;IAC3G,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,WAAW,CAAI,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Decoded weight (#1129): what a pager's cache counts a segment by — a number
|
|
7
|
+
* defined on the values, the same in every runtime for the same segment
|
|
8
|
+
* (v5/SPEC.md, "The pager's cache").
|
|
9
|
+
*
|
|
10
|
+
* The constants are east-c's layout on a 64-bit build, the node each value
|
|
11
|
+
* takes from its value slab and what it allocates beside it, so in east-c the
|
|
12
|
+
* weight is the memory a segment holds. Here it is an estimate, not V8's
|
|
13
|
+
* memory: what it buys is that a program's lazily read inputs keep the same
|
|
14
|
+
* segments in every runtime.
|
|
15
|
+
*
|
|
16
|
+
* east-c counts the weight as it decodes. Here a walk of the decoded segment
|
|
17
|
+
* computes it, meeting the values in the order the decode built them, so a
|
|
18
|
+
* container the decode met again through a REF — one object here — counts
|
|
19
|
+
* where it was first met, and one first met inside a function, in its
|
|
20
|
+
* captures, counts nowhere, as east-c's count leaves it.
|
|
21
|
+
*/
|
|
22
|
+
import { type EastTypeValue } from "../../../type_of_type.js";
|
|
23
|
+
/**
|
|
24
|
+
* Builds the decoded-weight function of a type: the weight v5/SPEC.md ("The
|
|
25
|
+
* pager's cache") gives a value of `type`, which east-c's decoder counts as it
|
|
26
|
+
* builds the value. A pager's cache weighs each segment it keeps with its
|
|
27
|
+
* collection type's, the segment's container and its elements.
|
|
28
|
+
*
|
|
29
|
+
* @param type - the type
|
|
30
|
+
* @returns a function weighing one decoded value of `type`, each call a walk
|
|
31
|
+
* of its own
|
|
32
|
+
* @throws {Error} When `type` is not an East type, naming it.
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function decodedWeightFor(type: EastTypeValue): (value: unknown) => number;
|
|
36
|
+
//# sourceMappingURL=weight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"weight.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/weight.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAkN9D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAGhF"}
|