@loaders.gl/arrow 4.3.2 → 4.4.0-alpha.1

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.
Files changed (77) hide show
  1. package/dist/arrow-loader.d.ts +1 -1
  2. package/dist/arrow-worker.js +638 -1292
  3. package/dist/arrow-writer.js +1 -1
  4. package/dist/dist.dev.js +2140 -3383
  5. package/dist/dist.min.js +5 -5
  6. package/dist/exports/arrow-format.d.ts +12 -0
  7. package/dist/exports/arrow-format.d.ts.map +1 -0
  8. package/dist/exports/arrow-format.js +18 -0
  9. package/dist/exports/arrow-loader.d.ts +1 -1
  10. package/dist/exports/arrow-loader.d.ts.map +1 -1
  11. package/dist/exports/arrow-loader.js +1 -1
  12. package/dist/exports/geoarrow-loader.d.ts +1 -1
  13. package/dist/exports/geoarrow-loader.d.ts.map +1 -1
  14. package/dist/geoarrow-loader.d.ts +1 -2
  15. package/dist/geoarrow-loader.d.ts.map +1 -1
  16. package/dist/geoarrow-writer.d.ts +3 -3
  17. package/dist/geoarrow-writer.d.ts.map +1 -1
  18. package/dist/geoarrow-writer.js +1 -1
  19. package/dist/index.cjs +39 -952
  20. package/dist/index.cjs.map +4 -4
  21. package/dist/index.d.ts +1 -9
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +7 -14
  24. package/dist/lib/parsers/parse-arrow.d.ts +1 -2
  25. package/dist/lib/parsers/parse-arrow.d.ts.map +1 -1
  26. package/dist/lib/parsers/parse-arrow.js +1 -1
  27. package/dist/lib/parsers/parse-geoarrow.d.ts +1 -2
  28. package/dist/lib/parsers/parse-geoarrow.d.ts.map +1 -1
  29. package/dist/lib/parsers/parse-geoarrow.js +2 -2
  30. package/dist/triangulate-on-worker.d.ts +2 -1
  31. package/dist/triangulate-on-worker.d.ts.map +1 -1
  32. package/dist/triangulate-on-worker.js +1 -1
  33. package/dist/triangulation-worker.js +212 -154
  34. package/dist/workers/triangulation-worker.js +2 -2
  35. package/package.json +10 -9
  36. package/src/exports/arrow-format.ts +21 -0
  37. package/src/exports/arrow-loader.ts +1 -1
  38. package/src/exports/geoarrow-loader.ts +1 -2
  39. package/src/geoarrow-loader.ts +6 -2
  40. package/src/geoarrow-writer.ts +1 -1
  41. package/src/index.ts +2 -42
  42. package/src/lib/parsers/parse-arrow.ts +2 -3
  43. package/src/lib/parsers/parse-geoarrow.ts +8 -4
  44. package/src/triangulate-on-worker.ts +2 -1
  45. package/src/workers/triangulation-worker.ts +3 -3
  46. package/dist/lib/geoarrow/convert-geoarrow-to-binary-geometry.d.ts +0 -74
  47. package/dist/lib/geoarrow/convert-geoarrow-to-binary-geometry.d.ts.map +0 -1
  48. package/dist/lib/geoarrow/convert-geoarrow-to-binary-geometry.js +0 -377
  49. package/dist/lib/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts +0 -13
  50. package/dist/lib/geoarrow/convert-geoarrow-to-geojson-geometry.d.ts.map +0 -1
  51. package/dist/lib/geoarrow/convert-geoarrow-to-geojson-geometry.js +0 -176
  52. package/dist/lib/geoarrow/get-arrow-bounds.d.ts +0 -11
  53. package/dist/lib/geoarrow/get-arrow-bounds.d.ts.map +0 -1
  54. package/dist/lib/geoarrow/get-arrow-bounds.js +0 -34
  55. package/dist/lib/tables/convert-arrow-schema.d.ts +0 -23
  56. package/dist/lib/tables/convert-arrow-schema.d.ts.map +0 -1
  57. package/dist/lib/tables/convert-arrow-schema.js +0 -280
  58. package/dist/lib/tables/convert-arrow-to-table.d.ts +0 -15
  59. package/dist/lib/tables/convert-arrow-to-table.d.ts.map +0 -1
  60. package/dist/lib/tables/convert-arrow-to-table.js +0 -104
  61. package/dist/lib/tables/convert-table-to-arrow.d.ts +0 -16
  62. package/dist/lib/tables/convert-table-to-arrow.d.ts.map +0 -1
  63. package/dist/lib/tables/convert-table-to-arrow.js +0 -56
  64. package/dist/schema/arrow-table-batch.d.ts +0 -10
  65. package/dist/schema/arrow-table-batch.d.ts.map +0 -1
  66. package/dist/schema/arrow-table-batch.js +0 -67
  67. package/dist/schema/arrow-table-type.d.ts +0 -25
  68. package/dist/schema/arrow-table-type.d.ts.map +0 -1
  69. package/dist/schema/arrow-table-type.js +0 -4
  70. package/src/lib/geoarrow/convert-geoarrow-to-binary-geometry.ts +0 -494
  71. package/src/lib/geoarrow/convert-geoarrow-to-geojson-geometry.ts +0 -207
  72. package/src/lib/geoarrow/get-arrow-bounds.ts +0 -41
  73. package/src/lib/tables/convert-arrow-schema.ts +0 -301
  74. package/src/lib/tables/convert-arrow-to-table.ts +0 -144
  75. package/src/lib/tables/convert-table-to-arrow.ts +0 -72
  76. package/src/schema/arrow-table-batch.ts +0 -82
  77. package/src/schema/arrow-table-type.ts +0 -30
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  import * as arrow from 'apache-arrow';
5
5
  import { createWorker } from '@loaders.gl/worker-utils';
