ol 7.3.1-dev.1680098251703 → 7.3.1-dev.1680103314833
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/ol.js +2 -2
- package/dist/ol.js.map +1 -1
- package/package.json +1 -1
- package/render/webgl/BatchRenderer.d.ts +11 -8
- package/render/webgl/BatchRenderer.d.ts.map +1 -1
- package/render/webgl/BatchRenderer.js +20 -27
- package/render/webgl/MixedGeometryBatch.d.ts +36 -48
- package/render/webgl/MixedGeometryBatch.d.ts.map +1 -1
- package/render/webgl/MixedGeometryBatch.js +229 -110
- package/renderer/webgl/VectorLayer.d.ts +17 -0
- package/renderer/webgl/VectorLayer.d.ts.map +1 -1
- package/renderer/webgl/VectorLayer.js +55 -18
- package/renderer/webgl/VectorTileLayer.d.ts +160 -0
- package/renderer/webgl/VectorTileLayer.d.ts.map +1 -0
- package/renderer/webgl/VectorTileLayer.js +335 -0
- package/renderer/webgl/shaders.d.ts.map +1 -1
- package/renderer/webgl/shaders.js +68 -3
- package/util.js +1 -1
- package/webgl/Helper.d.ts +2 -2
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +4 -6
- package/webgl/TileGeometry.d.ts +37 -0
- package/webgl/TileGeometry.d.ts.map +1 -0
- package/webgl/TileGeometry.js +106 -0
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@ export type CustomAttribute = {
|
|
|
12
12
|
* This callback computes the numerical value of the
|
|
13
13
|
* attribute for a given feature.
|
|
14
14
|
*/
|
|
15
|
-
callback: (arg0: import("../../Feature").
|
|
15
|
+
callback: (arg0: import("../../Feature").FeatureLike) => number;
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* @classdesc Abstract class for batch renderers.
|
|
@@ -55,23 +55,26 @@ declare class AbstractBatchRenderer {
|
|
|
55
55
|
*/
|
|
56
56
|
protected customAttributes: Array<CustomAttribute>;
|
|
57
57
|
/**
|
|
58
|
-
* Rebuild rendering instructions and webgl buffers
|
|
59
|
-
* Note: this is a costly operation.
|
|
58
|
+
* Rebuild rendering instructions and generate webgl buffers from them
|
|
60
59
|
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
61
|
-
* @param {import("../../
|
|
60
|
+
* @param {import("../../transform.js").Transform} currentTransform Transform
|
|
62
61
|
* @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
|
|
63
62
|
* @param {function(): void} callback Function called once the render buffers are updated
|
|
64
63
|
*/
|
|
65
|
-
rebuild(batch: import("./MixedGeometryBatch.js").GeometryBatch,
|
|
64
|
+
rebuild(batch: import("./MixedGeometryBatch.js").GeometryBatch, currentTransform: import("../../transform.js").Transform, geometryType: import("../../geom/Geometry.js").Type, callback: () => void): void;
|
|
65
|
+
/**
|
|
66
|
+
* Render the geometries in the batch. This will also update the current transform used for rendering according to
|
|
67
|
+
* the invert transform of the webgl buffers
|
|
68
|
+
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
69
|
+
*/
|
|
70
|
+
render(batch: import("./MixedGeometryBatch.js").GeometryBatch): void;
|
|
66
71
|
/**
|
|
67
72
|
* Render the geometries in the batch. This will also update the current transform used for rendering according to
|
|
68
73
|
* the invert transform of the webgl buffers
|
|
69
74
|
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
70
|
-
* @param {import("../../transform.js").Transform} currentTransform Transform
|
|
71
75
|
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
72
|
-
* @param {number} offsetX X offset
|
|
73
76
|
*/
|
|
74
|
-
|
|
77
|
+
preRender(batch: import("./MixedGeometryBatch.js").GeometryBatch, frameState: import("../../Map.js").FrameState): void;
|
|
75
78
|
/**
|
|
76
79
|
* Rebuild rendering instructions based on the provided frame state
|
|
77
80
|
* This is specific to the geometry type and has to be implemented by subclasses.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchRenderer.d.ts","sourceRoot":"","sources":["BatchRenderer.js"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BatchRenderer.d.ts","sourceRoot":"","sources":["BatchRenderer.js"],"names":[],"mappings":";;;;;;;;;UAac,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,WAAW,KAAE,MAAM;;AAMlE;;;;GAIG;AACH;IACE;;;;;;OAMG;IACH,oBANW,OAAO,uBAAuB,EAAE,OAAO,UACvC,MAAM,gBACN,MAAM,kBACN,MAAM,oBACN,MAAM,eAAe,CAAC,EAiChC;IA9BC;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,iBAAqE;IAErE;;;;OAIG;IACH,sBAHU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAGjD;IAEpB;;;OAGG;IACH,4BAHU,MAAM,eAAe,CAAC,CAGQ;IAG1C;;;;;;OAMG;IACH,eALW,OAAO,yBAAyB,EAAE,aAAa,oBAC/C,OAAO,oBAAoB,EAAE,SAAS,gBACtC,OAAO,wBAAwB,EAAE,IAAI,kBACzB,IAAI,QAO1B;IAED;;;;OAIG;IACH,cAFW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;OAKG;IACH,iBAHW,OAAO,yBAAyB,EAAE,aAAa,cAC/C,OAAO,cAAc,EAAE,UAAU,QAQ3C;IAED;;;;;OAKG;IACH,4CAHW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;;;OAOG;IACH,yBAmEC;CACF"}
|
|
@@ -4,17 +4,15 @@
|
|
|
4
4
|
import {WebGLWorkerMessageType} from './constants.js';
|
|
5
5
|
import {abstract} from '../../util.js';
|
|
6
6
|
import {
|
|
7
|
-
create as createTransform,
|
|
8
7
|
makeInverse as makeInverseTransform,
|
|
9
|
-
|
|
10
|
-
translate as translateTransform,
|
|
8
|
+
setFromArray as setFromTransform,
|
|
11
9
|
} from '../../transform.js';
|
|
12
10
|
|
|
13
11
|
/**
|
|
14
12
|
* @typedef {Object} CustomAttribute A description of a custom attribute to be passed on to the GPU, with a value different
|
|
15
13
|
* for each feature.
|
|
16
14
|
* @property {string} name Attribute name.
|
|
17
|
-
* @property {function(import("../../Feature").
|
|
15
|
+
* @property {function(import("../../Feature").FeatureLike):number} callback This callback computes the numerical value of the
|
|
18
16
|
* attribute for a given feature.
|
|
19
17
|
*/
|
|
20
18
|
|
|
@@ -67,19 +65,15 @@ class AbstractBatchRenderer {
|
|
|
67
65
|
}
|
|
68
66
|
|
|
69
67
|
/**
|
|
70
|
-
* Rebuild rendering instructions and webgl buffers
|
|
71
|
-
* Note: this is a costly operation.
|
|
68
|
+
* Rebuild rendering instructions and generate webgl buffers from them
|
|
72
69
|
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
73
|
-
* @param {import("../../
|
|
70
|
+
* @param {import("../../transform.js").Transform} currentTransform Transform
|
|
74
71
|
* @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
|
|
75
72
|
* @param {function(): void} callback Function called once the render buffers are updated
|
|
76
73
|
*/
|
|
77
|
-
rebuild(batch,
|
|
78
|
-
//
|
|
79
|
-
batch.renderInstructionsTransform
|
|
80
|
-
frameState,
|
|
81
|
-
createTransform()
|
|
82
|
-
);
|
|
74
|
+
rebuild(batch, currentTransform, geometryType, callback) {
|
|
75
|
+
// this transform is the frame of reference for the upcoming render instructions
|
|
76
|
+
setFromTransform(batch.renderInstructionsTransform, currentTransform);
|
|
83
77
|
this.generateRenderInstructions(batch);
|
|
84
78
|
this.generateBuffers_(batch, geometryType, callback);
|
|
85
79
|
}
|
|
@@ -88,24 +82,24 @@ class AbstractBatchRenderer {
|
|
|
88
82
|
* Render the geometries in the batch. This will also update the current transform used for rendering according to
|
|
89
83
|
* the invert transform of the webgl buffers
|
|
90
84
|
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
91
|
-
* @param {import("../../transform.js").Transform} currentTransform Transform
|
|
92
|
-
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
93
|
-
* @param {number} offsetX X offset
|
|
94
85
|
*/
|
|
95
|
-
render(batch
|
|
96
|
-
|
|
97
|
-
this.helper_.
|
|
98
|
-
|
|
99
|
-
multiplyTransform(currentTransform, batch.invertVerticesBufferTransform);
|
|
86
|
+
render(batch) {
|
|
87
|
+
const renderCount = batch.indicesBuffer.getSize();
|
|
88
|
+
this.helper_.drawElements(0, renderCount);
|
|
89
|
+
}
|
|
100
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Render the geometries in the batch. This will also update the current transform used for rendering according to
|
|
93
|
+
* the invert transform of the webgl buffers
|
|
94
|
+
* @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
|
|
95
|
+
* @param {import("../../Map.js").FrameState} frameState Frame state.
|
|
96
|
+
*/
|
|
97
|
+
preRender(batch, frameState) {
|
|
101
98
|
// enable program, buffers and attributes
|
|
102
99
|
this.helper_.useProgram(this.program_, frameState);
|
|
103
100
|
this.helper_.bindBuffer(batch.verticesBuffer);
|
|
104
101
|
this.helper_.bindBuffer(batch.indicesBuffer);
|
|
105
102
|
this.helper_.enableAttributes(this.attributes);
|
|
106
|
-
|
|
107
|
-
const renderCount = batch.indicesBuffer.getSize();
|
|
108
|
-
this.helper_.drawElements(0, renderCount);
|
|
109
103
|
}
|
|
110
104
|
|
|
111
105
|
/**
|
|
@@ -172,11 +166,10 @@ class AbstractBatchRenderer {
|
|
|
172
166
|
// we've received our response: stop listening
|
|
173
167
|
this.worker_.removeEventListener('message', handleMessage);
|
|
174
168
|
|
|
175
|
-
//
|
|
176
|
-
batch.verticesBufferTransform = received.renderInstructionsTransform;
|
|
169
|
+
// invert transform for webgl buffers
|
|
177
170
|
makeInverseTransform(
|
|
178
171
|
batch.invertVerticesBufferTransform,
|
|
179
|
-
|
|
172
|
+
received.renderInstructionsTransform
|
|
180
173
|
);
|
|
181
174
|
|
|
182
175
|
// copy & flush received buffers to GPU
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export default MixedGeometryBatch;
|
|
2
|
+
export type RenderFeature = import("../../render/Feature").default;
|
|
3
|
+
export type Feature = import("../../Feature").default;
|
|
4
|
+
export type GeometryType = import("../../geom/Geometry.js").Type;
|
|
2
5
|
/**
|
|
3
6
|
* Object that holds a reference to a feature as well as the raw coordinates of its various geometries
|
|
4
7
|
*/
|
|
@@ -6,7 +9,7 @@ export type GeometryBatchItem = {
|
|
|
6
9
|
/**
|
|
7
10
|
* Feature
|
|
8
11
|
*/
|
|
9
|
-
feature:
|
|
12
|
+
feature: Feature | RenderFeature;
|
|
10
13
|
/**
|
|
11
14
|
* Array of flat coordinates arrays, one for each geometry related to the feature
|
|
12
15
|
*/
|
|
@@ -57,10 +60,6 @@ export type PolygonGeometryBatch = {
|
|
|
57
60
|
* Converts world space coordinates to screen space; applies to the rendering instructions
|
|
58
61
|
*/
|
|
59
62
|
renderInstructionsTransform: import("../../transform.js").Transform;
|
|
60
|
-
/**
|
|
61
|
-
* Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
62
|
-
*/
|
|
63
|
-
verticesBufferTransform: import("../../transform.js").Transform;
|
|
64
63
|
/**
|
|
65
64
|
* Screen space to world space; applies to the webgl vertices buffer
|
|
66
65
|
*/
|
|
@@ -106,10 +105,6 @@ export type LineStringGeometryBatch = {
|
|
|
106
105
|
* Converts world space coordinates to screen space; applies to the rendering instructions
|
|
107
106
|
*/
|
|
108
107
|
renderInstructionsTransform: import("../../transform.js").Transform;
|
|
109
|
-
/**
|
|
110
|
-
* Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
111
|
-
*/
|
|
112
|
-
verticesBufferTransform: import("../../transform.js").Transform;
|
|
113
108
|
/**
|
|
114
109
|
* Screen space to world space; applies to the webgl vertices buffer
|
|
115
110
|
*/
|
|
@@ -151,18 +146,23 @@ export type PointGeometryBatch = {
|
|
|
151
146
|
* Converts world space coordinates to screen space; applies to the rendering instructions
|
|
152
147
|
*/
|
|
153
148
|
renderInstructionsTransform: import("../../transform.js").Transform;
|
|
154
|
-
/**
|
|
155
|
-
* Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
156
|
-
*/
|
|
157
|
-
verticesBufferTransform: import("../../transform.js").Transform;
|
|
158
149
|
/**
|
|
159
150
|
* Screen space to world space; applies to the webgl vertices buffer
|
|
160
151
|
*/
|
|
161
152
|
invertVerticesBufferTransform: import("../../transform.js").Transform;
|
|
162
153
|
};
|
|
154
|
+
/**
|
|
155
|
+
* @typedef {import("../../render/Feature").default} RenderFeature
|
|
156
|
+
*/
|
|
157
|
+
/**
|
|
158
|
+
* @typedef {import("../../Feature").default} Feature
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* @typedef {import("../../geom/Geometry.js").Type} GeometryType
|
|
162
|
+
*/
|
|
163
163
|
/**
|
|
164
164
|
* @typedef {Object} GeometryBatchItem Object that holds a reference to a feature as well as the raw coordinates of its various geometries
|
|
165
|
-
* @property {
|
|
165
|
+
* @property {Feature|RenderFeature} feature Feature
|
|
166
166
|
* @property {Array<Array<number>>} flatCoordss Array of flat coordinates arrays, one for each geometry related to the feature
|
|
167
167
|
* @property {number} [verticesCount] Only defined for linestring and polygon batches
|
|
168
168
|
* @property {number} [ringsCount] Only defined for polygon batches
|
|
@@ -181,7 +181,6 @@ export type PointGeometryBatch = {
|
|
|
181
181
|
* @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
|
|
182
182
|
* @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
|
|
183
183
|
* @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
|
|
184
|
-
* @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
185
184
|
* @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
|
|
186
185
|
* @property {number} verticesCount Amount of vertices from geometries in the batch.
|
|
187
186
|
* @property {number} ringsCount How many outer and inner rings in this batch.
|
|
@@ -196,7 +195,6 @@ export type PointGeometryBatch = {
|
|
|
196
195
|
* @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
|
|
197
196
|
* @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
|
|
198
197
|
* @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
|
|
199
|
-
* @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
200
198
|
* @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
|
|
201
199
|
* @property {number} verticesCount Amount of vertices from geometries in the batch.
|
|
202
200
|
*/
|
|
@@ -210,7 +208,6 @@ export type PointGeometryBatch = {
|
|
|
210
208
|
* @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
|
|
211
209
|
* @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
|
|
212
210
|
* @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
|
|
213
|
-
* @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
|
|
214
211
|
* @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
|
|
215
212
|
*/
|
|
216
213
|
/**
|
|
@@ -246,60 +243,51 @@ declare class MixedGeometryBatch {
|
|
|
246
243
|
*/
|
|
247
244
|
lineStringBatch: LineStringGeometryBatch;
|
|
248
245
|
/**
|
|
249
|
-
* @param {Array<
|
|
246
|
+
* @param {Array<Feature|RenderFeature>} features Array of features to add to the batch
|
|
250
247
|
*/
|
|
251
|
-
addFeatures(features: Array<
|
|
248
|
+
addFeatures(features: Array<Feature | RenderFeature>): void;
|
|
252
249
|
/**
|
|
253
|
-
* @param {
|
|
250
|
+
* @param {Feature|RenderFeature} feature Feature to add to the batch
|
|
254
251
|
*/
|
|
255
|
-
addFeature(feature:
|
|
252
|
+
addFeature(feature: Feature | RenderFeature): void;
|
|
256
253
|
/**
|
|
257
|
-
* @param {
|
|
258
|
-
* @return {GeometryBatchItem} Batch item added (or existing one)
|
|
259
|
-
* @private
|
|
260
|
-
*/
|
|
261
|
-
private addFeatureEntryInPointBatch_;
|
|
262
|
-
/**
|
|
263
|
-
* @param {import("../../Feature").default} feature Feature
|
|
264
|
-
* @return {GeometryBatchItem} Batch item added (or existing one)
|
|
265
|
-
* @private
|
|
266
|
-
*/
|
|
267
|
-
private addFeatureEntryInLineStringBatch_;
|
|
268
|
-
/**
|
|
269
|
-
* @param {import("../../Feature").default} feature Feature
|
|
270
|
-
* @return {GeometryBatchItem} Batch item added (or existing one)
|
|
271
|
-
* @private
|
|
272
|
-
*/
|
|
273
|
-
private addFeatureEntryInPolygonBatch_;
|
|
274
|
-
/**
|
|
275
|
-
* @param {import("../../Feature").default} feature Feature
|
|
254
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
276
255
|
* @private
|
|
277
256
|
*/
|
|
278
257
|
private clearFeatureEntryInPointBatch_;
|
|
279
258
|
/**
|
|
280
|
-
* @param {
|
|
259
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
281
260
|
* @private
|
|
282
261
|
*/
|
|
283
262
|
private clearFeatureEntryInLineStringBatch_;
|
|
284
263
|
/**
|
|
285
|
-
* @param {
|
|
264
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
286
265
|
* @private
|
|
287
266
|
*/
|
|
288
267
|
private clearFeatureEntryInPolygonBatch_;
|
|
289
268
|
/**
|
|
290
|
-
* @param {import("../../geom").Geometry} geometry Geometry
|
|
291
|
-
* @param {
|
|
269
|
+
* @param {import("../../geom").Geometry|RenderFeature} geometry Geometry
|
|
270
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
292
271
|
* @private
|
|
293
272
|
*/
|
|
294
273
|
private addGeometry_;
|
|
295
274
|
/**
|
|
296
|
-
* @param {
|
|
275
|
+
* @param {GeometryType} type Geometry type
|
|
276
|
+
* @param {Array<number>} flatCoords Flat coordinates
|
|
277
|
+
* @param {Array<number> | Array<Array<number>> | null} ends Coordinate ends
|
|
278
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
279
|
+
* @param {string} featureUid Feature uid
|
|
280
|
+
* @private
|
|
281
|
+
*/
|
|
282
|
+
private addCoordinates_;
|
|
283
|
+
/**
|
|
284
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
297
285
|
*/
|
|
298
|
-
changeFeature(feature:
|
|
286
|
+
changeFeature(feature: Feature | RenderFeature): void;
|
|
299
287
|
/**
|
|
300
|
-
* @param {
|
|
288
|
+
* @param {Feature|RenderFeature} feature Feature
|
|
301
289
|
*/
|
|
302
|
-
removeFeature(feature:
|
|
290
|
+
removeFeature(feature: Feature | RenderFeature): void;
|
|
303
291
|
clear(): void;
|
|
304
292
|
}
|
|
305
293
|
import WebGLArrayBuffer from '../../webgl/Buffer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MixedGeometryBatch.d.ts","sourceRoot":"","sources":["MixedGeometryBatch.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MixedGeometryBatch.d.ts","sourceRoot":"","sources":["MixedGeometryBatch.js"],"names":[],"mappings":";4BAUa,OAAO,sBAAsB,EAAE,OAAO;sBAGtC,OAAO,eAAe,EAAE,OAAO;2BAG/B,OAAO,wBAAwB,EAAE,IAAI;;;;;;;;aAKpC,OAAO,GAAC,aAAa;;;;iBACrB,MAAM,MAAM,MAAM,CAAC,CAAC;;;;;;;;;;;;;;4BAOrB,kBAAkB,GAAC,uBAAuB,GAAC,oBAAoB;;;;;;;;;;YAKvD,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;gBACN,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;AA9DpD;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAEI;;OAEG;IACH,cAFU,oBAAoB,CAY7B;IAED;;OAEG;IACH,YAFU,kBAAkB,CAU3B;IAED;;OAEG;IACH,iBAFU,uBAAuB,CAWhC;IAGH;;OAEG;IACH,sBAFW,MAAM,OAAO,GAAC,aAAa,CAAC,QAMtC;IAED;;OAEG;IACH,oBAFW,OAAO,GAAC,aAAa,QAQ/B;IAED;;;OAGG;IACH,uCAOC;IAED;;;OAGG;IACH,4CAQC;IAED;;;OAGG;IACH,yCASC;IAED;;;;OAIG;IACH,qBAwFC;IAED;;;;;;;OAOG;IACH,wBA6IC;IAED;;OAEG;IACH,uBAFW,OAAO,GAAC,aAAa,QAW/B;IAED;;OAEG;IACH,uBAFW,OAAO,GAAC,aAAa,QAM/B;IAED,cAUC;CACF;6BA7d4B,uBAAuB"}
|