ol 7.1.1-pr.14101.2 → 7.2.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/AssertionError.d.ts.map +1 -1
- package/AssertionError.js +1 -0
- package/DataTile.d.ts +34 -11
- package/DataTile.d.ts.map +1 -1
- package/DataTile.js +84 -7
- package/Feature.d.ts +3 -3
- package/Feature.js +3 -3
- package/Geolocation.d.ts +34 -27
- package/Geolocation.d.ts.map +1 -1
- package/Geolocation.js +30 -12
- package/Map.d.ts +19 -6
- package/Map.d.ts.map +1 -1
- package/Map.js +70 -43
- package/MapBrowserEventHandler.d.ts.map +1 -1
- package/MapBrowserEventHandler.js +9 -13
- package/Overlay.d.ts +1 -1
- package/Overlay.js +1 -1
- package/README.md +9 -1
- package/Tile.d.ts +2 -2
- package/Tile.js +1 -1
- package/TileCache.d.ts.map +1 -1
- package/TileCache.js +6 -8
- package/array.d.ts +2 -2
- package/array.d.ts.map +1 -1
- package/array.js +4 -4
- package/console.d.ts +13 -0
- package/console.d.ts.map +1 -0
- package/console.js +54 -0
- package/control/MousePosition.d.ts +12 -0
- package/control/MousePosition.d.ts.map +1 -1
- package/control/MousePosition.js +14 -0
- package/coordinate.d.ts +11 -11
- package/coordinate.js +11 -11
- package/dist/ol.js +1 -3
- package/dist/ol.js.map +1 -1
- package/featureloader.d.ts.map +1 -1
- package/featureloader.js +0 -1
- package/format/KML.js +3 -1
- package/geom/flat/interiorpoint.js +2 -2
- package/interaction/DragPan.d.ts.map +1 -1
- package/interaction/DragPan.js +3 -2
- package/interaction/Draw.d.ts.map +1 -1
- package/interaction/Draw.js +11 -14
- package/interaction/KeyboardPan.d.ts.map +1 -1
- package/interaction/KeyboardPan.js +0 -1
- package/interaction/KeyboardZoom.d.ts.map +1 -1
- package/interaction/KeyboardZoom.js +0 -1
- package/interaction/Link.d.ts +14 -0
- package/interaction/Link.d.ts.map +1 -1
- package/interaction/Link.js +37 -6
- package/interaction/Modify.d.ts +10 -10
- package/interaction/Modify.d.ts.map +1 -1
- package/interaction/Modify.js +15 -15
- package/interaction/PinchRotate.d.ts.map +1 -1
- package/interaction/PinchRotate.js +3 -5
- package/interaction/PinchZoom.d.ts.map +1 -1
- package/interaction/PinchZoom.js +3 -5
- package/interaction/Pointer.d.ts +5 -2
- package/interaction/Pointer.d.ts.map +1 -1
- package/interaction/Pointer.js +2 -2
- package/interaction/Select.d.ts.map +1 -1
- package/interaction/Select.js +4 -5
- package/interaction/Snap.d.ts +1 -1
- package/interaction/Snap.d.ts.map +1 -1
- package/interaction/Snap.js +17 -23
- package/interaction/Translate.d.ts +12 -11
- package/interaction/Translate.d.ts.map +1 -1
- package/interaction/Translate.js +16 -13
- package/layer/BaseVector.js +1 -1
- package/layer/Graticule.d.ts.map +1 -1
- package/layer/Graticule.js +4 -4
- package/layer/Heatmap.js +10 -10
- package/layer/Layer.d.ts +2 -2
- package/layer/Layer.d.ts.map +1 -1
- package/layer/Layer.js +2 -2
- package/layer/VectorTile.js +1 -1
- package/package.json +2 -2
- package/proj.d.ts +2 -4
- package/proj.d.ts.map +1 -1
- package/proj.js +4 -6
- package/render/canvas/ExecutorGroup.d.ts.map +1 -1
- package/render/canvas/ExecutorGroup.js +6 -4
- package/render/canvas/Immediate.d.ts +5 -0
- package/render/canvas/Immediate.d.ts.map +1 -1
- package/render/canvas/Immediate.js +15 -0
- package/render/canvas/hitdetect.d.ts +4 -3
- package/render/canvas/hitdetect.d.ts.map +1 -1
- package/render/canvas/hitdetect.js +23 -11
- package/render/webgl/BatchRenderer.d.ts.map +1 -1
- package/render/webgl/BatchRenderer.js +2 -3
- package/render/webgl/LineStringBatchRenderer.d.ts.map +1 -1
- package/render/webgl/LineStringBatchRenderer.js +2 -4
- package/render/webgl/PointBatchRenderer.d.ts.map +1 -1
- package/render/webgl/PointBatchRenderer.js +2 -4
- package/render/webgl/PolygonBatchRenderer.d.ts.map +1 -1
- package/render/webgl/PolygonBatchRenderer.js +2 -4
- package/render.d.ts +3 -3
- package/render.d.ts.map +1 -1
- package/render.js +6 -4
- package/renderer/Layer.d.ts +2 -2
- package/renderer/Layer.d.ts.map +1 -1
- package/renderer/Layer.js +3 -4
- package/renderer/canvas/Layer.d.ts.map +1 -1
- package/renderer/canvas/Layer.js +3 -4
- package/renderer/canvas/TileLayer.js +2 -2
- package/renderer/canvas/VectorImageLayer.d.ts +6 -0
- package/renderer/canvas/VectorImageLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorImageLayer.js +22 -25
- package/renderer/canvas/VectorLayer.d.ts +9 -2
- package/renderer/canvas/VectorLayer.d.ts.map +1 -1
- package/renderer/canvas/VectorLayer.js +87 -93
- package/renderer/canvas/VectorTileLayer.js +84 -84
- package/renderer/webgl/PointsLayer.d.ts.map +1 -1
- package/renderer/webgl/PointsLayer.js +10 -13
- package/renderer/webgl/TileLayer.d.ts.map +1 -1
- package/renderer/webgl/TileLayer.js +2 -4
- package/reproj/DataTile.d.ts +75 -17
- package/reproj/DataTile.d.ts.map +1 -1
- package/reproj/DataTile.js +121 -120
- package/reproj/Tile.d.ts +3 -3
- package/reproj/Tile.d.ts.map +1 -1
- package/reproj/Tile.js +37 -41
- package/reproj/Triangulation.d.ts.map +1 -1
- package/reproj/Triangulation.js +42 -44
- package/source/BingMaps.d.ts.map +1 -1
- package/source/BingMaps.js +33 -38
- package/source/DataTile.d.ts +5 -3
- package/source/DataTile.d.ts.map +1 -1
- package/source/DataTile.js +24 -20
- package/source/GeoTIFF.d.ts +10 -7
- package/source/GeoTIFF.d.ts.map +1 -1
- package/source/GeoTIFF.js +49 -20
- package/source/Image.d.ts +8 -0
- package/source/Image.d.ts.map +1 -1
- package/source/Image.js +13 -11
- package/source/OGCMapTile.d.ts +1 -0
- package/source/OGCMapTile.d.ts.map +1 -1
- package/source/OGCMapTile.js +3 -1
- package/source/OGCVectorTile.d.ts +1 -0
- package/source/OGCVectorTile.d.ts.map +1 -1
- package/source/OGCVectorTile.js +3 -1
- package/source/Raster.d.ts +16 -0
- package/source/Raster.d.ts.map +1 -1
- package/source/Raster.js +47 -7
- package/source/Source.d.ts +2 -2
- package/source/Source.d.ts.map +1 -1
- package/source/Source.js +3 -4
- package/source/Stamen.js +2 -2
- package/source/Tile.d.ts.map +1 -1
- package/source/Tile.js +7 -3
- package/source/TileImage.d.ts +2 -2
- package/source/TileImage.d.ts.map +1 -1
- package/source/TileImage.js +3 -4
- package/source/UTFGrid.d.ts.map +1 -1
- package/source/UTFGrid.js +3 -6
- package/source/Vector.d.ts +6 -6
- package/source/Vector.js +13 -13
- package/source/VectorTile.d.ts.map +1 -1
- package/source/VectorTile.js +5 -9
- package/source/Zoomify.d.ts.map +1 -1
- package/source/Zoomify.js +4 -7
- package/style/Icon.d.ts +51 -0
- package/style/Icon.d.ts.map +1 -1
- package/style/Icon.js +119 -0
- package/style/IconImage.d.ts.map +1 -1
- package/style/IconImage.js +3 -1
- package/style/Image.d.ts.map +1 -1
- package/style/Image.js +1 -0
- package/style/Style.d.ts +2 -2
- package/style/Style.js +2 -2
- package/style/expressions.js +5 -10
- package/tilegrid/TileGrid.d.ts.map +1 -1
- package/tilegrid/TileGrid.js +7 -12
- package/util.d.ts.map +1 -1
- package/util.js +1 -1
- package/webgl/Helper.d.ts +4 -0
- package/webgl/Helper.d.ts.map +1 -1
- package/webgl/Helper.js +78 -79
- package/webgl/PostProcessingPass.d.ts +2 -2
- package/webgl/PostProcessingPass.d.ts.map +1 -1
- package/webgl/PostProcessingPass.js +7 -9
- package/webgl/ShaderBuilder.d.ts +1 -1
- package/webgl/ShaderBuilder.js +1 -1
- package/webgl/TileTexture.d.ts +19 -2
- package/webgl/TileTexture.d.ts.map +1 -1
- package/webgl/TileTexture.js +93 -46
- package/worker/webgl.js +1 -1
- package/layer/STAC.d.ts +0 -257
- package/layer/STAC.d.ts.map +0 -1
- package/layer/STAC.js +0 -312
|
@@ -63,7 +63,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
63
63
|
this.animatingOrInteracting_;
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
* @type {ImageData}
|
|
66
|
+
* @type {ImageData|null}
|
|
67
67
|
*/
|
|
68
68
|
this.hitDetectionImageData_ = null;
|
|
69
69
|
|
|
@@ -334,100 +334,95 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
334
334
|
/**
|
|
335
335
|
* Asynchronous layer level hit detection.
|
|
336
336
|
* @param {import("../../pixel.js").Pixel} pixel Pixel.
|
|
337
|
-
* @return {Promise<Array<import("../../Feature").default>>} Promise
|
|
337
|
+
* @return {Promise<Array<import("../../Feature").default>>} Promise
|
|
338
|
+
* that resolves with an array of features.
|
|
338
339
|
*/
|
|
339
340
|
getFeatures(pixel) {
|
|
340
|
-
return new Promise(
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
const width = size[0] * HIT_DETECT_RESOLUTION;
|
|
357
|
-
const height = size[1] * HIT_DETECT_RESOLUTION;
|
|
358
|
-
transforms.push(
|
|
359
|
-
this.getRenderTransform(
|
|
360
|
-
center,
|
|
361
|
-
resolution,
|
|
362
|
-
rotation,
|
|
363
|
-
HIT_DETECT_RESOLUTION,
|
|
364
|
-
width,
|
|
365
|
-
height,
|
|
366
|
-
0
|
|
367
|
-
).slice()
|
|
368
|
-
);
|
|
369
|
-
const source = layer.getSource();
|
|
370
|
-
const projectionExtent = projection.getExtent();
|
|
371
|
-
if (
|
|
372
|
-
source.getWrapX() &&
|
|
373
|
-
projection.canWrapX() &&
|
|
374
|
-
!containsExtent(projectionExtent, extent)
|
|
375
|
-
) {
|
|
376
|
-
let startX = extent[0];
|
|
377
|
-
const worldWidth = getWidth(projectionExtent);
|
|
378
|
-
let world = 0;
|
|
379
|
-
let offsetX;
|
|
380
|
-
while (startX < projectionExtent[0]) {
|
|
381
|
-
--world;
|
|
382
|
-
offsetX = worldWidth * world;
|
|
383
|
-
transforms.push(
|
|
384
|
-
this.getRenderTransform(
|
|
385
|
-
center,
|
|
386
|
-
resolution,
|
|
387
|
-
rotation,
|
|
388
|
-
HIT_DETECT_RESOLUTION,
|
|
389
|
-
width,
|
|
390
|
-
height,
|
|
391
|
-
offsetX
|
|
392
|
-
).slice()
|
|
393
|
-
);
|
|
394
|
-
startX += worldWidth;
|
|
395
|
-
}
|
|
396
|
-
world = 0;
|
|
397
|
-
startX = extent[2];
|
|
398
|
-
while (startX > projectionExtent[2]) {
|
|
399
|
-
++world;
|
|
400
|
-
offsetX = worldWidth * world;
|
|
401
|
-
transforms.push(
|
|
402
|
-
this.getRenderTransform(
|
|
403
|
-
center,
|
|
404
|
-
resolution,
|
|
405
|
-
rotation,
|
|
406
|
-
HIT_DETECT_RESOLUTION,
|
|
407
|
-
width,
|
|
408
|
-
height,
|
|
409
|
-
offsetX
|
|
410
|
-
).slice()
|
|
411
|
-
);
|
|
412
|
-
startX -= worldWidth;
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
this.hitDetectionImageData_ = createHitDetectionImageData(
|
|
417
|
-
size,
|
|
418
|
-
transforms,
|
|
419
|
-
this.renderedFeatures_,
|
|
420
|
-
layer.getStyleFunction(),
|
|
421
|
-
extent,
|
|
341
|
+
return new Promise((resolve) => {
|
|
342
|
+
if (!this.hitDetectionImageData_ && !this.animatingOrInteracting_) {
|
|
343
|
+
const size = [this.context.canvas.width, this.context.canvas.height];
|
|
344
|
+
apply(this.pixelTransform, size);
|
|
345
|
+
const center = this.renderedCenter_;
|
|
346
|
+
const resolution = this.renderedResolution_;
|
|
347
|
+
const rotation = this.renderedRotation_;
|
|
348
|
+
const projection = this.renderedProjection_;
|
|
349
|
+
const extent = this.wrappedRenderedExtent_;
|
|
350
|
+
const layer = this.getLayer();
|
|
351
|
+
const transforms = [];
|
|
352
|
+
const width = size[0] * HIT_DETECT_RESOLUTION;
|
|
353
|
+
const height = size[1] * HIT_DETECT_RESOLUTION;
|
|
354
|
+
transforms.push(
|
|
355
|
+
this.getRenderTransform(
|
|
356
|
+
center,
|
|
422
357
|
resolution,
|
|
423
|
-
rotation
|
|
424
|
-
|
|
358
|
+
rotation,
|
|
359
|
+
HIT_DETECT_RESOLUTION,
|
|
360
|
+
width,
|
|
361
|
+
height,
|
|
362
|
+
0
|
|
363
|
+
).slice()
|
|
364
|
+
);
|
|
365
|
+
const source = layer.getSource();
|
|
366
|
+
const projectionExtent = projection.getExtent();
|
|
367
|
+
if (
|
|
368
|
+
source.getWrapX() &&
|
|
369
|
+
projection.canWrapX() &&
|
|
370
|
+
!containsExtent(projectionExtent, extent)
|
|
371
|
+
) {
|
|
372
|
+
let startX = extent[0];
|
|
373
|
+
const worldWidth = getWidth(projectionExtent);
|
|
374
|
+
let world = 0;
|
|
375
|
+
let offsetX;
|
|
376
|
+
while (startX < projectionExtent[0]) {
|
|
377
|
+
--world;
|
|
378
|
+
offsetX = worldWidth * world;
|
|
379
|
+
transforms.push(
|
|
380
|
+
this.getRenderTransform(
|
|
381
|
+
center,
|
|
382
|
+
resolution,
|
|
383
|
+
rotation,
|
|
384
|
+
HIT_DETECT_RESOLUTION,
|
|
385
|
+
width,
|
|
386
|
+
height,
|
|
387
|
+
offsetX
|
|
388
|
+
).slice()
|
|
389
|
+
);
|
|
390
|
+
startX += worldWidth;
|
|
391
|
+
}
|
|
392
|
+
world = 0;
|
|
393
|
+
startX = extent[2];
|
|
394
|
+
while (startX > projectionExtent[2]) {
|
|
395
|
+
++world;
|
|
396
|
+
offsetX = worldWidth * world;
|
|
397
|
+
transforms.push(
|
|
398
|
+
this.getRenderTransform(
|
|
399
|
+
center,
|
|
400
|
+
resolution,
|
|
401
|
+
rotation,
|
|
402
|
+
HIT_DETECT_RESOLUTION,
|
|
403
|
+
width,
|
|
404
|
+
height,
|
|
405
|
+
offsetX
|
|
406
|
+
).slice()
|
|
407
|
+
);
|
|
408
|
+
startX -= worldWidth;
|
|
409
|
+
}
|
|
425
410
|
}
|
|
426
|
-
|
|
427
|
-
|
|
411
|
+
|
|
412
|
+
this.hitDetectionImageData_ = createHitDetectionImageData(
|
|
413
|
+
size,
|
|
414
|
+
transforms,
|
|
415
|
+
this.renderedFeatures_,
|
|
416
|
+
layer.getStyleFunction(),
|
|
417
|
+
extent,
|
|
418
|
+
resolution,
|
|
419
|
+
rotation
|
|
428
420
|
);
|
|
429
|
-
}
|
|
430
|
-
|
|
421
|
+
}
|
|
422
|
+
resolve(
|
|
423
|
+
hitDetect(pixel, this.renderedFeatures_, this.hitDetectionImageData_)
|
|
424
|
+
);
|
|
425
|
+
});
|
|
431
426
|
}
|
|
432
427
|
|
|
433
428
|
/**
|
|
@@ -679,9 +674,8 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
679
674
|
const render =
|
|
680
675
|
/**
|
|
681
676
|
* @param {import("../../Feature.js").default} feature Feature.
|
|
682
|
-
* @this {CanvasVectorLayerRenderer}
|
|
683
677
|
*/
|
|
684
|
-
|
|
678
|
+
(feature) => {
|
|
685
679
|
let styles;
|
|
686
680
|
const styleFunction =
|
|
687
681
|
feature.getStyleFunction() || vectorLayer.getStyleFunction();
|
|
@@ -699,7 +693,7 @@ class CanvasVectorLayerRenderer extends CanvasLayerRenderer {
|
|
|
699
693
|
);
|
|
700
694
|
ready = ready && !dirty;
|
|
701
695
|
}
|
|
702
|
-
}
|
|
696
|
+
};
|
|
703
697
|
|
|
704
698
|
const userExtent = toUserExtent(extent, projection);
|
|
705
699
|
/** @type {Array<import("../../Feature.js").default>} */
|
|
@@ -434,97 +434,97 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
|
|
|
434
434
|
/**
|
|
435
435
|
* Asynchronous layer level hit detection.
|
|
436
436
|
* @param {import("../../pixel.js").Pixel} pixel Pixel.
|
|
437
|
-
* @return {Promise<Array<import("../../Feature").
|
|
437
|
+
* @return {Promise<Array<import("../../Feature.js").FeatureLike>>} Promise that resolves with an array of features.
|
|
438
438
|
*/
|
|
439
439
|
getFeatures(pixel) {
|
|
440
|
-
return new Promise(
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
440
|
+
return new Promise((resolve, reject) => {
|
|
441
|
+
const layer = this.getLayer();
|
|
442
|
+
const layerUid = getUid(layer);
|
|
443
|
+
const source = layer.getSource();
|
|
444
|
+
const projection = this.renderedProjection;
|
|
445
|
+
const projectionExtent = projection.getExtent();
|
|
446
|
+
const resolution = this.renderedResolution;
|
|
447
|
+
const tileGrid = source.getTileGridForProjection(projection);
|
|
448
|
+
const coordinate = applyTransform(
|
|
449
|
+
this.renderedPixelToCoordinateTransform_,
|
|
450
|
+
pixel.slice()
|
|
451
|
+
);
|
|
452
|
+
const tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
|
453
|
+
coordinate,
|
|
454
|
+
resolution
|
|
455
|
+
);
|
|
456
|
+
/** @type {import("../../VectorRenderTile.js").default|undefined} */
|
|
457
|
+
let tile;
|
|
458
|
+
for (let i = 0, ii = this.renderedTiles.length; i < ii; ++i) {
|
|
459
|
+
if (
|
|
460
|
+
tileCoord.toString() === this.renderedTiles[i].tileCoord.toString()
|
|
461
|
+
) {
|
|
462
|
+
tile = /** @type {import("../../VectorRenderTile.js").default} */ (
|
|
463
|
+
this.renderedTiles[i]
|
|
445
464
|
);
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
pixel.slice()
|
|
455
|
-
);
|
|
456
|
-
const tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
|
457
|
-
coordinate,
|
|
458
|
-
resolution
|
|
459
|
-
);
|
|
460
|
-
let tile;
|
|
461
|
-
for (let i = 0, ii = this.renderedTiles.length; i < ii; ++i) {
|
|
462
|
-
if (
|
|
463
|
-
tileCoord.toString() === this.renderedTiles[i].tileCoord.toString()
|
|
464
|
-
) {
|
|
465
|
-
tile = this.renderedTiles[i];
|
|
466
|
-
if (tile.getState() === TileState.LOADED) {
|
|
467
|
-
const extent = tileGrid.getTileCoordExtent(tile.tileCoord);
|
|
468
|
-
if (
|
|
469
|
-
source.getWrapX() &&
|
|
470
|
-
projection.canWrapX() &&
|
|
471
|
-
!containsExtent(projectionExtent, extent)
|
|
472
|
-
) {
|
|
473
|
-
wrapX(coordinate, projection);
|
|
474
|
-
}
|
|
475
|
-
break;
|
|
465
|
+
if (tile.getState() === TileState.LOADED) {
|
|
466
|
+
const extent = tileGrid.getTileCoordExtent(tile.tileCoord);
|
|
467
|
+
if (
|
|
468
|
+
source.getWrapX() &&
|
|
469
|
+
projection.canWrapX() &&
|
|
470
|
+
!containsExtent(projectionExtent, extent)
|
|
471
|
+
) {
|
|
472
|
+
wrapX(coordinate, projection);
|
|
476
473
|
}
|
|
477
|
-
|
|
474
|
+
break;
|
|
478
475
|
}
|
|
476
|
+
tile = undefined;
|
|
479
477
|
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
478
|
+
}
|
|
479
|
+
if (!tile || tile.loadingSourceTiles > 0) {
|
|
480
|
+
resolve([]);
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
const extent = tileGrid.getTileCoordExtent(tile.wrappedTileCoord);
|
|
484
|
+
const corner = getTopLeft(extent);
|
|
485
|
+
const tilePixel = [
|
|
486
|
+
(coordinate[0] - corner[0]) / resolution,
|
|
487
|
+
(corner[1] - coordinate[1]) / resolution,
|
|
488
|
+
];
|
|
489
|
+
/** @type {Array<import("../../Feature.js").FeatureLike>} */
|
|
490
|
+
const features = tile
|
|
491
|
+
.getSourceTiles()
|
|
492
|
+
.reduce(function (accumulator, sourceTile) {
|
|
493
|
+
return accumulator.concat(sourceTile.getFeatures());
|
|
494
|
+
}, []);
|
|
495
|
+
/** @type {ImageData|undefined} */
|
|
496
|
+
let hitDetectionImageData = tile.hitDetectionImageData[layerUid];
|
|
497
|
+
if (!hitDetectionImageData) {
|
|
498
|
+
const tileSize = toSize(
|
|
499
|
+
tileGrid.getTileSize(
|
|
500
|
+
tileGrid.getZForResolution(resolution, source.zDirection)
|
|
501
|
+
)
|
|
502
|
+
);
|
|
503
|
+
const rotation = this.renderedRotation_;
|
|
504
|
+
const transforms = [
|
|
505
|
+
this.getRenderTransform(
|
|
506
|
+
tileGrid.getTileCoordCenter(tile.wrappedTileCoord),
|
|
507
|
+
resolution,
|
|
508
|
+
0,
|
|
509
|
+
HIT_DETECT_RESOLUTION,
|
|
510
|
+
tileSize[0] * HIT_DETECT_RESOLUTION,
|
|
511
|
+
tileSize[1] * HIT_DETECT_RESOLUTION,
|
|
512
|
+
0
|
|
513
|
+
),
|
|
489
514
|
];
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
const transforms = [
|
|
504
|
-
this.getRenderTransform(
|
|
505
|
-
tileGrid.getTileCoordCenter(tile.wrappedTileCoord),
|
|
506
|
-
resolution,
|
|
507
|
-
0,
|
|
508
|
-
HIT_DETECT_RESOLUTION,
|
|
509
|
-
tileSize[0] * HIT_DETECT_RESOLUTION,
|
|
510
|
-
tileSize[1] * HIT_DETECT_RESOLUTION,
|
|
511
|
-
0
|
|
512
|
-
),
|
|
513
|
-
];
|
|
514
|
-
hitDetectionImageData = createHitDetectionImageData(
|
|
515
|
-
tileSize,
|
|
516
|
-
transforms,
|
|
517
|
-
features,
|
|
518
|
-
layer.getStyleFunction(),
|
|
519
|
-
tileGrid.getTileCoordExtent(tile.wrappedTileCoord),
|
|
520
|
-
tile.getReplayState(layer).renderedResolution,
|
|
521
|
-
rotation
|
|
522
|
-
);
|
|
523
|
-
tile.hitDetectionImageData[layerUid] = hitDetectionImageData;
|
|
524
|
-
}
|
|
525
|
-
resolve(hitDetect(tilePixel, features, hitDetectionImageData));
|
|
526
|
-
}.bind(this)
|
|
527
|
-
);
|
|
515
|
+
hitDetectionImageData = createHitDetectionImageData(
|
|
516
|
+
tileSize,
|
|
517
|
+
transforms,
|
|
518
|
+
features,
|
|
519
|
+
layer.getStyleFunction(),
|
|
520
|
+
tileGrid.getTileCoordExtent(tile.wrappedTileCoord),
|
|
521
|
+
tile.getReplayState(layer).renderedResolution,
|
|
522
|
+
rotation
|
|
523
|
+
);
|
|
524
|
+
tile.hitDetectionImageData[layerUid] = hitDetectionImageData;
|
|
525
|
+
}
|
|
526
|
+
resolve(hitDetect(tilePixel, features, hitDetectionImageData));
|
|
527
|
+
});
|
|
528
528
|
}
|
|
529
529
|
|
|
530
530
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointsLayer.d.ts","sourceRoot":"","sources":["PointsLayer.js"],"names":[],"mappings":";;;;;;;;;UA6Bc,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,OAAO;YAAS,MAAM;UAAM,MAAM;;;;;;;;;;aAOnE,OAAO,eAAe,EAAE,OAAO;;;;;YACxB,MAAM;;;;;cACb,OAAO,YAAY,EAAE,QAAQ;;;;;;;;;;;;;;;;;;kBAW7B,MAAM;;;;oBACN,MAAM;;;;;;;;;;;;;;;;;;;;;AAzBpB;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH;IACE;;;OAGG;IACH,mBAHW,OAAO,sBAAsB,EAAE,OAAO,WACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"PointsLayer.d.ts","sourceRoot":"","sources":["PointsLayer.js"],"names":[],"mappings":";;;;;;;;;UA6Bc,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,OAAO;YAAS,MAAM;UAAM,MAAM;;;;;;;;;;aAOnE,OAAO,eAAe,EAAE,OAAO;;;;;YACxB,MAAM;;;;;cACb,OAAO,YAAY,EAAE,QAAQ;;;;;;;;;;;;;;;;;;kBAW7B,MAAM;;;;oBACN,MAAM;;;;;;;;;;;;;;;;;;;;;AAzBpB;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH;IACE;;;OAGG;IACH,mBAHW,OAAO,sBAAsB,EAAE,OAAO,WACtC,OAAO,EAyQjB;IA3PC,wBAAyB;IAEzB,kCAAuE;IACvE,qCAA0E;IAC1E,iCAGC;IAED;;OAEG;IACH,sBAAyC;IAEzC;;OAEG;IACH,wBAA6C;IAE7C;;;OAGG;IACH,iBAAa;IAEb;;;OAGG;IACH,6BACqE;IAErE;;OAEG;IACH,yBAA+C;IAE/C;;OAEG;IACH,2BAAmD;IAEnD;;;OAGG;IACH,oBAAgB;IAYhB;;;;OAIG;IACH,YAFU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAa3C;IAE1B;;;OAGG;IACH,wBAFU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAuB3C;IAE1B,oCAAoE;IAEpE,kDAAoC;IAEpC;;;;;;OAMG;IACH,0BAAkD;IAElD;;;;OAIG;IACH,yBAAyC;IAEzC;;;OAGG;IACH,+BAA+C;IAE/C;;;OAGG;IACH,4BAA8C;IAE9C;;;;OAIG;IACH,+BAAiD;IAEjD;;;OAGG;IACH,yBAAqB;IAErB;;;;OAIG;IACH,4BAA4B;IAE5B;;OAEG;IACH,gBAAkC;IA4ClC;;;;OAIG;IACH,sBAAuB;IAEvB;;;;OAIG;IACH,sBAAsB;IAGtB,yDAyBC;IA2BH;;;OAGG;IACH,kCAQC;IAED;;;OAGG;IACH,oCAOC;IAED;;;OAGG;IACH,mCAIC;IAED;;OAEG;IACH,kCAGC;IAED;;;;OAIG;IACH,wBAHW,OAAO,cAAc,EAAE,UAAU,GAChC,WAAW,CAmDtB;IA6CD;;;;OAIG;IACH,wBA8GC;IA0CD;;;;;;OAMG;IACH,+BALW,OAAO,cAAc,EAAE,UAAU,cACjC,MAAM,YACN,MAAM,cACN,MAAM,QAmChB;CAcF"}
|
|
@@ -301,9 +301,8 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|
|
301
301
|
'message',
|
|
302
302
|
/**
|
|
303
303
|
* @param {*} event Event.
|
|
304
|
-
* @this {WebGLPointsLayerRenderer}
|
|
305
304
|
*/
|
|
306
|
-
|
|
305
|
+
(event) => {
|
|
307
306
|
const received = event.data;
|
|
308
307
|
if (received.type === WebGLWorkerMessageType.GENERATE_POINT_BUFFERS) {
|
|
309
308
|
const projectionTransform = received.projectionTransform;
|
|
@@ -337,7 +336,7 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|
|
337
336
|
|
|
338
337
|
this.getLayer().changed();
|
|
339
338
|
}
|
|
340
|
-
}
|
|
339
|
+
}
|
|
341
340
|
);
|
|
342
341
|
|
|
343
342
|
/**
|
|
@@ -381,16 +380,14 @@ class WebGLPointsLayerRenderer extends WebGLLayerRenderer {
|
|
|
381
380
|
this
|
|
382
381
|
),
|
|
383
382
|
];
|
|
384
|
-
source.forEachFeature(
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
}.bind(this)
|
|
393
|
-
);
|
|
383
|
+
source.forEachFeature((feature) => {
|
|
384
|
+
this.featureCache_[getUid(feature)] = {
|
|
385
|
+
feature: feature,
|
|
386
|
+
properties: feature.getProperties(),
|
|
387
|
+
geometry: feature.getGeometry(),
|
|
388
|
+
};
|
|
389
|
+
this.featureCount_++;
|
|
390
|
+
});
|
|
394
391
|
}
|
|
395
392
|
|
|
396
393
|
afterHelperCreated() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;kBAmIc,MAAM;;;;oBACN,MAAM;;;;;;;;;;;;;;;;;wBAQP,OAAO,0BAA0B,EAAE,OAAO;AAXvD;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH;IACE;;;OAGG;IACH,uBAHW,SAAS,WACT,OAAO,EAyGjB;IAlGC;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;;OAIG;IACH,uBAAuC;IAEvC;;;OAGG;IACH,kBAA6B;IAE7B;;;OAGG;IACH,uBAA+C;IAE/C;;;OAGG;IACH,uBAA8C;IAE9C;;;OAGG;IACH,kBAAuB;IAEvB;;;OAGG;IACH,iBAAa;IAEb;;OAEG;IACH,sBAAyC;IAEzC;;OAEG;IACH,wBAA6C;IAE7C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAuE;IAKvE;;;OAGG;IACH,0BAAgD;IAEhD;;;OAGG;IACH,yBAAqD;IAErD;;;OAGG;IACH,oBAAuB;IAEvB;;;OAGG;IACH,oBAA4B;IAG9B;;OAEG;IACH,eAFW,OAAO,QAgBjB;IAWD;;;;OAIG;IACH,wBASC;IA2BD;;;;;;OAMG;IACH,yBANW,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM;YACC,MAAM,GAAE,MAAM,WAAW,CAAC;gBACjC,MAAM,QAwGhB;IAED;;;;OAIG;IACH,wBAHW,OAAO,cAAc,EAAE,UAAU,GAChC,WAAW,
|
|
1
|
+
{"version":3,"file":"TileLayer.d.ts","sourceRoot":"","sources":["TileLayer.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;kBAmIc,MAAM;;;;oBACN,MAAM;;;;;;;;;;;;;;;;;wBAQP,OAAO,0BAA0B,EAAE,OAAO;AAXvD;;;;;;;;GAQG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH;IACE;;;OAGG;IACH,uBAHW,SAAS,WACT,OAAO,EAyGjB;IAlGC;;;OAGG;IACH,gBAFU,OAAO,CAEU;IAE3B;;;;OAIG;IACH,uBAAuC;IAEvC;;;OAGG;IACH,kBAA6B;IAE7B;;;OAGG;IACH,uBAA+C;IAE/C;;;OAGG;IACH,uBAA8C;IAE9C;;;OAGG;IACH,kBAAuB;IAEvB;;;OAGG;IACH,iBAAa;IAEb;;OAEG;IACH,sBAAyC;IAEzC;;OAEG;IACH,wBAA6C;IAE7C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAuE;IAKvE;;;OAGG;IACH,0BAAgD;IAEhD;;;OAGG;IACH,yBAAqD;IAErD;;;OAGG;IACH,oBAAuB;IAEvB;;;OAGG;IACH,oBAA4B;IAG9B;;OAEG;IACH,eAFW,OAAO,QAgBjB;IAWD;;;;OAIG;IACH,wBASC;IA2BD;;;;;;OAMG;IACH,yBANW,OAAO,cAAc,EAAE,UAAU,UACjC,OAAO,iBAAiB,EAAE,MAAM,YAChC,MAAM;YACC,MAAM,GAAE,MAAM,WAAW,CAAC;gBACjC,MAAM,QAwGhB;IAED;;;;OAIG;IACH,wBAHW,OAAO,cAAc,EAAE,UAAU,GAChC,WAAW,CAmStB;IAED;;;OAGG;IACH,eAHW,OAAO,gBAAgB,EAAE,KAAK,GAC7B,iBAAiB,GAAC,UAAU,GAAC,YAAY,GAAC,QAAQ,CA4F7D;IAED;;;;;;;;;;OAUG;IACH,sBA+BC;IAED,mBAIC;CA6BF"}
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
scale as scaleTransform,
|
|
20
20
|
translate as translateTransform,
|
|
21
21
|
} from '../../transform.js';
|
|
22
|
+
import {ascending} from '../../array.js';
|
|
22
23
|
import {
|
|
23
24
|
boundingExtent,
|
|
24
25
|
containsCoordinate,
|
|
@@ -35,7 +36,6 @@ import {
|
|
|
35
36
|
} from '../../tilecoord.js';
|
|
36
37
|
import {fromUserExtent} from '../../proj.js';
|
|
37
38
|
import {getUid} from '../../util.js';
|
|
38
|
-
import {numberSafeCompareFunction} from '../../array.js';
|
|
39
39
|
import {toSize} from '../../size.js';
|
|
40
40
|
|
|
41
41
|
export const Uniforms = {
|
|
@@ -562,9 +562,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer {
|
|
|
562
562
|
this.helper.useProgram(this.program_, frameState);
|
|
563
563
|
this.helper.prepareDraw(frameState, !blend);
|
|
564
564
|
|
|
565
|
-
const zs = Object.keys(tileTexturesByZ)
|
|
566
|
-
.map(Number)
|
|
567
|
-
.sort(numberSafeCompareFunction);
|
|
565
|
+
const zs = Object.keys(tileTexturesByZ).map(Number).sort(ascending);
|
|
568
566
|
|
|
569
567
|
const centerX = viewState.center[0];
|
|
570
568
|
const centerY = viewState.center[1];
|
package/reproj/DataTile.d.ts
CHANGED
|
@@ -1,7 +1,76 @@
|
|
|
1
1
|
export default ReprojDataTile;
|
|
2
|
-
export type
|
|
2
|
+
export type TileGetter = (arg0: number, arg1: number, arg2: number, arg3: number) => import("../DataTile.js").default;
|
|
3
|
+
export type Options = {
|
|
4
|
+
/**
|
|
5
|
+
* Source projection.
|
|
6
|
+
*/
|
|
7
|
+
sourceProj: import("../proj/Projection.js").default;
|
|
8
|
+
/**
|
|
9
|
+
* Source tile grid.
|
|
10
|
+
*/
|
|
11
|
+
sourceTileGrid: import("../tilegrid/TileGrid.js").default;
|
|
12
|
+
/**
|
|
13
|
+
* Target projection.
|
|
14
|
+
*/
|
|
15
|
+
targetProj: import("../proj/Projection.js").default;
|
|
16
|
+
/**
|
|
17
|
+
* Target tile grid.
|
|
18
|
+
*/
|
|
19
|
+
targetTileGrid: import("../tilegrid/TileGrid.js").default;
|
|
20
|
+
/**
|
|
21
|
+
* Coordinate of the tile.
|
|
22
|
+
*/
|
|
23
|
+
tileCoord: import("../tilecoord.js").TileCoord;
|
|
24
|
+
/**
|
|
25
|
+
* Coordinate of the tile wrapped in X.
|
|
26
|
+
*/
|
|
27
|
+
wrappedTileCoord?: import("../tilecoord.js").TileCoord | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Pixel ratio.
|
|
30
|
+
*/
|
|
31
|
+
pixelRatio: number;
|
|
32
|
+
/**
|
|
33
|
+
* Gutter of the source tiles.
|
|
34
|
+
*/
|
|
35
|
+
gutter: number;
|
|
36
|
+
/**
|
|
37
|
+
* Function returning source tiles (z, x, y, pixelRatio).
|
|
38
|
+
*/
|
|
39
|
+
getTileFunction: TileGetter;
|
|
40
|
+
/**
|
|
41
|
+
* Use interpolated values when resampling. By default,
|
|
42
|
+
* the nearest neighbor is used when resampling.
|
|
43
|
+
*/
|
|
44
|
+
interpolate?: boolean | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Acceptable reprojection error (in px).
|
|
47
|
+
*/
|
|
48
|
+
errorThreshold?: number | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* A duration for tile opacity
|
|
51
|
+
* transitions in milliseconds. A duration of 0 disables the opacity transition.
|
|
52
|
+
*/
|
|
53
|
+
transition?: number | undefined;
|
|
54
|
+
};
|
|
3
55
|
/**
|
|
4
|
-
* @typedef {function(number, number, number, number) : import("../DataTile.js").default}
|
|
56
|
+
* @typedef {function(number, number, number, number) : import("../DataTile.js").default} TileGetter
|
|
57
|
+
*/
|
|
58
|
+
/**
|
|
59
|
+
* @typedef {Object} Options
|
|
60
|
+
* @property {import("../proj/Projection.js").default} sourceProj Source projection.
|
|
61
|
+
* @property {import("../tilegrid/TileGrid.js").default} sourceTileGrid Source tile grid.
|
|
62
|
+
* @property {import("../proj/Projection.js").default} targetProj Target projection.
|
|
63
|
+
* @property {import("../tilegrid/TileGrid.js").default} targetTileGrid Target tile grid.
|
|
64
|
+
* @property {import("../tilecoord.js").TileCoord} tileCoord Coordinate of the tile.
|
|
65
|
+
* @property {import("../tilecoord.js").TileCoord} [wrappedTileCoord] Coordinate of the tile wrapped in X.
|
|
66
|
+
* @property {number} pixelRatio Pixel ratio.
|
|
67
|
+
* @property {number} gutter Gutter of the source tiles.
|
|
68
|
+
* @property {TileGetter} getTileFunction Function returning source tiles (z, x, y, pixelRatio).
|
|
69
|
+
* @property {boolean} [interpolate=false] Use interpolated values when resampling. By default,
|
|
70
|
+
* the nearest neighbor is used when resampling.
|
|
71
|
+
* @property {number} [errorThreshold] Acceptable reprojection error (in px).
|
|
72
|
+
* @property {number} [transition=250] A duration for tile opacity
|
|
73
|
+
* transitions in milliseconds. A duration of 0 disables the opacity transition.
|
|
5
74
|
*/
|
|
6
75
|
/**
|
|
7
76
|
* @classdesc
|
|
@@ -11,20 +80,9 @@ export type FunctionType = (arg0: number, arg1: number, arg2: number, arg3: numb
|
|
|
11
80
|
*/
|
|
12
81
|
declare class ReprojDataTile extends DataTile {
|
|
13
82
|
/**
|
|
14
|
-
* @param {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* @param {import("../tilegrid/TileGrid.js").default} targetTileGrid Target tile grid.
|
|
18
|
-
* @param {import("../tilecoord.js").TileCoord} tileCoord Coordinate of the tile.
|
|
19
|
-
* @param {import("../tilecoord.js").TileCoord} wrappedTileCoord Coordinate of the tile wrapped in X.
|
|
20
|
-
* @param {number} pixelRatio Pixel ratio.
|
|
21
|
-
* @param {number} gutter Gutter of the source tiles.
|
|
22
|
-
* @param {FunctionType} getTileFunction
|
|
23
|
-
* Function returning source tiles (z, x, y, pixelRatio).
|
|
24
|
-
* @param {boolean} interpolate Use linear interpolation when resampling.
|
|
25
|
-
* @param {number} [errorThreshold] Acceptable reprojection error (in px).
|
|
26
|
-
*/
|
|
27
|
-
constructor(sourceProj: import("../proj/Projection.js").default, sourceTileGrid: import("../tilegrid/TileGrid.js").default, targetProj: import("../proj/Projection.js").default, targetTileGrid: import("../tilegrid/TileGrid.js").default, tileCoord: import("../tilecoord.js").TileCoord, wrappedTileCoord: import("../tilecoord.js").TileCoord, pixelRatio: number, gutter: number, getTileFunction: FunctionType, interpolate: boolean, errorThreshold?: number | undefined);
|
|
83
|
+
* @param {Options} options Tile options.
|
|
84
|
+
*/
|
|
85
|
+
constructor(options: Options);
|
|
28
86
|
/**
|
|
29
87
|
* @private
|
|
30
88
|
* @type {number}
|
|
@@ -67,7 +125,7 @@ declare class ReprojDataTile extends DataTile {
|
|
|
67
125
|
private wrappedTileCoord_;
|
|
68
126
|
/**
|
|
69
127
|
* @private
|
|
70
|
-
* @type {!Array<
|
|
128
|
+
* @type {!Array<DataTile>}
|
|
71
129
|
*/
|
|
72
130
|
private sourceTiles_;
|
|
73
131
|
/**
|
package/reproj/DataTile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTile.d.ts","sourceRoot":"","sources":["DataTile.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"DataTile.d.ts","sourceRoot":"","sources":["DataTile.js"],"names":[],"mappings":";gCAoBsB,MAAM,QAAE,MAAM,QAAE,MAAM,QAAE,MAAM,KAAI,OAAO,gBAAgB,EAAE,OAAO;;;;;gBAK1E,OAAO,uBAAuB,EAAE,OAAO;;;;oBACvC,OAAO,yBAAyB,EAAE,OAAO;;;;gBACzC,OAAO,uBAAuB,EAAE,OAAO;;;;oBACvC,OAAO,yBAAyB,EAAE,OAAO;;;;eACzC,OAAO,iBAAiB,EAAE,SAAS;;;;;;;;gBAEnC,MAAM;;;;YACN,MAAM;;;;qBACN,UAAU;;;;;;;;;;;;;;;;AAdxB;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EA2LjB;IAjLC;;;OAGG;IACH,oBAAqC;IAErC;;;OAGG;IACH,gBAA6B;IAE7B;;;OAGG;IACH,oBAAuB;IAEvB;;;OAGG;IACH,qBAAwB;IAExB;;;OAGG;IACH,oBAA4B;IAE5B;;;OAGG;IACH,wBAA6C;IAE7C;;;OAGG;IACH,wBAA6C;IAE7C;;;OAGG;IACH,0BAAsE;IAEtE;;;OAGG;IACH,qBAAsB;IAEtB;;;OAGG;IACH,6BAAgC;IAEhC;;;OAGG;IACH,iBAAiB;IAqDjB;;;OAGG;IACH,uBAOC;IA2EH;;OAEG;IACH,mBAoKC;IAyDD;;OAEG;IACH,yBAGC;CACF"}
|