6
- import { getTriangleIndices, getBinaryGeometriesFromArrow } from "../lib/geoarrow/convert-geoarrow-to-binary-geometry.js";
6
+ import { getTriangleIndices, convertGeoArrowToBinaryFeatureCollection } from '@loaders.gl/gis';
7
7
  createWorker(async (data, options = {}) => {
8
8
  const input = data;
9
9
  const operation = input?.operation;
@@ -44,7 +44,7 @@ function parseGeoArrowBatch(data) {
44
44
  if (geometryColumn) {
45
45
  // NOTE: for a rebuild arrow.Vector, there is only one chunk, so chunkIndex is always 0
46
46
  const options = { calculateMeanCenters, triangle, chunkIndex: 0, chunkOffset };
47
- binaryDataFromGeoArrow = getBinaryGeometriesFromArrow(geometryColumn, geometryEncoding, options);
47
+ binaryDataFromGeoArrow = convertGeoArrowToBinaryFeatureCollection(geometryColumn, geometryEncoding, options);
48
48
  // NOTE: here binaryGeometry will be copied to main thread
49
49
  return {
50
50
  binaryDataFromGeoArrow,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/arrow",
3
- "version": "4.3.2",
3
+ "version": "4.4.0-alpha.1",
4
4
  "description": "Simple columnar table loader for the Apache Arrow format",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -57,16 +57,17 @@
57
57
  "build-worker2": "esbuild src/workers/arrow-worker.ts --bundle --outfile=dist/arrow-worker.js --platform=browser --external:{stream}"
58
58
  },
59
59
  "dependencies": {
60
- "@loaders.gl/gis": "4.3.2",
61
- "@loaders.gl/loader-utils": "4.3.2",
62
- "@loaders.gl/schema": "4.3.2",
63
- "@loaders.gl/wkt": "4.3.2",
64
- "@loaders.gl/worker-utils": "4.3.2",
60
+ "@loaders.gl/gis": "4.4.0-alpha.1",
61
+ "@loaders.gl/loader-utils": "4.4.0-alpha.1",
62
+ "@loaders.gl/schema": "4.4.0-alpha.1",
63
+ "@loaders.gl/schema-utils": "4.4.0-alpha.1",
64
+ "@loaders.gl/wkt": "4.4.0-alpha.1",
65
+ "@loaders.gl/worker-utils": "4.4.0-alpha.1",
65
66
  "@math.gl/polygon": "^4.1.0",
66
- "apache-arrow": ">= 15.0.0"
67
+ "apache-arrow": ">= 16.1.0"
67
68
  },
68
69
  "peerDependencies": {
69
- "@loaders.gl/core": "^4.3.0"
70
+ "@loaders.gl/core": "4.4.0-alpha.0"
70
71
  },
71
- "gitHead": "b4203b8703f64a38d6f79a3113bc7bb51d45c93a"
72
+ "gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
72
73
  }
@@ -0,0 +1,21 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import type {Format} from '@loaders.gl/loader-utils';
6
+
7
+ /** ArrowJS table loader */
8
+ export const ArrowFormat = {
9
+ name: 'Apache Arrow',
10
+ id: 'arrow',
11
+ module: 'arrow',
12
+ category: 'table',
13
+ extensions: ['arrow', 'feather'],
14
+ mimeTypes: [
15
+ 'application/vnd.apache.arrow.file',
16
+ 'application/vnd.apache.arrow.stream',
17
+ 'application/octet-stream'
18
+ ],
19
+ binary: true,
20
+ tests: ['ARROW']
21
+ } as const satisfies Format;
@@ -3,7 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';
6
- import type {ArrowTable} from '../schema/arrow-table-type';
6
+ import type {ArrowTable} from '@loaders.gl/schema';
7
7
 
8
8
  // __VERSION__ is injected by babel-plugin-version-inline
9
9
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -3,9 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';
6
+ import type {ArrowTable, ArrowTableBatch, BinaryGeometry} from '@loaders.gl/schema';
6
7
  import {ArrowWorkerLoader} from './arrow-loader';
7
- import type {BinaryGeometry} from '@loaders.gl/schema';
8
- import type {ArrowTable, ArrowTableBatch} from '../schema/arrow-table-type';
9
8
 
10
9
  export type GeoArrowLoaderOptions = LoaderOptions & {
11
10
  arrow?: {
@@ -3,8 +3,12 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import type {LoaderWithParser} from '@loaders.gl/loader-utils';
6
- import type {GeoJSONTable, GeoJSONTableBatch} from '@loaders.gl/schema';
7
- import type {ArrowTable, ArrowTableBatch} from './schema/arrow-table-type';
6
+ import type {
7
+ ArrowTable,
8
+ ArrowTableBatch,
9
+ GeoJSONTable,
10
+ GeoJSONTableBatch
11
+ } from '@loaders.gl/schema';
8
12
  import {parseGeoArrowSync, parseGeoArrowInBatches} from './lib/parsers/parse-geoarrow';
9
13
  import type {GeoArrowLoaderOptions} from './exports/geoarrow-loader';
10
14
  import {GeoArrowWorkerLoader} from './exports/geoarrow-loader';
@@ -1,7 +1,7 @@
1
1
  // import type {} from '@loaders.gl/loader-utils';
2
2
 
3
3
  import type {WriterWithEncoder, WriterOptions} from '@loaders.gl/loader-utils';
4
- import {GeoJSONTable, BinaryGeometry} from '@loaders.gl/schema';
4
+ import type {GeoJSONTable, BinaryGeometry} from '@loaders.gl/schema';
5
5
  import {encodeGeoArrowSync} from './lib/encoders/encode-geoarrow';
6
6
 
7
7
  // __VERSION__ is injected by babel-plugin-version-inline
package/src/index.ts CHANGED
@@ -3,16 +3,12 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  // Types
6
- export type {ArrowTable, ArrowTableBatch} from './schema/arrow-table-type';
7
6
  export {VECTOR_TYPES} from './lib/types';
8
- import {ArrowTableBatchAggregator} from './schema/arrow-table-batch';
9
-
10
- // Make the ArrowBatch type available
11
- import {TableBatchBuilder} from '@loaders.gl/schema';
12
- TableBatchBuilder.ArrowBatch = ArrowTableBatchAggregator;
13
7
 
14
8
  // Arrow loader / Writer
15
9
 
10
+ export {ArrowFormat} from './exports/arrow-format';
11
+
16
12
  export type {ArrowLoaderOptions} from './exports/arrow-loader';
17
13
  export {ArrowWorkerLoader} from './exports/arrow-loader';
18
14
  export {ArrowLoader} from './arrow-loader';
@@ -23,48 +19,12 @@ export {ArrowWriter} from './arrow-writer';
23
19
  export {GeoArrowWorkerLoader} from './exports/geoarrow-loader';
24
20
  export {GeoArrowLoader} from './geoarrow-loader';
25
21
 
26
- // Schema utils
27
- export {
28
- convertArrowToSchema,
29
- convertSchemaToArrow,
30
-
31
- // DETAILED FUNCTIONS
32
- serializeArrowSchema,
33
- deserializeArrowSchema,
34
- serializeArrowMetadata,
35
- deserializeArrowMetadata,
36
- serializeArrowField,
37
- deserializeArrowField,
38
- serializeArrowType,
39
- deserializeArrowType
40
- } from './lib//tables/convert-arrow-schema';
41
-
42
- // Table utils
43
- export {convertArrowToTable} from './lib/tables/convert-arrow-to-table';
44
- export {convertTableToArrow} from './lib/tables/convert-table-to-arrow';
45
-
46
22
  // EXPERIMENTAL
47
23
 
48
24
  // Arrow Utils
49
- export type {GeoArrowEncoding} from '@loaders.gl/gis';
50
25
  // getGeometryColumnsFromArrowTable,
51
26
  // getGeoArrowEncoding
52
27
 
53
- export type {
54
- BinaryDataFromGeoArrow,
55
- BinaryGeometriesFromArrowOptions
56
- } from './lib/geoarrow/convert-geoarrow-to-binary-geometry';
57
- export {
58
- getBinaryGeometryTemplate,
59
- getBinaryGeometriesFromArrow,
60
- getTriangleIndices,
61
- getMeanCentersFromBinaryGeometries
62
- } from './lib/geoarrow/convert-geoarrow-to-binary-geometry';
63
-
64
- export {updateBoundsFromGeoArrowSamples} from './lib/geoarrow/get-arrow-bounds';
65
-
66
- export {parseGeometryFromArrow} from './lib/geoarrow/convert-geoarrow-to-geojson-geometry';
67
-
68
28
  // EXPERIMENTAL WORKER
69
29
  export {hardClone} from './workers/hard-clone';
70
30
 
@@ -3,10 +3,9 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import * as arrow from 'apache-arrow';
6
- import type {Table} from '@loaders.gl/schema';
7
- import type {ArrowTableBatch} from '../../schema/arrow-table-type';
6
+ import type {Table, ArrowTableBatch} from '@loaders.gl/schema';
8
7
  import {ArrowLoaderOptions} from '../../exports/arrow-loader';
9
- import {convertArrowToTable} from '../tables/convert-arrow-to-table';
8
+ import {convertArrowToTable} from '@loaders.gl/schema-utils';
10
9
 
11
10
  /** Parses arrow to a loaders.gl table. Defaults to `arrow-table` */
12
11
  export function parseArrowSync(arrayBuffer, options?: {shape?: Table['shape']}): Table {
@@ -2,10 +2,14 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import type {GeoJSONTable, GeoJSONTableBatch} from '@loaders.gl/schema';
6
- import type {ArrowTable, ArrowTableBatch} from '../../schema/arrow-table-type';
5
+ import type {
6
+ GeoJSONTable,
7
+ GeoJSONTableBatch,
8
+ ArrowTable,
9
+ ArrowTableBatch
10
+ } from '@loaders.gl/schema';
7
11
  import {parseArrowSync, parseArrowInBatches} from './parse-arrow';
8
- import {convertArrowToTable} from '../tables/convert-arrow-to-table';
12
+ import {convertGeoArrowToTable} from '@loaders.gl/gis';
9
13
 
10
14
  // Parses arrow to a columnar table
11
15
  export function parseGeoArrowSync(
@@ -16,7 +20,7 @@ export function parseGeoArrowSync(
16
20
  const table = parseArrowSync(arrayBuffer, {shape: 'arrow-table'}) as ArrowTable;
17
21
  switch (options?.shape) {
18
22
  case 'geojson-table':
19
- return convertArrowToTable(table.data, 'geojson-table');
23
+ return convertGeoArrowToTable(table.data, 'geojson-table');
20
24
  default:
21
25
  return table;
22
26
  }
@@ -5,7 +5,8 @@
5
5
  import * as arrow from 'apache-arrow';
6
6
  import type {WorkerOptions} from '@loaders.gl/worker-utils';
7
7
  import {processOnWorker} from '@loaders.gl/worker-utils';
8
- import {BinaryDataFromGeoArrow, GeoArrowEncoding} from '@loaders.gl/arrow';
8
+ import type {GeoArrowEncoding} from '@loaders.gl/geoarrow';
9
+ import {BinaryDataFromGeoArrow} from '@loaders.gl/gis';
9
10
 
10
11
  // __VERSION__ is injected by babel-plugin-version-inline
11
12
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
@@ -6,9 +6,9 @@ import * as arrow from 'apache-arrow';
6
6
  import {createWorker} from '@loaders.gl/worker-utils';
7
7
  import {
8
8
  getTriangleIndices,
9
- getBinaryGeometriesFromArrow,
9
+ convertGeoArrowToBinaryFeatureCollection,
10
10
  BinaryDataFromGeoArrow
11
- } from '../lib/geoarrow/convert-geoarrow-to-binary-geometry';
11
+ } from '@loaders.gl/gis';
12
12
  import type {
13
13
  TriangulationWorkerInput,
14
14
  TriangulateInput,
@@ -75,7 +75,7 @@ function parseGeoArrowBatch(data: ParseGeoArrowInput): ParseGeoArrowResult {
75
75
  if (geometryColumn) {
76
76
  // NOTE: for a rebuild arrow.Vector, there is only one chunk, so chunkIndex is always 0
77
77
  const options = {calculateMeanCenters, triangle, chunkIndex: 0, chunkOffset};
78
- binaryDataFromGeoArrow = getBinaryGeometriesFromArrow(
78
+ binaryDataFromGeoArrow = convertGeoArrowToBinaryFeatureCollection(
79
79
  geometryColumn,
80
80
  geometryEncoding,
81
81
  options
@@ -1,74 +0,0 @@
1
- import * as arrow from 'apache-arrow';
2
- import { BinaryFeatureCollection as BinaryFeatures } from '@loaders.gl/schema';
3
- import { GeoArrowEncoding } from '@loaders.gl/gis';
4
- /**
5
- * Binary data from geoarrow column and can be used by e.g. deck.gl GeojsonLayer
6
- */
7
- export type BinaryDataFromGeoArrow = {
8
- /** Binary format geometries, an array of BinaryFeatureCollection */
9
- binaryGeometries: BinaryFeatures[];
10
- /** Boundary of the binary geometries */
11
- bounds: [number, number, number, number];
12
- /** Feature types of the binary geometries */
13
- featureTypes: {
14
- polygon: boolean;
15
- point: boolean;
16
- line: boolean;
17
- };
18
- /** (Optional) mean centers of the binary geometries for e.g. polygon filtering */
19
- meanCenters?: number[][];
20
- };
21
- /**
22
- * binary geometry template, see deck.gl BinaryGeometry
23
- */
24
- export declare function getBinaryGeometryTemplate(): {
25
- globalFeatureIds: {
26
- value: Uint32Array;
27
- size: number;
28
- };
29
- positions: {
30
- value: Float32Array;
31
- size: number;
32
- };
33
- properties: never[];
34
- numericProps: {};
35
- featureIds: {
36
- value: Uint32Array;
37
- size: number;
38
- };
39
- };
40
- export type BinaryGeometriesFromArrowOptions = {
41
- /** option to specify which chunk to get binary geometries from, for progressive rendering */
42
- chunkIndex?: number;
43
- /** The offset (beginning index of rows) of input chunk. Used for reconstructing globalFeatureIds in web workers */
44
- chunkOffset?: number;
45
- /** option to get mean centers from geometries, for polygon filtering */
46
- calculateMeanCenters?: boolean;
47
- /** option to compute the triangle indices by tesselating polygons */
48
- triangulate?: boolean;
49
- };
50
- /**
51
- * get binary geometries from geoarrow column
52
- *
53
- * @param geoColumn the geoarrow column, e.g. arrowTable.getChildAt(geoColumnIndex)
54
- * @param geoEncoding the geo encoding of the geoarrow column, e.g. getGeoArrowEncoding(arrowTable.schema, geoColumnName)
55
- * @param options options for getting binary geometries {meanCenter: boolean}
56
- * @returns BinaryDataFromGeoArrow
57
- */
58
- export declare function getBinaryGeometriesFromArrow(geoColumn: arrow.Vector, geoEncoding: GeoArrowEncoding, options?: BinaryGeometriesFromArrowOptions): BinaryDataFromGeoArrow;
59
- /**
60
- * Get mean centers from binary geometries
61
- * @param binaryGeometries binary geometries from geoarrow column, an array of BinaryFeatureCollection
62
- * @returns mean centers of the binary geometries
63
- */
64
- export declare function getMeanCentersFromBinaryGeometries(binaryGeometries: BinaryFeatures[]): number[][];
65
- /**
66
- * get triangle indices. Allows deck.gl to skip performing costly triangulation on main thread.
67
- * @param polygonIndices Indices within positions of the start of each simple Polygon
68
- * @param primitivePolygonIndices Indices within positions of the start of each primitive Polygon/ring
69
- * @param flatCoordinateArray Array of x, y or x, y, z positions
70
- * @param nDim - number of dimensions per position
71
- * @returns triangle indices or null if invalid polygon and earcut fails
72
- */
73
- export declare function getTriangleIndices(polygonIndices: Uint16Array, primitivePolygonIndices: Int32Array, flatCoordinateArray: Float64Array, nDim: number): Uint32Array | null;
74
- //# sourceMappingURL=convert-geoarrow-to-binary-geometry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-geoarrow-to-binary-geometry.d.ts","sourceRoot":"","sources":["../../../src/lib/geoarrow/convert-geoarrow-to-binary-geometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAC,uBAAuB,IAAI,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAajD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,oEAAoE;IACpE,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,wCAAwC;IACxC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,6CAA6C;IAC7C,YAAY,EAAE;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC,CAAC;IAChE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CAC1B,CAAC;AAsBF;;GAEG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;;;;;EAQxC;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mHAAmH;IACnH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,KAAK,CAAC,MAAM,EACvB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE,gCAAgC,GACzC,sBAAsB,CAiFxB;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,EAAE,CAiCjG;AA2ED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,WAAW,EAC3B,uBAAuB,EAAE,UAAU,EACnC,mBAAmB,EAAE,YAAY,EACjC,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAyCpB"}