@maplibre/mlt 0.0.1-alpha.7 → 1.0.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/dist/{encodings → decoding}/decodingUtils.js +18 -33
- package/dist/decoding/decodingUtils.js.map +1 -0
- package/dist/decoding/decodingUtils.spec.d.ts +1 -0
- package/dist/decoding/decodingUtils.spec.js +125 -0
- package/dist/decoding/decodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
- package/dist/decoding/fsstDecoder.js.map +1 -0
- package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
- package/dist/decoding/fsstDecoder.spec.js +36 -0
- package/dist/decoding/fsstDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/geometryDecoder.js +83 -101
- package/dist/decoding/geometryDecoder.js.map +1 -0
- package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
- package/dist/decoding/geometryDecoder.spec.js +5 -0
- package/dist/decoding/geometryDecoder.spec.js.map +1 -0
- package/dist/decoding/geometryScaling.js +2 -0
- package/dist/decoding/geometryScaling.js.map +1 -0
- package/dist/{encodings → decoding}/intWrapper.js +2 -4
- package/dist/decoding/intWrapper.js.map +1 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.js +127 -130
- package/dist/decoding/integerDecodingUtils.js.map +1 -0
- package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
- package/dist/decoding/integerDecodingUtils.spec.js +194 -0
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
- package/dist/decoding/integerStreamDecoder.js +263 -0
- package/dist/decoding/integerStreamDecoder.js.map +1 -0
- package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
- package/dist/decoding/integerStreamDecoder.spec.js +125 -0
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
- package/dist/decoding/propertyDecoder.js +140 -0
- package/dist/decoding/propertyDecoder.js.map +1 -0
- package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
- package/dist/decoding/propertyDecoder.spec.js +682 -0
- package/dist/decoding/propertyDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
- package/dist/decoding/stringDecoder.js +142 -0
- package/dist/decoding/stringDecoder.js.map +1 -0
- package/dist/decoding/stringDecoder.spec.d.ts +1 -0
- package/dist/decoding/stringDecoder.spec.js +311 -0
- package/dist/decoding/stringDecoder.spec.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -18
- package/dist/index.js.map +1 -1
- package/dist/metadata/tile/dictionaryType.js +2 -5
- package/dist/metadata/tile/dictionaryType.js.map +1 -1
- package/dist/metadata/tile/lengthType.js +2 -5
- package/dist/metadata/tile/lengthType.js.map +1 -1
- package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/logicalStreamType.d.ts +3 -3
- package/dist/metadata/tile/logicalStreamType.js +4 -5
- package/dist/metadata/tile/logicalStreamType.js.map +1 -1
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +6 -6
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/offsetType.js +2 -5
- package/dist/metadata/tile/offsetType.js.map +1 -1
- package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/physicalStreamType.js +2 -5
- package/dist/metadata/tile/physicalStreamType.js.map +1 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +10 -6
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/scalarType.js +2 -5
- package/dist/metadata/tile/scalarType.js.map +1 -1
- package/dist/metadata/tile/streamMetadata.d.ts +11 -5
- package/dist/metadata/tile/streamMetadata.js +35 -24
- package/dist/metadata/tile/streamMetadata.js.map +1 -1
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
- package/dist/metadata/tileset/tilesetMetadata.js +29 -0
- package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
- package/dist/metadata/tileset/typeMap.d.ts +1 -1
- package/dist/metadata/tileset/typeMap.js +63 -59
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.d.ts +1 -1
- package/dist/mltDecoder.js +58 -64
- package/dist/mltDecoder.js.map +1 -1
- package/dist/mltDecoder.spec.d.ts +1 -0
- package/dist/mltDecoder.spec.js +152 -0
- package/dist/mltDecoder.spec.js.map +1 -0
- package/dist/mltMetadata.js +4 -7
- package/dist/mltMetadata.js.map +1 -1
- package/dist/vector/constant/intConstVector.d.ts +0 -13
- package/dist/vector/constant/intConstVector.js +2 -81
- package/dist/vector/constant/intConstVector.js.map +1 -1
- package/dist/vector/constant/longConstVector.d.ts +0 -13
- package/dist/vector/constant/longConstVector.js +2 -79
- package/dist/vector/constant/longConstVector.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
- package/dist/vector/dictionary/stringDictionaryVector.js +6 -167
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/featureTable.d.ts +4 -0
- package/dist/vector/featureTable.js +48 -12
- package/dist/vector/featureTable.js.map +1 -1
- package/dist/vector/fixedSizeVector.js +2 -9
- package/dist/vector/fixedSizeVector.js.map +1 -1
- package/dist/vector/flat/bitVector.js +3 -4
- package/dist/vector/flat/bitVector.js.map +1 -1
- package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
- package/dist/vector/flat/booleanFlatVector.js +3 -46
- package/dist/vector/flat/booleanFlatVector.js.map +1 -1
- package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
- package/dist/vector/flat/doubleFlatVector.js +2 -101
- package/dist/vector/flat/doubleFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.d.ts +0 -13
- package/dist/vector/flat/floatFlatVector.js +2 -101
- package/dist/vector/flat/floatFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/floatFlatVector.spec.js +14 -0
- package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/intFlatVector.d.ts +0 -13
- package/dist/vector/flat/intFlatVector.js +2 -115
- package/dist/vector/flat/intFlatVector.js.map +1 -1
- package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/intFlatVector.spec.js +15 -0
- package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/longFlatVector.d.ts +0 -13
- package/dist/vector/flat/longFlatVector.js +2 -116
- package/dist/vector/flat/longFlatVector.js.map +1 -1
- package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/longFlatVector.spec.js +14 -0
- package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/stringFlatVector.d.ts +0 -13
- package/dist/vector/flat/stringFlatVector.js +5 -155
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
- package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/constGeometryVector.js +9 -30
- package/dist/vector/geometry/constGeometryVector.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +0 -4
- package/dist/vector/geometry/constGpuVector.js +4 -25
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/flatGeometryVector.js +8 -36
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
- package/dist/vector/geometry/flatGpuVector.js +3 -29
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryType.js +4 -7
- package/dist/vector/geometry/geometryType.js.map +1 -1
- package/dist/vector/geometry/geometryVector.d.ts +8 -7
- package/dist/vector/geometry/geometryVector.js +13 -14
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -2
- package/dist/vector/geometry/geometryVectorConverter.js +38 -41
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.d.ts +8 -7
- package/dist/vector/geometry/gpuVector.js +97 -13
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/spaceFillingCurve.js +10 -5
- package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
- package/dist/vector/geometry/topologyVector.js +4 -4
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/vertexBufferType.js +2 -5
- package/dist/vector/geometry/vertexBufferType.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.d.ts +1 -1
- package/dist/vector/geometry/zOrderCurve.js +3 -9
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
- package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
- package/dist/vector/intVector.js +1 -2
- package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/intSequenceVector.js +2 -64
- package/dist/vector/sequence/intSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/longSequenceVector.js +2 -49
- package/dist/vector/sequence/longSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
- package/dist/vector/sequence/sequenceVector.js +3 -9
- package/dist/vector/sequence/sequenceVector.js.map +1 -1
- package/dist/vector/variableSizeVector.js +3 -9
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/dist/vector/vector.d.ts +0 -17
- package/dist/vector/vector.js +6 -49
- package/dist/vector/vector.js.map +1 -1
- package/dist/vector/vectorType.js +2 -5
- package/dist/vector/vectorType.js.map +1 -1
- package/package.json +10 -31
- package/dist/encodings/decodingUtils.js.map +0 -1
- package/dist/encodings/doubleDecoder.d.ts +0 -4
- package/dist/encodings/doubleDecoder.js +0 -22
- package/dist/encodings/doubleDecoder.js.map +0 -1
- package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
- package/dist/encodings/fastpfor/bitpacking.js +0 -4444
- package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
- package/dist/encodings/fastpfor/codec.d.ts +0 -19
- package/dist/encodings/fastpfor/codec.js +0 -3
- package/dist/encodings/fastpfor/codec.js.map +0 -1
- package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
- package/dist/encodings/fastpfor/fastpfor.js +0 -123
- package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
- package/dist/encodings/fastpfor/index.d.ts +0 -20
- package/dist/encodings/fastpfor/index.js +0 -47
- package/dist/encodings/fastpfor/index.js.map +0 -1
- package/dist/encodings/fastpfor/util.d.ts +0 -2
- package/dist/encodings/fastpfor/util.js +0 -16
- package/dist/encodings/fastpfor/util.js.map +0 -1
- package/dist/encodings/fastpfor/varint.d.ts +0 -18
- package/dist/encodings/fastpfor/varint.js +0 -125
- package/dist/encodings/fastpfor/varint.js.map +0 -1
- package/dist/encodings/fsstDecoder.js.map +0 -1
- package/dist/encodings/geometryDecoder.js.map +0 -1
- package/dist/encodings/geometryScaling.js +0 -3
- package/dist/encodings/geometryScaling.js.map +0 -1
- package/dist/encodings/intWrapper.js.map +0 -1
- package/dist/encodings/integerDecodingUtils.js.map +0 -1
- package/dist/encodings/integerStreamDecoder.js +0 -254
- package/dist/encodings/integerStreamDecoder.js.map +0 -1
- package/dist/encodings/propertyDecoder.js +0 -146
- package/dist/encodings/propertyDecoder.js.map +0 -1
- package/dist/encodings/stringDecoder.js +0 -147
- package/dist/encodings/stringDecoder.js.map +0 -1
- package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
- package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
- package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
- package/dist/vector/filter/constSelectionVector.d.ts +0 -0
- package/dist/vector/filter/constSelectionVector.js +0 -1
- package/dist/vector/filter/constSelectionVector.js.map +0 -1
- package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
- package/dist/vector/filter/flatSelectionVector.js +0 -42
- package/dist/vector/filter/flatSelectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVector.d.ts +0 -8
- package/dist/vector/filter/selectionVector.js +0 -3
- package/dist/vector/filter/selectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
- package/dist/vector/filter/selectionVectorUtils.js +0 -44
- package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
- package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
- package/dist/vector/filter/sequenceSelectionVector.js +0 -1
- package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
- package/dist/vector/geometry/point.d.ts +0 -195
- package/dist/vector/geometry/point.js +0 -283
- package/dist/vector/geometry/point.js.map +0 -1
- /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
- /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
- /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
|
@@ -1,50 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeVarintInt32 = decodeVarintInt32;
|
|
4
|
-
exports.decodeVarintInt64 = decodeVarintInt64;
|
|
5
|
-
exports.decodeVarintFloat64 = decodeVarintFloat64;
|
|
6
|
-
exports.decodeFastPfor = decodeFastPfor;
|
|
7
|
-
exports.decodeZigZag = decodeZigZag;
|
|
8
|
-
exports.decodeZigZagInt64 = decodeZigZagInt64;
|
|
9
|
-
exports.decodeZigZagFloat64 = decodeZigZagFloat64;
|
|
10
|
-
exports.decodeZigZagValue = decodeZigZagValue;
|
|
11
|
-
exports.decodeZigZagValueInt64 = decodeZigZagValueInt64;
|
|
12
|
-
exports.decodeRle = decodeRle;
|
|
13
|
-
exports.decodeRleInt64 = decodeRleInt64;
|
|
14
|
-
exports.decodeRleFloat64 = decodeRleFloat64;
|
|
15
|
-
exports.decodeUnsignedRle = decodeUnsignedRle;
|
|
16
|
-
exports.decodeUnsignedRleInt64 = decodeUnsignedRleInt64;
|
|
17
|
-
exports.decodeUnsignedRleFloat64 = decodeUnsignedRleFloat64;
|
|
18
|
-
exports.decodeZigZagDelta = decodeZigZagDelta;
|
|
19
|
-
exports.decodeZigZagDeltaInt64 = decodeZigZagDeltaInt64;
|
|
20
|
-
exports.decodeZigZagDeltaFloat64 = decodeZigZagDeltaFloat64;
|
|
21
|
-
exports.decodeZigZagRle = decodeZigZagRle;
|
|
22
|
-
exports.decodeZigZagRleInt64 = decodeZigZagRleInt64;
|
|
23
|
-
exports.decodeZigZagRleFloat64 = decodeZigZagRleFloat64;
|
|
24
|
-
exports.fastInverseDelta = fastInverseDelta;
|
|
25
|
-
exports.inverseDelta = inverseDelta;
|
|
26
|
-
exports.decodeComponentwiseDeltaVec2 = decodeComponentwiseDeltaVec2;
|
|
27
|
-
exports.decodeComponentwiseDeltaVec2Scaled = decodeComponentwiseDeltaVec2Scaled;
|
|
28
|
-
exports.decodeNullableZigZagDelta = decodeNullableZigZagDelta;
|
|
29
|
-
exports.decodeNullableZigZagDeltaInt64 = decodeNullableZigZagDeltaInt64;
|
|
30
|
-
exports.zigZagDeltaOfDeltaDecoding = zigZagDeltaOfDeltaDecoding;
|
|
31
|
-
exports.zigZagRleDeltaDecoding = zigZagRleDeltaDecoding;
|
|
32
|
-
exports.rleDeltaDecoding = rleDeltaDecoding;
|
|
33
|
-
exports.padWithZeros = padWithZeros;
|
|
34
|
-
exports.padZigZagWithZeros = padZigZagWithZeros;
|
|
35
|
-
exports.padWithZerosInt64 = padWithZerosInt64;
|
|
36
|
-
exports.padZigZagWithZerosInt64 = padZigZagWithZerosInt64;
|
|
37
|
-
exports.decodeNullableRle = decodeNullableRle;
|
|
38
|
-
exports.decodeNullableRleInt64 = decodeNullableRleInt64;
|
|
39
|
-
exports.decodeUnsignedConstRle = decodeUnsignedConstRle;
|
|
40
|
-
exports.decodeZigZagConstRle = decodeZigZagConstRle;
|
|
41
|
-
exports.decodeZigZagSequenceRle = decodeZigZagSequenceRle;
|
|
42
|
-
exports.decodeUnsignedConstRleInt64 = decodeUnsignedConstRleInt64;
|
|
43
|
-
exports.decodeZigZagConstRleInt64 = decodeZigZagConstRleInt64;
|
|
44
|
-
exports.decodeZigZagSequenceRleInt64 = decodeZigZagSequenceRleInt64;
|
|
45
1
|
/* Null suppression (physical level) techniques ------------------------------------------------------------------*/
|
|
46
2
|
//based on https://github.com/mapbox/pbf/blob/main/index.js
|
|
47
|
-
function decodeVarintInt32(buf, bufferOffset, numValues) {
|
|
3
|
+
export function decodeVarintInt32(buf, bufferOffset, numValues) {
|
|
48
4
|
const dst = new Int32Array(numValues);
|
|
49
5
|
let dstOffset = 0;
|
|
50
6
|
let offset = bufferOffset.get();
|
|
@@ -80,7 +36,7 @@ function decodeVarintInt32(buf, bufferOffset, numValues) {
|
|
|
80
36
|
bufferOffset.set(offset);
|
|
81
37
|
return dst;
|
|
82
38
|
}
|
|
83
|
-
function decodeVarintInt64(src, offset, numValues) {
|
|
39
|
+
export function decodeVarintInt64(src, offset, numValues) {
|
|
84
40
|
const dst = new BigInt64Array(numValues);
|
|
85
41
|
for (let i = 0; i < dst.length; i++) {
|
|
86
42
|
dst[i] = decodeSingleVarintInt64(src, offset);
|
|
@@ -88,8 +44,8 @@ function decodeVarintInt64(src, offset, numValues) {
|
|
|
88
44
|
return dst;
|
|
89
45
|
}
|
|
90
46
|
/* Since decoding Int64 values to BigInt is more than an order of magnitude slower in the tests
|
|
91
|
-
* then using a Float64, this decoding method limits the max size of a Long value to 53 bits */
|
|
92
|
-
function decodeVarintFloat64(src, numValues, offset) {
|
|
47
|
+
* then using a Float64, this decoding method limits the max size of a Long value to 53 bits */
|
|
48
|
+
export function decodeVarintFloat64(src, numValues, offset) {
|
|
93
49
|
const dst = new Float64Array(numValues);
|
|
94
50
|
for (let i = 0; i < numValues; i++) {
|
|
95
51
|
dst[i] = decodeSingleVarintFloat64(src, offset);
|
|
@@ -157,33 +113,33 @@ function decodeVarintRemainder(l, buf, offset) {
|
|
|
157
113
|
return h * 0x100000000 + (l >>> 0);
|
|
158
114
|
throw new Error("Expected varint not more than 10 bytes");
|
|
159
115
|
}
|
|
160
|
-
function decodeFastPfor(data, numValues, byteLength, offset) {
|
|
116
|
+
export function decodeFastPfor(data, numValues, byteLength, offset) {
|
|
161
117
|
throw new Error("FastPFor is not implemented yet.");
|
|
162
118
|
}
|
|
163
|
-
function decodeZigZag(encodedData) {
|
|
119
|
+
export function decodeZigZag(encodedData) {
|
|
164
120
|
for (let i = 0; i < encodedData.length; i++) {
|
|
165
121
|
const encoded = encodedData[i];
|
|
166
|
-
encodedData[i] = (
|
|
122
|
+
encodedData[i] = (encoded >>> 1) ^ -(encoded & 1);
|
|
167
123
|
}
|
|
168
124
|
}
|
|
169
|
-
function decodeZigZagInt64(encodedData) {
|
|
125
|
+
export function decodeZigZagInt64(encodedData) {
|
|
170
126
|
for (let i = 0; i < encodedData.length; i++) {
|
|
171
127
|
const encoded = encodedData[i];
|
|
172
|
-
encodedData[i] = (
|
|
128
|
+
encodedData[i] = (encoded >> 1n) ^ -(encoded & 1n);
|
|
173
129
|
}
|
|
174
130
|
}
|
|
175
|
-
function decodeZigZagFloat64(encodedData) {
|
|
131
|
+
export function decodeZigZagFloat64(encodedData) {
|
|
176
132
|
for (let i = 0; i < encodedData.length; i++) {
|
|
177
133
|
const encoded = encodedData[i];
|
|
178
134
|
//Get rid of branch? -> var v = encoded % 2 && 1; encodedData[i] = (encoded + v) / (v * 2 - 1) * 2;
|
|
179
135
|
encodedData[i] = encoded % 2 === 1 ? (encoded + 1) / -2 : encoded / 2;
|
|
180
136
|
}
|
|
181
137
|
}
|
|
182
|
-
function decodeZigZagValue(encoded) {
|
|
183
|
-
return (
|
|
138
|
+
export function decodeZigZagValue(encoded) {
|
|
139
|
+
return (encoded >>> 1) ^ -(encoded & 1);
|
|
184
140
|
}
|
|
185
|
-
function decodeZigZagValueInt64(encoded) {
|
|
186
|
-
return (
|
|
141
|
+
export function decodeZigZagValueInt64(encoded) {
|
|
142
|
+
return (encoded >> 1n) ^ -(encoded & 1n);
|
|
187
143
|
}
|
|
188
144
|
// Source: https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/util/VarInt.java
|
|
189
145
|
function decodeSingleVarintInt64(bytes, pos) {
|
|
@@ -192,7 +148,7 @@ function decodeSingleVarintInt64(bytes, pos) {
|
|
|
192
148
|
let index = pos.get();
|
|
193
149
|
while (index < bytes.length) {
|
|
194
150
|
const b = bytes[index++];
|
|
195
|
-
value |= BigInt(b &
|
|
151
|
+
value |= BigInt(b & 0x7f) << BigInt(shift);
|
|
196
152
|
if ((b & 0x80) === 0) {
|
|
197
153
|
break;
|
|
198
154
|
}
|
|
@@ -205,22 +161,22 @@ function decodeSingleVarintInt64(bytes, pos) {
|
|
|
205
161
|
return value;
|
|
206
162
|
}
|
|
207
163
|
/* Logical Level Techniques Flat Vectors ------------------------------------------------------------------ */
|
|
208
|
-
function decodeRle(data, streamMetadata, isSigned) {
|
|
164
|
+
export function decodeRle(data, streamMetadata, isSigned) {
|
|
209
165
|
return isSigned
|
|
210
166
|
? decodeZigZagRle(data, streamMetadata.runs, streamMetadata.numRleValues)
|
|
211
167
|
: decodeUnsignedRle(data, streamMetadata.runs, streamMetadata.numRleValues);
|
|
212
168
|
}
|
|
213
|
-
function decodeRleInt64(data, streamMetadata, isSigned) {
|
|
169
|
+
export function decodeRleInt64(data, streamMetadata, isSigned) {
|
|
214
170
|
return isSigned
|
|
215
171
|
? decodeZigZagRleInt64(data, streamMetadata.runs, streamMetadata.numRleValues)
|
|
216
172
|
: decodeUnsignedRleInt64(data, streamMetadata.runs, streamMetadata.numRleValues);
|
|
217
173
|
}
|
|
218
|
-
function decodeRleFloat64(data, streamMetadata, isSigned) {
|
|
174
|
+
export function decodeRleFloat64(data, streamMetadata, isSigned) {
|
|
219
175
|
return isSigned
|
|
220
176
|
? decodeZigZagRleFloat64(data, streamMetadata.runs, streamMetadata.numRleValues)
|
|
221
177
|
: decodeUnsignedRleFloat64(data, streamMetadata.runs, streamMetadata.numRleValues);
|
|
222
178
|
}
|
|
223
|
-
function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
|
|
179
|
+
export function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
|
|
224
180
|
const decodedValues = new Int32Array(numTotalValues);
|
|
225
181
|
let offset = 0;
|
|
226
182
|
for (let i = 0; i < numRuns; i++) {
|
|
@@ -231,7 +187,7 @@ function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
|
|
|
231
187
|
}
|
|
232
188
|
return decodedValues;
|
|
233
189
|
}
|
|
234
|
-
function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
|
|
190
|
+
export function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
|
|
235
191
|
const decodedValues = new BigInt64Array(numTotalValues);
|
|
236
192
|
let offset = 0;
|
|
237
193
|
for (let i = 0; i < numRuns; i++) {
|
|
@@ -242,7 +198,7 @@ function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
|
|
|
242
198
|
}
|
|
243
199
|
return decodedValues;
|
|
244
200
|
}
|
|
245
|
-
function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
|
|
201
|
+
export function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
|
|
246
202
|
const decodedValues = new Float64Array(numTotalValues);
|
|
247
203
|
let offset = 0;
|
|
248
204
|
for (let i = 0; i < numRuns; i++) {
|
|
@@ -254,12 +210,12 @@ function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
|
|
|
254
210
|
return decodedValues;
|
|
255
211
|
}
|
|
256
212
|
/*
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
function decodeZigZagDelta(data) {
|
|
213
|
+
* In place decoding of the zigzag encoded delta values.
|
|
214
|
+
* Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
|
|
215
|
+
*/
|
|
216
|
+
export function decodeZigZagDelta(data) {
|
|
261
217
|
data[0] = (data[0] >>> 1) ^ -(data[0] & 1);
|
|
262
|
-
const sz0 = data.length / 4 * 4;
|
|
218
|
+
const sz0 = (data.length / 4) * 4;
|
|
263
219
|
let i = 1;
|
|
264
220
|
if (sz0 >= 4) {
|
|
265
221
|
for (; i < sz0 - 4; i += 4) {
|
|
@@ -277,9 +233,9 @@ function decodeZigZagDelta(data) {
|
|
|
277
233
|
data[i] = ((data[i] >>> 1) ^ -(data[i] & 1)) + data[i - 1];
|
|
278
234
|
}
|
|
279
235
|
}
|
|
280
|
-
function decodeZigZagDeltaInt64(data) {
|
|
236
|
+
export function decodeZigZagDeltaInt64(data) {
|
|
281
237
|
data[0] = (data[0] >> 1n) ^ -(data[0] & 1n);
|
|
282
|
-
const sz0 = data.length / 4 * 4;
|
|
238
|
+
const sz0 = (data.length / 4) * 4;
|
|
283
239
|
let i = 1;
|
|
284
240
|
if (sz0 >= 4) {
|
|
285
241
|
for (; i < sz0 - 4; i += 4) {
|
|
@@ -297,9 +253,9 @@ function decodeZigZagDeltaInt64(data) {
|
|
|
297
253
|
data[i] = ((data[i] >> 1n) ^ -(data[i] & 1n)) + data[i - 1];
|
|
298
254
|
}
|
|
299
255
|
}
|
|
300
|
-
function decodeZigZagDeltaFloat64(data) {
|
|
256
|
+
export function decodeZigZagDeltaFloat64(data) {
|
|
301
257
|
data[0] = data[0] % 2 === 1 ? (data[0] + 1) / -2 : data[0] / 2;
|
|
302
|
-
const sz0 = data.length / 4 * 4;
|
|
258
|
+
const sz0 = (data.length / 4) * 4;
|
|
303
259
|
let i = 1;
|
|
304
260
|
if (sz0 >= 4) {
|
|
305
261
|
for (; i < sz0 - 4; i += 4) {
|
|
@@ -317,31 +273,31 @@ function decodeZigZagDeltaFloat64(data) {
|
|
|
317
273
|
data[i] = (data[i] % 2 === 1 ? (data[i] + 1) / -2 : data[i] / 2) + data[i - 1];
|
|
318
274
|
}
|
|
319
275
|
}
|
|
320
|
-
function decodeZigZagRle(data, numRuns, numTotalValues) {
|
|
276
|
+
export function decodeZigZagRle(data, numRuns, numTotalValues) {
|
|
321
277
|
const decodedValues = new Int32Array(numTotalValues);
|
|
322
278
|
let offset = 0;
|
|
323
279
|
for (let i = 0; i < numRuns; i++) {
|
|
324
280
|
const runLength = data[i];
|
|
325
281
|
let value = data[i + numRuns];
|
|
326
|
-
value = (
|
|
282
|
+
value = (value >>> 1) ^ -(value & 1);
|
|
327
283
|
decodedValues.fill(value, offset, offset + runLength);
|
|
328
284
|
offset += runLength;
|
|
329
285
|
}
|
|
330
286
|
return decodedValues;
|
|
331
287
|
}
|
|
332
|
-
function decodeZigZagRleInt64(data, numRuns, numTotalValues) {
|
|
288
|
+
export function decodeZigZagRleInt64(data, numRuns, numTotalValues) {
|
|
333
289
|
const decodedValues = new BigInt64Array(numTotalValues);
|
|
334
290
|
let offset = 0;
|
|
335
291
|
for (let i = 0; i < numRuns; i++) {
|
|
336
292
|
const runLength = Number(data[i]);
|
|
337
293
|
let value = data[i + numRuns];
|
|
338
|
-
value = (
|
|
294
|
+
value = (value >> 1n) ^ -(value & 1n);
|
|
339
295
|
decodedValues.fill(value, offset, offset + runLength);
|
|
340
296
|
offset += runLength;
|
|
341
297
|
}
|
|
342
298
|
return decodedValues;
|
|
343
299
|
}
|
|
344
|
-
function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
|
|
300
|
+
export function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
|
|
345
301
|
const decodedValues = new Float64Array(numTotalValues);
|
|
346
302
|
let offset = 0;
|
|
347
303
|
for (let i = 0; i < numRuns; i++) {
|
|
@@ -356,9 +312,9 @@ function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
|
|
|
356
312
|
}
|
|
357
313
|
/*
|
|
358
314
|
* Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
|
|
359
|
-
*/
|
|
360
|
-
function fastInverseDelta(data) {
|
|
361
|
-
const sz0 = data.length / 4 * 4;
|
|
315
|
+
*/
|
|
316
|
+
export function fastInverseDelta(data) {
|
|
317
|
+
const sz0 = (data.length / 4) * 4;
|
|
362
318
|
let i = 1;
|
|
363
319
|
if (sz0 >= 4) {
|
|
364
320
|
for (let a = data[0]; i < sz0 - 4; i += 4) {
|
|
@@ -373,7 +329,7 @@ function fastInverseDelta(data) {
|
|
|
373
329
|
++i;
|
|
374
330
|
}
|
|
375
331
|
}
|
|
376
|
-
function inverseDelta(data) {
|
|
332
|
+
export function inverseDelta(data) {
|
|
377
333
|
let prevValue = 0;
|
|
378
334
|
for (let i = 0; i < data.length; i++) {
|
|
379
335
|
data[i] += prevValue;
|
|
@@ -383,11 +339,11 @@ function inverseDelta(data) {
|
|
|
383
339
|
/*
|
|
384
340
|
* In place decoding of the zigzag delta encoded Vec2.
|
|
385
341
|
* Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
|
|
386
|
-
*/
|
|
387
|
-
function decodeComponentwiseDeltaVec2(data) {
|
|
388
|
-
data[0] = (
|
|
389
|
-
data[1] = (
|
|
390
|
-
const sz0 = data.length / 4 * 4;
|
|
342
|
+
*/
|
|
343
|
+
export function decodeComponentwiseDeltaVec2(data) {
|
|
344
|
+
data[0] = (data[0] >>> 1) ^ -(data[0] & 1);
|
|
345
|
+
data[1] = (data[1] >>> 1) ^ -(data[1] & 1);
|
|
346
|
+
const sz0 = (data.length / 4) * 4;
|
|
391
347
|
let i = 2;
|
|
392
348
|
if (sz0 >= 4) {
|
|
393
349
|
for (; i < sz0 - 4; i += 4) {
|
|
@@ -406,9 +362,9 @@ function decodeComponentwiseDeltaVec2(data) {
|
|
|
406
362
|
data[i + 1] = ((data[i + 1] >>> 1) ^ -(data[i + 1] & 1)) + data[i - 1];
|
|
407
363
|
}
|
|
408
364
|
}
|
|
409
|
-
function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
|
|
410
|
-
let previousVertexX = (
|
|
411
|
-
let previousVertexY = (
|
|
365
|
+
export function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
|
|
366
|
+
let previousVertexX = (data[0] >>> 1) ^ -(data[0] & 1);
|
|
367
|
+
let previousVertexY = (data[1] >>> 1) ^ -(data[1] & 1);
|
|
412
368
|
data[0] = clamp(Math.round(previousVertexX * scale), min, max);
|
|
413
369
|
data[1] = clamp(Math.round(previousVertexY * scale), min, max);
|
|
414
370
|
const sz0 = data.length / 16;
|
|
@@ -430,8 +386,8 @@ function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
|
|
|
430
386
|
}
|
|
431
387
|
}
|
|
432
388
|
for (; i != data.length; i += 2) {
|
|
433
|
-
previousVertexX += (
|
|
434
|
-
previousVertexY += (
|
|
389
|
+
previousVertexX += (data[i] >>> 1) ^ -(data[i] & 1);
|
|
390
|
+
previousVertexY += (data[i + 1] >>> 1) ^ -(data[i + 1] & 1);
|
|
435
391
|
data[i] = clamp(Math.round(previousVertexX * scale), min, max);
|
|
436
392
|
data[i + 1] = clamp(Math.round(previousVertexY * scale), min, max);
|
|
437
393
|
}
|
|
@@ -439,11 +395,11 @@ function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
|
|
|
439
395
|
function clamp(n, min, max) {
|
|
440
396
|
return Math.min(max, Math.max(min, n));
|
|
441
397
|
}
|
|
442
|
-
function decodeNullableZigZagDelta(bitVector, data) {
|
|
398
|
+
export function decodeNullableZigZagDelta(bitVector, data) {
|
|
443
399
|
const decodedData = new Int32Array(bitVector.size());
|
|
444
400
|
let dataCounter = 0;
|
|
445
401
|
if (bitVector.get(0)) {
|
|
446
|
-
decodedData[0] = bitVector.get(0) ? (
|
|
402
|
+
decodedData[0] = bitVector.get(0) ? (data[0] >>> 1) ^ -(data[0] & 1) : 0;
|
|
447
403
|
dataCounter = 1;
|
|
448
404
|
}
|
|
449
405
|
else {
|
|
@@ -451,19 +407,17 @@ function decodeNullableZigZagDelta(bitVector, data) {
|
|
|
451
407
|
}
|
|
452
408
|
let i = 1;
|
|
453
409
|
for (; i != decodedData.length; ++i) {
|
|
454
|
-
decodedData[i] =
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
+ ((data[dataCounter] >>> 1) ^ -(data[dataCounter++] & 1))
|
|
458
|
-
: decodedData[i - 1];
|
|
410
|
+
decodedData[i] = bitVector.get(i)
|
|
411
|
+
? decodedData[i - 1] + ((data[dataCounter] >>> 1) ^ -(data[dataCounter++] & 1))
|
|
412
|
+
: decodedData[i - 1];
|
|
459
413
|
}
|
|
460
414
|
return decodedData;
|
|
461
415
|
}
|
|
462
|
-
function decodeNullableZigZagDeltaInt64(bitVector, data) {
|
|
416
|
+
export function decodeNullableZigZagDeltaInt64(bitVector, data) {
|
|
463
417
|
const decodedData = new BigInt64Array(bitVector.size());
|
|
464
418
|
let dataCounter = 0;
|
|
465
419
|
if (bitVector.get(0)) {
|
|
466
|
-
decodedData[0] = bitVector.get(0) ? (
|
|
420
|
+
decodedData[0] = bitVector.get(0) ? (data[0] >> 1n) ^ -(data[0] & 1n) : 0n;
|
|
467
421
|
dataCounter = 1;
|
|
468
422
|
}
|
|
469
423
|
else {
|
|
@@ -471,16 +425,14 @@ function decodeNullableZigZagDeltaInt64(bitVector, data) {
|
|
|
471
425
|
}
|
|
472
426
|
let i = 1;
|
|
473
427
|
for (; i != decodedData.length; ++i) {
|
|
474
|
-
decodedData[i] =
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
+ ((data[dataCounter] >> 1n) ^ -(data[dataCounter++] & 1n))
|
|
478
|
-
: decodedData[i - 1];
|
|
428
|
+
decodedData[i] = bitVector.get(i)
|
|
429
|
+
? decodedData[i - 1] + ((data[dataCounter] >> 1n) ^ -(data[dataCounter++] & 1n))
|
|
430
|
+
: decodedData[i - 1];
|
|
479
431
|
}
|
|
480
432
|
return decodedData;
|
|
481
433
|
}
|
|
482
434
|
/* Transform data to allow util access ------------------------------------------------------------------------ */
|
|
483
|
-
function zigZagDeltaOfDeltaDecoding(data) {
|
|
435
|
+
export function zigZagDeltaOfDeltaDecoding(data) {
|
|
484
436
|
const decodedData = new Int32Array(data.length + 1);
|
|
485
437
|
decodedData[0] = 0;
|
|
486
438
|
decodedData[1] = decodeZigZagValue(data[0]);
|
|
@@ -488,13 +440,13 @@ function zigZagDeltaOfDeltaDecoding(data) {
|
|
|
488
440
|
let i = 2;
|
|
489
441
|
for (; i != decodedData.length; ++i) {
|
|
490
442
|
const zigZagValue = data[i - 1];
|
|
491
|
-
const delta = (
|
|
443
|
+
const delta = (zigZagValue >>> 1) ^ -(zigZagValue & 1);
|
|
492
444
|
deltaSum += delta;
|
|
493
445
|
decodedData[i] = decodedData[i - 1] + deltaSum;
|
|
494
446
|
}
|
|
495
447
|
return decodedData;
|
|
496
448
|
}
|
|
497
|
-
function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
449
|
+
export function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
498
450
|
const decodedValues = new Int32Array(numTotalValues + 1);
|
|
499
451
|
decodedValues[0] = 0;
|
|
500
452
|
let offset = 1;
|
|
@@ -502,7 +454,7 @@ function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
|
502
454
|
for (let i = 0; i < numRuns; i++) {
|
|
503
455
|
const runLength = data[i];
|
|
504
456
|
let value = data[i + numRuns];
|
|
505
|
-
value = (
|
|
457
|
+
value = (value >>> 1) ^ -(value & 1);
|
|
506
458
|
for (let j = offset; j < offset + runLength; j++) {
|
|
507
459
|
decodedValues[j] = value + previousValue;
|
|
508
460
|
previousValue = decodedValues[j];
|
|
@@ -511,7 +463,7 @@ function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
|
511
463
|
}
|
|
512
464
|
return decodedValues;
|
|
513
465
|
}
|
|
514
|
-
function rleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
466
|
+
export function rleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
515
467
|
const decodedValues = new Int32Array(numTotalValues + 1);
|
|
516
468
|
decodedValues[0] = 0;
|
|
517
469
|
let offset = 1;
|
|
@@ -527,7 +479,7 @@ function rleDeltaDecoding(data, numRuns, numTotalValues) {
|
|
|
527
479
|
}
|
|
528
480
|
return decodedValues;
|
|
529
481
|
}
|
|
530
|
-
function padWithZeros(bitVector, data) {
|
|
482
|
+
export function padWithZeros(bitVector, data) {
|
|
531
483
|
const decodedData = new Int32Array(bitVector.size());
|
|
532
484
|
let dataCounter = 0;
|
|
533
485
|
let i = 0;
|
|
@@ -536,14 +488,14 @@ function padWithZeros(bitVector, data) {
|
|
|
536
488
|
}
|
|
537
489
|
return decodedData;
|
|
538
490
|
}
|
|
539
|
-
function padZigZagWithZeros(bitVector, data) {
|
|
491
|
+
export function padZigZagWithZeros(bitVector, data) {
|
|
540
492
|
const decodedData = new Int32Array(bitVector.size());
|
|
541
493
|
let dataCounter = 0;
|
|
542
494
|
let i = 0;
|
|
543
495
|
for (; i != decodedData.length; ++i) {
|
|
544
496
|
if (bitVector.get(i)) {
|
|
545
497
|
const value = data[dataCounter++];
|
|
546
|
-
decodedData[i] = (
|
|
498
|
+
decodedData[i] = (value >>> 1) ^ -(value & 1);
|
|
547
499
|
}
|
|
548
500
|
else {
|
|
549
501
|
decodedData[i] = 0;
|
|
@@ -551,7 +503,7 @@ function padZigZagWithZeros(bitVector, data) {
|
|
|
551
503
|
}
|
|
552
504
|
return decodedData;
|
|
553
505
|
}
|
|
554
|
-
function padWithZerosInt64(bitVector, data) {
|
|
506
|
+
export function padWithZerosInt64(bitVector, data) {
|
|
555
507
|
const decodedData = new BigInt64Array(bitVector.size());
|
|
556
508
|
let dataCounter = 0;
|
|
557
509
|
let i = 0;
|
|
@@ -560,14 +512,14 @@ function padWithZerosInt64(bitVector, data) {
|
|
|
560
512
|
}
|
|
561
513
|
return decodedData;
|
|
562
514
|
}
|
|
563
|
-
function padZigZagWithZerosInt64(bitVector, data) {
|
|
515
|
+
export function padZigZagWithZerosInt64(bitVector, data) {
|
|
564
516
|
const decodedData = new BigInt64Array(bitVector.size());
|
|
565
517
|
let dataCounter = 0;
|
|
566
518
|
let i = 0;
|
|
567
519
|
for (; i != decodedData.length; ++i) {
|
|
568
520
|
if (bitVector.get(i)) {
|
|
569
521
|
const value = data[dataCounter++];
|
|
570
|
-
decodedData[i] = (
|
|
522
|
+
decodedData[i] = (value >> 1n) ^ -(value & 1n);
|
|
571
523
|
}
|
|
572
524
|
else {
|
|
573
525
|
decodedData[i] = 0n;
|
|
@@ -575,7 +527,7 @@ function padZigZagWithZerosInt64(bitVector, data) {
|
|
|
575
527
|
}
|
|
576
528
|
return decodedData;
|
|
577
529
|
}
|
|
578
|
-
function decodeNullableRle(data, streamMetadata, isSigned, bitVector) {
|
|
530
|
+
export function decodeNullableRle(data, streamMetadata, isSigned, bitVector) {
|
|
579
531
|
const rleMetadata = streamMetadata;
|
|
580
532
|
return isSigned
|
|
581
533
|
? decodeNullableZigZagRle(bitVector, data, rleMetadata.runs)
|
|
@@ -607,7 +559,7 @@ function decodeNullableZigZagRle(bitVector, data, numRuns) {
|
|
|
607
559
|
for (let i = 0; i < numRuns; i++) {
|
|
608
560
|
const runLength = data[i];
|
|
609
561
|
let value = data[i + numRuns];
|
|
610
|
-
value = (
|
|
562
|
+
value = (value >>> 1) ^ -(value & 1);
|
|
611
563
|
for (let j = offset; j < offset + runLength; j++) {
|
|
612
564
|
/* There can be null values in a run */
|
|
613
565
|
if (bitVector.get(j)) {
|
|
@@ -622,7 +574,7 @@ function decodeNullableZigZagRle(bitVector, data, numRuns) {
|
|
|
622
574
|
}
|
|
623
575
|
return values;
|
|
624
576
|
}
|
|
625
|
-
function decodeNullableRleInt64(data, streamMetadata, isSigned, bitVector) {
|
|
577
|
+
export function decodeNullableRleInt64(data, streamMetadata, isSigned, bitVector) {
|
|
626
578
|
const rleMetadata = streamMetadata;
|
|
627
579
|
return isSigned
|
|
628
580
|
? decodeNullableZigZagRleInt64(bitVector, data, rleMetadata.runs)
|
|
@@ -654,7 +606,7 @@ function decodeNullableZigZagRleInt64(bitVector, data, numRuns) {
|
|
|
654
606
|
for (let i = 0; i < numRuns; i++) {
|
|
655
607
|
const runLength = Number(data[i]);
|
|
656
608
|
let value = data[i + numRuns];
|
|
657
|
-
value = (
|
|
609
|
+
value = (value >> 1n) ^ -(value & 1n);
|
|
658
610
|
for (let j = offset; j < offset + runLength; j++) {
|
|
659
611
|
/* There can be null values in a run */
|
|
660
612
|
if (bitVector.get(j)) {
|
|
@@ -670,34 +622,79 @@ function decodeNullableZigZagRleInt64(bitVector, data, numRuns) {
|
|
|
670
622
|
return values;
|
|
671
623
|
}
|
|
672
624
|
/* Logical Level Techniques Const and Sequence Vectors ------------------------------------------------------------- */
|
|
673
|
-
|
|
625
|
+
/**
|
|
626
|
+
* Decode Delta-RLE with multiple runs by fully reconstructing values.
|
|
627
|
+
*
|
|
628
|
+
* @param data RLE encoded data: [run1, run2, ..., value1, value2, ...]
|
|
629
|
+
* @param numRuns Number of runs in the RLE encoding
|
|
630
|
+
* @param numValues Total number of values to reconstruct
|
|
631
|
+
* @returns Reconstructed values with deltas applied
|
|
632
|
+
*/
|
|
633
|
+
export function decodeDeltaRle(data, numRuns, numValues) {
|
|
634
|
+
const result = new Int32Array(numValues);
|
|
635
|
+
let outPos = 0;
|
|
636
|
+
let previousValue = 0;
|
|
637
|
+
for (let i = 0; i < numRuns; i++) {
|
|
638
|
+
const runLength = data[i];
|
|
639
|
+
const zigZagDelta = data[i + numRuns];
|
|
640
|
+
const delta = decodeZigZagValue(zigZagDelta);
|
|
641
|
+
for (let j = 0; j < runLength; j++) {
|
|
642
|
+
previousValue += delta;
|
|
643
|
+
result[outPos++] = previousValue;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
return result;
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Decode Delta-RLE with multiple runs for 64-bit integers.
|
|
650
|
+
*/
|
|
651
|
+
export function decodeDeltaRleInt64(data, numRuns, numValues) {
|
|
652
|
+
const result = new BigInt64Array(numValues);
|
|
653
|
+
let outPos = 0;
|
|
654
|
+
let previousValue = 0n;
|
|
655
|
+
for (let i = 0; i < numRuns; i++) {
|
|
656
|
+
const runLength = Number(data[i]);
|
|
657
|
+
const zigZagDelta = data[i + numRuns];
|
|
658
|
+
const delta = decodeZigZagValueInt64(zigZagDelta);
|
|
659
|
+
for (let j = 0; j < runLength; j++) {
|
|
660
|
+
previousValue += delta;
|
|
661
|
+
result[outPos++] = previousValue;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
return result;
|
|
665
|
+
}
|
|
666
|
+
export function decodeUnsignedConstRle(data) {
|
|
674
667
|
return data[1];
|
|
675
668
|
}
|
|
676
|
-
function decodeZigZagConstRle(data) {
|
|
669
|
+
export function decodeZigZagConstRle(data) {
|
|
677
670
|
return decodeZigZagValue(data[1]);
|
|
678
671
|
}
|
|
679
|
-
function decodeZigZagSequenceRle(data) {
|
|
672
|
+
export function decodeZigZagSequenceRle(data) {
|
|
680
673
|
/* base value and delta value are equal */
|
|
681
674
|
if (data.length == 2) {
|
|
682
675
|
const value = decodeZigZagValue(data[1]);
|
|
683
676
|
return [value, value];
|
|
684
677
|
}
|
|
685
678
|
/* base value and delta value are not equal -> 2 runs and 2 values*/
|
|
686
|
-
|
|
679
|
+
const base = decodeZigZagValue(data[2]);
|
|
680
|
+
const delta = decodeZigZagValue(data[3]);
|
|
681
|
+
return [base, delta];
|
|
687
682
|
}
|
|
688
|
-
function decodeUnsignedConstRleInt64(data) {
|
|
683
|
+
export function decodeUnsignedConstRleInt64(data) {
|
|
689
684
|
return data[1];
|
|
690
685
|
}
|
|
691
|
-
function decodeZigZagConstRleInt64(data) {
|
|
686
|
+
export function decodeZigZagConstRleInt64(data) {
|
|
692
687
|
return decodeZigZagValueInt64(data[1]);
|
|
693
688
|
}
|
|
694
|
-
function decodeZigZagSequenceRleInt64(data) {
|
|
689
|
+
export function decodeZigZagSequenceRleInt64(data) {
|
|
695
690
|
/* base value and delta value are equal */
|
|
696
691
|
if (data.length == 2) {
|
|
697
692
|
const value = decodeZigZagValueInt64(data[1]);
|
|
698
693
|
return [value, value];
|
|
699
694
|
}
|
|
700
695
|
/* base value and delta value are not equal -> 2 runs and 2 values*/
|
|
701
|
-
|
|
696
|
+
const base = decodeZigZagValueInt64(data[2]);
|
|
697
|
+
const delta = decodeZigZagValueInt64(data[3]);
|
|
698
|
+
return [base, delta];
|
|
702
699
|
}
|
|
703
700
|
//# sourceMappingURL=integerDecodingUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integerDecodingUtils.js","sourceRoot":"","sources":["../../src/decoding/integerDecodingUtils.ts"],"names":[],"mappings":"AAKA,oHAAoH;AAEpH,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,YAAwB,EAAE,SAAiB;IAC1F,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACtB,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,SAAS;QACb,CAAC;QAED,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,SAAS;QACb,CAAC;QAED,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,SAAS;QACb,CAAC;QAED,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,SAAS;QACb,CAAC;QAED,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,MAAkB,EAAE,SAAiB;IACpF,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;kGACkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,GAAe,EAAE,SAAiB,EAAE,MAAkB;IACtF,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,2DAA2D;AAC3D,SAAS,yBAAyB,CAAC,GAAe,EAAE,MAAkB;IAClE,IAAI,GAAG,EAAE,CAAC,CAAC;IACX,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACf,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC;IACzB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC;IACzB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC;IACzB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC;IACzB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAExB,OAAO,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM;IACzC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,IAAgB,EAChB,SAAiB,EACjB,UAAkB,EAClB,MAAkB;IAElB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAuB;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA0B;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAyB;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,mGAAmG;QACnG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC7C,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IAClD,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,uHAAuH;AACvH,SAAS,uBAAuB,CAAC,KAAiB,EAAE,GAAe;IAC/D,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;IACtB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzB,KAAK,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM;QACV,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;QACX,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,8GAA8G;AAE9G,MAAM,UAAU,SAAS,CAAC,IAAgB,EAAE,cAAwC,EAAE,QAAiB;IACnG,OAAO,QAAQ;QACX,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;QACzE,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,IAAmB,EACnB,cAAwC,EACxC,QAAiB;IAEjB,OAAO,QAAQ;QACX,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;QAC9E,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,IAAkB,EAClB,cAAwC,EACxC,QAAiB;IAEjB,OAAO,QAAQ;QACX,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC;QAChF,CAAC,CAAC,wBAAwB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAuB,EAAE,OAAe,EAAE,cAAsB;IAC9F,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,WAA0B,EAC1B,OAAe,EACf,cAAsB;IAEtB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,WAAyB,EACzB,OAAe,EACf,cAAsB;IAEtB,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAgB;IAC9C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAmB;IACtD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAkB;IACvD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,OAAe,EAAE,cAAsB;IACrF,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB,EAAE,OAAe,EAAE,cAAsB;IAC7F,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACtC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAkB,EAAE,OAAe,EAAE,cAAsB;IAC9F,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,wFAAwF;QACxF,KAAK,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QACvD,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC7C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,EAAE,CAAC,CAAC;IACR,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAgB;IACzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACrB,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAgB;IACzD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAgB,EAAE,KAAa,EAAE,GAAW,EAAE,GAAW;IACxG,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YAClE,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YAClE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAElE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;YAC5D,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;YAC5D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAoB,EAAE,IAAgB;IAC5E,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,WAAW,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,SAAoB,EAAE,IAAmB;IACpF,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,WAAW,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACJ,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,kHAAkH;AAElH,MAAM,UAAU,0BAA0B,CAAC,IAAgB;IACvD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnB,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACvD,QAAQ,IAAI,KAAK,CAAC;QAClB,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACnD,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAgB,EAAE,OAAe,EAAE,cAAsB;IAC5F,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,aAAa,CAAC;YACzC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB,EAAE,OAAe,EAAE,cAAsB;IACtF,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,aAAa,CAAC;YACzC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,IAAgB;IAC/D,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAoB,EAAE,IAAgB;IACrE,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAoB,EAAE,IAAmB;IACvE,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAoB,EAAE,IAAmB;IAC7E,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,IAAgB,EAChB,cAA8B,EAC9B,QAAiB,EACjB,SAAoB;IAEpB,MAAM,WAAW,GAAG,cAA0C,CAAC;IAC/D,OAAO,QAAQ;QACX,CAAC,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QAC5D,CAAC,CAAC,yBAAyB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAoB,EAAE,IAAgB,EAAE,OAAe;IACtF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,uCAAuC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAS,EAAE,IAAgB,EAAE,OAAe;IACzE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,uCAAuC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,IAAmB,EACnB,cAA8B,EAC9B,QAAiB,EACjB,SAAoB;IAEpB,MAAM,WAAW,GAAG,cAA0C,CAAC;IAC/D,OAAO,QAAQ;QACX,CAAC,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACjE,CAAC,CAAC,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAoB,EAAE,IAAmB,EAAE,OAAe;IAC9F,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,uCAAuC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAS,EAAE,IAAmB,EAAE,OAAe;IACjF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC9B,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,uCAAuC;YACvC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC;YACb,CAAC;QACL,CAAC;QACD,MAAM,IAAI,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,uHAAuH;AAEvH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,OAAe,EAAE,SAAiB;IAC/E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,aAAa,IAAI,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;QACrC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAmB,EAAE,OAAe,EAAE,SAAiB;IACvF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,aAAa,IAAI,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC;QACrC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAgB;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACjD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAgB;IACpD,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAmB;IAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAmB;IACzD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAmB;IAC5D,0CAA0C;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|