jupytergis-core 0.5.0__py3-none-any.whl → 0.6.0__py3-none-any.whl
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.
- jupytergis_core/_version.py +1 -1
- jupytergis_core/handler.py +301 -25
- jupytergis_core/schema/__init__.py +7 -7
- jupytergis_core/schema/interfaces/__init__.py +1 -1
- jupytergis_core/schema/interfaces/export/__init__.py +1 -1
- jupytergis_core/schema/interfaces/export/{exportGeojson.py → exportGeoJson.py} +2 -2
- jupytergis_core/schema/interfaces/export/{exportGeotiff.py → exportGeoTiff.py} +2 -2
- jupytergis_core/schema/interfaces/{geojsonsource.py → geoJsonSource.py} +2 -2
- jupytergis_core/schema/interfaces/geojson.py +1 -1
- jupytergis_core/schema/interfaces/processing/__init__.py +1 -1
- jupytergis_core/schema/interfaces/processing/boundingBoxes.py +14 -0
- jupytergis_core/schema/interfaces/processing/buffer.py +1 -1
- jupytergis_core/schema/interfaces/processing/centroids.py +14 -0
- jupytergis_core/schema/interfaces/processing/concaveHull.py +21 -0
- jupytergis_core/schema/interfaces/processing/convexHull.py +14 -0
- jupytergis_core/schema/interfaces/processing/dissolve.py +1 -1
- jupytergis_core/schema/interfaces/project/__init__.py +1 -1
- jupytergis_core/schema/interfaces/project/jgis.py +2 -1
- jupytergis_core/schema/interfaces/project/layers/__init__.py +1 -1
- jupytergis_core/schema/interfaces/project/layers/heatmapLayer.py +1 -1
- jupytergis_core/schema/interfaces/project/layers/hillshadeLayer.py +1 -1
- jupytergis_core/schema/interfaces/project/layers/imageLayer.py +1 -1
- jupytergis_core/schema/interfaces/project/layers/{rasterlayer.py → rasterLayer.py} +2 -2
- jupytergis_core/schema/interfaces/project/layers/stacLayer.py +19 -0
- jupytergis_core/schema/interfaces/project/layers/{vectorlayer.py → vectorLayer.py} +2 -9
- jupytergis_core/schema/interfaces/project/layers/vectorTileLayer.py +1 -9
- jupytergis_core/schema/interfaces/project/layers/webGlLayer.py +2 -1
- jupytergis_core/schema/interfaces/project/sources/__init__.py +1 -1
- jupytergis_core/schema/interfaces/project/sources/geoTiffSource.py +1 -1
- jupytergis_core/schema/interfaces/project/sources/imageSource.py +1 -1
- jupytergis_core/schema/interfaces/project/sources/rasterDemSource.py +1 -1
- jupytergis_core/schema/interfaces/project/sources/{rastersource.py → rasterSource.py} +2 -2
- jupytergis_core/schema/interfaces/project/sources/shapefileSource.py +1 -1
- jupytergis_core/schema/interfaces/project/sources/{vectortilesource.py → vectorTileSource.py} +2 -2
- jupytergis_core/schema/interfaces/project/sources/videoSource.py +1 -1
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/package.json +4 -4
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/schemas/@jupytergis/jupytergis-core/package.json.orig +3 -3
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js → jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.6ee794baeb00791424c2.js +2 -2
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/397.a6fa5a4d29479f45b270.js +1 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/432.48d67c4273f9195419e3.js +1 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/552.0936beb209d3ea5a1229.js +1 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/634.2747a436e7df0c53f51b.js +8 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.2540a8113c71e8eb28ef.js.LICENSE.txt → jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/634.2747a436e7df0c53f51b.js.LICENSE.txt +50 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/671.b8a4f9c5fd02e51ec026.js +1 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.5f3759c98814aa602705.js +8 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.35a1ef3613255bda4218.js +1 -0
- jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.0d09a4d6aa378d4b27c2.js +1 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/third-party-licenses.json +303 -9
- {jupytergis_core-0.5.0.dist-info → jupytergis_core-0.6.0.dist-info}/METADATA +1 -1
- jupytergis_core-0.6.0.dist-info/RECORD +117 -0
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/377.2ba30d7a93a2a2819b1b.js +0 -1
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/432.df2bee6966bdd5a48317.js +0 -1
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/552.3f267df0d8b2c9ef2c40.js +0 -1
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/729.2540a8113c71e8eb28ef.js +0 -8
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.8b9c4e2f8bed9130b6d0.js +0 -8
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/893.0bf9ee057c7e4666c364.js +0 -1
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/991.13deb14ad0c10be40859.js +0 -1
- jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/remoteEntry.6e9db18c72727800e9ea.js +0 -1
- jupytergis_core-0.5.0.dist-info/RECORD +0 -112
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/etc/jupyter/jupyter_server_config.d/jupytergis_core.json +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/schemas/@jupytergis/jupytergis-core/jupytergis-settings.json +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/026680ab0cd1523edc87.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/02ff7d503bbd90b21fc4.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/062a9554f6b4caac9713.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/064f37cecb8130ad66e8.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/08da2741746ddab81d04.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/0c6a0352b82839119f95.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/13c485bb93f5567f02fd.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1474207a6b3ca1001e78.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/14b98240613d5256c621.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/154.0d16fbe1d1182d138b2c.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1b97ea0f2b3af717cffa.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1d440270da19a2f22fee.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/1ed164e010f3c0306d15.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2218dfba22fc2b08e948.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/234.2f0fc49f516ad354aa18.js +0 -0
- /jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.aea9e291ba3dd16790fb.js.LICENSE.txt → /jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/27.6ee794baeb00791424c2.js.LICENSE.txt +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2ab791b60c4058e664f8.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2b24b6a745c11511f055.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2d676bc0a01c2cd2fccb.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/2f02309ea499725612ea.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/32c7a73662cceb5bb1d7.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/350eec4ce9ae4bc10bca.wasm +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/363ca7c5f78deb6fd033.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/376.58a6410b7089dea5b0d5.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3ae0bf244442de7efc35.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/3d48be10ffea86eb15de.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/407.da5d00862f4879fe3c9c.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/415edc3fa381260cf31e.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/42cbddf5e883673bc4e2.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/472.b2ea9ebc35d5ad4e1fcc.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/527ef171d5df15dc7da5.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/542.477a73b8682de0e8d45e.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/555.be80e60305924af2e139.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5bb02252f243f8c7494f.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5d181edc3c046e1454a1.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/5f32ad48aefe00e51312.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/618.86523276f857e0a3362e.js +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/6e4f6b4d0dfca3bd4450.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/71d436fb44627b6bfbd7.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/7b225dc2d37cd3582156.png +0 -0
- /jupytergis_core-0.5.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.8b9c4e2f8bed9130b6d0.js.LICENSE.txt → /jupytergis_core-0.6.0.data/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/803.5f3759c98814aa602705.js.LICENSE.txt +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/843ab141e62516b9df5c.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/8814e17f6b110e8f3e42.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/88b2ae0d29edb684eae5.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/971a42d174dd17b9451a.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a3c609f5bff95a7a53be.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a86d626c9ed2e222d190.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/a9e286b0c0264a9fc737.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ab309078b494f850430a.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/b15e3989b7b90b5a8d9d.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/b36717fbb06f21d53b01.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/ba4b6e82fe5a816c40a5.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/bb2b310570da7a3587e9.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/be92bcf7bb99753b4b3d.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/c2ffa011d7f52a0ddf45.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/d83457b1b925c1718f6d.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/e473e1e9f20af114bbb4.data +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/f2617180c6907263a7ff.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/fe99a6dbf5a71d308989.png +0 -0
- {jupytergis_core-0.5.0.data → jupytergis_core-0.6.0.data}/data/share/jupyter/labextensions/@jupytergis/jupytergis-core/static/style.js +0 -0
- {jupytergis_core-0.5.0.dist-info → jupytergis_core-0.6.0.dist-info}/WHEEL +0 -0
- {jupytergis_core-0.5.0.dist-info → jupytergis_core-0.6.0.dist-info}/entry_points.txt +0 -0
- {jupytergis_core-0.5.0.dist-info → jupytergis_core-0.6.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,27 +1,19 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: project/layers/vectorTileLayer.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-07-02T15:20:59+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
from enum import Enum
|
|
8
7
|
from typing import Any, Dict, Optional
|
|
9
8
|
|
|
10
9
|
from pydantic import BaseModel, ConfigDict, Field, confloat
|
|
11
10
|
|
|
12
11
|
|
|
13
|
-
class Type(Enum):
|
|
14
|
-
circle = 'circle'
|
|
15
|
-
fill = 'fill'
|
|
16
|
-
line = 'line'
|
|
17
|
-
|
|
18
|
-
|
|
19
12
|
class IVectorTileLayer(BaseModel):
|
|
20
13
|
model_config = ConfigDict(
|
|
21
14
|
extra='forbid',
|
|
22
15
|
)
|
|
23
16
|
source: str = Field(..., description='The id of the source')
|
|
24
|
-
type: Type = Field(..., description='The type of vector layer')
|
|
25
17
|
color: Optional[Dict[str, Any]] = Field(
|
|
26
18
|
None, description='The color of the the object'
|
|
27
19
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: project/layers/webGlLayer.json
|
|
3
|
-
# timestamp: 2025-
|
|
3
|
+
# timestamp: 2025-07-02T15:20:59+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -31,6 +31,7 @@ class SymbologyState(BaseModel):
|
|
|
31
31
|
redBand: Optional[float] = None
|
|
32
32
|
greenBand: Optional[float] = None
|
|
33
33
|
blueBand: Optional[float] = None
|
|
34
|
+
alphaBand: Optional[float] = None
|
|
34
35
|
interpolation: Optional[Interpolation] = None
|
|
35
36
|
colorRamp: Optional[str] = 'cool'
|
|
36
37
|
nClasses: Optional[str] = '9'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "JupyterGIS core extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@jupyter/collaborative-drive": "^3.0.0",
|
|
57
|
-
"@jupytergis/base": "^0.
|
|
58
|
-
"@jupytergis/schema": "^0.
|
|
57
|
+
"@jupytergis/base": "^0.6.0",
|
|
58
|
+
"@jupytergis/schema": "^0.6.0",
|
|
59
59
|
"@jupyterlab/application": "^4.3.0",
|
|
60
60
|
"@jupyterlab/apputils": "^4.3.0",
|
|
61
61
|
"@jupyterlab/docregistry": "^4.3.0",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
"_build": {
|
|
123
|
-
"load": "static/remoteEntry.
|
|
123
|
+
"load": "static/remoteEntry.0d09a4d6aa378d4b27c2.js",
|
|
124
124
|
"extension": "./extension",
|
|
125
125
|
"style": "./style"
|
|
126
126
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "JupyterGIS core extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@jupyter/collaborative-drive": "^3.0.0",
|
|
57
|
-
"@jupytergis/base": "^0.
|
|
58
|
-
"@jupytergis/schema": "^0.
|
|
57
|
+
"@jupytergis/base": "^0.6.0",
|
|
58
|
+
"@jupytergis/schema": "^0.6.0",
|
|
59
59
|
"@jupyterlab/application": "^4.3.0",
|
|
60
60
|
"@jupyterlab/apputils": "^4.3.0",
|
|
61
61
|
"@jupyterlab/docregistry": "^4.3.0",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! For license information please see 27.
|
|
2
|
-
(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[27],{71027:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>D,zstd:()=>r});var B=g(67341),Q=g(92322),C=g.n(Q);let E,i,e;const a={env:{emscripten_notify_memory_growth:function(A){e=new Uint8Array(i.exports.memory.buffer)}}},o="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";var t=g(74660),s=g(74244);const r=new class{init(){return E||(E="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+o).then((A=>A.arrayBuffer())).then((A=>WebAssembly.instantiate(A,a))).then(this._init):WebAssembly.instantiate(Buffer.from(o,"base64"),a).then(this._init),E)}_init(A){i=A.instance,a.env.emscripten_notify_memory_growth(0)}decode(A,I=0){if(!i)throw new Error("ZSTDDecoder: Await .init() before decoding.");const g=A.byteLength,B=i.exports.malloc(g);e.set(A,B),I=I||Number(i.exports.ZSTD_findDecompressedSize(B,g));const Q=i.exports.malloc(I),C=i.exports.ZSTD_decompress(Q,I,B,g),E=e.slice(Q,Q+C);return i.exports.free(B),i.exports.free(Q),E}};class D extends t.A{constructor(A){super(),this.planarConfiguration=void 0!==A.PlanarConfiguration?A.PlanarConfiguration:1,this.samplesPerPixel=void 0!==A.SamplesPerPixel?A.SamplesPerPixel:1,this.addCompression=A.LercParameters[s.TZ.AddCompression]}decodeBlock(A){switch(this.addCompression){case s.S3.None:break;case s.S3.Deflate:A=(0,B.UD)(new Uint8Array(A)).buffer;break;case s.S3.Zstandard:A=r.decode(new Uint8Array(A)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return C().decode(A,{returnPixelInterleavedDims:1===this.planarConfiguration}).pixels[0].buffer}}},92322:(A,I)=>{var g,B,Q,C,E,i,e,a,o,t,s,r,D;B={defaultNoDataValue:-34027999387901484e22,decode:function(A,I){var g=(I=I||{}).encodedMaskData||null===I.encodedMaskData,e=i(A,I.inputOffset||0,g),a=null!==I.noDataValue?I.noDataValue:B.defaultNoDataValue,o=Q(e,I.pixelType||Float32Array,I.encodedMaskData,a,I.returnMask),t={width:e.width,height:e.height,pixelData:o.resultPixels,minValue:o.minValue,maxValue:e.pixels.maxValue,noDataValue:a};return o.resultMask&&(t.maskData=o.resultMask),I.returnEncodedMask&&e.mask&&(t.encodedMaskData=e.mask.bitset?e.mask.bitset:null),I.returnFileInfo&&(t.fileInfo=C(e),I.computeUsedBitDepths&&(t.fileInfo.bitDepths=E(e))),t}},Q=function(A,I,g,B,Q){var C,E,i,a=0,o=A.pixels.numBlocksX,t=A.pixels.numBlocksY,s=Math.floor(A.width/o),r=Math.floor(A.height/t),D=2*A.maxZError,n=Number.MAX_VALUE;g=g||(A.mask?A.mask.bitset:null),E=new I(A.width*A.height),Q&&g&&(i=new Uint8Array(A.width*A.height));for(var w,h,f=new Float32Array(s*r),G=0;G<=t;G++){var y=G!==t?r:A.height%t;if(0!==y)for(var F=0;F<=o;F++){var l=F!==o?s:A.width%o;if(0!==l){var k,c,U,S,d=G*A.width*r+F*s,R=A.width-l,M=A.pixels.blocks[a];if(M.encoding<2?(0===M.encoding?k=M.rawData:(e(M.stuffedData,M.bitsPerPixel,M.numValidPixels,M.offset,D,f,A.pixels.maxValue),k=f),c=0):U=2===M.encoding?0:M.offset,g)for(h=0;h<y;h++){for(7&d&&(S=g[d>>3],S<<=7&d),w=0;w<l;w++)7&d||(S=g[d>>3]),128&S?(i&&(i[d]=1),n=n>(C=M.encoding<2?k[c++]:U)?C:n,E[d++]=C):(i&&(i[d]=0),E[d++]=B),S<<=1;d+=R}else if(M.encoding<2)for(h=0;h<y;h++){for(w=0;w<l;w++)n=n>(C=k[c++])?C:n,E[d++]=C;d+=R}else for(n=n>U?U:n,h=0;h<y;h++){for(w=0;w<l;w++)E[d++]=U;d+=R}if(1===M.encoding&&c!==M.numValidPixels)throw"Block and Mask do not match";a++}}}return{resultPixels:E,resultMask:i,minValue:n}},C=function(A){return{fileIdentifierString:A.fileIdentifierString,fileVersion:A.fileVersion,imageType:A.imageType,height:A.height,width:A.width,maxZError:A.maxZError,eofOffset:A.eofOffset,mask:A.mask?{numBlocksX:A.mask.numBlocksX,numBlocksY:A.mask.numBlocksY,numBytes:A.mask.numBytes,maxValue:A.mask.maxValue}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,numBytes:A.pixels.numBytes,maxValue:A.pixels.maxValue,noDataValue:A.noDataValue}}},E=function(A){for(var I=A.pixels.numBlocksX*A.pixels.numBlocksY,g={},B=0;B<I;B++){var Q=A.pixels.blocks[B];0===Q.encoding?g.float32=!0:1===Q.encoding?g[Q.bitsPerPixel]=!0:g[0]=!0}return Object.keys(g)},i=function(A,I,g){var B={},Q=new Uint8Array(A,I,10);if(B.fileIdentifierString=String.fromCharCode.apply(null,Q),"CntZImage"!==B.fileIdentifierString.trim())throw"Unexpected file identifier string: "+B.fileIdentifierString;I+=10;var C=new DataView(A,I,24);if(B.fileVersion=C.getInt32(0,!0),B.imageType=C.getInt32(4,!0),B.height=C.getUint32(8,!0),B.width=C.getUint32(12,!0),B.maxZError=C.getFloat64(16,!0),I+=24,!g)if(C=new DataView(A,I,16),B.mask={},B.mask.numBlocksY=C.getUint32(0,!0),B.mask.numBlocksX=C.getUint32(4,!0),B.mask.numBytes=C.getUint32(8,!0),B.mask.maxValue=C.getFloat32(12,!0),I+=16,B.mask.numBytes>0){var E=new Uint8Array(Math.ceil(B.width*B.height/8)),i=(C=new DataView(A,I,B.mask.numBytes)).getInt16(0,!0),e=2,a=0;do{if(i>0)for(;i--;)E[a++]=C.getUint8(e++);else{var o=C.getUint8(e++);for(i=-i;i--;)E[a++]=o}i=C.getInt16(e,!0),e+=2}while(e<B.mask.numBytes);if(-32768!==i||a<E.length)throw"Unexpected end of mask RLE encoding";B.mask.bitset=E,I+=B.mask.numBytes}else B.mask.numBytes|B.mask.numBlocksY|B.mask.maxValue||(B.mask.bitset=new Uint8Array(Math.ceil(B.width*B.height/8)));C=new DataView(A,I,16),B.pixels={},B.pixels.numBlocksY=C.getUint32(0,!0),B.pixels.numBlocksX=C.getUint32(4,!0),B.pixels.numBytes=C.getUint32(8,!0),B.pixels.maxValue=C.getFloat32(12,!0),I+=16;var t=B.pixels.numBlocksX,s=B.pixels.numBlocksY,r=t+(B.width%t>0?1:0),D=s+(B.height%s>0?1:0);B.pixels.blocks=new Array(r*D);for(var n=0,w=0;w<D;w++)for(var h=0;h<r;h++){var f=0,G=A.byteLength-I;C=new DataView(A,I,Math.min(10,G));var y={};B.pixels.blocks[n++]=y;var F=C.getUint8(0);if(f++,y.encoding=63&F,y.encoding>3)throw"Invalid block encoding ("+y.encoding+")";if(2!==y.encoding){if(0!==F&&2!==F){if(F>>=6,y.offsetType=F,2===F)y.offset=C.getInt8(1),f++;else if(1===F)y.offset=C.getInt16(1,!0),f+=2;else{if(0!==F)throw"Invalid block offset type";y.offset=C.getFloat32(1,!0),f+=4}if(1===y.encoding)if(F=C.getUint8(f),f++,y.bitsPerPixel=63&F,F>>=6,y.numValidPixelsType=F,2===F)y.numValidPixels=C.getUint8(f),f++;else if(1===F)y.numValidPixels=C.getUint16(f,!0),f+=2;else{if(0!==F)throw"Invalid valid pixel count type";y.numValidPixels=C.getUint32(f,!0),f+=4}}var l;if(I+=f,3!==y.encoding)if(0===y.encoding){var k=(B.pixels.numBytes-1)/4;if(k!==Math.floor(k))throw"uncompressed block has invalid length";l=new ArrayBuffer(4*k),new Uint8Array(l).set(new Uint8Array(A,I,4*k));var c=new Float32Array(l);y.rawData=c,I+=4*k}else if(1===y.encoding){var U=Math.ceil(y.numValidPixels*y.bitsPerPixel/8),S=Math.ceil(U/4);l=new ArrayBuffer(4*S),new Uint8Array(l).set(new Uint8Array(A,I,U)),y.stuffedData=new Uint32Array(l),I+=U}}else I++}return B.eofOffset=I,B},e=function(A,I,g,B,Q,C,E){var i,e,a,o=(1<<I)-1,t=0,s=0,r=Math.ceil((E-B)/Q),D=4*A.length-Math.ceil(I*g/8);for(A[A.length-1]<<=8*D,i=0;i<g;i++){if(0===s&&(a=A[t++],s=32),s>=I)e=a>>>s-I&o,s-=I;else{var n=I-s;e=(a&o)<<n&o,e+=(a=A[t++])>>>(s=32-n)}C[i]=e<r?B+e*Q:E}return C},t=B,s=function(){"use strict";var A=function(A,I,g,B,Q,C,E,i){var e,a,o,t,s,r=(1<<g)-1,D=0,n=0,w=4*A.length-Math.ceil(g*B/8);if(A[A.length-1]<<=8*w,Q)for(e=0;e<B;e++)0===n&&(o=A[D++],n=32),n>=g?(a=o>>>n-g&r,n-=g):(a=(o&r)<<(t=g-n)&r,a+=(o=A[D++])>>>(n=32-t)),I[e]=Q[a];else for(s=Math.ceil((i-C)/E),e=0;e<B;e++)0===n&&(o=A[D++],n=32),n>=g?(a=o>>>n-g&r,n-=g):(a=(o&r)<<(t=g-n)&r,a+=(o=A[D++])>>>(n=32-t)),I[e]=a<s?C+a*E:i},I=function(A,I,g,B,Q,C,E,i){var e,a,o,t,s=(1<<g)-1,r=0,D=0,n=0;if(Q)for(e=0;e<B;e++)0===D&&(o=A[r++],D=32,n=0),D>=g?(a=o>>>n&s,D-=g,n+=g):(a=o>>>n&s,D=32-(t=g-D),a|=((o=A[r++])&(1<<t)-1)<<g-t,n=t),I[e]=Q[a];else{var w=Math.ceil((i-C)/E);for(e=0;e<B;e++)0===D&&(o=A[r++],D=32,n=0),D>=g?(a=o>>>n&s,D-=g,n+=g):(a=o>>>n&s,D=32-(t=g-D),a|=((o=A[r++])&(1<<t)-1)<<g-t,n=t),I[e]=a<w?C+a*E:i}return I},g={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var I=65535,g=65535,B=A.length,Q=Math.floor(B/2),C=0;Q;){var E=Q>=359?359:Q;Q-=E;do{I+=A[C++]<<8,g+=I+=A[C++]}while(--E);I=(65535&I)+(I>>>16),g=(65535&g)+(g>>>16)}return 1&B&&(g+=I+=A[C]<<8),((g=(65535&g)+(g>>>16))<<16|(I=(65535&I)+(I>>>16)))>>>0},readHeaderInfo:function(A,I){var g=I.ptr,B=new Uint8Array(A,g,6),Q={};if(Q.fileIdentifierString=String.fromCharCode.apply(null,B),0!==Q.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+Q.fileIdentifierString;g+=6;var C,E=new DataView(A,g,8),i=E.getInt32(0,!0);if(Q.fileVersion=i,g+=4,i>=3&&(Q.checksum=E.getUint32(4,!0),g+=4),E=new DataView(A,g,12),Q.height=E.getUint32(0,!0),Q.width=E.getUint32(4,!0),g+=8,i>=4?(Q.numDims=E.getUint32(8,!0),g+=4):Q.numDims=1,E=new DataView(A,g,40),Q.numValidPixel=E.getUint32(0,!0),Q.microBlockSize=E.getInt32(4,!0),Q.blobSize=E.getInt32(8,!0),Q.imageType=E.getInt32(12,!0),Q.maxZError=E.getFloat64(16,!0),Q.zMin=E.getFloat64(24,!0),Q.zMax=E.getFloat64(32,!0),g+=40,I.headerInfo=Q,I.ptr=g,i>=3&&(C=i>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,g-C,Q.blobSize-14))!==Q.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,I){var g=I.headerInfo,B=this.getDataTypeArray(g.imageType),Q=g.numDims*this.getDataTypeSize(g.imageType),C=this.readSubArray(A,I.ptr,B,Q),E=this.readSubArray(A,I.ptr+Q,B,Q);I.ptr+=2*Q;var i,e=!0;for(i=0;i<g.numDims;i++)if(C[i]!==E[i]){e=!1;break}return g.minValues=C,g.maxValues=E,e},readSubArray:function(A,I,g,B){var Q;if(g===Uint8Array)Q=new Uint8Array(A,I,B);else{var C=new ArrayBuffer(B);new Uint8Array(C).set(new Uint8Array(A,I,B)),Q=new g(C)}return Q},readMask:function(A,I){var g,B,Q=I.ptr,C=I.headerInfo,E=C.width*C.height,i=C.numValidPixel,e=new DataView(A,Q,4),a={};if(a.numBytes=e.getUint32(0,!0),Q+=4,(0===i||E===i)&&0!==a.numBytes)throw"invalid mask";if(0===i)g=new Uint8Array(Math.ceil(E/8)),a.bitset=g,B=new Uint8Array(E),I.pixels.resultMask=B,Q+=a.numBytes;else if(a.numBytes>0){g=new Uint8Array(Math.ceil(E/8));var o=(e=new DataView(A,Q,a.numBytes)).getInt16(0,!0),t=2,s=0,r=0;do{if(o>0)for(;o--;)g[s++]=e.getUint8(t++);else for(r=e.getUint8(t++),o=-o;o--;)g[s++]=r;o=e.getInt16(t,!0),t+=2}while(t<a.numBytes);if(-32768!==o||s<g.length)throw"Unexpected end of mask RLE encoding";B=new Uint8Array(E);var D=0,n=0;for(n=0;n<E;n++)7&n?(D=g[n>>3],D<<=7&n):D=g[n>>3],128&D&&(B[n]=1);I.pixels.resultMask=B,a.bitset=g,Q+=a.numBytes}return I.ptr=Q,I.mask=a,!0},readDataOneSweep:function(A,I,B,Q){var C,E=I.ptr,i=I.headerInfo,e=i.numDims,a=i.width*i.height,o=i.imageType,t=i.numValidPixel*g.getDataTypeSize(o)*e,s=I.pixels.resultMask;if(B===Uint8Array)C=new Uint8Array(A,E,t);else{var r=new ArrayBuffer(t);new Uint8Array(r).set(new Uint8Array(A,E,t)),C=new B(r)}if(C.length===a*e)I.pixels.resultPixels=Q?g.swapDimensionOrder(C,a,e,B,!0):C;else{I.pixels.resultPixels=new B(a*e);var D=0,n=0,w=0,h=0;if(e>1){if(Q){for(n=0;n<a;n++)if(s[n])for(h=n,w=0;w<e;w++,h+=a)I.pixels.resultPixels[h]=C[D++]}else for(n=0;n<a;n++)if(s[n])for(h=n*e,w=0;w<e;w++)I.pixels.resultPixels[h+w]=C[D++]}else for(n=0;n<a;n++)s[n]&&(I.pixels.resultPixels[n]=C[D++])}return E+=t,I.ptr=E,!0},readHuffmanTree:function(A,I){var Q=this.HUFFMAN_LUT_BITS_MAX,C=new DataView(A,I.ptr,16);if(I.ptr+=16,C.getInt32(0,!0)<2)throw"unsupported Huffman version";var E=C.getInt32(4,!0),i=C.getInt32(8,!0),e=C.getInt32(12,!0);if(i>=e)return!1;var a=new Uint32Array(e-i);g.decodeBits(A,I,a);var o,t,s,r,D=[];for(o=i;o<e;o++)D[t=o-(o<E?0:E)]={first:a[o-i],second:null};var n=A.byteLength-I.ptr,w=Math.ceil(n/4),h=new ArrayBuffer(4*w);new Uint8Array(h).set(new Uint8Array(A,I.ptr,n));var f,G=new Uint32Array(h),y=0,F=0;for(f=G[0],o=i;o<e;o++)(r=D[t=o-(o<E?0:E)].first)>0&&(D[t].second=f<<y>>>32-r,32-y>=r?32===(y+=r)&&(y=0,f=G[++F]):(y+=r-32,f=G[++F],D[t].second|=f>>>32-y));var l,k=0,c=new B;for(o=0;o<D.length;o++)void 0!==D[o]&&(k=Math.max(k,D[o].first));l=k>=Q?Q:k;var U,S,d,R,M,L=[];for(o=i;o<e;o++)if((r=D[t=o-(o<E?0:E)].first)>0)if(U=[r,t],r<=l)for(S=D[t].second<<l-r,d=1<<l-r,s=0;s<d;s++)L[S|s]=U;else for(S=D[t].second,M=c,R=r-1;R>=0;R--)S>>>R&1?(M.right||(M.right=new B),M=M.right):(M.left||(M.left=new B),M=M.left),0!==R||M.val||(M.val=U[1]);return{decodeLut:L,numBitsLUTQick:l,numBitsLUT:k,tree:c,stuffedData:G,srcPtr:F,bitPos:y}},readHuffman:function(A,I,B,Q){var C,E,i,e,a,o,t,s,r,D=I.headerInfo.numDims,n=I.headerInfo.height,w=I.headerInfo.width,h=w*n,f=this.readHuffmanTree(A,I),G=f.decodeLut,y=f.tree,F=f.stuffedData,l=f.srcPtr,k=f.bitPos,c=f.numBitsLUTQick,U=f.numBitsLUT,S=0===I.headerInfo.imageType?128:0,d=I.pixels.resultMask,R=0;k>0&&(l++,k=0);var M,L=F[l],N=1===I.encodeMode,J=new B(h*D),u=J;if(D<2||N){for(M=0;M<D;M++)if(D>1&&(u=new B(J.buffer,h*M,h),R=0),I.headerInfo.numValidPixel===w*n)for(s=0,o=0;o<n;o++)for(t=0;t<w;t++,s++){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,N?(i+=t>0?R:o>0?u[s-w]:R,i&=255,u[s]=i,R=i):u[s]=i}else for(s=0,o=0;o<n;o++)for(t=0;t<w;t++,s++)if(d[s]){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,N?(t>0&&d[s-1]?i+=R:o>0&&d[s-w]?i+=u[s-w]:i+=R,i&=255,u[s]=i,R=i):u[s]=i}}else for(s=0,o=0;o<n;o++)for(t=0;t<w;t++)if(s=o*w+t,!d||d[s])for(M=0;M<D;M++,s+=h){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,u[s]=i}I.ptr=I.ptr+4*(l+1)+(k>0?4:0),I.pixels.resultPixels=J,D>1&&!Q&&(I.pixels.resultPixels=g.swapDimensionOrder(J,h,D,B))},decodeBits:function(g,B,Q,C,E){var i=B.headerInfo,e=i.fileVersion,a=0,o=g.byteLength-B.ptr>=5?5:g.byteLength-B.ptr,t=new DataView(g,B.ptr,o),s=t.getUint8(0);a++;var r=s>>6,D=0===r?4:3-r,n=(32&s)>0,w=31&s,h=0;if(1===D)h=t.getUint8(a),a++;else if(2===D)h=t.getUint16(a,!0),a+=2;else{if(4!==D)throw"Invalid valid pixel count type";h=t.getUint32(a,!0),a+=4}var f,G,y,F,l,k,c,U,S,d=2*i.maxZError,R=i.numDims>1?i.maxValues[E]:i.zMax;if(n){for(B.counter.lut++,U=t.getUint8(a),a++,F=Math.ceil((U-1)*w/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),y=new Uint8Array(G),B.ptr+=a,y.set(new Uint8Array(g,B.ptr,F)),c=new Uint32Array(G),B.ptr+=F,S=0;U-1>>>S;)S++;F=Math.ceil(h*S/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),(y=new Uint8Array(G)).set(new Uint8Array(g,B.ptr,F)),f=new Uint32Array(G),B.ptr+=F,k=e>=3?function(A,I,g,B,Q,C){var E,i=(1<<I)-1,e=0,a=0,o=0,t=0,s=0,r=0,D=[],n=Math.ceil((C-B)/Q);for(a=0;a<g;a++)0===t&&(E=A[e++],t=32,r=0),t>=I?(s=E>>>r&i,t-=I,r+=I):(s=E>>>r&i,t=32-(o=I-t),s|=((E=A[e++])&(1<<o)-1)<<I-o,r=o),D[a]=s<n?B+s*Q:C;return D.unshift(B),D}(c,w,U-1,C,d,R):function(A,I,g,B,Q,C){var E,i=(1<<I)-1,e=0,a=0,o=0,t=0,s=0,r=[],D=4*A.length-Math.ceil(I*g/8);A[A.length-1]<<=8*D;var n=Math.ceil((C-B)/Q);for(a=0;a<g;a++)0===t&&(E=A[e++],t=32),t>=I?(s=E>>>t-I&i,t-=I):(s=(E&i)<<(o=I-t)&i,s+=(E=A[e++])>>>(t=32-o)),r[a]=s<n?B+s*Q:C;return r.unshift(B),r}(c,w,U-1,C,d,R),e>=3?I(f,Q,S,h,k):A(f,Q,S,h,k)}else B.counter.bitstuffer++,S=w,B.ptr+=a,S>0&&(F=Math.ceil(h*S/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),(y=new Uint8Array(G)).set(new Uint8Array(g,B.ptr,F)),f=new Uint32Array(G),B.ptr+=F,e>=3?null==C?function(A,I,g,B){var Q,C,E,i,e=(1<<g)-1,a=0,o=0,t=0;for(Q=0;Q<B;Q++)0===o&&(E=A[a++],o=32,t=0),o>=g?(C=E>>>t&e,o-=g,t+=g):(C=E>>>t&e,o=32-(i=g-o),C|=((E=A[a++])&(1<<i)-1)<<g-i,t=i),I[Q]=C}(f,Q,S,h):I(f,Q,S,h,!1,C,d,R):null==C?function(A,I,g,B){var Q,C,E,i,e=(1<<g)-1,a=0,o=0,t=4*A.length-Math.ceil(g*B/8);for(A[A.length-1]<<=8*t,Q=0;Q<B;Q++)0===o&&(E=A[a++],o=32),o>=g?(C=E>>>o-g&e,o-=g):(C=(E&e)<<(i=g-o)&e,C+=(E=A[a++])>>>(o=32-i)),I[Q]=C}(f,Q,S,h):A(f,Q,S,h,!1,C,d,R))},readTiles:function(A,I,B,Q){var C=I.headerInfo,E=C.width,i=C.height,e=E*i,a=C.microBlockSize,o=C.imageType,t=g.getDataTypeSize(o),s=Math.ceil(E/a),r=Math.ceil(i/a);I.pixels.numBlocksY=r,I.pixels.numBlocksX=s,I.pixels.ptr=0;var D,n,w,h,f,G,y,F,l,k,c=0,U=0,S=0,d=0,R=0,M=0,L=0,N=0,J=0,u=0,q=0,Y=0,m=0,p=0,x=0,H=new B(a*a),K=i%a||a,V=E%a||a,b=C.numDims,O=I.pixels.resultMask,v=I.pixels.resultPixels,X=C.fileVersion>=5?14:15,P=C.zMax;for(S=0;S<r;S++)for(R=S!==r-1?a:K,d=0;d<s;d++)for(u=S*E*a+d*a,q=E-(M=d!==s-1?a:V),F=0;F<b;F++){if(b>1?(k=v,u=S*E*a+d*a,v=new B(I.pixels.resultPixels.buffer,e*F*t,e),P=C.maxValues[F]):k=null,L=A.byteLength-I.ptr,n={},x=0,N=(D=new DataView(A,I.ptr,Math.min(10,L))).getUint8(0),x++,l=C.fileVersion>=5?4&N:0,J=N>>6&255,(N>>2&X)!=(d*a>>3&X))throw"integrity issue";if(l&&0===F)throw"integrity issue";if((f=3&N)>3)throw I.ptr+=x,"Invalid block encoding ("+f+")";if(2!==f)if(0===f){if(l)throw"integrity issue";if(I.counter.uncompressed++,I.ptr+=x,Y=(Y=R*M*t)<(m=A.byteLength-I.ptr)?Y:m,w=new ArrayBuffer(Y%t==0?Y:Y+t-Y%t),new Uint8Array(w).set(new Uint8Array(A,I.ptr,Y)),h=new B(w),p=0,O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=h[p++]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u++]=h[p++];u+=q}I.ptr+=p*t}else if(G=g.getDataTypeUsed(l&&o<6?4:o,J),y=g.getOnePixel(n,x,G,D),x+=g.getDataTypeSize(G),3===f)if(I.ptr+=x,I.counter.constantoffset++,O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=l?Math.min(P,k[u]+y):y),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u]=l?Math.min(P,k[u]+y):y,u++;u+=q}else if(I.ptr+=x,g.decodeBits(A,I,H,y,F),x=0,l)if(O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=H[x++]+k[u]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u]=H[x++]+k[u],u++;u+=q}else if(O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=H[x++]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u++]=H[x++];u+=q}else{if(l)if(O)for(c=0;c<R;c++)for(U=0;U<M;U++)O[u]&&(v[u]=k[u]),u++;else for(c=0;c<R;c++)for(U=0;U<M;U++)v[u]=k[u],u++;I.counter.constant++,I.ptr+=x}}b>1&&!Q&&(I.pixels.resultPixels=g.swapDimensionOrder(I.pixels.resultPixels,e,b,B))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:g.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,I){var g=A.headerInfo.zMax,B=A.headerInfo.zMin,Q=A.headerInfo.maxValues,C=A.headerInfo.numDims,E=A.headerInfo.height*A.headerInfo.width,i=0,e=0,a=0,o=A.pixels.resultMask,t=A.pixels.resultPixels;if(o)if(C>1){if(I)for(i=0;i<C;i++)for(a=i*E,g=Q[i],e=0;e<E;e++)o[e]&&(t[a+e]=g);else for(e=0;e<E;e++)if(o[e])for(a=e*C,i=0;i<C;i++)t[a+C]=Q[i]}else for(e=0;e<E;e++)o[e]&&(t[e]=g);else if(C>1&&B!==g)if(I)for(i=0;i<C;i++)for(a=i*E,g=Q[i],e=0;e<E;e++)t[a+e]=g;else for(e=0;e<E;e++)for(a=e*C,i=0;i<C;i++)t[a+i]=Q[i];else for(e=0;e<E*C;e++)t[e]=g},getDataTypeArray:function(A){var I;switch(A){case 0:I=Int8Array;break;case 1:I=Uint8Array;break;case 2:I=Int16Array;break;case 3:I=Uint16Array;break;case 4:I=Int32Array;break;case 5:I=Uint32Array;break;case 6:default:I=Float32Array;break;case 7:I=Float64Array}return I},getPixelType:function(A){var I;switch(A){case 0:I="S8";break;case 1:I="U8";break;case 2:I="S16";break;case 3:I="U16";break;case 4:I="S32";break;case 5:I="U32";break;case 6:default:I="F32";break;case 7:I="F64"}return I},isValidPixelValue:function(A,I){if(null==I)return!1;var g;switch(A){case 0:g=I>=-128&&I<=127;break;case 1:g=I>=0&&I<=255;break;case 2:g=I>=-32768&&I<=32767;break;case 3:g=I>=0&&I<=65536;break;case 4:g=I>=-2147483648&&I<=2147483647;break;case 5:g=I>=0&&I<=4294967296;break;case 6:g=I>=-34027999387901484e22&&I<=34027999387901484e22;break;case 7:g=I>=-17976931348623157e292&&I<=17976931348623157e292;break;default:g=!1}return g},getDataTypeSize:function(A){var I=0;switch(A){case 0:case 1:I=1;break;case 2:case 3:I=2;break;case 4:case 5:case 6:I=4;break;case 7:I=8;break;default:I=A}return I},getDataTypeUsed:function(A,I){var g=A;switch(A){case 2:case 4:g=A-I;break;case 3:case 5:g=A-2*I;break;case 6:g=0===I?A:1===I?2:1;break;case 7:g=0===I?A:A-2*I+1;break;default:g=A}return g},getOnePixel:function(A,I,g,B){var Q=0;switch(g){case 0:Q=B.getInt8(I);break;case 1:Q=B.getUint8(I);break;case 2:Q=B.getInt16(I,!0);break;case 3:Q=B.getUint16(I,!0);break;case 4:Q=B.getInt32(I,!0);break;case 5:Q=B.getUInt32(I,!0);break;case 6:Q=B.getFloat32(I,!0);break;case 7:Q=B.getFloat64(I,!0);break;default:throw"the decoder does not understand this pixel type"}return Q},swapDimensionOrder:function(A,I,g,B,Q){var C=0,E=0,i=0,e=0,a=A;if(g>1)if(a=new B(I*g),Q)for(C=0;C<I;C++)for(e=C,i=0;i<g;i++,e+=I)a[e]=A[E++];else for(C=0;C<I;C++)for(e=C,i=0;i<g;i++,e+=I)a[E++]=A[e];return a}},B=function(A,I,g){this.val=A,this.left=I,this.right=g};return{decode:function(A,I){var B=(I=I||{}).noDataValue,Q=0,C={};if(C.ptr=I.inputOffset||0,C.pixels={},g.readHeaderInfo(A,C)){var E=C.headerInfo,i=E.fileVersion,e=g.getDataTypeArray(E.imageType);if(i>5)throw"unsupported lerc version 2."+i;g.readMask(A,C),E.numValidPixel===E.width*E.height||C.pixels.resultMask||(C.pixels.resultMask=I.maskData);var a=E.width*E.height;C.pixels.resultPixels=new e(a*E.numDims),C.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o,t=!I.returnPixelInterleavedDims;if(0!==E.numValidPixel)if(E.zMax===E.zMin)g.constructConstantSurface(C,t);else if(i>=4&&g.checkMinMaxRanges(A,C))g.constructConstantSurface(C,t);else{var s=new DataView(A,C.ptr,2),r=s.getUint8(0);if(C.ptr++,r)g.readDataOneSweep(A,C,e,t);else if(i>1&&E.imageType<=1&&Math.abs(E.maxZError-.5)<1e-5){var D=s.getUint8(1);if(C.ptr++,C.encodeMode=D,D>2||i<4&&D>1)throw"Invalid Huffman flag "+D;D?g.readHuffman(A,C,e,t):g.readTiles(A,C,e,t)}else g.readTiles(A,C,e,t)}C.eofOffset=C.ptr,I.inputOffset?(o=C.headerInfo.blobSize+I.inputOffset-C.ptr,Math.abs(o)>=1&&(C.eofOffset=I.inputOffset+C.headerInfo.blobSize)):(o=C.headerInfo.blobSize-C.ptr,Math.abs(o)>=1&&(C.eofOffset=C.headerInfo.blobSize));var n={width:E.width,height:E.height,pixelData:C.pixels.resultPixels,minValue:E.zMin,maxValue:E.zMax,validPixelCount:E.numValidPixel,dimCount:E.numDims,dimStats:{minValues:E.minValues,maxValues:E.maxValues},maskData:C.pixels.resultMask};if(C.pixels.resultMask&&g.isValidPixelValue(E.imageType,B)){var w=C.pixels.resultMask;for(Q=0;Q<a;Q++)w[Q]||(n.pixelData[Q]=B);n.noDataValue=B}return C.noDataValue=B,I.returnFileInfo&&(n.fileInfo=g.formatFileInfo(C)),n}},getBandCount:function(A){for(var I=0,B=0,Q={ptr:0,pixels:{}};B<A.byteLength-58;)g.readHeaderInfo(A,Q),B+=Q.headerInfo.blobSize,I++,Q.ptr=B;return I}}}(),a=new ArrayBuffer(4),o=new Uint8Array(a),new Uint32Array(a)[0]=1,r=1===o[0],D={decode:function(A,I){if(!r)throw"Big endian system is not supported.";var g,B,Q=(I=I||{}).inputOffset||0,C=new Uint8Array(A,Q,10),E=String.fromCharCode.apply(null,C);if("CntZImage"===E.trim())g=t,B=1;else{if("Lerc2"!==E.substring(0,5))throw"Unexpected file identifier string: "+E;g=s,B=2}for(var i,e,a,o,D,n,w=0,h=A.byteLength-10,f=[],G={width:0,height:0,pixels:[],pixelType:I.pixelType,mask:null,statistics:[]},y=0;Q<h;){var F=g.decode(A,{inputOffset:Q,encodedMaskData:i,maskData:a,returnMask:0===w,returnEncodedMask:0===w,returnFileInfo:!0,returnPixelInterleavedDims:I.returnPixelInterleavedDims,pixelType:I.pixelType||null,noDataValue:I.noDataValue||null});Q=F.fileInfo.eofOffset,a=F.maskData,0===w&&(i=F.encodedMaskData,G.width=F.width,G.height=F.height,G.dimCount=F.dimCount||1,G.pixelType=F.pixelType||F.fileInfo.pixelType,G.mask=a),B>1&&(a&&f.push(a),F.fileInfo.mask&&F.fileInfo.mask.numBytes>0&&y++),w++,G.pixels.push(F.pixelData),G.statistics.push({minValue:F.minValue,maxValue:F.maxValue,noDataValue:F.noDataValue,dimStats:F.dimStats})}if(B>1&&y>1){for(n=G.width*G.height,G.bandMasks=f,(a=new Uint8Array(n)).set(f[0]),o=1;o<f.length;o++)for(e=f[o],D=0;D<n;D++)a[D]=a[D]&e[D];G.maskData=a}return G}},void 0===(g=function(){return D}.apply(I,[]))||(A.exports=g)}}]);
|
|
1
|
+
/*! For license information please see 27.6ee794baeb00791424c2.js.LICENSE.txt */
|
|
2
|
+
(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[27],{71027:(A,I,g)=>{"use strict";g.r(I),g.d(I,{default:()=>D,zstd:()=>r});var B=g(67341),Q=g(92322),C=g.n(Q);let E,i,e;const a={env:{emscripten_notify_memory_growth:function(A){e=new Uint8Array(i.exports.memory.buffer)}}},o="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdBKGogACgCBBATQQAhBCAHQeAAaiEMIAdB5ABqIQoDQCAHQShqEARBAksgBCAXTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEJIAcoAkggBygCREEDdGopAgAiH0IgiKchCCAeQiCIISAgHUIgiKchAgJAIB9CEIinQf8BcSIDQQJPBEACQCAGRSADQRlJckUEQCAIIAdBKGogA0EgIAcoAixrIg0gDSADSxsiDRAFIAMgDWsiA3RqIQggB0EoahAEGiADRQ0BIAdBKGogAxAFIAhqIQgMAQsgB0EoaiADEAUgCGohCCAHQShqEAQaCyAHKQJUISEgByAINgJUIAcgITcDWAwBCwJAIANFBEAgAgRAIAcoAlQhCAwDCyAHKAJYIQgMAQsCQAJAIAdBKGpBARAFIAggAkVqaiIDQQNGBEAgBygCVEF/aiIDIANFaiEIDAELIANBAnQgB2ooAlQiCCAIRWohCCADQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAg2AlQLICCnIQMgCQRAIAdBKGogCRAFIANqIQMLIAkgC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgAmohAgsgB0EoahAEGiAHIAcoAmggAmoiCSADajYCaCAKIAwgCCAJSxsoAgAhDSAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogB0EoaiAfQhiIp0H/AXEQCCEOIAdB8ABqIARBBHRqIgsgCSANaiAIazYCDCALIAg2AgggCyADNgIEIAsgAjYCACAHIA4gH6dB//8DcWo2AkQgBEEBaiEEDAELCyAEIBdIDQEgEkFgaiEYIAdB4ABqIRogB0HkAGohGyABIQMDQCAHQShqEARBAksgBCAFTnJFBEAgBygCQCAHKAI8QQN0aikCACIdQhCIp0H/AXEhCyAHKAJQIAcoAkxBA3RqKQIAIh5CEIinQf8BcSEIIAcoAkggBygCREEDdGopAgAiH0IgiKchCSAeQiCIISAgHUIgiKchDAJAIB9CEIinQf8BcSICQQJPBEACQCAGRSACQRlJckUEQCAJIAdBKGogAkEgIAcoAixrIgogCiACSxsiChAFIAIgCmsiAnRqIQkgB0EoahAEGiACRQ0BIAdBKGogAhAFIAlqIQkMAQsgB0EoaiACEAUgCWohCSAHQShqEAQaCyAHKQJUISEgByAJNgJUIAcgITcDWAwBCwJAIAJFBEAgDARAIAcoAlQhCQwDCyAHKAJYIQkMAQsCQAJAIAdBKGpBARAFIAkgDEVqaiICQQNGBEAgBygCVEF/aiICIAJFaiEJDAELIAJBAnQgB2ooAlQiCSAJRWohCSACQQFGDQELIAcgBygCWDYCXAsLIAcgBygCVDYCWCAHIAk2AlQLICCnIRQgCARAIAdBKGogCBAFIBRqIRQLIAggC2pBFE8EQCAHQShqEAQaCyALBEAgB0EoaiALEAUgDGohDAsgB0EoahAEGiAHIAcoAmggDGoiGSAUajYCaCAbIBogCSAZSxsoAgAhHCAHIAdBKGogHUIYiKdB/wFxEAggHadB//8DcWo2AjwgByAHQShqIB5CGIinQf8BcRAIIB6nQf//A3FqNgJMIAdBKGoQBBogByAHQShqIB9CGIinQf8BcRAIIB+nQf//A3FqNgJEIAcgB0HwAGogBEEDcUEEdGoiDSkDCCIdNwPIASAHIA0pAwAiHjcDwAECQAJAAkAgBygCvAEiDiAepyICaiIWIBNLDQAgAyAHKALEASIKIAJqIgtqIBhLDQAgEiADayALQSBqTw0BCyAHIAcpA8gBNwMQIAcgBykDwAE3AwggAyASIAdBCGogB0G8AWogEyAPIBUgERAeIQsMAQsgAiADaiEIIAMgDhAHIAJBEU8EQCADQRBqIQIDQCACIA5BEGoiDhAHIAJBEGoiAiAISQ0ACwsgCCAdpyIOayECIAcgFjYCvAEgDiAIIA9rSwRAIA4gCCAVa0sEQEFsIQsMAgsgESACIA9rIgJqIhYgCmogEU0EQCAIIBYgChAPGgwCCyAIIBZBACACaxAPIQggByACIApqIgo2AsQBIAggAmshCCAPIQILIA5BEE8EQCAIIApqIQoDQCAIIAIQByACQRBqIQIgCEEQaiIIIApJDQALDAELAkAgDkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgDkECdCIKQcAeaigCAGoiAhAXIAIgCkHgHmooAgBrIQIgBygCxAEhCgwBCyAIIAIQDAsgCkEJSQ0AIAggCmohCiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAKSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAKSQ0ACwsgCxADBEAgCyEQDAQFIA0gDDYCACANIBkgHGogCWs2AgwgDSAJNgIIIA0gFDYCBCAEQQFqIQQgAyALaiEDDAILAAsLIAQgBUgNASAEIBdrIQtBACEEA0AgCyAFSARAIAcgB0HwAGogC0EDcUEEdGoiAikDCCIdNwPIASAHIAIpAwAiHjcDwAECQAJAAkAgBygCvAEiDCAepyICaiIKIBNLDQAgAyAHKALEASIJIAJqIhBqIBhLDQAgEiADayAQQSBqTw0BCyAHIAcpA8gBNwMgIAcgBykDwAE3AxggAyASIAdBGGogB0G8AWogEyAPIBUgERAeIRAMAQsgAiADaiEIIAMgDBAHIAJBEU8EQCADQRBqIQIDQCACIAxBEGoiDBAHIAJBEGoiAiAISQ0ACwsgCCAdpyIGayECIAcgCjYCvAEgBiAIIA9rSwRAIAYgCCAVa0sEQEFsIRAMAgsgESACIA9rIgJqIgwgCWogEU0EQCAIIAwgCRAPGgwCCyAIIAxBACACaxAPIQggByACIAlqIgk2AsQBIAggAmshCCAPIQILIAZBEE8EQCAIIAlqIQYDQCAIIAIQByACQRBqIQIgCEEQaiIIIAZJDQALDAELAkAgBkEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgBkECdCIGQcAeaigCAGoiAhAXIAIgBkHgHmooAgBrIQIgBygCxAEhCQwBCyAIIAIQDAsgCUEJSQ0AIAggCWohBiAIQQhqIgggAkEIaiICa0EPTARAA0AgCCACEAwgAkEIaiECIAhBCGoiCCAGSQ0ADAIACwALA0AgCCACEAcgAkEQaiECIAhBEGoiCCAGSQ0ACwsgEBADDQMgC0EBaiELIAMgEGohAwwBCwsDQCAEQQNHBEAgACAEQQJ0IgJqQazQAWogAiAHaigCVDYCACAEQQFqIQQMAQsLIAcoArwBIQgLQbp/IRAgEyAIayIAIBIgA2tLDQAgAwR/IAMgCCAAEAsgAGoFQQALIAFrIRALIAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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";var t=g(74660),s=g(74244);const r=new class{init(){return E||(E="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+o).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,a)).then(this._init):WebAssembly.instantiate(Buffer.from(o,"base64"),a).then(this._init),E)}_init(A){i=A.instance,a.env.emscripten_notify_memory_growth(0)}decode(A,I=0){if(!i)throw new Error("ZSTDDecoder: Await .init() before decoding.");const g=A.byteLength,B=i.exports.malloc(g);e.set(A,B),I=I||Number(i.exports.ZSTD_findDecompressedSize(B,g));const Q=i.exports.malloc(I),C=i.exports.ZSTD_decompress(Q,I,B,g),E=e.slice(Q,Q+C);return i.exports.free(B),i.exports.free(Q),E}};class D extends t.A{constructor(A){super(),this.planarConfiguration=void 0!==A.PlanarConfiguration?A.PlanarConfiguration:1,this.samplesPerPixel=void 0!==A.SamplesPerPixel?A.SamplesPerPixel:1,this.addCompression=A.LercParameters[s.TZ.AddCompression]}decodeBlock(A){switch(this.addCompression){case s.S3.None:break;case s.S3.Deflate:A=(0,B.UD)(new Uint8Array(A)).buffer;break;case s.S3.Zstandard:A=r.decode(new Uint8Array(A)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return C().decode(A,{returnPixelInterleavedDims:1===this.planarConfiguration}).pixels[0].buffer}}},92322:(A,I)=>{var g,B,Q,C,E,i,e,a,o,t,s,r,D;B={defaultNoDataValue:-34027999387901484e22,decode:function(A,I){var g=(I=I||{}).encodedMaskData||null===I.encodedMaskData,e=i(A,I.inputOffset||0,g),a=null!==I.noDataValue?I.noDataValue:B.defaultNoDataValue,o=Q(e,I.pixelType||Float32Array,I.encodedMaskData,a,I.returnMask),t={width:e.width,height:e.height,pixelData:o.resultPixels,minValue:o.minValue,maxValue:e.pixels.maxValue,noDataValue:a};return o.resultMask&&(t.maskData=o.resultMask),I.returnEncodedMask&&e.mask&&(t.encodedMaskData=e.mask.bitset?e.mask.bitset:null),I.returnFileInfo&&(t.fileInfo=C(e),I.computeUsedBitDepths&&(t.fileInfo.bitDepths=E(e))),t}},Q=function(A,I,g,B,Q){var C,E,i,a=0,o=A.pixels.numBlocksX,t=A.pixels.numBlocksY,s=Math.floor(A.width/o),r=Math.floor(A.height/t),D=2*A.maxZError,n=Number.MAX_VALUE;g=g||(A.mask?A.mask.bitset:null),E=new I(A.width*A.height),Q&&g&&(i=new Uint8Array(A.width*A.height));for(var w,h,f=new Float32Array(s*r),G=0;G<=t;G++){var y=G!==t?r:A.height%t;if(0!==y)for(var F=0;F<=o;F++){var l=F!==o?s:A.width%o;if(0!==l){var k,c,U,S,d=G*A.width*r+F*s,R=A.width-l,M=A.pixels.blocks[a];if(M.encoding<2?(0===M.encoding?k=M.rawData:(e(M.stuffedData,M.bitsPerPixel,M.numValidPixels,M.offset,D,f,A.pixels.maxValue),k=f),c=0):U=2===M.encoding?0:M.offset,g)for(h=0;h<y;h++){for(7&d&&(S=g[d>>3],S<<=7&d),w=0;w<l;w++)7&d||(S=g[d>>3]),128&S?(i&&(i[d]=1),n=n>(C=M.encoding<2?k[c++]:U)?C:n,E[d++]=C):(i&&(i[d]=0),E[d++]=B),S<<=1;d+=R}else if(M.encoding<2)for(h=0;h<y;h++){for(w=0;w<l;w++)n=n>(C=k[c++])?C:n,E[d++]=C;d+=R}else for(n=n>U?U:n,h=0;h<y;h++){for(w=0;w<l;w++)E[d++]=U;d+=R}if(1===M.encoding&&c!==M.numValidPixels)throw"Block and Mask do not match";a++}}}return{resultPixels:E,resultMask:i,minValue:n}},C=function(A){return{fileIdentifierString:A.fileIdentifierString,fileVersion:A.fileVersion,imageType:A.imageType,height:A.height,width:A.width,maxZError:A.maxZError,eofOffset:A.eofOffset,mask:A.mask?{numBlocksX:A.mask.numBlocksX,numBlocksY:A.mask.numBlocksY,numBytes:A.mask.numBytes,maxValue:A.mask.maxValue}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,numBytes:A.pixels.numBytes,maxValue:A.pixels.maxValue,noDataValue:A.noDataValue}}},E=function(A){for(var I=A.pixels.numBlocksX*A.pixels.numBlocksY,g={},B=0;B<I;B++){var Q=A.pixels.blocks[B];0===Q.encoding?g.float32=!0:1===Q.encoding?g[Q.bitsPerPixel]=!0:g[0]=!0}return Object.keys(g)},i=function(A,I,g){var B={},Q=new Uint8Array(A,I,10);if(B.fileIdentifierString=String.fromCharCode.apply(null,Q),"CntZImage"!==B.fileIdentifierString.trim())throw"Unexpected file identifier string: "+B.fileIdentifierString;I+=10;var C=new DataView(A,I,24);if(B.fileVersion=C.getInt32(0,!0),B.imageType=C.getInt32(4,!0),B.height=C.getUint32(8,!0),B.width=C.getUint32(12,!0),B.maxZError=C.getFloat64(16,!0),I+=24,!g)if(C=new DataView(A,I,16),B.mask={},B.mask.numBlocksY=C.getUint32(0,!0),B.mask.numBlocksX=C.getUint32(4,!0),B.mask.numBytes=C.getUint32(8,!0),B.mask.maxValue=C.getFloat32(12,!0),I+=16,B.mask.numBytes>0){var E=new Uint8Array(Math.ceil(B.width*B.height/8)),i=(C=new DataView(A,I,B.mask.numBytes)).getInt16(0,!0),e=2,a=0;do{if(i>0)for(;i--;)E[a++]=C.getUint8(e++);else{var o=C.getUint8(e++);for(i=-i;i--;)E[a++]=o}i=C.getInt16(e,!0),e+=2}while(e<B.mask.numBytes);if(-32768!==i||a<E.length)throw"Unexpected end of mask RLE encoding";B.mask.bitset=E,I+=B.mask.numBytes}else 0===(B.mask.numBytes|B.mask.numBlocksY|B.mask.maxValue)&&(B.mask.bitset=new Uint8Array(Math.ceil(B.width*B.height/8)));C=new DataView(A,I,16),B.pixels={},B.pixels.numBlocksY=C.getUint32(0,!0),B.pixels.numBlocksX=C.getUint32(4,!0),B.pixels.numBytes=C.getUint32(8,!0),B.pixels.maxValue=C.getFloat32(12,!0),I+=16;var t=B.pixels.numBlocksX,s=B.pixels.numBlocksY,r=t+(B.width%t>0?1:0),D=s+(B.height%s>0?1:0);B.pixels.blocks=new Array(r*D);for(var n=0,w=0;w<D;w++)for(var h=0;h<r;h++){var f=0,G=A.byteLength-I;C=new DataView(A,I,Math.min(10,G));var y={};B.pixels.blocks[n++]=y;var F=C.getUint8(0);if(f++,y.encoding=63&F,y.encoding>3)throw"Invalid block encoding ("+y.encoding+")";if(2!==y.encoding){if(0!==F&&2!==F){if(F>>=6,y.offsetType=F,2===F)y.offset=C.getInt8(1),f++;else if(1===F)y.offset=C.getInt16(1,!0),f+=2;else{if(0!==F)throw"Invalid block offset type";y.offset=C.getFloat32(1,!0),f+=4}if(1===y.encoding)if(F=C.getUint8(f),f++,y.bitsPerPixel=63&F,F>>=6,y.numValidPixelsType=F,2===F)y.numValidPixels=C.getUint8(f),f++;else if(1===F)y.numValidPixels=C.getUint16(f,!0),f+=2;else{if(0!==F)throw"Invalid valid pixel count type";y.numValidPixels=C.getUint32(f,!0),f+=4}}var l;if(I+=f,3!==y.encoding)if(0===y.encoding){var k=(B.pixels.numBytes-1)/4;if(k!==Math.floor(k))throw"uncompressed block has invalid length";l=new ArrayBuffer(4*k),new Uint8Array(l).set(new Uint8Array(A,I,4*k));var c=new Float32Array(l);y.rawData=c,I+=4*k}else if(1===y.encoding){var U=Math.ceil(y.numValidPixels*y.bitsPerPixel/8),S=Math.ceil(U/4);l=new ArrayBuffer(4*S),new Uint8Array(l).set(new Uint8Array(A,I,U)),y.stuffedData=new Uint32Array(l),I+=U}}else I++}return B.eofOffset=I,B},e=function(A,I,g,B,Q,C,E){var i,e,a,o=(1<<I)-1,t=0,s=0,r=Math.ceil((E-B)/Q),D=4*A.length-Math.ceil(I*g/8);for(A[A.length-1]<<=8*D,i=0;i<g;i++){if(0===s&&(a=A[t++],s=32),s>=I)e=a>>>s-I&o,s-=I;else{var n=I-s;e=(a&o)<<n&o,e+=(a=A[t++])>>>(s=32-n)}C[i]=e<r?B+e*Q:E}return C},t=B,s=function(){"use strict";var A=function(A,I,g,B,Q,C,E,i){var e,a,o,t,s,r=(1<<g)-1,D=0,n=0,w=4*A.length-Math.ceil(g*B/8);if(A[A.length-1]<<=8*w,Q)for(e=0;e<B;e++)0===n&&(o=A[D++],n=32),n>=g?(a=o>>>n-g&r,n-=g):(a=(o&r)<<(t=g-n)&r,a+=(o=A[D++])>>>(n=32-t)),I[e]=Q[a];else for(s=Math.ceil((i-C)/E),e=0;e<B;e++)0===n&&(o=A[D++],n=32),n>=g?(a=o>>>n-g&r,n-=g):(a=(o&r)<<(t=g-n)&r,a+=(o=A[D++])>>>(n=32-t)),I[e]=a<s?C+a*E:i},I=function(A,I,g,B,Q,C,E,i){var e,a,o,t,s=(1<<g)-1,r=0,D=0,n=0;if(Q)for(e=0;e<B;e++)0===D&&(o=A[r++],D=32,n=0),D>=g?(a=o>>>n&s,D-=g,n+=g):(a=o>>>n&s,D=32-(t=g-D),a|=((o=A[r++])&(1<<t)-1)<<g-t,n=t),I[e]=Q[a];else{var w=Math.ceil((i-C)/E);for(e=0;e<B;e++)0===D&&(o=A[r++],D=32,n=0),D>=g?(a=o>>>n&s,D-=g,n+=g):(a=o>>>n&s,D=32-(t=g-D),a|=((o=A[r++])&(1<<t)-1)<<g-t,n=t),I[e]=a<w?C+a*E:i}return I},g={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var I=65535,g=65535,B=A.length,Q=Math.floor(B/2),C=0;Q;){var E=Q>=359?359:Q;Q-=E;do{I+=A[C++]<<8,g+=I+=A[C++]}while(--E);I=(65535&I)+(I>>>16),g=(65535&g)+(g>>>16)}return 1&B&&(g+=I+=A[C]<<8),((g=(65535&g)+(g>>>16))<<16|(I=(65535&I)+(I>>>16)))>>>0},readHeaderInfo:function(A,I){var g=I.ptr,B=new Uint8Array(A,g,6),Q={};if(Q.fileIdentifierString=String.fromCharCode.apply(null,B),0!==Q.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+Q.fileIdentifierString;g+=6;var C,E=new DataView(A,g,8),i=E.getInt32(0,!0);if(Q.fileVersion=i,g+=4,i>=3&&(Q.checksum=E.getUint32(4,!0),g+=4),E=new DataView(A,g,12),Q.height=E.getUint32(0,!0),Q.width=E.getUint32(4,!0),g+=8,i>=4?(Q.numDims=E.getUint32(8,!0),g+=4):Q.numDims=1,E=new DataView(A,g,40),Q.numValidPixel=E.getUint32(0,!0),Q.microBlockSize=E.getInt32(4,!0),Q.blobSize=E.getInt32(8,!0),Q.imageType=E.getInt32(12,!0),Q.maxZError=E.getFloat64(16,!0),Q.zMin=E.getFloat64(24,!0),Q.zMax=E.getFloat64(32,!0),g+=40,I.headerInfo=Q,I.ptr=g,i>=3&&(C=i>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,g-C,Q.blobSize-14))!==Q.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,I){var g=I.headerInfo,B=this.getDataTypeArray(g.imageType),Q=g.numDims*this.getDataTypeSize(g.imageType),C=this.readSubArray(A,I.ptr,B,Q),E=this.readSubArray(A,I.ptr+Q,B,Q);I.ptr+=2*Q;var i,e=!0;for(i=0;i<g.numDims;i++)if(C[i]!==E[i]){e=!1;break}return g.minValues=C,g.maxValues=E,e},readSubArray:function(A,I,g,B){var Q;if(g===Uint8Array)Q=new Uint8Array(A,I,B);else{var C=new ArrayBuffer(B);new Uint8Array(C).set(new Uint8Array(A,I,B)),Q=new g(C)}return Q},readMask:function(A,I){var g,B,Q=I.ptr,C=I.headerInfo,E=C.width*C.height,i=C.numValidPixel,e=new DataView(A,Q,4),a={};if(a.numBytes=e.getUint32(0,!0),Q+=4,(0===i||E===i)&&0!==a.numBytes)throw"invalid mask";if(0===i)g=new Uint8Array(Math.ceil(E/8)),a.bitset=g,B=new Uint8Array(E),I.pixels.resultMask=B,Q+=a.numBytes;else if(a.numBytes>0){g=new Uint8Array(Math.ceil(E/8));var o=(e=new DataView(A,Q,a.numBytes)).getInt16(0,!0),t=2,s=0,r=0;do{if(o>0)for(;o--;)g[s++]=e.getUint8(t++);else for(r=e.getUint8(t++),o=-o;o--;)g[s++]=r;o=e.getInt16(t,!0),t+=2}while(t<a.numBytes);if(-32768!==o||s<g.length)throw"Unexpected end of mask RLE encoding";B=new Uint8Array(E);var D=0,n=0;for(n=0;n<E;n++)7&n?(D=g[n>>3],D<<=7&n):D=g[n>>3],128&D&&(B[n]=1);I.pixels.resultMask=B,a.bitset=g,Q+=a.numBytes}return I.ptr=Q,I.mask=a,!0},readDataOneSweep:function(A,I,B,Q){var C,E=I.ptr,i=I.headerInfo,e=i.numDims,a=i.width*i.height,o=i.imageType,t=i.numValidPixel*g.getDataTypeSize(o)*e,s=I.pixels.resultMask;if(B===Uint8Array)C=new Uint8Array(A,E,t);else{var r=new ArrayBuffer(t);new Uint8Array(r).set(new Uint8Array(A,E,t)),C=new B(r)}if(C.length===a*e)I.pixels.resultPixels=Q?g.swapDimensionOrder(C,a,e,B,!0):C;else{I.pixels.resultPixels=new B(a*e);var D=0,n=0,w=0,h=0;if(e>1){if(Q){for(n=0;n<a;n++)if(s[n])for(h=n,w=0;w<e;w++,h+=a)I.pixels.resultPixels[h]=C[D++]}else for(n=0;n<a;n++)if(s[n])for(h=n*e,w=0;w<e;w++)I.pixels.resultPixels[h+w]=C[D++]}else for(n=0;n<a;n++)s[n]&&(I.pixels.resultPixels[n]=C[D++])}return E+=t,I.ptr=E,!0},readHuffmanTree:function(A,I){var Q=this.HUFFMAN_LUT_BITS_MAX,C=new DataView(A,I.ptr,16);if(I.ptr+=16,C.getInt32(0,!0)<2)throw"unsupported Huffman version";var E=C.getInt32(4,!0),i=C.getInt32(8,!0),e=C.getInt32(12,!0);if(i>=e)return!1;var a=new Uint32Array(e-i);g.decodeBits(A,I,a);var o,t,s,r,D=[];for(o=i;o<e;o++)D[t=o-(o<E?0:E)]={first:a[o-i],second:null};var n=A.byteLength-I.ptr,w=Math.ceil(n/4),h=new ArrayBuffer(4*w);new Uint8Array(h).set(new Uint8Array(A,I.ptr,n));var f,G=new Uint32Array(h),y=0,F=0;for(f=G[0],o=i;o<e;o++)(r=D[t=o-(o<E?0:E)].first)>0&&(D[t].second=f<<y>>>32-r,32-y>=r?32===(y+=r)&&(y=0,f=G[++F]):(y+=r-32,f=G[++F],D[t].second|=f>>>32-y));var l,k=0,c=new B;for(o=0;o<D.length;o++)void 0!==D[o]&&(k=Math.max(k,D[o].first));l=k>=Q?Q:k;var U,S,d,R,M,L=[];for(o=i;o<e;o++)if((r=D[t=o-(o<E?0:E)].first)>0)if(U=[r,t],r<=l)for(S=D[t].second<<l-r,d=1<<l-r,s=0;s<d;s++)L[S|s]=U;else for(S=D[t].second,M=c,R=r-1;R>=0;R--)S>>>R&1?(M.right||(M.right=new B),M=M.right):(M.left||(M.left=new B),M=M.left),0!==R||M.val||(M.val=U[1]);return{decodeLut:L,numBitsLUTQick:l,numBitsLUT:k,tree:c,stuffedData:G,srcPtr:F,bitPos:y}},readHuffman:function(A,I,B,Q){var C,E,i,e,a,o,t,s,r,D=I.headerInfo.numDims,n=I.headerInfo.height,w=I.headerInfo.width,h=w*n,f=this.readHuffmanTree(A,I),G=f.decodeLut,y=f.tree,F=f.stuffedData,l=f.srcPtr,k=f.bitPos,c=f.numBitsLUTQick,U=f.numBitsLUT,S=0===I.headerInfo.imageType?128:0,d=I.pixels.resultMask,R=0;k>0&&(l++,k=0);var M,L=F[l],N=1===I.encodeMode,J=new B(h*D),u=J;if(D<2||N){for(M=0;M<D;M++)if(D>1&&(u=new B(J.buffer,h*M,h),R=0),I.headerInfo.numValidPixel===w*n)for(s=0,o=0;o<n;o++)for(t=0;t<w;t++,s++){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,N?(i+=t>0?R:o>0?u[s-w]:R,i&=255,u[s]=i,R=i):u[s]=i}else for(s=0,o=0;o<n;o++)for(t=0;t<w;t++,s++)if(d[s]){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,N?(t>0&&d[s-1]?i+=R:o>0&&d[s-w]?i+=u[s-w]:i+=R,i&=255,u[s]=i,R=i):u[s]=i}}else for(s=0,o=0;o<n;o++)for(t=0;t<w;t++)if(s=o*w+t,!d||d[s])for(M=0;M<D;M++,s+=h){if(E=0,a=e=L<<k>>>32-c,32-k<c&&(a=e|=F[l+1]>>>64-k-c),G[a])E=G[a][1],k+=G[a][0];else for(a=e=L<<k>>>32-U,32-k<U&&(a=e|=F[l+1]>>>64-k-U),C=y,r=0;r<U;r++)if(!(C=e>>>U-r-1&1?C.right:C.left).left&&!C.right){E=C.val,k=k+r+1;break}k>=32&&(k-=32,L=F[++l]),i=E-S,u[s]=i}I.ptr=I.ptr+4*(l+1)+(k>0?4:0),I.pixels.resultPixels=J,D>1&&!Q&&(I.pixels.resultPixels=g.swapDimensionOrder(J,h,D,B))},decodeBits:function(g,B,Q,C,E){var i=B.headerInfo,e=i.fileVersion,a=0,o=g.byteLength-B.ptr>=5?5:g.byteLength-B.ptr,t=new DataView(g,B.ptr,o),s=t.getUint8(0);a++;var r=s>>6,D=0===r?4:3-r,n=(32&s)>0,w=31&s,h=0;if(1===D)h=t.getUint8(a),a++;else if(2===D)h=t.getUint16(a,!0),a+=2;else{if(4!==D)throw"Invalid valid pixel count type";h=t.getUint32(a,!0),a+=4}var f,G,y,F,l,k,c,U,S,d=2*i.maxZError,R=i.numDims>1?i.maxValues[E]:i.zMax;if(n){for(B.counter.lut++,U=t.getUint8(a),a++,F=Math.ceil((U-1)*w/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),y=new Uint8Array(G),B.ptr+=a,y.set(new Uint8Array(g,B.ptr,F)),c=new Uint32Array(G),B.ptr+=F,S=0;U-1>>>S;)S++;F=Math.ceil(h*S/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),(y=new Uint8Array(G)).set(new Uint8Array(g,B.ptr,F)),f=new Uint32Array(G),B.ptr+=F,k=e>=3?function(A,I,g,B,Q,C){var E,i=(1<<I)-1,e=0,a=0,o=0,t=0,s=0,r=0,D=[],n=Math.ceil((C-B)/Q);for(a=0;a<g;a++)0===t&&(E=A[e++],t=32,r=0),t>=I?(s=E>>>r&i,t-=I,r+=I):(s=E>>>r&i,t=32-(o=I-t),s|=((E=A[e++])&(1<<o)-1)<<I-o,r=o),D[a]=s<n?B+s*Q:C;return D.unshift(B),D}(c,w,U-1,C,d,R):function(A,I,g,B,Q,C){var E,i=(1<<I)-1,e=0,a=0,o=0,t=0,s=0,r=[],D=4*A.length-Math.ceil(I*g/8);A[A.length-1]<<=8*D;var n=Math.ceil((C-B)/Q);for(a=0;a<g;a++)0===t&&(E=A[e++],t=32),t>=I?(s=E>>>t-I&i,t-=I):(s=(E&i)<<(o=I-t)&i,s+=(E=A[e++])>>>(t=32-o)),r[a]=s<n?B+s*Q:C;return r.unshift(B),r}(c,w,U-1,C,d,R),e>=3?I(f,Q,S,h,k):A(f,Q,S,h,k)}else B.counter.bitstuffer++,S=w,B.ptr+=a,S>0&&(F=Math.ceil(h*S/8),l=Math.ceil(F/4),G=new ArrayBuffer(4*l),(y=new Uint8Array(G)).set(new Uint8Array(g,B.ptr,F)),f=new Uint32Array(G),B.ptr+=F,e>=3?null==C?function(A,I,g,B){var Q,C,E,i,e=(1<<g)-1,a=0,o=0,t=0;for(Q=0;Q<B;Q++)0===o&&(E=A[a++],o=32,t=0),o>=g?(C=E>>>t&e,o-=g,t+=g):(C=E>>>t&e,o=32-(i=g-o),C|=((E=A[a++])&(1<<i)-1)<<g-i,t=i),I[Q]=C}(f,Q,S,h):I(f,Q,S,h,!1,C,d,R):null==C?function(A,I,g,B){var Q,C,E,i,e=(1<<g)-1,a=0,o=0,t=4*A.length-Math.ceil(g*B/8);for(A[A.length-1]<<=8*t,Q=0;Q<B;Q++)0===o&&(E=A[a++],o=32),o>=g?(C=E>>>o-g&e,o-=g):(C=(E&e)<<(i=g-o)&e,C+=(E=A[a++])>>>(o=32-i)),I[Q]=C}(f,Q,S,h):A(f,Q,S,h,!1,C,d,R))},readTiles:function(A,I,B,Q){var C=I.headerInfo,E=C.width,i=C.height,e=E*i,a=C.microBlockSize,o=C.imageType,t=g.getDataTypeSize(o),s=Math.ceil(E/a),r=Math.ceil(i/a);I.pixels.numBlocksY=r,I.pixels.numBlocksX=s,I.pixels.ptr=0;var D,n,w,h,f,G,y,F,l,k,c=0,U=0,S=0,d=0,R=0,M=0,L=0,N=0,J=0,u=0,q=0,Y=0,m=0,p=0,x=0,H=new B(a*a),K=i%a||a,V=E%a||a,b=C.numDims,O=I.pixels.resultMask,v=I.pixels.resultPixels,X=C.fileVersion>=5?14:15,P=C.zMax;for(S=0;S<r;S++)for(R=S!==r-1?a:K,d=0;d<s;d++)for(u=S*E*a+d*a,q=E-(M=d!==s-1?a:V),F=0;F<b;F++){if(b>1?(k=v,u=S*E*a+d*a,v=new B(I.pixels.resultPixels.buffer,e*F*t,e),P=C.maxValues[F]):k=null,L=A.byteLength-I.ptr,n={},x=0,N=(D=new DataView(A,I.ptr,Math.min(10,L))).getUint8(0),x++,l=C.fileVersion>=5?4&N:0,J=N>>6&255,(N>>2&X)!=(d*a>>3&X))throw"integrity issue";if(l&&0===F)throw"integrity issue";if((f=3&N)>3)throw I.ptr+=x,"Invalid block encoding ("+f+")";if(2!==f)if(0===f){if(l)throw"integrity issue";if(I.counter.uncompressed++,I.ptr+=x,Y=(Y=R*M*t)<(m=A.byteLength-I.ptr)?Y:m,w=new ArrayBuffer(Y%t===0?Y:Y+t-Y%t),new Uint8Array(w).set(new Uint8Array(A,I.ptr,Y)),h=new B(w),p=0,O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=h[p++]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u++]=h[p++];u+=q}I.ptr+=p*t}else if(G=g.getDataTypeUsed(l&&o<6?4:o,J),y=g.getOnePixel(n,x,G,D),x+=g.getDataTypeSize(G),3===f)if(I.ptr+=x,I.counter.constantoffset++,O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=l?Math.min(P,k[u]+y):y),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u]=l?Math.min(P,k[u]+y):y,u++;u+=q}else if(I.ptr+=x,g.decodeBits(A,I,H,y,F),x=0,l)if(O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=H[x++]+k[u]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u]=H[x++]+k[u],u++;u+=q}else if(O)for(c=0;c<R;c++){for(U=0;U<M;U++)O[u]&&(v[u]=H[x++]),u++;u+=q}else for(c=0;c<R;c++){for(U=0;U<M;U++)v[u++]=H[x++];u+=q}else{if(l)if(O)for(c=0;c<R;c++)for(U=0;U<M;U++)O[u]&&(v[u]=k[u]),u++;else for(c=0;c<R;c++)for(U=0;U<M;U++)v[u]=k[u],u++;I.counter.constant++,I.ptr+=x}}b>1&&!Q&&(I.pixels.resultPixels=g.swapDimensionOrder(I.pixels.resultPixels,e,b,B))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:g.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,I){var g=A.headerInfo.zMax,B=A.headerInfo.zMin,Q=A.headerInfo.maxValues,C=A.headerInfo.numDims,E=A.headerInfo.height*A.headerInfo.width,i=0,e=0,a=0,o=A.pixels.resultMask,t=A.pixels.resultPixels;if(o)if(C>1){if(I)for(i=0;i<C;i++)for(a=i*E,g=Q[i],e=0;e<E;e++)o[e]&&(t[a+e]=g);else for(e=0;e<E;e++)if(o[e])for(a=e*C,i=0;i<C;i++)t[a+C]=Q[i]}else for(e=0;e<E;e++)o[e]&&(t[e]=g);else if(C>1&&B!==g)if(I)for(i=0;i<C;i++)for(a=i*E,g=Q[i],e=0;e<E;e++)t[a+e]=g;else for(e=0;e<E;e++)for(a=e*C,i=0;i<C;i++)t[a+i]=Q[i];else for(e=0;e<E*C;e++)t[e]=g},getDataTypeArray:function(A){var I;switch(A){case 0:I=Int8Array;break;case 1:I=Uint8Array;break;case 2:I=Int16Array;break;case 3:I=Uint16Array;break;case 4:I=Int32Array;break;case 5:I=Uint32Array;break;case 6:default:I=Float32Array;break;case 7:I=Float64Array}return I},getPixelType:function(A){var I;switch(A){case 0:I="S8";break;case 1:I="U8";break;case 2:I="S16";break;case 3:I="U16";break;case 4:I="S32";break;case 5:I="U32";break;case 6:default:I="F32";break;case 7:I="F64"}return I},isValidPixelValue:function(A,I){if(null==I)return!1;var g;switch(A){case 0:g=I>=-128&&I<=127;break;case 1:g=I>=0&&I<=255;break;case 2:g=I>=-32768&&I<=32767;break;case 3:g=I>=0&&I<=65536;break;case 4:g=I>=-2147483648&&I<=2147483647;break;case 5:g=I>=0&&I<=4294967296;break;case 6:g=I>=-34027999387901484e22&&I<=34027999387901484e22;break;case 7:g=I>=-17976931348623157e292&&I<=17976931348623157e292;break;default:g=!1}return g},getDataTypeSize:function(A){var I=0;switch(A){case 0:case 1:I=1;break;case 2:case 3:I=2;break;case 4:case 5:case 6:I=4;break;case 7:I=8;break;default:I=A}return I},getDataTypeUsed:function(A,I){var g=A;switch(A){case 2:case 4:g=A-I;break;case 3:case 5:g=A-2*I;break;case 6:g=0===I?A:1===I?2:1;break;case 7:g=0===I?A:A-2*I+1;break;default:g=A}return g},getOnePixel:function(A,I,g,B){var Q=0;switch(g){case 0:Q=B.getInt8(I);break;case 1:Q=B.getUint8(I);break;case 2:Q=B.getInt16(I,!0);break;case 3:Q=B.getUint16(I,!0);break;case 4:Q=B.getInt32(I,!0);break;case 5:Q=B.getUInt32(I,!0);break;case 6:Q=B.getFloat32(I,!0);break;case 7:Q=B.getFloat64(I,!0);break;default:throw"the decoder does not understand this pixel type"}return Q},swapDimensionOrder:function(A,I,g,B,Q){var C=0,E=0,i=0,e=0,a=A;if(g>1)if(a=new B(I*g),Q)for(C=0;C<I;C++)for(e=C,i=0;i<g;i++,e+=I)a[e]=A[E++];else for(C=0;C<I;C++)for(e=C,i=0;i<g;i++,e+=I)a[E++]=A[e];return a}},B=function(A,I,g){this.val=A,this.left=I,this.right=g};return{decode:function(A,I){var B=(I=I||{}).noDataValue,Q=0,C={};if(C.ptr=I.inputOffset||0,C.pixels={},g.readHeaderInfo(A,C)){var E=C.headerInfo,i=E.fileVersion,e=g.getDataTypeArray(E.imageType);if(i>5)throw"unsupported lerc version 2."+i;g.readMask(A,C),E.numValidPixel===E.width*E.height||C.pixels.resultMask||(C.pixels.resultMask=I.maskData);var a=E.width*E.height;C.pixels.resultPixels=new e(a*E.numDims),C.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o,t=!I.returnPixelInterleavedDims;if(0!==E.numValidPixel)if(E.zMax===E.zMin)g.constructConstantSurface(C,t);else if(i>=4&&g.checkMinMaxRanges(A,C))g.constructConstantSurface(C,t);else{var s=new DataView(A,C.ptr,2),r=s.getUint8(0);if(C.ptr++,r)g.readDataOneSweep(A,C,e,t);else if(i>1&&E.imageType<=1&&Math.abs(E.maxZError-.5)<1e-5){var D=s.getUint8(1);if(C.ptr++,C.encodeMode=D,D>2||i<4&&D>1)throw"Invalid Huffman flag "+D;D?g.readHuffman(A,C,e,t):g.readTiles(A,C,e,t)}else g.readTiles(A,C,e,t)}C.eofOffset=C.ptr,I.inputOffset?(o=C.headerInfo.blobSize+I.inputOffset-C.ptr,Math.abs(o)>=1&&(C.eofOffset=I.inputOffset+C.headerInfo.blobSize)):(o=C.headerInfo.blobSize-C.ptr,Math.abs(o)>=1&&(C.eofOffset=C.headerInfo.blobSize));var n={width:E.width,height:E.height,pixelData:C.pixels.resultPixels,minValue:E.zMin,maxValue:E.zMax,validPixelCount:E.numValidPixel,dimCount:E.numDims,dimStats:{minValues:E.minValues,maxValues:E.maxValues},maskData:C.pixels.resultMask};if(C.pixels.resultMask&&g.isValidPixelValue(E.imageType,B)){var w=C.pixels.resultMask;for(Q=0;Q<a;Q++)w[Q]||(n.pixelData[Q]=B);n.noDataValue=B}return C.noDataValue=B,I.returnFileInfo&&(n.fileInfo=g.formatFileInfo(C)),n}},getBandCount:function(A){for(var I=0,B=0,Q={ptr:0,pixels:{}};B<A.byteLength-58;)g.readHeaderInfo(A,Q),B+=Q.headerInfo.blobSize,I++,Q.ptr=B;return I}}}(),a=new ArrayBuffer(4),o=new Uint8Array(a),new Uint32Array(a)[0]=1,r=1===o[0],D={decode:function(A,I){if(!r)throw"Big endian system is not supported.";var g,B,Q=(I=I||{}).inputOffset||0,C=new Uint8Array(A,Q,10),E=String.fromCharCode.apply(null,C);if("CntZImage"===E.trim())g=t,B=1;else{if("Lerc2"!==E.substring(0,5))throw"Unexpected file identifier string: "+E;g=s,B=2}for(var i,e,a,o,D,n,w=0,h=A.byteLength-10,f=[],G={width:0,height:0,pixels:[],pixelType:I.pixelType,mask:null,statistics:[]},y=0;Q<h;){var F=g.decode(A,{inputOffset:Q,encodedMaskData:i,maskData:a,returnMask:0===w,returnEncodedMask:0===w,returnFileInfo:!0,returnPixelInterleavedDims:I.returnPixelInterleavedDims,pixelType:I.pixelType||null,noDataValue:I.noDataValue||null});Q=F.fileInfo.eofOffset,a=F.maskData,0===w&&(i=F.encodedMaskData,G.width=F.width,G.height=F.height,G.dimCount=F.dimCount||1,G.pixelType=F.pixelType||F.fileInfo.pixelType,G.mask=a),B>1&&(a&&f.push(a),F.fileInfo.mask&&F.fileInfo.mask.numBytes>0&&y++),w++,G.pixels.push(F.pixelData),G.statistics.push({minValue:F.minValue,maxValue:F.maxValue,noDataValue:F.noDataValue,dimStats:F.dimStats})}if(B>1&&y>1){for(n=G.width*G.height,G.bandMasks=f,(a=new Uint8Array(n)).set(f[0]),o=1;o<f.length;o++)for(e=f[o],D=0;D<n;D++)a[D]=a[D]&e[D];G.maskData=a}return G}},void 0===(g=function(){return D}.apply(I,[]))||(A.exports=g)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[397],{67397:(e,t,r)=>{r.r(t),r.d(t,{IAnnotationToken:()=>_,IJGISExternalCommandRegistryToken:()=>p,IJGISFormSchemaRegistryToken:()=>c,IJGISLayerBrowserRegistryToken:()=>m,IJupyterGISDocTracker:()=>y,JupyterGISDoc:()=>l,JupyterGISModel:()=>g,ProcessingCommandIDs:()=>T,ProcessingLogicType:()=>S,ProcessingMerge:()=>f,SCHEMA_VERSION:()=>d,processingList:()=>v});var s=r(74602),a=r(26803),i=r.n(a),o=r(28e3),n=r(67262);const d="0.5.0";class l extends o.YDocument{constructor(){super(),this.editable=!0,this._optionsObserver=e=>{this._optionsChanged.emit(e.keys)},this._metaObserver=e=>{this._metadataChanged.emit(e.keys)},this._optionsChanged=new s.Signal(this),this._layersChanged=new s.Signal(this),this._layerTreeChanged=new s.Signal(this),this._sourcesChanged=new s.Signal(this),this._metadataChanged=new s.Signal(this),this._options=this.ydoc.getMap("options"),this._layers=this.ydoc.getMap("layers"),this._layerTree=this.ydoc.getArray("layerTree"),this._sources=this.ydoc.getMap("sources"),this._metadata=this.ydoc.getMap("metadata"),this.undoManager.addToScope(this._layers),this.undoManager.addToScope(this._sources),this.undoManager.addToScope(this._layerTree),this._layers.observeDeep(this._layersObserver.bind(this)),this._layerTree.observe(this._layerTreeObserver.bind(this)),this._sources.observeDeep(this._sourcesObserver.bind(this)),this._options.observe(this._optionsObserver.bind(this)),this._metadata.observe(this._metaObserver.bind(this))}getSource(){const e=this._layers.toJSON(),t=this._layerTree.toJSON(),r=this._options.toJSON();return{layers:e,layerTree:t,sources:this._sources.toJSON(),options:r,metadata:this._metadata.toJSON()}}setSource(e){e&&("string"==typeof e&&(e=JSON.parse(e)),this.transact(()=>{var t,r,s,a,i;const o=null!==(t=e.layers)&&void 0!==t?t:{};Object.entries(o).forEach(([e,t])=>this._layers.set(e,t)),(null!==(r=e.layerTree)&&void 0!==r?r:[]).forEach(e=>{this._layerTree.push([e])});const n=null!==(s=e.options)&&void 0!==s?s:{};Object.entries(n).forEach(([e,t])=>this._options.set(e,t));const d=null!==(a=e.sources)&&void 0!==a?a:{};Object.entries(d).forEach(([e,t])=>this._sources.set(e,t));const l=null!==(i=e.metadata)&&void 0!==i?i:{};Object.entries(l).forEach(([e,t])=>this._metadata.set(e,t))}))}dispose(){super.dispose()}get version(){return d}get layers(){return n.JSONExt.deepCopy(this._layers.toJSON())}set layers(e){this.transact(()=>{for(const[t,r]of Object.entries(e))this._layers.set(t,r)})}set sources(e){this.transact(()=>{for(const[t,r]of Object.entries(e))this._sources.set(t,r)})}get sources(){return n.JSONExt.deepCopy(this._sources.toJSON())}get layerTree(){return n.JSONExt.deepCopy(this._layerTree.toJSON())}set layerTree(e){this.transact(()=>{this._layerTree.delete(0,this._layerTree.length),this._layerTree.push(e)})}getLayer(e){if(this._layers.has(e))return n.JSONExt.deepCopy(this._layers.get(e))}getLayerSource(e){if(this._sources.has(e))return n.JSONExt.deepCopy(this._sources.get(e))}set options(e){this.transact(()=>{for(const[t,r]of Object.entries(e))this._options.set(t,r)})}get options(){return n.JSONExt.deepCopy(this._options.toJSON())}get layersChanged(){return this._layersChanged}get layerTreeChanged(){return this._layerTreeChanged}get sourcesChanged(){return this._sourcesChanged}get optionsChanged(){return this._optionsChanged}layerExists(e){return Boolean(this._getLayerAsYMap(e))}removeLayer(e){this.transact(()=>{this._layers.delete(e)})}addLayer(e,t){this.transact(()=>{this._layers.set(e,t)})}updateLayer(e,t){this.transact(()=>{this._layers.set(e,t)})}addLayerTreeItem(e,t){this.transact(()=>{this._layerTree.insert(e,[t])})}updateLayerTreeItem(e,t){this.transact(()=>{this._layerTree.delete(e),t&&this._layerTree.insert(e,[t])})}getObject(e){const t=this.getLayer(e);if(t)return t;return this.getLayerSource(e)||void 0}updateObjectParameters(e,t){const r=this.getLayer(e);r&&(r.parameters=Object.assign(Object.assign({},r.parameters),t),this.updateLayer(e,r));const s=this.getLayerSource(e);s&&(s.parameters=Object.assign(Object.assign({},s.parameters),t),this.updateSource(e,s))}sourceExists(e){return Boolean(this._getSourceAsYMap(e))}removeSource(e){this.transact(()=>{this._sources.delete(e)})}addSource(e,t){this.transact(()=>{this._sources.set(e,t)})}updateSource(e,t){this.transact(()=>this._sources.set(e,t))}getOption(e){const t=this._options.get(e);if(t)return n.JSONExt.deepCopy(t)}setOption(e,t){this.transact(()=>{this._options.set(e,t)})}getMetadata(e){return this._metadata.get(e)}setMetadata(e,t){this.transact(()=>{this._metadata.set(e,t)})}removeMetadata(e){this._metadata.has(e)&&this._metadata.delete(e)}get metadata(){return n.JSONExt.deepCopy(this._metadata.toJSON())}set metadata(e){this.transact(()=>{for(const[t,r]of Object.entries(e))this._metadata.set(t,r)})}get metadataChanged(){return this._metadataChanged}static create(){return new l}_getLayerAsYMap(e){if(this._layers.has(e))return this._layers.get(e)}_getSourceAsYMap(e){if(this._sources.has(e))return this._sources.get(e)}_layersObserver(e){const t=[];let r=!1;e.forEach(e=>{e.keys.forEach((s,a)=>{r||(r=!0),t.push({id:a,oldValue:s.oldValue,newValue:n.JSONExt.deepCopy(e.target.toJSON()[a])})})}),r=0===t.length||r,r&&this._layersChanged.emit({layerChange:t})}_layerTreeObserver(e){const t=e.delta;this._layerTreeChanged.emit({layerTreeChange:t})}_sourcesObserver(e){const t=[];let r=!1;e.forEach(e=>{e.keys.forEach((s,a)=>{r||(r=!0),t.push({id:a,newValue:n.JSONExt.deepCopy(e.target.toJSON()[a])})})}),r=0===t.length||r,r&&this._sourcesChanged.emit({sourceChange:t})}}const h=JSON.parse('{"type":"object","title":"IJGISContent","required":["layers","sources"],"additionalProperties":false,"properties":{"schemaVersion":{"type":"string","default":"0.5.0"},"layers":{"$ref":"#/definitions/jGISLayers"},"sources":{"$ref":"#/definitions/jGISSources"},"layerTree":{"$ref":"#/definitions/jGISLayerTree"},"options":{"$ref":"#/definitions/jGISOptions"},"metadata":{"type":"object","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}},"definitions":{"layerType":{"type":"string","enum":["RasterLayer","VectorLayer","VectorTileLayer","HillshadeLayer","WebGlLayer","ImageLayer","HeatmapLayer","StacLayer"]},"sourceType":{"type":"string","enum":["RasterSource","VectorTileSource","GeoJSONSource","RasterDemSource","VideoSource","ImageSource","ShapefileSource","GeoTiffSource"]},"jGISLayer":{"title":"IJGISLayer","type":"object","additionalProperties":false,"required":["name","type","visible"],"properties":{"name":{"type":"string"},"type":{"$ref":"#/definitions/layerType"},"visible":{"type":"boolean","default":true},"parameters":{"type":"object"},"filters":{"$ref":"#/definitions/jGISFilter"}}},"jGISSource":{"title":"IJGISSource","type":"object","additionalProperties":false,"required":["name","type"],"properties":{"name":{"type":"string"},"type":{"$ref":"#/definitions/sourceType"},"parameters":{"type":"object"}}},"jGISLayerGroup":{"title":"IJGISLayerGroup","type":"object","additionalProperties":false,"required":["name","layers"],"properties":{"name":{"type":"string"},"layers":{"type":"array","default":[],"items":{"$ref":"#/definitions/jGISLayerItem"}},"visible":{"type":"boolean","default":true},"parameters":{"type":"object"}}},"jGISLayerItem":{"title":"IJGISLayerItem","oneOf":[{"type":"string"},{"$ref":"#/definitions/jGISLayerGroup"}]},"jGISLayers":{"title":"IJGISLayers","type":"object","default":{},"additionalProperties":{"$ref":"#/definitions/jGISLayer"}},"jGISSources":{"title":"IJGISSources","type":"object","default":{},"additionalProperties":{"$ref":"#/definitions/jGISSource"}},"jGISLayerTree":{"title":"IJGISLayerTree","type":"array","default":[],"items":{"$ref":"#/definitions/jGISLayerItem"}},"jGISOptions":{"title":"IJGISOptions","type":"object","default":{},"required":[],"additionalProperties":false,"properties":{"latitude":{"type":"number","default":0},"longitude":{"type":"number","default":0},"zoom":{"type":"number","default":0},"bearing":{"type":"number","default":0},"pitch":{"type":"number","default":0},"extent":{"type":"array","default":null,"items":{"type":"number"}},"projection":{"type":"string","default":"EPSG:3857"},"useExtent":{"type":"boolean","default":false}}},"jGISFilterItem":{"title":"IJGISFilterItem","type":"object","default":{},"required":["operator","feature","value"],"additionalProperties":false,"properties":{"operator":{"type":"string","enum":["==","!=",">","<",">=","<=","between"],"default":"=="},"feature":{"type":"string","default":""},"value":{"type":["string","number"]},"betweenMin":{"type":["number"]},"betweenMax":{"type":["number"]}}},"jGISFilter":{"title":"IJGISFilter","type":"object","required":["logicalOp","appliedFilters"],"additionalProperties":false,"properties":{"logicalOp":{"type":"string","default":"all"},"appliedFilters":{"type":"array","default":[],"items":{"$ref":"#/definitions/jGISFilterItem"}}}}}}');class g{constructor(e){this._onSharedModelChanged=(e,t)=>{var r;t&&(null===(r=null==t?void 0:t.objectChange)||void 0===r?void 0:r.length)&&(this._contentChanged.emit(void 0),this.dirty=!0)},this.collaborative=void 0===document.querySelectorAll("[data-jupyter-lite-root]")[0],this.flyToGeometrySignal=new s.Signal(this),this.highlightFeatureSignal=new s.Signal(this),this.updateBboxSignal=new s.Signal(this),this._onClientStateChanged=e=>{const t=this.sharedModel.awareness.getStates();this._clientStateChanged.emit(t),(e.added.length||e.removed.length)&&this._userChanged.emit(this.users)},this.addFeatureAsMs=(e,t)=>{this.addFeatureAsMsSignal.emit(JSON.stringify({id:e,selectedFeature:t}))},this.triggerLayerUpdate=(e,t)=>{this.updateLayerSignal.emit(JSON.stringify({layerId:e,layer:t}))},this.defaultKernelName="",this.defaultKernelLanguage="",this._dirty=!1,this._readOnly=!1,this._isDisposed=!1,this._userChanged=new s.Signal(this),this._disposed=new s.Signal(this),this._contentChanged=new s.Signal(this),this._stateChanged=new s.Signal(this),this._themeChanged=new s.Signal(this),this._clientStateChanged=new s.Signal(this),this._sharedMetadataChanged=new s.Signal(this),this._zoomToPositionSignal=new s.Signal(this),this._addFeatureAsMsSignal=new s.Signal(this),this._updateLayerSignal=new s.Signal(this),this._isIdentifying=!1,this._isTemporalControllerActive=!1,this._geolocationChanged=new s.Signal(this);const{annotationModel:t,sharedModel:r,settingRegistry:a}=e;r?this._sharedModel=r:(this._sharedModel=l.create(),this._sharedModel.changed.connect(this._onSharedModelChanged)),this.sharedModel.awareness.on("change",this._onClientStateChanged),this._sharedModel.metadataChanged.connect(this._metadataChangedHandler,this),this.annotationModel=t,this.settingRegistry=a,this._pathChanged=new s.Signal(this)}async initSettings(){if(this.settingRegistry){const e=await this.settingRegistry.load("@jupytergis/jupytergis-core:jupytergis-settings");this._settings=e.composite,e.changed.connect(()=>{this._settings=e.composite,console.log("JupyterGIS Settings updated:",this._settings)})}}getSettings(){return this._settings}get sharedModel(){return this._sharedModel}get isDisposed(){return this._isDisposed}get contentChanged(){return this._contentChanged}get stateChanged(){return this._stateChanged}get pathChanged(){return this._pathChanged}get themeChanged(){return this._themeChanged}get currentUserId(){var e;return null===(e=this.sharedModel)||void 0===e?void 0:e.awareness.clientID}get users(){var e;this._usersMap=null===(e=this._sharedModel)||void 0===e?void 0:e.awareness.getStates();const t=[];return this._usersMap&&this._usersMap.forEach((e,r)=>{t.push({userId:r,userData:e.user})}),t}get userChanged(){return this._userChanged}get dirty(){return this._dirty}set dirty(e){this._dirty=e}get readOnly(){return this._readOnly}set readOnly(e){this._readOnly=e}get localState(){return this.sharedModel.awareness.getLocalState()}get clientStateChanged(){return this._clientStateChanged}get sharedOptionsChanged(){return this.sharedModel.optionsChanged}get sharedLayersChanged(){return this.sharedModel.layersChanged}get sharedLayerTreeChanged(){return this.sharedModel.layerTreeChanged}get sharedSourcesChanged(){return this.sharedModel.sourcesChanged}get disposed(){return this._disposed}get sharedMetadataChanged(){return this._sharedMetadataChanged}get zoomToPositionSignal(){return this._zoomToPositionSignal}set isIdentifying(e){this._isIdentifying=e}get isIdentifying(){return this._isIdentifying}set isTemporalControllerActive(e){this._isTemporalControllerActive=e}get isTemporalControllerActive(){return this._isTemporalControllerActive}centerOnPosition(e){this._zoomToPositionSignal.emit(e)}_metadataChangedHandler(e,t){this._sharedMetadataChanged.emit(t)}addMetadata(e,t){this.sharedModel.setMetadata(e,t)}removeMetadata(e){this.sharedModel.removeMetadata(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._sharedModel.dispose(),this._disposed.emit(),s.Signal.clearData(this))}toString(){return JSON.stringify(this.getContent(),null,2)}fromString(e){const t=JSON.parse(e),r=(new(i())).compile(h);if(!r(t)){let e="JupyterGIS format errors:\n";for(const t of r.errors||[])e=`${e}- ${t.instancePath} ${t.message}\n`;console.warn(e)}this.sharedModel.transact(()=>{var e,r,s,a,i;this.sharedModel.sources=null!==(e=t.sources)&&void 0!==e?e:{},this.sharedModel.layers=null!==(r=t.layers)&&void 0!==r?r:{},this.sharedModel.layerTree=null!==(s=t.layerTree)&&void 0!==s?s:[],this.sharedModel.options=null!==(a=t.options)&&void 0!==a?a:{latitude:0,longitude:0,zoom:0,bearing:0,pitch:0,projection:"EPSG:3857"},this.sharedModel.metadata=null!==(i=t.metadata)&&void 0!==i?i:{}}),this.dirty=!0}toJSON(){return JSON.parse(this.toString())}fromJSON(e){}initialize(){}getWorker(){return g.worker}getContent(){return{sources:this.sharedModel.sources,layers:this.sharedModel.layers,layerTree:this.sharedModel.layerTree,options:this.sharedModel.options,metadata:this.sharedModel.metadata}}get contentsManager(){return this._contentsManager}set contentsManager(e){this._contentsManager=e}get filePath(){return this._filePath}set filePath(e){this._filePath=e,this._pathChanged.emit(e)}getLayers(){return this.sharedModel.layers}getSources(){return this.sharedModel.sources}getLayerTree(){return this.sharedModel.layerTree}getLayer(e){return this.sharedModel.getLayer(e)}getSource(e){return this.sharedModel.getLayerSource(e)}getSourcesByType(e){const t={};for(const r of Object.keys(this.getSources()||{})){const s=this.getSource(r);(null==s?void 0:s.type)===e&&(t[r]=s.name)}return t}getLayersBySource(e){const t=[];return Object.entries(this.getLayers()||{}).forEach(([r,s])=>{var a;(null===(a=s.parameters)||void 0===a?void 0:a.source)===e&&t.push(r)}),t}addGroup(e,t,r){if(u.findItemPath(this.getLayerTree(),e).length)return void console.warn(`The group "${t}" already exist in the layer tree`);const s={name:e,layers:[]};this._addLayerTreeItem(s,t,r)}addLayer(e,t,r,s){this.getLayer(e)||this.sharedModel.addLayer(e,t),this._addLayerTreeItem(e,r,s)}removeLayer(e){var t;const r=this._sharedModel.getLayer(e),s=null===(t=null==r?void 0:r.parameters)||void 0===t?void 0:t.source;this._removeLayerTreeLayer(this.getLayerTree(),e),this.sharedModel.removeLayer(e),this.sharedModel.removeSource(s)}setOptions(e){this._sharedModel.options=e}getOptions(){return this._sharedModel.options}syncViewport(e,t){this.sharedModel.awareness.setLocalStateField("viewportState",{value:e,emitter:t})}syncPointer(e,t){this.sharedModel.awareness.setLocalStateField("pointer",{value:e,emitter:t})}syncSelected(e,t){this.sharedModel.awareness.setLocalStateField("selected",{value:e,emitter:t})}syncIdentifiedFeatures(e,t){this.sharedModel.awareness.setLocalStateField("identifiedFeatures",{value:e,emitter:t})}setUserToFollow(e){this._sharedModel&&this._sharedModel.awareness.setLocalStateField("remoteUser",e)}getClientId(){return this.sharedModel.awareness.clientID}_addLayerTreeItem(e,t,r){if(t){const s=this._getLayerTreeInfo(t);s&&(s.workingGroup.layers.splice(null!=r?r:s.workingGroup.layers.length,0,e),this._sharedModel.updateLayerTreeItem(s.mainGroupIndex,s.mainGroup))}else this.sharedModel.addLayerTreeItem(null!=r?r:this.getLayerTree().length,e)}moveItemsToGroup(e,t,r){const s=this.getLayerTree();for(const a of e)if(this.getLayer(a))this._removeLayerTreeLayer(s,a),this._addLayerTreeItem(a,t,r);else{const e=this._getLayerTreeInfo(a);if(void 0===e)continue;const i=Object.assign({},e.workingGroup);this._removeLayerTreeGroup(s,a),this._addLayerTreeItem(i,t,r)}}moveItemRelatedTo(e,t,r){var s;const a=this.getLayerTree();let i;if(this.getLayer(e))this._removeLayerTreeLayer(a,e),i=e;else{const t=this._getLayerTreeInfo(e);if(void 0===t)return;i=Object.assign({},t.workingGroup),this._removeLayerTreeGroup(a,e)}const o=u.findItemPath(a,t),n=(null!==(s=o.pop())&&void 0!==s?s:0)+(r?1:0);let d="",l=o.shift();if(void 0!==l){let e=a[l];for(;o.length&&(l=o.shift(),void 0!==l);)e=e.layers[l];d=e.name}this._addLayerTreeItem(i,d,n)}addNewLayerGroup(e,t){const r=this.getLayerTree();for(const t in e)this._removeLayerTreeLayer(r,t);this._addLayerTreeItem(t)}_removeLayerTreeLayer(e,t){this._removeLayerTreeItem(e,t,!0),this.sharedModel.layerTree=e}_removeLayerTreeGroup(e,t){this._removeLayerTreeItem(e,t,!1),this.sharedModel.layerTree=e}_removeLayerTreeItem(e,t,r){for(let s=0;s<e.length;s++){const a=e[s];(r?"string"==typeof a&&a===t:"string"!=typeof a&&a.name===t)?(e.splice(s,1),s--):"string"!=typeof a&&"layers"in a&&this._removeLayerTreeItem(a.layers,t,r)}}renameLayerGroup(e,t){const r=this._getLayerTreeInfo(e);r?(r.workingGroup.name=t,this._sharedModel.updateLayerTreeItem(r.mainGroupIndex,r.mainGroup)):console.log("Something went wrong when renaming layer")}removeLayerGroup(e){const t=this.getLayerTree(),r=this._getLayerTreeInfo(e),s=function e(t,r){const s=[];for(const a of t)if("string"==typeof a)s.push(a);else if(a.name!==r){const t=e(a.layers,r);s.push(Object.assign(Object.assign({},a),{layers:t}))}return s}(t,e);r&&this._sharedModel.updateLayerTreeItem(r.mainGroupIndex,s[r.mainGroupIndex])}toggleIdentify(){this._isIdentifying=!this._isIdentifying}toggleTemporalController(){this._isTemporalControllerActive=!this._isTemporalControllerActive,this.sharedModel.awareness.setLocalStateField("isTemporalControllerActive",this._isTemporalControllerActive)}_getLayerTreeInfo(e){const t=this.getLayerTree(),r=u.findItemPath(t,e);if(!r.length)return void console.warn(`The group "${e}" does not exist in the layer tree`);const s=r.shift();if(void 0===s)return;const a=t[s];let i=a;for(;r.length;){const e=r.shift();if(void 0===e)break;i=i.layers[e]}return{mainGroup:a,workingGroup:i,mainGroupIndex:s}}get addFeatureAsMsSignal(){return this._addFeatureAsMsSignal}get updateLayerSignal(){return this._updateLayerSignal}get geolocation(){return this._geolocation}set geolocation(e){this._geolocation=e,this.geolocationChanged.emit(this.geolocation)}get geolocationChanged(){return this._geolocationChanged}}var u;!function(e){e.getOrderedLayerIds=function(e){return u.layerTreeRecursion(e.sharedModel.layerTree)}}(g||(g={})),function(e){e.layerTreeRecursion=function e(t,r=[]){for(const s of t)"string"==typeof s?r.push(s):r.push(...e(s.layers));return r},e.findItemPath=function e(t,r,s=[]){for(let a=0;a<t.length;a++){const i=t[a];if("string"==typeof i){if(i===r){const e=[...s];return e.push(a),e}}else{const t=[...s];if(t.push(a),i.name===r)return t;const o=e(i.layers,r,t);if(o.length>t.length)return o}}return s}}(u||(u={}));const y=new n.Token("jupyterGISDocTracker"),c=new n.Token("jupytergisFormSchemaRegistry"),p=new n.Token("jupytergisExternalCommandRegistry"),m=new n.Token("jupytergisExternalCommandRegistry"),_=new n.Token("jupytergisAnnotationModel"),S={vector:"vector"},f=JSON.parse('[{"description":"Buffer","name":"buffer","label":"Buffer","operationParams":["bufferDistance"],"operations":{"gdalFunction":"ogr2ogr","sql":"SELECT ST_Union(ST_Buffer(geometry, {bufferDistance})) AS geometry, * FROM \\"{layerName}\\""},"type":"vector"},{"description":"Dissolve","name":"dissolve","operationParams":["dissolveField"],"label":"Dissolve","operations":{"gdalFunction":"ogr2ogr","sql":"SELECT ST_Union(geometry) AS geometry, {dissolveField} FROM \\"{layerName}\\" GROUP BY {dissolveField}"},"type":"vector"},{"description":"Centroids","name":"centroids","operationParams":[],"label":"Centroids","operations":{"gdalFunction":"ogr2ogr","sql":"SELECT ST_Centroid(geometry) AS geometry, * FROM \\"{layerName}\\""},"type":"vector"},{"description":"ConvexHull","name":"convexHull","operationParams":[],"label":"Convex Hull","operations":{"sql":"SELECT ST_ConvexHull(geometry) AS geometry, * FROM \\"{layerName}\\"","gdalFunction":"ogr2ogr"},"type":"vector"},{"description":"ConcaveHull","name":"concaveHull","operationParams":["pctconvex","allowHoles"],"label":"Concave Hull","operations":{"sql":"SELECT ST_ConcaveHull(geometry,{pctconvex},{allowHoles}) AS geometry, * FROM \\"{layerName}\\"","gdalFunction":"ogr2ogr"},"type":"vector"},{"description":"BoundingBoxes","name":"boundingBoxes","operationParams":[],"label":"Bounding Boxes","operations":{"sql":"SELECT ST_Envelope(geometry) AS geometry, * FROM \\"{layerName}\\"","gdalFunction":"ogr2ogr"},"type":"vector"}]'),T={};for(const e of f)T[e.name]=`jupytergis:${e.name}`;const v=["Buffer","Dissolve","Centroids","ConvexHull","ConcaveHull","BoundingBoxes"]}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_jupytergis_jupytergis_core=self.webpackChunk_jupytergis_jupytergis_core||[]).push([[432],{1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},30855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},34296:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(36758),o=n.n(r),a=n(40935),s=n.n(a)()(o());s.push([e.id,"/*\n See the JupyterLab Developer Guide for useful CSS Patterns:\n\n https://jupyterlab.readthedocs.io/en/stable/developer/css.html\n*/\n",""]);const i=s},36758:e=>{e.exports=function(e){return e[1]}},40935:e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,r,o,a){"string"==typeof e&&(e=[[null,e,void 0]]);var s={};if(r)for(var i=0;i<this.length;i++){var c=this[i][0];null!=c&&(s[c]=!0)}for(var u=0;u<e.length;u++){var p=[].concat(e[u]);r&&s[p[0]]||(void 0!==a&&(void 0===p[5]||(p[1]="@layer".concat(p[5].length>0?" ".concat(p[5]):""," {").concat(p[1],"}")),p[5]=a),n&&(p[2]?(p[1]="@media ".concat(p[2]," {").concat(p[1],"}"),p[2]=n):p[2]=n),o&&(p[4]?(p[1]="@supports (".concat(p[4],") {").concat(p[1],"}"),p[4]=o):p[4]="".concat(o)),t.push(p))}},t}},51432:(e,t,n)=>{var r=n(72591),o=n.n(r),a=n(1740),s=n.n(a),i=n(88128),c=n.n(i),u=n(30855),p=n.n(u),l=n(93051),f=n.n(l),d=n(73656),v=n.n(d),h=n(34296),m={};m.styleTagTransform=v(),m.setAttributes=p(),m.insert=c().bind(null,"head"),m.domAPI=s(),m.insertStyleElement=f(),o()(h.A,m),h.A&&h.A.locals&&h.A.locals},72591:e=>{var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var a={},s=[],i=0;i<e.length;i++){var c=e[i],u=r.base?c[0]+r.base:c[0],p=a[u]||0,l="".concat(u," ").concat(p);a[u]=p+1;var f=n(l),d={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==f)t[f].references++,t[f].updater(d);else{var v=o(d,r);r.byIndex=i,t.splice(i,0,{identifier:l,updater:v,references:1})}s.push(l)}return s}function o(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var a=r(e=e||[],o=o||{});return function(e){e=e||[];for(var s=0;s<a.length;s++){var i=n(a[s]);t[i].references--}for(var c=r(e,o),u=0;u<a.length;u++){var p=n(a[u]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}a=c}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},88128:e=>{var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}}]);
|