@math.gl/geoarrow 5.0.0-alpha.2 → 5.0.0-alpha.3
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/README.md +45 -15
- package/dist/builder-entry.cjs +561 -0
- package/dist/builder-entry.cjs.map +6 -0
- package/dist/builder-entry.d.ts +4 -0
- package/dist/builder-entry.d.ts.map +1 -0
- package/dist/builder-entry.js +5 -0
- package/dist/builder-entry.js.map +1 -0
- package/dist/builder.d.ts +12 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +112 -10
- package/dist/builder.js.map +1 -1
- package/dist/codecs.d.ts.map +1 -1
- package/dist/codecs.js +205 -7
- package/dist/codecs.js.map +1 -1
- package/dist/index.cjs +904 -120
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kernels.d.ts +8 -3
- package/dist/kernels.d.ts.map +1 -1
- package/dist/kernels.js +610 -107
- package/dist/kernels.js.map +1 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +28 -5
- package/dist/layout.js.map +1 -1
- package/dist/tessellation-entry.cjs +427 -0
- package/dist/tessellation-entry.cjs.map +6 -0
- package/dist/tessellation-entry.d.ts +4 -0
- package/dist/tessellation-entry.d.ts.map +1 -0
- package/dist/tessellation-entry.js +5 -0
- package/dist/tessellation-entry.js.map +1 -0
- package/dist/types.d.ts +37 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wkb-entry.cjs +1005 -0
- package/dist/wkb-entry.cjs.map +6 -0
- package/dist/wkb-entry.d.ts +3 -0
- package/dist/wkb-entry.d.ts.map +1 -0
- package/dist/wkb-entry.js +6 -0
- package/dist/wkb-entry.js.map +1 -0
- package/dist/worker.cjs +4 -0
- package/dist/worker.cjs.map +1 -1
- package/package.json +21 -6
- package/src/builder-entry.ts +18 -0
- package/src/builder.ts +133 -19
- package/src/codecs.ts +251 -9
- package/src/index.ts +1 -0
- package/src/kernels.ts +811 -133
- package/src/layout.ts +38 -13
- package/src/tessellation-entry.ts +7 -0
- package/src/types.ts +23 -4
- package/src/wkb-entry.ts +11 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/wkb-entry.ts", "../src/codecs.ts", "../src/types.ts", "../src/builder.ts", "../src/layout.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["import_wkb", "getEncodingDepth", "getListRange", "writeCoordinate", "byteOffset"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wkb-entry.d.ts","sourceRoot":"","sources":["../src/wkb-entry.ts"],"names":[],"mappings":"AAIA,0FAA0F;AAC1F,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,oBAAiB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/** Optional serialized-format bridge. The parser implementation lives in @math.gl/wkb. */
|
|
5
|
+
export { decodeGeoArrowWKB, decodeGeoArrowWKT, encodeGeoArrowWKB, encodeGeoArrowWKT } from "./codecs.js";
|
|
6
|
+
//# sourceMappingURL=wkb-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wkb-entry.js","sourceRoot":"","sources":["../src/wkb-entry.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,0FAA0F;AAC1F,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,oBAAiB"}
|
package/dist/worker.cjs
CHANGED
|
@@ -58,6 +58,10 @@ function collectArrayBuffers(array, buffers) {
|
|
|
58
58
|
case "serialized":
|
|
59
59
|
addBuffer(array.offsets.buffer, buffers);
|
|
60
60
|
addBuffer(array.values.buffer, buffers);
|
|
61
|
+
if (array.views)
|
|
62
|
+
addBuffer(array.views.buffer, buffers);
|
|
63
|
+
for (const data of array.dataBuffers || [])
|
|
64
|
+
addBuffer(data.buffer, buffers);
|
|
61
65
|
break;
|
|
62
66
|
}
|
|
63
67
|
}
|
package/dist/worker.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/worker.ts", "../src/layout.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AC6LM,SAAU,wBAAwB,QAAsB;AAC5D,QAAM,UAAU,oBAAI,IAAG;AACvB,aAAW,SAAS,OAAO;AAAQ,wBAAoB,OAAO,OAAO;AACrE,SAAO,CAAC,GAAG,OAAO;AACpB;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AC6LM,SAAU,wBAAwB,QAAsB;AAC5D,QAAM,UAAU,oBAAI,IAAG;AACvB,aAAW,SAAS,OAAO;AAAQ,wBAAoB,OAAO,OAAO;AACrE,SAAO,CAAC,GAAG,OAAO;AACpB;AA8mBA,SAAS,oBAAoB,OAAsB,SAAyB;AAC1E,MAAI,MAAM;AAAU,cAAU,MAAM,SAAS,OAAO,QAAQ,OAAO;AACnE,UAAQ,MAAM,MAAM;IAClB,KAAK;AACH,gBAAU,MAAM,OAAO,QAAQ,OAAO;AACtC;IACF,KAAK;AACH,0BAAoB,MAAM,OAAO,OAAO;AACxC;IACF,KAAK;AACH,gBAAU,MAAM,QAAQ,QAAQ,OAAO;AACvC,0BAAoB,MAAM,OAAO,OAAO;AACxC;IACF,KAAK;AACH,iBAAW,SAAS,OAAO,OAAO,MAAM,QAAQ;AAAG,4BAAoB,OAAO,OAAO;AACrF;IACF,KAAK;AACH,gBAAU,MAAM,QAAQ,QAAQ,OAAO;AACvC,gBAAU,MAAM,aAAa,QAAQ,OAAO;AAC5C,iBAAW,SAAS,MAAM;AAAU,4BAAoB,MAAM,MAAM,OAAO;AAC3E;IACF,KAAK;AACH,gBAAU,MAAM,QAAQ,QAAQ,OAAO;AACvC,gBAAU,MAAM,OAAO,QAAQ,OAAO;AACtC,UAAI,MAAM;AAAO,kBAAU,MAAM,MAAM,QAAQ,OAAO;AACtD,iBAAW,QAAQ,MAAM,eAAe,CAAA;AAAI,kBAAU,KAAK,QAAQ,OAAO;AAC1E;EACJ;AACF;AAEA,SAAS,UAAU,QAAyB,SAAyB;AACnE,MAAI,kBAAkB;AAAa,YAAQ,IAAI,MAAM;AACvD;;;AD9zBM,SAAU,wBAAwB,QAAsB;AAC5D,SAAO,EAAC,QAAQ,cAAc,wBAAwB,MAAM,EAAC;AAC/D;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
9
|
-
"version": "5.0.0-alpha.
|
|
9
|
+
"version": "5.0.0-alpha.3",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"geoarrow",
|
|
12
12
|
"geospatial",
|
|
@@ -31,6 +31,21 @@
|
|
|
31
31
|
"types": "./dist/worker.d.ts",
|
|
32
32
|
"import": "./dist/worker.js",
|
|
33
33
|
"require": "./dist/worker.cjs"
|
|
34
|
+
},
|
|
35
|
+
"./builder": {
|
|
36
|
+
"types": "./dist/builder-entry.d.ts",
|
|
37
|
+
"import": "./dist/builder-entry.js",
|
|
38
|
+
"require": "./dist/builder-entry.cjs"
|
|
39
|
+
},
|
|
40
|
+
"./wkb": {
|
|
41
|
+
"types": "./dist/wkb-entry.d.ts",
|
|
42
|
+
"import": "./dist/wkb-entry.js",
|
|
43
|
+
"require": "./dist/wkb-entry.cjs"
|
|
44
|
+
},
|
|
45
|
+
"./tessellation": {
|
|
46
|
+
"types": "./dist/tessellation-entry.d.ts",
|
|
47
|
+
"import": "./dist/tessellation-entry.js",
|
|
48
|
+
"require": "./dist/tessellation-entry.cjs"
|
|
34
49
|
}
|
|
35
50
|
},
|
|
36
51
|
"files": [
|
|
@@ -39,10 +54,10 @@
|
|
|
39
54
|
],
|
|
40
55
|
"sideEffects": false,
|
|
41
56
|
"dependencies": {
|
|
42
|
-
"@math.gl/crs": "5.0.0-alpha.
|
|
43
|
-
"@math.gl/polygon": "5.0.0-alpha.
|
|
44
|
-
"@math.gl/types": "5.0.0-alpha.
|
|
45
|
-
"@math.gl/wkb": "5.0.0-alpha.
|
|
57
|
+
"@math.gl/crs": "5.0.0-alpha.3",
|
|
58
|
+
"@math.gl/polygon": "5.0.0-alpha.3",
|
|
59
|
+
"@math.gl/types": "5.0.0-alpha.3",
|
|
60
|
+
"@math.gl/wkb": "5.0.0-alpha.3"
|
|
46
61
|
},
|
|
47
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "9887e5711acfceafb78d746dd8002629f1a4d398"
|
|
48
63
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// math.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
/** Optional builder subpath. Importing it avoids pulling codec and tessellation helpers. */
|
|
6
|
+
export type {
|
|
7
|
+
GeoArrowBuilderEncoding,
|
|
8
|
+
GeoArrowBuilderMeasurement,
|
|
9
|
+
GeoArrowBuilderModeOptions,
|
|
10
|
+
GeoArrowBuilderOptions,
|
|
11
|
+
GeoArrowColumnFromRowsOptions,
|
|
12
|
+
GeoArrowBuilderTarget
|
|
13
|
+
} from './builder';
|
|
14
|
+
export {
|
|
15
|
+
allocateGeoArrowBuilderTarget,
|
|
16
|
+
GeoArrowBuilder,
|
|
17
|
+
makeGeoArrowColumnFromGeometryRows
|
|
18
|
+
} from './builder';
|
package/src/builder.ts
CHANGED
|
@@ -103,6 +103,15 @@ export class GeoArrowBuilder {
|
|
|
103
103
|
private coordinateCount = 0;
|
|
104
104
|
private partCount = 0;
|
|
105
105
|
private ringCount = 0;
|
|
106
|
+
private readonly eventStack: Array<{
|
|
107
|
+
type: GeoArrowGeometryValue['type'];
|
|
108
|
+
dimension: GeoArrowDimension;
|
|
109
|
+
rings: number[][][];
|
|
110
|
+
polygons: number[][][][];
|
|
111
|
+
currentPolygon?: number[][][];
|
|
112
|
+
currentRing?: number[][];
|
|
113
|
+
children: GeoArrowGeometryValue[];
|
|
114
|
+
}> = [];
|
|
106
115
|
|
|
107
116
|
constructor(options: GeoArrowBuilderModeOptions) {
|
|
108
117
|
this.mode = options.mode;
|
|
@@ -135,7 +144,7 @@ export class GeoArrowBuilder {
|
|
|
135
144
|
const depth = getBuilderDepth(this.encoding);
|
|
136
145
|
const coordinates = geometry.coordinates as readonly unknown[];
|
|
137
146
|
if (depth === 0) {
|
|
138
|
-
this.
|
|
147
|
+
this.writeCoordinateValues(coordinates as readonly number[]);
|
|
139
148
|
} else if (depth === 1) {
|
|
140
149
|
this.writeCoordinateList(coordinates as readonly (readonly number[])[]);
|
|
141
150
|
this.writeOffset(this.target?.geometryOffsets, rowIndex + 1, this.coordinateCount);
|
|
@@ -253,7 +262,7 @@ export class GeoArrowBuilder {
|
|
|
253
262
|
private appendNull(rowIndex: number): void {
|
|
254
263
|
const depth = getBuilderDepth(this.encoding);
|
|
255
264
|
if (depth === 0) {
|
|
256
|
-
this.
|
|
265
|
+
this.writeCoordinateValues(new Array(getGeoArrowDimensionSize(this.dimension)).fill(0));
|
|
257
266
|
} else {
|
|
258
267
|
this.writeOffset(
|
|
259
268
|
this.target?.geometryOffsets,
|
|
@@ -264,10 +273,10 @@ export class GeoArrowBuilder {
|
|
|
264
273
|
}
|
|
265
274
|
|
|
266
275
|
private writeCoordinateList(coordinates: readonly (readonly number[])[]): void {
|
|
267
|
-
for (const coordinate of coordinates) this.
|
|
276
|
+
for (const coordinate of coordinates) this.writeCoordinateValues(coordinate);
|
|
268
277
|
}
|
|
269
278
|
|
|
270
|
-
private
|
|
279
|
+
private writeCoordinateValues(coordinate: readonly number[]): void {
|
|
271
280
|
const size = getGeoArrowDimensionSize(this.dimension);
|
|
272
281
|
if (coordinate.length !== size) {
|
|
273
282
|
throw new Error(`Expected ${size} coordinate values for ${this.dimension}`);
|
|
@@ -277,6 +286,99 @@ export class GeoArrowBuilder {
|
|
|
277
286
|
this.coordinateCount++;
|
|
278
287
|
}
|
|
279
288
|
|
|
289
|
+
/** Begins an event-driven geometry. Events are accepted by both measure and write builders. */
|
|
290
|
+
beginGeometry(
|
|
291
|
+
type: GeoArrowGeometryValue['type'],
|
|
292
|
+
dimension = this.dimension,
|
|
293
|
+
_count?: number
|
|
294
|
+
): this {
|
|
295
|
+
this.eventStack.push({type, dimension, rings: [], polygons: [], children: []});
|
|
296
|
+
return this;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/** Begins a polygon part inside an event-built MultiPolygon. */
|
|
300
|
+
beginPolygon(): this {
|
|
301
|
+
const state = this.eventStack[this.eventStack.length - 1];
|
|
302
|
+
if (!state || state.type !== 'MultiPolygon') {
|
|
303
|
+
throw new Error("beginPolygon must follow beginGeometry('MultiPolygon')");
|
|
304
|
+
}
|
|
305
|
+
state.currentPolygon = [];
|
|
306
|
+
state.polygons.push(state.currentPolygon);
|
|
307
|
+
state.currentRing = undefined;
|
|
308
|
+
return this;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/** Begins a ring/part in the current event geometry. */
|
|
312
|
+
beginRing(_count?: number): this {
|
|
313
|
+
const state = this.eventStack[this.eventStack.length - 1];
|
|
314
|
+
if (!state) throw new Error('beginRing must follow beginGeometry');
|
|
315
|
+
state.currentRing = [];
|
|
316
|
+
if (state.type === 'MultiPolygon') {
|
|
317
|
+
if (!state.currentPolygon) this.beginPolygon();
|
|
318
|
+
state.currentPolygon!.push(state.currentRing);
|
|
319
|
+
} else {
|
|
320
|
+
state.rings.push(state.currentRing);
|
|
321
|
+
}
|
|
322
|
+
return this;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/** Writes one coordinate into the current event ring or point. */
|
|
326
|
+
writeCoordinate(x: number | readonly number[], y?: number, z?: number, m?: number): this {
|
|
327
|
+
const state = this.eventStack[this.eventStack.length - 1];
|
|
328
|
+
if (!state) throw new Error('writeCoordinate must follow beginGeometry');
|
|
329
|
+
const coordinate = Array.isArray(x)
|
|
330
|
+
? [...x]
|
|
331
|
+
: [x, y!, ...(z === undefined ? [] : [z]), ...(m === undefined ? [] : [m])];
|
|
332
|
+
const size = getGeoArrowDimensionSize(state.dimension);
|
|
333
|
+
if (coordinate.length !== size)
|
|
334
|
+
throw new Error(`Expected ${size} coordinate values for ${state.dimension}`);
|
|
335
|
+
if (state.type === 'Point') {
|
|
336
|
+
state.rings = [[coordinate]];
|
|
337
|
+
return this;
|
|
338
|
+
}
|
|
339
|
+
if (!state.currentRing) this.beginRing();
|
|
340
|
+
state.currentRing!.push(coordinate);
|
|
341
|
+
return this;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/** Ends the current event geometry and appends it to the builder/parent. */
|
|
345
|
+
endGeometry(): this {
|
|
346
|
+
const state = this.eventStack.pop();
|
|
347
|
+
if (!state) throw new Error('endGeometry without beginGeometry');
|
|
348
|
+
const coordinates = state.rings;
|
|
349
|
+
let geometry: GeoArrowGeometryValue;
|
|
350
|
+
switch (state.type) {
|
|
351
|
+
case 'Point':
|
|
352
|
+
geometry = {type: 'Point', coordinates: coordinates[0]?.[0] || []};
|
|
353
|
+
break;
|
|
354
|
+
case 'LineString':
|
|
355
|
+
geometry = {type: 'LineString', coordinates: coordinates[0] || []};
|
|
356
|
+
break;
|
|
357
|
+
case 'MultiPoint':
|
|
358
|
+
geometry = {type: 'MultiPoint', coordinates: coordinates.flat()};
|
|
359
|
+
break;
|
|
360
|
+
case 'Polygon':
|
|
361
|
+
geometry = {type: 'Polygon', coordinates};
|
|
362
|
+
break;
|
|
363
|
+
case 'MultiLineString':
|
|
364
|
+
geometry = {type: 'MultiLineString', coordinates};
|
|
365
|
+
break;
|
|
366
|
+
case 'MultiPolygon':
|
|
367
|
+
geometry = {
|
|
368
|
+
type: 'MultiPolygon',
|
|
369
|
+
coordinates: state.polygons.length ? state.polygons : [coordinates]
|
|
370
|
+
};
|
|
371
|
+
break;
|
|
372
|
+
case 'GeometryCollection':
|
|
373
|
+
geometry = {type: 'GeometryCollection', geometries: state.children};
|
|
374
|
+
break;
|
|
375
|
+
}
|
|
376
|
+
const parent = this.eventStack[this.eventStack.length - 1];
|
|
377
|
+
if (parent?.type === 'GeometryCollection') parent.children.push(geometry);
|
|
378
|
+
else this.append(geometry);
|
|
379
|
+
return this;
|
|
380
|
+
}
|
|
381
|
+
|
|
280
382
|
private writeOffset(target: GeoArrowOffsets | undefined, index: number, value: number): void {
|
|
281
383
|
if (!target) return;
|
|
282
384
|
if (target instanceof BigInt64Array) target[index] = BigInt(value);
|
|
@@ -376,7 +478,7 @@ function makeDenseUnionArray(
|
|
|
376
478
|
const geometry = rows[rowIndex];
|
|
377
479
|
const type = geometry?.type || fallbackType;
|
|
378
480
|
const values = childRows.get(type) || [];
|
|
379
|
-
typeIds[rowIndex] = getGeometryTypeId(type);
|
|
481
|
+
typeIds[rowIndex] = getGeometryTypeId(type, dimension);
|
|
380
482
|
valueOffsets[rowIndex] = values.length;
|
|
381
483
|
if (geometry) {
|
|
382
484
|
values.push(geometry);
|
|
@@ -385,7 +487,9 @@ function makeDenseUnionArray(
|
|
|
385
487
|
}
|
|
386
488
|
}
|
|
387
489
|
const children = [...childRows.entries()]
|
|
388
|
-
.sort(
|
|
490
|
+
.sort(
|
|
491
|
+
([left], [right]) => getGeometryTypeId(left, dimension) - getGeometryTypeId(right, dimension)
|
|
492
|
+
)
|
|
389
493
|
.map(([type, values]) => {
|
|
390
494
|
const data =
|
|
391
495
|
type === 'GeometryCollection'
|
|
@@ -395,7 +499,14 @@ function makeDenseUnionArray(
|
|
|
395
499
|
dimension,
|
|
396
500
|
encoding: getGeoArrowEncodingForGeometry(type) as GeoArrowBuilderEncoding
|
|
397
501
|
}).chunks[0];
|
|
398
|
-
return {
|
|
502
|
+
return {
|
|
503
|
+
name: type,
|
|
504
|
+
typeId: getGeometryTypeId(type, dimension),
|
|
505
|
+
encoding: getGeoArrowEncodingForGeometry(type),
|
|
506
|
+
dimension,
|
|
507
|
+
coordinateLayout: options.coordinateLayout || 'interleaved',
|
|
508
|
+
data
|
|
509
|
+
};
|
|
399
510
|
});
|
|
400
511
|
return {
|
|
401
512
|
kind: 'dense-union',
|
|
@@ -517,18 +628,21 @@ function getBuilderDepth(encoding: GeoArrowBuilderEncoding): 0 | 1 | 2 | 3 {
|
|
|
517
628
|
}
|
|
518
629
|
}
|
|
519
630
|
|
|
520
|
-
function getGeometryTypeId(
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
631
|
+
function getGeometryTypeId(
|
|
632
|
+
type: GeoArrowGeometryValue['type'],
|
|
633
|
+
dimension: GeoArrowDimension = 'xy'
|
|
634
|
+
): number {
|
|
635
|
+
const family = [
|
|
636
|
+
'Point',
|
|
637
|
+
'LineString',
|
|
638
|
+
'Polygon',
|
|
639
|
+
'MultiPoint',
|
|
640
|
+
'MultiLineString',
|
|
641
|
+
'MultiPolygon',
|
|
642
|
+
'GeometryCollection'
|
|
643
|
+
].indexOf(type);
|
|
644
|
+
const dimensionIndex = ['xy', 'xyz', 'xym', 'xyzm'].indexOf(dimension);
|
|
645
|
+
return family < 0 || dimensionIndex < 0 ? 1 : family * 4 + dimensionIndex + 1;
|
|
532
646
|
}
|
|
533
647
|
|
|
534
648
|
function inferRowsDimension(rows: readonly (GeoArrowGeometryValue | null)[]): GeoArrowDimension {
|