isard 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,69 @@ versions [Semantic Versioning](https://semver.org) (before 1.0.0, a minor versio
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.16.0] - 2026-10-29
9
+
10
+ With `isard-react-native` 0.5.0 and `isard-map` 0.5.0 (Python).
11
+
12
+ ### Added
13
+
14
+ - Rasters draped on the 3D Tiles: `drape: { raster, faces, opacity }` in `addTiles3d` (or `setDrape`) lays a raster
15
+ layer on the meshes' roofs, or all their faces, as Cesium's imagery on 3D Tiles (an ortho on the untextured
16
+ buildings, a solar potential on the roofs); `ground: false` on a raster keeps it off the ground, its tiles loaded for
17
+ the 3D layers it is draped on. The An ortho on the roofs example (TypeScript, React, Python, React Native).
18
+ - `antialias` (`GeoMapOptions`, default true): `false` draws the canvas without multisampling, as MapLibre does. On an
19
+ integrated GPU, a network's wide halo over a region costs up to four times less.
20
+ - The benchmark's camera moves against MapLibre (`/bench/?scenario=moves`, `bun run perf moves`).
21
+
22
+ ### Performance
23
+
24
+ - Camera moves over a large network (issue #138, geo-reach: the network of Île-de-France and its halo, an Intel UHD):
25
+ from 21 fps (95th percentile 133 ms, frames up to 433 ms) to 56 – 57 fps (worst frame 50 ms) with `antialias: false`.
26
+ A network's halo works out its values at its vertices, interpolated, rather than at each of its pixels (the lines
27
+ keep theirs, where two fronts meet), and is drawn at half the resolution then laid over the frame (without relief
28
+ nor swipe; its blur hides the coarser grid): a quarter of its pixels to blend.
29
+
30
+ ## [1.15.0] - 2026-10-29
31
+
32
+ With `isard-react-native` 0.4.0 and `isard-map` 0.4.0 (Python).
33
+
34
+ ### Added
35
+
36
+ - The Python reference (docs › Python › Reference), made from the package's docstrings and checked; how to read the
37
+ TypeScript reference from Python; the layers' pages show their code in Python beside TypeScript.
38
+
39
+ ### Changed
40
+
41
+ - The engine's `setVectorTile` and `setVectorTileMesh` take the features' sublayers (one each) in place of their count:
42
+ the translucent lines and buildings of a vector tile are drawn so by sublayer.
43
+
44
+ ### Performance
45
+
46
+ - A flow layer uploads the rows of its moving particles only (the whole table, up to 4 MB, each step before).
47
+ - The draped layers' tables are rebuilt only for relief arriving over them, written over in place (every elevation tile
48
+ anywhere rebuilt every draped layer's table, frame after frame while the relief loaded).
49
+ - One translucent feature of a vector tile no longer sends every line sublayer to the stencil and every building
50
+ sublayer to a depth prepass: by sublayer.
51
+ - One depth of the scene from the camera a frame, shared by the labels, the shadows, the panorama and the viewshed.
52
+ - The models' frames from their instances' sines and cosines (no trigonometry a vertex); glTF accessors read faster.
53
+
54
+ ### Fixed
55
+
56
+ - Python: the keys of a ground's `textures` and of a TopoJSON's `objects` are no longer turned into camelCase.
57
+ - A raster stack draws its finest source's tiles: an ortho to z20 over a plan to z19 was drawn at z18, and a region's
58
+ layer at the bottom of a stack hid the world's layers above it zoomed out.
59
+ - Ground layers draw with no raster layer nor relief under them (a heat map over vector tiles), and across the
60
+ antimeridian (they vanished once the center crossed it).
61
+ - No more endless frames on a slope at a high pitch; the relief's skirts deep enough for steep slopes (cracks).
62
+ - Flow particles born across the antimeridian, never off screen; a flow stepped by a time that is not a number no longer
63
+ freezes.
64
+ - Circles and model instances placed exact on layers as large as the world (some 0.6 m off before).
65
+ - A vector tile layer's circle program deleted with it (one leaked per style change).
66
+ - The decoders bounded by their data, a malformed file an error rather than gigabytes allocated: NetCDF's records (a
67
+ streaming file read), GRIB2's packings (a constant field, the groups' lengths, the secondary missing values), 3D
68
+ Tiles' property and batch tables, LAZ chunks, COPC pages. NetCDF longitudes going west no longer mirrored; glTF
69
+ triangle strips and fans drawn (they were dropped).
70
+
8
71
  ## [1.14.0] - 2026-10-28
9
72
 
10
73
  With `isard-react-native` 0.3.0 and `isard-map` 0.3.0 (Python: its `geoplateforme_wfs` asks page by page as isard
@@ -44,7 +44,7 @@ const OWN_SETTERS = {
44
44
  symbols: new Set(['data', 'filter']),
45
45
  extrusions: new Set(['data', 'filter', 'values']),
46
46
  network: new Set(['costs', 'edgeWidths', 'values']),
47
- tiles3d: new Set(['facades']),
47
+ tiles3d: new Set(['facades', 'drape']),
48
48
  models: new Set(['instances', 'altitudeReference']),
49
49
  ground: new Set(['uniforms', 'textures']),
50
50
  flow: new Set(['field', 'fields', 'time', 'playing']),
@@ -122,6 +122,8 @@ export const applyLayerChange = (layer, next, change) => {
122
122
  }
123
123
  if ('facades' in own)
124
124
  set(layer, 'setFacades', own.facades ?? false);
125
+ if ('drape' in own)
126
+ set(layer, 'setDrape', own.drape);
125
127
  if (Object.keys(change.style).length > 0)
126
128
  set(layer, 'setStyle', change.style);
127
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/bind/layers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * What a framework's binding (isard/react, isard/vue) does when the description of a layer changes: the least the\n * layer needs (its data, its style, its instances), or a new layer in its place when what changed is set at creation\n * (its URL, its grid, its nodes). Free of any framework.\n */\n\nimport type { Layer } from '../layers/layers.ts';\nimport type { GeoMap, LayerSpec } from '../map.ts';\n\n/** A layer as a binding describes it: the options of `map.add`, and the values of its features or nodes\n * (`setValues`: what colors them by a ramp) */\nexport type BoundLayerSpec<P = Record<string, unknown>> = LayerSpec<P> & { values?: Float32Array };\n\n/** The keys `setStyle` takes, by layer type; `'all'`: every key but the data (the feature layers) */\nconst STYLE_KEYS: Record<LayerSpec['type'], 'all' | ReadonlySet<string>> = {\n lines: 'all',\n circles: 'all',\n fills: 'all',\n symbols: 'all',\n extrusions: 'all',\n raster: new Set(['opacity', 'saturation']),\n network: new Set(['width', 'max', 'contour', 'opacity', 'halo', 'haloOpacity', 'ramp', 'unreachedColor', 'fade']),\n tiles3d: new Set(['maxScreenSpaceError', 'opacity', 'pointSize', 'color', 'featureColor']),\n pointcloud: new Set([\n 'colorBy',\n 'pointSize',\n 'maxPointSize',\n 'sizeMode',\n 'shape',\n 'edl',\n 'classifications',\n 'elevationRange',\n 'elevationRamp',\n 'intensityRange',\n 'maxScreenSpaceError',\n 'pointBudget',\n ]),\n models: new Set(),\n trees: new Set(),\n ground: new Set(),\n flow: new Set(['colors', 'width', 'opacity', 'height', 'speed', 'density']),\n};\n\n/** Keys a layer takes at its creation only, by layer type: a change makes it anew (whatever its style keys say) */\nconst CREATION_KEYS: Partial<Record<LayerSpec['type'], ReadonlySet<string>>> = {\n lines: new Set(['altitudeReference']),\n};\n\n/** Keys a layer takes by a method of its own, by layer type */\nconst OWN_SETTERS: Partial<Record<LayerSpec['type'], ReadonlySet<string>>> = {\n lines: new Set(['data', 'filter', 'values']),\n circles: new Set(['data', 'filter', 'values']),\n fills: new Set(['data', 'filter', 'values']),\n symbols: new Set(['data', 'filter']),\n extrusions: new Set(['data', 'filter', 'values']),\n network: new Set(['costs', 'edgeWidths', 'values']),\n tiles3d: new Set(['facades']),\n models: new Set(['instances', 'altitudeReference']),\n ground: new Set(['uniforms', 'textures']),\n flow: new Set(['field', 'fields', 'time', 'playing']),\n};\n\n/** The keys of a description and their values */\nconst fields = (spec: BoundLayerSpec): Map<string, unknown> => new Map(Object.entries(spec));\n\n/** What to do with a layer whose description went from `prev` to `next` */\nexport type LayerChange =\n | { rebuild: true }\n | {\n rebuild: false;\n /** The keys changed, with their new values */\n style: Record<string, unknown>;\n own: Record<string, unknown>;\n };\n\n/**\n * The change from one description to the next, or `undefined` when nothing changed. Values are compared by identity:\n * data, functions and arrays given anew at each render are changes (keep them in a memo)\n */\nexport const layerChange = (prev: BoundLayerSpec, next: BoundLayerSpec): LayerChange | undefined => {\n if (prev.type !== next.type) return { rebuild: true };\n\n const before = fields(prev);\n const after = fields(next);\n const styleKeys = STYLE_KEYS[next.type];\n const own = OWN_SETTERS[next.type];\n const change: Extract<LayerChange, { rebuild: false }> = { rebuild: false, style: {}, own: {} };\n const keys = [...new Set([...before.keys(), ...after.keys()])].filter(\n (key) => key !== 'type' && !Object.is(before.get(key), after.get(key)),\n );\n\n if (keys.length === 0) return undefined;\n\n const creation = CREATION_KEYS[next.type];\n const isStyle = (key: string) =>\n key !== 'before' && !creation?.has(key) && (styleKeys === 'all' || styleKeys.has(key));\n\n // A style or setting taken away: the layer goes back to its defaults, as made anew\n if (keys.some((key) => !after.has(key) || !(own?.has(key) || isStyle(key)))) return { rebuild: true };\n keys.forEach((key) => {\n if (own?.has(key)) change.own[key] = after.get(key);\n else change.style[key] = after.get(key);\n });\n\n return change;\n};\n\n/** The methods a change calls on a layer, those of its type */\ntype Setter =\n | 'setStyle'\n | 'setFacades'\n | 'setData'\n | 'setFilter'\n | 'setValues'\n | 'setCosts'\n | 'setEdgeWidths'\n | 'setInstances'\n | 'setUniform'\n | 'setTexture'\n | 'setField'\n | 'setFields'\n | 'setTime'\n | 'setPlaying';\n\n/** Calls a setter of the layer, if its type has it */\nconst set = (layer: Layer, setter: Setter, ...args: unknown[]): void => {\n const method: unknown = Reflect.get(layer, setter);\n\n if (typeof method === 'function') method.apply(layer, args);\n};\n\n/** Applies a change that keeps the layer (`rebuild: false`) */\nexport const applyLayerChange = (\n layer: Layer,\n next: BoundLayerSpec,\n change: Extract<LayerChange, { rebuild: false }>,\n): void => {\n const spec = fields(next);\n const own = change.own;\n\n if ('data' in own) set(layer, 'setData', own.data);\n if ('filter' in own) set(layer, 'setFilter', own.filter);\n if ('values' in own) set(layer, 'setValues', own.values);\n if ('field' in own) set(layer, 'setField', own.field);\n if ('fields' in own) set(layer, 'setFields', own.fields, spec.get('time'));\n else if ('time' in own) set(layer, 'setTime', own.time);\n if ('playing' in own) set(layer, 'setPlaying', own.playing ?? true);\n if ('costs' in own) set(layer, 'setCosts', own.costs);\n if ('edgeWidths' in own) set(layer, 'setEdgeWidths', own.edgeWidths);\n if ('instances' in own || 'altitudeReference' in own) {\n set(layer, 'setInstances', spec.get('instances'), spec.get('altitudeReference'));\n }\n if ('uniforms' in own) {\n Object.entries(own.uniforms ?? {}).forEach(([name, value]) => {\n set(layer, 'setUniform', name, value);\n });\n }\n if ('textures' in own) {\n Object.entries(own.textures ?? {}).forEach(([name, texture]) => {\n set(layer, 'setTexture', name, texture);\n });\n }\n if ('facades' in own) set(layer, 'setFacades', own.facades ?? false);\n if (Object.keys(change.style).length > 0) set(layer, 'setStyle', change.style);\n};\n\n/** Adds a layer from its description, its values set */\nexport const addBoundLayer = (map: GeoMap, { values, ...spec }: BoundLayerSpec): Layer => {\n const layer = map.add(spec as LayerSpec);\n\n if (values) set(layer, 'setValues', values);\n\n return layer;\n};\n\n/** A layer made anew from its description in the place of `old`, its values set */\nexport const rebuildBoundLayer = (map: GeoMap, old: Layer, { values, ...spec }: BoundLayerSpec): Layer => {\n const layer = map.rebuildLayer(old, spec as LayerSpec);\n\n if (values) set(layer, 'setValues', values);\n\n return layer;\n};\n\n/**\n * The layers of a binding in their declared order: `order` (default 0) from the bottom up, layers of the same order by\n * their `rank` (where they were declared: a component's taken when it first renders, before its layer may wait for\n * something, its tiles or its data), else by the time they came. A layer added or made anew is moved under the first\n * layer above it\n */\nexport class LayerOrder {\n private readonly entries: { layer: Layer; order: number; seq: number }[] = [];\n private seq = 0;\n\n /** The next rank: a component's place among the others, taken as React renders them in their declared order */\n rank(): number {\n this.seq += 1;\n\n return this.seq;\n }\n\n /** Places a new layer (at its `rank`, else after every other), or a layer made anew in place of `old` */\n place(layer: Layer, order: number, { old, rank }: { old?: Layer | undefined; rank?: number | undefined } = {}): void {\n const index = old ? this.entries.findIndex((e) => e.layer === old) : -1;\n const entry = index >= 0 ? this.entries[index] : undefined;\n\n if (entry) {\n entry.layer = layer;\n entry.order = order;\n } else {\n this.entries.push({ layer, order, seq: rank ?? this.rank() });\n }\n this.entries.sort((a, b) => a.order - b.order || a.seq - b.seq);\n\n const at = this.entries.findIndex((e) => e.layer === layer);\n const above = this.entries[at + 1]?.layer;\n\n if (above) layer.moveBefore(above);\n }\n\n /** Forgets a layer removed */\n remove(layer: Layer): void {\n const index = this.entries.findIndex((e) => e.layer === layer);\n\n if (index >= 0) this.entries.splice(index, 1);\n }\n}\n"]}
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/bind/layers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * What a framework's binding (isard/react, isard/vue) does when the description of a layer changes: the least the\n * layer needs (its data, its style, its instances), or a new layer in its place when what changed is set at creation\n * (its URL, its grid, its nodes). Free of any framework.\n */\n\nimport type { Layer } from '../layers/layers.ts';\nimport type { GeoMap, LayerSpec } from '../map.ts';\n\n/** A layer as a binding describes it: the options of `map.add`, and the values of its features or nodes\n * (`setValues`: what colors them by a ramp) */\nexport type BoundLayerSpec<P = Record<string, unknown>> = LayerSpec<P> & { values?: Float32Array };\n\n/** The keys `setStyle` takes, by layer type; `'all'`: every key but the data (the feature layers) */\nconst STYLE_KEYS: Record<LayerSpec['type'], 'all' | ReadonlySet<string>> = {\n lines: 'all',\n circles: 'all',\n fills: 'all',\n symbols: 'all',\n extrusions: 'all',\n raster: new Set(['opacity', 'saturation']),\n network: new Set(['width', 'max', 'contour', 'opacity', 'halo', 'haloOpacity', 'ramp', 'unreachedColor', 'fade']),\n tiles3d: new Set(['maxScreenSpaceError', 'opacity', 'pointSize', 'color', 'featureColor']),\n pointcloud: new Set([\n 'colorBy',\n 'pointSize',\n 'maxPointSize',\n 'sizeMode',\n 'shape',\n 'edl',\n 'classifications',\n 'elevationRange',\n 'elevationRamp',\n 'intensityRange',\n 'maxScreenSpaceError',\n 'pointBudget',\n ]),\n models: new Set(),\n trees: new Set(),\n ground: new Set(),\n flow: new Set(['colors', 'width', 'opacity', 'height', 'speed', 'density']),\n};\n\n/** Keys a layer takes at its creation only, by layer type: a change makes it anew (whatever its style keys say) */\nconst CREATION_KEYS: Partial<Record<LayerSpec['type'], ReadonlySet<string>>> = {\n lines: new Set(['altitudeReference']),\n};\n\n/** Keys a layer takes by a method of its own, by layer type */\nconst OWN_SETTERS: Partial<Record<LayerSpec['type'], ReadonlySet<string>>> = {\n lines: new Set(['data', 'filter', 'values']),\n circles: new Set(['data', 'filter', 'values']),\n fills: new Set(['data', 'filter', 'values']),\n symbols: new Set(['data', 'filter']),\n extrusions: new Set(['data', 'filter', 'values']),\n network: new Set(['costs', 'edgeWidths', 'values']),\n tiles3d: new Set(['facades', 'drape']),\n models: new Set(['instances', 'altitudeReference']),\n ground: new Set(['uniforms', 'textures']),\n flow: new Set(['field', 'fields', 'time', 'playing']),\n};\n\n/** The keys of a description and their values */\nconst fields = (spec: BoundLayerSpec): Map<string, unknown> => new Map(Object.entries(spec));\n\n/** What to do with a layer whose description went from `prev` to `next` */\nexport type LayerChange =\n | { rebuild: true }\n | {\n rebuild: false;\n /** The keys changed, with their new values */\n style: Record<string, unknown>;\n own: Record<string, unknown>;\n };\n\n/**\n * The change from one description to the next, or `undefined` when nothing changed. Values are compared by identity:\n * data, functions and arrays given anew at each render are changes (keep them in a memo)\n */\nexport const layerChange = (prev: BoundLayerSpec, next: BoundLayerSpec): LayerChange | undefined => {\n if (prev.type !== next.type) return { rebuild: true };\n\n const before = fields(prev);\n const after = fields(next);\n const styleKeys = STYLE_KEYS[next.type];\n const own = OWN_SETTERS[next.type];\n const change: Extract<LayerChange, { rebuild: false }> = { rebuild: false, style: {}, own: {} };\n const keys = [...new Set([...before.keys(), ...after.keys()])].filter(\n (key) => key !== 'type' && !Object.is(before.get(key), after.get(key)),\n );\n\n if (keys.length === 0) return undefined;\n\n const creation = CREATION_KEYS[next.type];\n const isStyle = (key: string) =>\n key !== 'before' && !creation?.has(key) && (styleKeys === 'all' || styleKeys.has(key));\n\n // A style or setting taken away: the layer goes back to its defaults, as made anew\n if (keys.some((key) => !after.has(key) || !(own?.has(key) || isStyle(key)))) return { rebuild: true };\n keys.forEach((key) => {\n if (own?.has(key)) change.own[key] = after.get(key);\n else change.style[key] = after.get(key);\n });\n\n return change;\n};\n\n/** The methods a change calls on a layer, those of its type */\ntype Setter =\n | 'setStyle'\n | 'setFacades'\n | 'setDrape'\n | 'setData'\n | 'setFilter'\n | 'setValues'\n | 'setCosts'\n | 'setEdgeWidths'\n | 'setInstances'\n | 'setUniform'\n | 'setTexture'\n | 'setField'\n | 'setFields'\n | 'setTime'\n | 'setPlaying';\n\n/** Calls a setter of the layer, if its type has it */\nconst set = (layer: Layer, setter: Setter, ...args: unknown[]): void => {\n const method: unknown = Reflect.get(layer, setter);\n\n if (typeof method === 'function') method.apply(layer, args);\n};\n\n/** Applies a change that keeps the layer (`rebuild: false`) */\nexport const applyLayerChange = (\n layer: Layer,\n next: BoundLayerSpec,\n change: Extract<LayerChange, { rebuild: false }>,\n): void => {\n const spec = fields(next);\n const own = change.own;\n\n if ('data' in own) set(layer, 'setData', own.data);\n if ('filter' in own) set(layer, 'setFilter', own.filter);\n if ('values' in own) set(layer, 'setValues', own.values);\n if ('field' in own) set(layer, 'setField', own.field);\n if ('fields' in own) set(layer, 'setFields', own.fields, spec.get('time'));\n else if ('time' in own) set(layer, 'setTime', own.time);\n if ('playing' in own) set(layer, 'setPlaying', own.playing ?? true);\n if ('costs' in own) set(layer, 'setCosts', own.costs);\n if ('edgeWidths' in own) set(layer, 'setEdgeWidths', own.edgeWidths);\n if ('instances' in own || 'altitudeReference' in own) {\n set(layer, 'setInstances', spec.get('instances'), spec.get('altitudeReference'));\n }\n if ('uniforms' in own) {\n Object.entries(own.uniforms ?? {}).forEach(([name, value]) => {\n set(layer, 'setUniform', name, value);\n });\n }\n if ('textures' in own) {\n Object.entries(own.textures ?? {}).forEach(([name, texture]) => {\n set(layer, 'setTexture', name, texture);\n });\n }\n if ('facades' in own) set(layer, 'setFacades', own.facades ?? false);\n if ('drape' in own) set(layer, 'setDrape', own.drape);\n if (Object.keys(change.style).length > 0) set(layer, 'setStyle', change.style);\n};\n\n/** Adds a layer from its description, its values set */\nexport const addBoundLayer = (map: GeoMap, { values, ...spec }: BoundLayerSpec): Layer => {\n const layer = map.add(spec as LayerSpec);\n\n if (values) set(layer, 'setValues', values);\n\n return layer;\n};\n\n/** A layer made anew from its description in the place of `old`, its values set */\nexport const rebuildBoundLayer = (map: GeoMap, old: Layer, { values, ...spec }: BoundLayerSpec): Layer => {\n const layer = map.rebuildLayer(old, spec as LayerSpec);\n\n if (values) set(layer, 'setValues', values);\n\n return layer;\n};\n\n/**\n * The layers of a binding in their declared order: `order` (default 0) from the bottom up, layers of the same order by\n * their `rank` (where they were declared: a component's taken when it first renders, before its layer may wait for\n * something, its tiles or its data), else by the time they came. A layer added or made anew is moved under the first\n * layer above it\n */\nexport class LayerOrder {\n private readonly entries: { layer: Layer; order: number; seq: number }[] = [];\n private seq = 0;\n\n /** The next rank: a component's place among the others, taken as React renders them in their declared order */\n rank(): number {\n this.seq += 1;\n\n return this.seq;\n }\n\n /** Places a new layer (at its `rank`, else after every other), or a layer made anew in place of `old` */\n place(layer: Layer, order: number, { old, rank }: { old?: Layer | undefined; rank?: number | undefined } = {}): void {\n const index = old ? this.entries.findIndex((e) => e.layer === old) : -1;\n const entry = index >= 0 ? this.entries[index] : undefined;\n\n if (entry) {\n entry.layer = layer;\n entry.order = order;\n } else {\n this.entries.push({ layer, order, seq: rank ?? this.rank() });\n }\n this.entries.sort((a, b) => a.order - b.order || a.seq - b.seq);\n\n const at = this.entries.findIndex((e) => e.layer === layer);\n const above = this.entries[at + 1]?.layer;\n\n if (above) layer.moveBefore(above);\n }\n\n /** Forgets a layer removed */\n remove(layer: Layer): void {\n const index = this.entries.findIndex((e) => e.layer === layer);\n\n if (index >= 0) this.entries.splice(index, 1);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
- var je=(r)=>typeof r==="object"&&r!==null&&!Array.isArray(r);var ze={draco:"https://www.gstatic.com/draco/versioned/decoders/1.5.7/",basis:"https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/"},mt=async(r,e)=>{let t=await(await fetch(r)).text(),n=URL.createObjectURL(new Blob([`${t}
2
- export default ${e};`],{type:"text/javascript"}));try{let _=await import(n);if(je(_)&&typeof _.default==="function")return _.default}catch{}finally{URL.revokeObjectURL(n)}return Function(`${t}
3
- return ${e};`)()},De=async(r,e,t,n)=>{let[_,c]=await Promise.all([mt(`${r}${e}`,n),fetch(`${r}${t}`).then((i)=>i.arrayBuffer())]);return _({wasmBinary:c})},Ne,He,$e,qe=async(r,e)=>{let t=e.some((c)=>!c.points);if(t)Ne??=De(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((c)=>c.points))He??=De(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?Ne:void 0,He]);return e.map((c)=>{let i=c.points?_:n;if(!i)throw Error("isard: the Draco decoder is not loaded");let s=new i.Decoder,f=c.points?new i.PointCloud:new i.Mesh;try{let b=new Int8Array(c.data.buffer,c.data.byteOffset,c.data.byteLength),l=c.points?s.DecodeArrayToPointCloud(b,b.byteLength,f):s.DecodeArrayToMesh(b,b.byteLength,f);if(!l.ok())throw Error(`Draco: ${l.error_msg()}`);let d=(S)=>{let T=s.GetAttributeByUniqueId(f,S),I=f.num_points()*T.num_components(),M=i._malloc(I*4);try{return s.GetAttributeDataArrayForAllPoints(f,T,i.DT_FLOAT32,I*4,M),i.HEAPF32.slice(M/4,M/4+I)}finally{i._free(M)}};if(c.points){let S={mesh:c.mesh,primitive:c.primitive,positions:d(c.position)};if(c.color!==void 0)S.colors=d(c.color);if(c.normal!==void 0)S.normals=d(c.normal);return S}let m=(()=>{let S=f.num_faces()*3,T=i._malloc(S*4);try{return s.GetTrianglesUInt32Array(f,S*4,T),i.HEAPU32.slice(T/4,T/4+S)}finally{i._free(T)}})(),v={mesh:c.mesh,primitive:c.primitive,positions:d(c.position),indices:m};if(c.uv!==void 0)v.uvs=d(c.uv);return v}finally{i.destroy(f),i.destroy(s)}})},pt=(r,e)=>{if(r.astc)return{basis:10,gl:37808};if(r.bptc)return{basis:6,gl:36492};if(r.etc)return e?{basis:1,gl:37496}:{basis:0,gl:37492};if(r.s3tc)return e?{basis:3,gl:33779}:{basis:2,gl:33776};return{basis:13,gl:32856}},Xe=async(r,e,t)=>{$e??=De(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((c)=>(c.initializeBasis(),c));let _=new(await $e).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:c,gl:i}=pt(e,_.getHasAlpha()),s=Array.from({length:_.getLevels()},(f,b)=>{let{origWidth:l,origHeight:d}=_.getImageLevelInfo(b,0,0),g=new Uint8Array(_.getImageTranscodedSizeInBytes(b,0,0,c));if(!_.transcodeImage(g,b,0,0,c,0,-1,-1))throw Error("KTX2: transcoding failed");return{width:l,height:d,data:g}});return{format:i,levels:s}}finally{_.close(),_.delete()}};var Me=(r,e)=>Error(`isard: ${String(r)}: HTTP ${e}`),Je=async(r,e)=>{let t=await fetch(r,e);if(!t.ok)throw Me(r,t.status);return t};var Ke=async(r,e)=>{let t=r.body?.getReader();if(!t)return new Uint8Array(await r.arrayBuffer());let n=[],_=0;for(;;){let{done:i,value:s}=await t.read();if(i)break;if(_+=s.length,_>e){await t.cancel();return}n.push(s)}let c=new Uint8Array(_);return n.reduce((i,s)=>(c.set(s,i),i+s.length),0),c};var Ye=[];var Ze=(r)=>{Ye=r};var Re=(r,e={})=>{let t=String(r),n=Ye.filter(([c])=>t.startsWith(c));if(n.length===0)return e;let _=new Headers(e.headers);return n.forEach(([,c])=>{Object.entries(c).forEach(([i,s])=>{_.set(i,s)})}),{...e,headers:_}};class ke{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,Qe.unregister(this),r}free(){let r=this.__destroy_into_raw();o.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=x(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=o.engine_addCircles(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw h(s[1]);return s[0]>>>0}addCustomLayer(r,e){return o.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=o.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=w(e,o.__wbindgen_malloc),f=a,b=w(t,o.__wbindgen_malloc),l=a,d=w(n,o.__wbindgen_malloc),g=a,m=o.engine_addFills(this.__wbg_ptr,c,i,s,f,b,l,d,g,_);if(m[2])throw h(m[1]);return m[0]>>>0}addFlow(r,e){let t=o.engine_addFlow(this.__wbg_ptr,r,e);if(t[2])throw h(t[1]);return t[0]>>>0}addGround(r,e,t,n,_,c,i){let s=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=a,b=o.engine_addGround(this.__wbg_ptr,s,f,e,t,n,_,c,i);if(b[2])throw h(b[1]);return b[0]>>>0}addLines(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),s=a,f=w(e,o.__wbindgen_malloc),b=a,l=w(t,o.__wbindgen_malloc),d=a;var g=u(_)?0:x(_,o.__wbindgen_malloc),m=a;let v=o.engine_addLines(this.__wbg_ptr,i,s,f,b,l,d,n,g,m,u(c)?16777215:c?1:0);if(v[2])throw h(v[1]);return v[0]>>>0}addModels(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(e,o.__wbindgen_malloc),i=a,s=o.engine_addModels(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw h(s[1]);return s[0]>>>0}addNetwork(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),s=a,f=w(e,o.__wbindgen_malloc),b=a;var l=u(t)?0:w(t,o.__wbindgen_malloc),d=a,g=u(n)?0:x(n,o.__wbindgen_malloc),m=a,v=u(_)?0:y(_,o.__wbindgen_malloc),S=a;let T=y(c,o.__wbindgen_malloc),I=a,M=o.engine_addNetwork(this.__wbg_ptr,i,s,f,b,l,d,g,m,v,S,T,I);if(M[2])throw h(M[1]);return M[0]>>>0}addPointCloud(r,e){let t=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),n=a,_=o.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw h(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,c,i){let s=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=a,b=o.engine_addRaster(this.__wbg_ptr,s,f,e,t,n,_,u(c)?Number.MAX_SAFE_INTEGER:c>>0,u(i)?0:A(i));if(b[2])throw h(b[1]);return b[0]>>>0}addSymbols(){let r=o.engine_addSymbols(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}addTiles3d(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=o.engine_addTiles3d(this.__wbg_ptr,n,_,e,u(t)?16777215:t?1:0);if(c[2])throw h(c[1]);return c[0]>>>0}addVectorTiles(){let r=o.engine_addVectorTiles(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}bounds(){let r=o.engine_bounds(this.__wbg_ptr);var e=Be(r[0],r[1]).slice();return o.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return o.engine_camera(this.__wbg_ptr)}clearPanorama(){o.engine_clearPanorama(this.__wbg_ptr)}clearPivot(){o.engine_clearPivot(this.__wbg_ptr)}clearPreload(){o.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){o.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=o.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=E(n[0],n[1]).slice(),o.__wbindgen_free(n[0],n[1]*4,4);return _}elevationAt(r,e){let t=o.engine_elevationAt(this.__wbg_ptr,r,e);return t[0]===0?void 0:t[1]}static geoidHeight(r,e){return o.engine_geoidHeight(r,e)}ground(r,e){return o.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){o.engine_linkExtrusionNetwork(this.__wbg_ptr,r,u(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}localMatrix(r,e,t){let n=o.engine_localMatrix(this.__wbg_ptr,r,e,t);var _=E(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}moveLayer(r,e){o.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return o.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e){let t=o.engine_new(r,e);if(t[2])throw h(t[1]);return this.__wbg_ptr=t[0],Qe.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){o.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=u(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_pick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,c)}pointCloudInfo(r){return o.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return o.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return o.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return o.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){o.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return o.engine_project(this.__wbg_ptr,r,e,!u(t),u(t)?0:t)}promoteFlowNext(r){o.engine_promoteFlowNext(this.__wbg_ptr,r)}removeExtrusionBatch(r,e){o.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){o.engine_removeLayer(this.__wbg_ptr,r)}removeVectorTile(r,e){o.engine_removeVectorTile(this.__wbg_ptr,r,e)}render(){return o.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=u(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_requestPick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,c)!==0}resize(r,e,t){o.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){o.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=u(r)?0:y(r,o.__wbindgen_malloc),t=a;o.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){o.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var c=u(t)?0:y(t,o.__wbindgen_malloc),i=a;o.engine_setBody(this.__wbg_ptr,r,e,c,i,n,_)}setCamera(r,e,t,n,_){o.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){o.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a,c=w(t,o.__wbindgen_malloc),i=a;o.engine_setCircles(this.__wbg_ptr,r,n,_,c,i)}setExtrusionAnchors(r,e,t){let n=y(t,o.__wbindgen_malloc),_=a,c=o.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(c[1])throw h(c[0])}setExtrusionBatch(r,e,t,n,_,c,i,s,f,b){let l=x(t,o.__wbindgen_malloc),d=a,g=w(n,o.__wbindgen_malloc),m=a,v=w(_,o.__wbindgen_malloc),S=a,T=w(c,o.__wbindgen_malloc),I=a,M=P(s,o.__wbindgen_malloc),F=a,k=y(f,o.__wbindgen_malloc),U=a,B=o.engine_setExtrusionBatch(this.__wbg_ptr,r,e,l,d,g,m,v,S,T,I,i,M,F,k,U,b);if(B[1])throw h(B[0])}setFacades(r,e){o.engine_setFacades(this.__wbg_ptr,r,e)}setFeatureLayer(r,e,t,n,_){let c=y(e,o.__wbindgen_malloc),i=a;o.engine_setFeatureLayer(this.__wbg_ptr,r,c,i,t,n,_)}setFeatureMask(r,e,t){let n=P(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureMask(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=u(e)?0:P(e,o.__wbindgen_malloc),c=a;o.engine_setFeatureRamp(this.__wbg_ptr,r,_,c,t,n)}setFeatureStyle(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureValues(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let c=x(e,o.__wbindgen_malloc),i=a,s=w(t,o.__wbindgen_malloc),f=a,b=w(n,o.__wbindgen_malloc),l=a,d=w(_,o.__wbindgen_malloc),g=a;o.engine_setFills(this.__wbg_ptr,r,c,i,s,f,b,l,d,g)}setFirstPerson(r,e,t,n,_,c){o.engine_setFirstPerson(this.__wbg_ptr,r,e,t,n,_,c)}setFlowBlend(r,e){o.engine_setFlowBlend(this.__wbg_ptr,r,e)}setFlowField(r,e,t,n,_,c){let i=y(n,o.__wbindgen_malloc),s=a,f=y(_,o.__wbindgen_malloc),b=a,l=x(c,o.__wbindgen_malloc),d=a;o.engine_setFlowField(this.__wbg_ptr,r,e,t,i,s,f,b,l,d)}setFlowNext(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a,c=y(t,o.__wbindgen_malloc),i=a;o.engine_setFlowNext(this.__wbg_ptr,r,n,_,c,i)}setFlowStyle(r,e,t,n,_,c,i,s){let f=y(e,o.__wbindgen_malloc),b=a,l=y(t,o.__wbindgen_malloc),d=a;o.engine_setFlowStyle(this.__wbg_ptr,r,f,b,l,d,n,_,c,i,s)}setFlowWeights(r,e,t){o.engine_setFlowWeights(this.__wbg_ptr,r,e,t)}setGlobeColor(r,e,t){o.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){o.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=u(t)?0:P(t,o.__wbindgen_malloc),_=a;let c=o.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(c[1])throw h(c[0])}setGlyphPages(r,e,t){let n=o.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw h(n[0])}setGroundBounds(r,e,t,n,_){o.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,l=R(t,o.__wbindgen_malloc,o.__wbindgen_realloc),d=a;var g=u(s)?0:P(s,o.__wbindgen_malloc),m=a;let v=o.engine_setGroundTexture(this.__wbg_ptr,r,f,b,l,d,n,_,c,i,g,m);if(v[1])throw h(v[0])}setGroundUniform(r,e,t){let n=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(t,o.__wbindgen_malloc),i=a,s=o.engine_setGroundUniform(this.__wbg_ptr,r,n,_,c,i);if(s[1])throw h(s[0])}setGroundVisible(r,e){o.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=o.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw h(t[0])}setImmediateLoading(r){o.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){o.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n,_,c){let i=x(e,o.__wbindgen_malloc),s=a,f=w(t,o.__wbindgen_malloc),b=a,l=w(n,o.__wbindgen_malloc),d=a;var g=u(_)?0:x(_,o.__wbindgen_malloc),m=a;let v=o.engine_setLines(this.__wbg_ptr,r,i,s,f,b,l,d,g,m,u(c)?16777215:c?1:0);if(v[1])throw h(v[0])}setMaxPitch(r){o.engine_setMaxPitch(this.__wbg_ptr,r)}setModelGlow(r,e,t,n,_){o.engine_setModelGlow(this.__wbg_ptr,r,e,t,n,_)}setModelHighlight(r,e,t,n,_){o.engine_setModelHighlight(this.__wbg_ptr,r,e,t,n,_)}setModelInstances(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a;o.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=u(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=u(e)?0:P(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=u(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPanoramaImage(r,e){let t=o.engine_setPanoramaImage(this.__wbg_ptr,r,e);if(t[1])throw h(t[0])}setPanorama(r,e,t,n,_,c,i){let s=x(n,o.__wbindgen_malloc),f=a,b=x(_,o.__wbindgen_malloc),l=a,d=o.engine_setPanorama(this.__wbg_ptr,r,e,t,s,f,b,l,c,i);if(d[1])throw h(d[0])}setPivot(r,e){return o.engine_setPivot(this.__wbg_ptr,r,e)!==0}setPointCloudStyle(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=a,i=P(t,o.__wbindgen_malloc),s=a,f=P(n,o.__wbindgen_malloc),b=a;o.engine_setPointCloudStyle(this.__wbg_ptr,r,_,c,i,s,f,b)}setRasterStyle(r,e,t){o.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setRequestHeaders(r,e,t){let n=tt(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=tt(t,o.__wbindgen_malloc),f=a;o.engine_setRequestHeaders(this.__wbg_ptr,n,_,c,i,s,f)}setSky(r){o.engine_setSky(this.__wbg_ptr,r)}setSun(r,e,t,n){let _=o.engine_setSun(this.__wbg_ptr,r,e,t,n);if(_[1])throw h(_[0])}setSwipe(r,e,t,n){let _=w(t,o.__wbindgen_malloc),c=a,i=w(n,o.__wbindgen_malloc),s=a;o.engine_setSwipe(this.__wbg_ptr,r,e,_,c,i,s)}setSymbolLayer(r,e,t,n,_,c,i){let s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),l=a;o.engine_setSymbolLayer(this.__wbg_ptr,r,s,f,b,l,n,_,c,i)}setSymbols(r,e,t,n,_,c){let i=x(e,o.__wbindgen_malloc),s=a,f=y(t,o.__wbindgen_malloc),b=a,l=y(n,o.__wbindgen_malloc),d=a,g=y(_,o.__wbindgen_malloc),m=a,v=x(c,o.__wbindgen_malloc),S=a,T=o.engine_setSymbols(this.__wbg_ptr,r,i,s,f,b,l,d,g,m,v,S);if(T[1])throw h(T[0])}setTerrain(r,e,t,n,_){var c=u(r)?0:R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;let s=o.engine_setTerrain(this.__wbg_ptr,c,i,e,u(t)?16777215:t,u(n)?16777215:n?1:0,u(_)?0:A(_));if(s[1])throw h(s[0])}setTileLoader(r){o.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dFacades(r,e){o.engine_setTiles3dFacades(this.__wbg_ptr,r,e)}setTiles3dFeatureColors(r,e){o.engine_setTiles3dFeatureColors(this.__wbg_ptr,r,e)}setTiles3dStyle(r,e,t,n,_){let c=y(_,o.__wbindgen_malloc),i=a;o.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!u(n),u(n)?0:n,c,i)}setVectorSublayers(r,e,t,n,_,c,i,s,f,b,l){let d=P(e,o.__wbindgen_malloc),g=a,m=x(t,o.__wbindgen_malloc),v=a,S=P(n,o.__wbindgen_malloc),T=a,I=y(_,o.__wbindgen_malloc),M=a,F=y(c,o.__wbindgen_malloc),k=a,U=P(i,o.__wbindgen_malloc),B=a,O=P(s,o.__wbindgen_malloc),G=a,z=y(f,o.__wbindgen_malloc),q=a,X=y(b,o.__wbindgen_malloc),J=a,K=P(l,o.__wbindgen_malloc),Y=a;o.engine_setVectorSublayers(this.__wbg_ptr,r,d,g,m,v,S,T,I,M,F,k,U,B,O,G,z,q,X,J,K,Y)}setVectorTileMesh(r,e,t,n,_,c,i,s,f,b,l,d,g,m,v,S,T,I,M){let F=x(t,o.__wbindgen_malloc),k=a,U=w(n,o.__wbindgen_malloc),B=a,O=w(_,o.__wbindgen_malloc),G=a,z=w(c,o.__wbindgen_malloc),q=a,X=w(i,o.__wbindgen_malloc),J=a,K=P(s,o.__wbindgen_malloc),Y=a,de=w(f,o.__wbindgen_malloc),ge=a,we=w(b,o.__wbindgen_malloc),me=a,pe=P(d,o.__wbindgen_malloc),he=a,ye=y(g,o.__wbindgen_malloc),Ae=a,xe=w(m,o.__wbindgen_malloc),ve=a,Fe=P(v,o.__wbindgen_malloc),Se=a,Te=w(S,o.__wbindgen_malloc),Pe=a,Ie=w(T,o.__wbindgen_malloc),fe=a,gt=x(I,o.__wbindgen_malloc),wt=a,Ge=o.engine_setVectorTileMesh(this.__wbg_ptr,r,e,F,k,U,B,O,G,z,q,X,J,K,Y,de,ge,we,me,l,pe,he,ye,Ae,xe,ve,Fe,Se,Te,Pe,Ie,fe,gt,wt,M);if(Ge[1])throw h(Ge[0])}setVectorTilePoints(r,e,t,n,_){let c=x(t,o.__wbindgen_malloc),i=a,s=w(n,o.__wbindgen_malloc),f=a,b=w(_,o.__wbindgen_malloc),l=a;o.engine_setVectorTilePoints(this.__wbg_ptr,r,e,c,i,s,f,b,l)}setVectorTile(r,e,t,n,_,c,i,s,f,b,l,d,g,m,v,S,T,I){let M=x(t,o.__wbindgen_malloc),F=a,k=w(n,o.__wbindgen_malloc),U=a,B=w(_,o.__wbindgen_malloc),O=a,G=w(c,o.__wbindgen_malloc),z=a,q=w(i,o.__wbindgen_malloc),X=a,J=x(s,o.__wbindgen_malloc),K=a,Y=w(f,o.__wbindgen_malloc),de=a,ge=w(b,o.__wbindgen_malloc),we=a,me=w(l,o.__wbindgen_malloc),pe=a,he=x(g,o.__wbindgen_malloc),ye=a,Ae=P(m,o.__wbindgen_malloc),xe=a,ve=y(v,o.__wbindgen_malloc),Fe=a,Se=x(S,o.__wbindgen_malloc),Te=a,Pe=w(T,o.__wbindgen_malloc),Ie=a,fe=o.engine_setVectorTile(this.__wbg_ptr,r,e,M,F,k,U,B,O,G,z,q,X,J,K,Y,de,ge,we,me,pe,d,he,ye,Ae,xe,ve,Fe,Se,Te,Pe,Ie,I);if(fe[1])throw h(fe[0])}setViewshed(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),l=a,d=y(_,o.__wbindgen_malloc),g=a,m=o.engine_setViewshed(this.__wbg_ptr,c,i,s,f,b,l,n,d,g);if(m[1])throw h(m[0])}setZoomRange(r,e){o.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return o.engine_stats(this.__wbg_ptr)}stepFlow(r,e){return o.engine_stepFlow(this.__wbg_ptr,r,e)!==0}surfaceAt(r,e){return o.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return o.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return o.engine_textureFormats(this.__wbg_ptr)}tiles3dFeature(r,e){return o.engine_tiles3dFeature(this.__wbg_ptr,r,e)}tiles3dStats(r){return o.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let c=P(_,o.__wbindgen_malloc),i=a;o.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,c,i)}updateGlyphPage(r,e,t,n,_,c){let i=P(c,o.__wbindgen_malloc),s=a;o.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,i,s)}updateGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,l=P(s,o.__wbindgen_malloc),d=a,g=o.engine_updateGroundTexture(this.__wbg_ptr,r,f,b,t,n,_,c,i,l,d);if(g[1])throw h(g[0])}updateIconAtlas(r,e,t,n,_){let c=P(_,o.__wbindgen_malloc),i=a;o.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,c,i)}uploadVectorTile(r,e){return o.engine_uploadVectorTile(this.__wbg_ptr,r,e)!==0}vectorTilesInView(r,e,t){let n=o.engine_vectorTilesInView(this.__wbg_ptr,r,e,t);var _=V(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}wantedTiles(r){let e=o.engine_wantedTiles(this.__wbg_ptr,r);var t=V(e[0],e[1]).slice();return o.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){o.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)ke.prototype[Symbol.dispose]=ke.prototype.free;function nt(r,e,t,n){let _=P(r,o.__wbindgen_malloc),c=a,i=x(e,o.__wbindgen_malloc),s=a,f=o.decodeTile(_,c,i,s,t,n);if(f[2])throw h(f[1]);return h(f[0])}function rt(r){let e=P(r,o.__wbindgen_malloc),t=a,n=o.dracoRequests(e,t);if(n[2])throw h(n[1]);return h(n[0])}function ht(){return{__proto__:null,"./isard_bg.js":{__proto__:null,__wbg___wbindgen_boolean_get_5b446f51afd21013:function(e){let t=e,n=typeof t==="boolean"?t:void 0;return u(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=Ue(t),_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg___wbindgen_is_falsy_16bd49b68658263e:function(e){return!e},__wbg___wbindgen_is_function_1f9d30630b8b1d3d:function(e){return typeof e==="function"},__wbg___wbindgen_is_null_e343b7d08827ba72:function(e){return e===null},__wbg___wbindgen_is_object_3c45d4f2dde4e749:function(e){let t=e;return typeof t==="object"&&t!==null},__wbg___wbindgen_is_undefined_8865fb403f8fe9d8:function(e){return e===void 0},__wbg___wbindgen_number_get_2e0e7dee9f701a71:function(e,t){let n=t,_=typeof n==="number"?n:void 0;D().setFloat64(e+8,u(_)?0:_,!0),D().setInt32(e+0,!u(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(C(e,t))},__wbg__wbg_cb_unref_dcc1a90847f04c41:function(e){e._wbg_cb_unref()},__wbg_abort_f78b99d80248bacb:function(e){e.abort()},__wbg_aborted_5b2b5f06b5e59fde:function(e){return e.aborted},__wbg_activeTexture_11079673eac5c921:function(e,t){e.activeTexture(t>>>0)},__wbg_activeTexture_2fad46c01cafe6b1:function(e,t){e.activeTexture(t>>>0)},__wbg_apply_a910804df6e1e433:function(){return p(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return p(function(e){return e.arrayBuffer()},arguments)},__wbg_attachShader_8920a5beea54aba7:function(e,t,n){e.attachShader(t,n)},__wbg_attachShader_9567ae57af6746d5:function(e,t,n){e.attachShader(t,n)},__wbg_bindBuffer_0324f62b876c4403:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindBuffer_2195e89b585ce0c3:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindFramebuffer_22e4b8e6e6d8d0e8:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindFramebuffer_378eb18ef219d37a:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindRenderbuffer_db090531fb28de34:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindRenderbuffer_e0c5aeef245a913a:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindTexture_3cf008f256f3ed99:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindTexture_613a47b8917a0ccd:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindVertexArrayOES_3141815cb8234a6e:function(e,t){e.bindVertexArrayOES(t)},__wbg_bindVertexArray_f58af0a346185ec5:function(e,t){e.bindVertexArray(t)},__wbg_blendEquation_5fb8aee6a55cf900:function(e,t){e.blendEquation(t>>>0)},__wbg_blendEquation_d21914e937b14896:function(e,t){e.blendEquation(t>>>0)},__wbg_blendFuncSeparate_28abe082febb1a26:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFunc_491ee1105079ce76:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blendFunc_589e4252bb396484:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blob_232135c7e297b861:function(){return p(function(e){return e.blob()},arguments)},__wbg_bufferData_50f5eb06469330e4:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_53e0f7a06b58fe81:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_5fa44d94fe7a3878:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_bad7ce562b6a9eac:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferSubData_22c4c420e0f67cda:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_bufferSubData_8609cd8a2c013181:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_byteLength_141bda7c7c28aa72:function(e){return e.byteLength},__wbg_byteLength_18a1704c0bf397bb:function(e){return e.byteLength},__wbg_byteLength_27689b065d089962:function(e){return e.byteLength},__wbg_byteLength_9f985b8373f1f3fe:function(e){return e.byteLength},__wbg_call_01721c8c75200a10:function(){return p(function(e,t,n,_,c,i){return e.call(t,n,_,c,i)},arguments)},__wbg_call_1875a20c43a36133:function(){return p(function(e,t,n,_){return e.call(t,n,_)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return p(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return p(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearDepth_4840a5497ae51286:function(e,t){e.clearDepth(t)},__wbg_clearDepth_5a119c24c5d193bc:function(e,t){e.clearDepth(t)},__wbg_clearStencil_1b8b8c727f598eec:function(e,t){e.clearStencil(t)},__wbg_clearStencil_e4383e4a543e7997:function(e,t){e.clearStencil(t)},__wbg_clear_175cf3cb6d98d72b:function(e,t){e.clear(t>>>0)},__wbg_clear_cb96796cc568b7c8:function(e,t){e.clear(t>>>0)},__wbg_close_355afba6ea5ad1ae:function(e){e.close()},__wbg_colorMask_4d6afbbbc3022fbe:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_compileShader_073a75409aaf96d2:function(e,t){e.compileShader(t)},__wbg_compileShader_c2b53ff3a8851f60:function(e,t){e.compileShader(t)},__wbg_compressedTexImage2D_93d2b30687f2cfad:function(e,t,n,_,c,i,s,f){e.compressedTexImage2D(t>>>0,n,_>>>0,c,i,s,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return u(t)?0:A(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return u(t)?0:A(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return u(t)?0:A(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return u(t)?0:A(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return u(t)?0:A(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return u(t)?0:A(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return u(t)?0:A(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return u(t)?0:A(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:A(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:A(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return u(t)?0:A(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return u(t)?0:A(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return u(t)?0:A(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return u(t)?0:A(t)},__wbg_cullFace_12123c1c97f1ba2c:function(e,t){e.cullFace(t>>>0)},__wbg_cullFace_1a01f0b6d5aeb687:function(e,t){e.cullFace(t>>>0)},__wbg_deleteBuffer_070e58aaaf2a7a8b:function(e,t){e.deleteBuffer(t)},__wbg_deleteBuffer_7775ee9e248c8468:function(e,t){e.deleteBuffer(t)},__wbg_deleteFramebuffer_3f8ab330098bf8e6:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteFramebuffer_570d3b214a509fa2:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteProgram_822906f0368175d0:function(e,t){e.deleteProgram(t)},__wbg_deleteProgram_b524b30ad176cdb4:function(e,t){e.deleteProgram(t)},__wbg_deleteRenderbuffer_826c9b43b7ea68f5:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteRenderbuffer_f4e121a3ab21c605:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteShader_a70f6cc1918d67eb:function(e,t){e.deleteShader(t)},__wbg_deleteShader_da18a294158c2d15:function(e,t){e.deleteShader(t)},__wbg_deleteSync_4f0be28b03f50495:function(e,t){e.deleteSync(t)},__wbg_deleteTexture_78c170241204a466:function(e,t){e.deleteTexture(t)},__wbg_deleteTexture_9f42750adb092e4f:function(e,t){e.deleteTexture(t)},__wbg_deleteVertexArrayOES_e01f31634d466176:function(e,t){e.deleteVertexArrayOES(t)},__wbg_deleteVertexArray_ca9768805d051d49:function(e,t){e.deleteVertexArray(t)},__wbg_depthFunc_92e96d8f46a23300:function(e,t){e.depthFunc(t>>>0)},__wbg_depthFunc_a41fb5adacb22e09:function(e,t){e.depthFunc(t>>>0)},__wbg_depthMask_06ecff4d4514c38f:function(e,t){e.depthMask(t!==0)},__wbg_depthMask_0d7c3dec3b8405ee:function(e,t){e.depthMask(t!==0)},__wbg_depthRange_24c7969249461e8e:function(e,t,n){e.depthRange(t,n)},__wbg_depthRange_6a4e169ccf314148:function(e,t,n){e.depthRange(t,n)},__wbg_detachShader_1ed15fc2d289cf15:function(e,t,n){e.detachShader(t,n)},__wbg_detachShader_67dabaaad80a795e:function(e,t,n){e.detachShader(t,n)},__wbg_disableVertexAttribArray_11c9f11bee30c9d8:function(e,t){e.disableVertexAttribArray(t>>>0)},__wbg_disableVertexAttribArray_c4c8af1f9e4120d4:function(e,t){e.disableVertexAttribArray(t>>>0)},__wbg_disable_19fe787eccdf0272:function(e,t){e.disable(t>>>0)},__wbg_disable_81b2cb5f8cea15ae:function(e,t){e.disable(t>>>0)},__wbg_drawArraysInstancedANGLE_b76512b5abba6668:function(e,t,n,_,c){e.drawArraysInstancedANGLE(t>>>0,n,_,c)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,c){e.drawArraysInstanced(t>>>0,n,_,c)},__wbg_drawArrays_08872e02fb57b847:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawArrays_741af5c3f8db636f:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc:function(e,t,n,_,c,i){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,c,i)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,c,i){e.drawElementsInstanced(t>>>0,n,_>>>0,c,i)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_enableVertexAttribArray_1496b78a8dbab9fd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enableVertexAttribArray_d52693866bc8b8dd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enable_6eeb9c0e9b483cee:function(e,t){e.enable(t>>>0)},__wbg_enable_cb4fc19b51148c37:function(e,t){e.enable(t>>>0)},__wbg_error_c9cf3fc2064683a9:function(e){console.error(e)},__wbg_fenceSync_330293024adb66bc:function(e,t,n){let _=e.fenceSync(t>>>0,n>>>0);return u(_)?0:A(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(C(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_from_296ca31f8d0f1c52:function(e){return Array.from(e)},__wbg_frontFace_6751b4b97f997aeb:function(e,t){e.frontFace(t>>>0)},__wbg_frontFace_b064adb15b6f3772:function(e,t){e.frontFace(t>>>0)},__wbg_generateMipmap_c63604006bfa52d5:function(e,t){e.generateMipmap(t>>>0)},__wbg_generateMipmap_cd49f6eec9558721:function(e,t){e.generateMipmap(t>>>0)},__wbg_getActiveUniform_239de631a40c387a:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:A(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:A(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return p(function(e,t,n,_){let c=e.getContext(C(t,n),_);return u(c)?0:A(c)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return p(function(e,t,n){let _=e.getExtension(C(t,n));return u(_)?0:A(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramParameter_50bafab01cf88652:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getProgramParameter_fc7124bb9fb7c675:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getShaderInfoLog_7e0cbba353ca95da:function(e,t,n){let _=t.getShaderInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderParameter_745acf10b8e45e31:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getShaderParameter_e55ea9c456df5484:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getSupportedExtensions_1459bad37860c0c3:function(e){let t=e.getSupportedExtensions();return u(t)?0:A(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return u(c)?0:A(c)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return u(c)?0:A(c)},__wbg_get_31af05bd4842a84f:function(){return p(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_806853698d9fc227:function(){return p(function(e,t){return Reflect.get(e,t>>>0)},arguments)},__wbg_get_f75619e20cb68514:function(){return p(function(e,t,n,_){let c=t.get(C(n,_));var i=u(c)?0:R(c,o.__wbindgen_malloc,o.__wbindgen_realloc),s=a;D().setInt32(e+4,s,!0),D().setInt32(e+0,i,!0)},arguments)},__wbg_get_index_f4750150bb3083b3:function(e,t){return e[t>>>0]},__wbg_get_unchecked_288889d017702237:function(e,t){return e[t>>>0]},__wbg_headers_eba93595f8944c2f:function(e){return e.headers},__wbg_height_9dca4d43c3e4b84b:function(e){return e.height},__wbg_instanceof_ArrayBuffer_a99f175873e5d9b8:function(e){let t;try{t=e instanceof ArrayBuffer}catch(_){t=!1}return t},__wbg_instanceof_Blob_7c6191a4cd5834d3:function(e){let t;try{t=e instanceof Blob}catch(_){t=!1}return t},__wbg_instanceof_Error_80a725f81f2e102d:function(e){let t;try{t=e instanceof Error}catch(_){t=!1}return t},__wbg_instanceof_Float32Array_595afb0f28b828c9:function(e){let t;try{t=e instanceof Float32Array}catch(_){t=!1}return t},__wbg_instanceof_Float64Array_8a59377f9eec1b8b:function(e){let t;try{t=e instanceof Float64Array}catch(_){t=!1}return t},__wbg_instanceof_ImageBitmap_74bea45ee48d3d7a:function(e){let t;try{t=e instanceof ImageBitmap}catch(_){t=!1}return t},__wbg_instanceof_Promise_e1dc6893aa1ece28:function(e){let t;try{t=e instanceof Promise}catch(_){t=!1}return t},__wbg_instanceof_Response_b8758567269c30b2:function(e){let t;try{t=e instanceof Response}catch(_){t=!1}return t},__wbg_instanceof_Uint32Array_53a4facaf04b8a8b:function(e){let t;try{t=e instanceof Uint32Array}catch(_){t=!1}return t},__wbg_instanceof_Uint8Array_828cef2aaacafc31:function(e){let t;try{t=e instanceof Uint8Array}catch(_){t=!1}return t},__wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb:function(e){let t;try{t=e instanceof WebGL2RenderingContext}catch(_){t=!1}return t},__wbg_instanceof_Window_82d71df4eddf88bc:function(e){let t;try{t=e instanceof Window}catch(_){t=!1}return t},__wbg_isArray_e15a2ff68ffdbef2:function(e){return Array.isArray(e)},__wbg_isContextLost_fbbab8b921e614b7:function(e){return e.isContextLost()},__wbg_is_4b278c0bd3caba97:function(e,t){return Object.is(e,t)},__wbg_length_511b1f84719d3462:function(e){return e.length},__wbg_length_58572db4c38f3c3e:function(e){return e.length},__wbg_length_7f3c00c40364105e:function(e){return e.length},__wbg_length_b5f0008bbf60cf59:function(e){return e.length},__wbg_length_d4bdea10311bd9cf:function(e){return e.length},__wbg_linkProgram_571a9ea00d38ff83:function(e,t){e.linkProgram(t)},__wbg_linkProgram_acdc299c43d734a0:function(e,t){e.linkProgram(t)},__wbg_message_5f8387f0c32b90a7:function(e){return e.message},__wbg_name_91a697e9ff1634bf:function(e,t){let n=t.name,_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return p(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},_=(i,s)=>{let f=n.a;n.a=0;try{return At(f,n.b,i,s)}finally{n.a=f}};return new Promise(_)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_83ca405eae412a62:function(){return p(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(V(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(Ee(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(E(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(Be(e,t))},__wbg_new_with_byte_offset_70ba6193352e027b:function(e,t){return new Uint8Array(e,t>>>0)},__wbg_new_with_byte_offset_and_length_40c170286adc9005:function(e,t,n){return new Float32Array(e,t>>>0,n>>>0)},__wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd:function(){return p(function(e,t){return new Blob(e,t)},arguments)},__wbg_now_aa4ccb83129e9e55:function(){return Date.now()},__wbg_now_d0b7f4bea9f38490:function(e){return e.now()},__wbg_of_20798cb14708764f:function(e,t){return Array.of(e,t)},__wbg_of_d5dbecdc59e02e34:function(e){return Array.of(e)},__wbg_of_dde0b9d3265685ee:function(e,t,n){return Array.of(e,t,n)},__wbg_of_fea2613674ee0d0f:function(e,t,n,_,c){return Array.of(e,t,n,_,c)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return u(t)?0:A(t)},__wbg_pixelStorei_af18e636b3e7b725:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_pixelStorei_cb4e43466f5b8703:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_polygonOffset_81dc8ca84e29572b:function(e,t,n){e.polygonOffset(t,n)},__wbg_polygonOffset_8f922d9173d8849d:function(e,t,n){e.polygonOffset(t,n)},__wbg_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(V(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(E(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(Ee(e,t),n)},__wbg_prototypesetcall_d49a4fab5ca427bc:function(e,t,n){Float64Array.prototype.set.call(Be(e,t),n)},__wbg_push_2baf45db356cf468:function(e,t){return e.push(t)},__wbg_queueMicrotask_9833f9a49df95a49:function(e){return e.queueMicrotask},__wbg_queueMicrotask_a72f977e97f23c5f:function(e){queueMicrotask(e)},__wbg_readPixels_31e44e70558ac590:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_setTimeout_db7bbc18a17e152a:function(){return p(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return p(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return p(function(e,t,n,_,c){e.set(C(t,n),C(_,c))},arguments)},__wbg_set_alpha_6dea851a46253adf:function(e,t){e.alpha=t!==0},__wbg_set_antialias_1f699e96763e8a35:function(e,t){e.antialias=t!==0},__wbg_set_cache_7507c4cc5938ccc7:function(e,t){e.cache=Ft[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=xt[t]},__wbg_set_depth_8b49de49803d4e60:function(e,t){e.depth=t!==0},__wbg_set_headers_40ad33dcf016613f:function(e,t){e.headers=t},__wbg_set_power_preference_6ef22d4c8baf517f:function(e,t){e.powerPreference=St[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=vt[t]},__wbg_set_resize_height_274433c2f249624d:function(e,t){e.resizeHeight=t>>>0},__wbg_set_resize_width_6f06543b29d1ca48:function(e,t){e.resizeWidth=t>>>0},__wbg_set_signal_2dbd377604627f26:function(e,t){e.signal=t},__wbg_set_stencil_edc32d9477c7c107:function(e,t){e.stencil=t!==0},__wbg_set_type_dcf75b2afa60c694:function(e,t,n){e.type=C(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_signal_e5a49a2d9c65b7f6:function(e){return e.signal},__wbg_size_74c48d7329291685:function(e){return e.size},__wbg_static_accessor_GLOBAL_266715b9d96ba635:function(){let e=typeof global>"u"?null:global;return u(e)?0:A(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return u(e)?0:A(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return u(e)?0:A(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return u(e)?0:A(e)},__wbg_status_ce0a98d3c57125f3:function(e){return e.status},__wbg_stencilFunc_aa3cd8856be514c4:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilFunc_bab7e0b7c443f093:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilMask_9e18cc018897c747:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilMask_a22be64c66abd825:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilOpSeparate_7d01185cbdb89d99:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOp_12274af665ab8a00:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_stencilOp_2697194654fee819:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_subarray_002b94d5e13d1411:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_texImage2D_1b3349107ad0faae:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texParameteri_647fdb1426809cb5:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texParameteri_7864076abcdb03e0:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texStorage2D_cf2bd991072d9efb:function(e,t,n,_,c,i){e.texStorage2D(t>>>0,n,_>>>0,c,i)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,c,i,s){e.texStorage3D(t>>>0,n,_>>>0,c,i,s)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_then_c949d5a25a4e78f8:function(e,t,n){return e.then(t,n)},__wbg_then_e71170d78fcf8954:function(e,t){return e.then(t)},__wbg_type_ff6f7b321fe8478b:function(e){return e.type},__wbg_uniform1f_9cfecfaeb8cf43c1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1f_b5856e35a43b65a1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1fv_1bf537fc926ef8b9:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1i_531b98c4a7177366:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1i_fc2dc8cadc49d8ec:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1iv_4b8cbceccddfaa62:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,V(n,_))},__wbg_uniform2f_131da2d4bf17e4b9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2f_a92b5bb95dc5b4d9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2fv_319c49f0ce340f26:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,V(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,V(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,V(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__wbg_vertexAttrib1f_37ce0547e8fa5f36:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttrib1f_470b2556c148483a:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttribDivisorANGLE_659fb027198a47c3:function(e,t,n){e.vertexAttribDivisorANGLE(t>>>0,n>>>0)},__wbg_vertexAttribDivisor_7575d382215322f7:function(e,t,n){e.vertexAttribDivisor(t>>>0,n>>>0)},__wbg_vertexAttribIPointer_fc8057c62cfcc63c:function(e,t,n,_,c,i){e.vertexAttribIPointer(t>>>0,n,_>>>0,c,i)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Lt(e,t,yt)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return E(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Tt(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return W(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return Pt(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return It(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return V(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return Ee(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return C(e,t)},__wbindgen_init_externref_table:function(){let e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function yt(r,e,t){let n=o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(r,e,t);if(n[1])throw h(n[0])}function At(r,e,t,n){o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(r,e,t,n)}var xt=["none","default"],vt=["none","premultiply","default"],Ft=["default","no-store","reload","no-cache","force-cache","only-if-cached"],St=["default","low-power","high-performance"],Qe=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbg_engine_free(r,1));function A(r){let e=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(e,r),e}var et=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbindgen_destroy_closure(r.a,r.b));function Ue(r){let e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){let _=r.description;if(_==null)return"Symbol";else return`Symbol(${_})`}if(e=="function"){let _=r.name;if(typeof _=="string"&&_.length>0)return`Function(${_})`;else return"Function"}if(Array.isArray(r)){let _=r.length,c="[";if(_>0)c+=Ue(r[0]);for(let i=1;i<_;i++)c+=", "+Ue(r[i]);return c+="]",c}let t=/\[object ([^\]]+)\]/.exec(toString.call(r)),n;if(t&&t.length>1)n=t[1];else return toString.call(r);if(n=="Object")try{return"Object("+JSON.stringify(r)+")"}catch(_){return"Object"}if(r instanceof Error)return`${r.name}: ${r.message}
4
- ${r.stack}`;return n}function E(r,e){return r=r>>>0,_t().subarray(r/4,r/4+e)}function Be(r,e){return r=r>>>0,ot().subarray(r/8,r/8+e)}function Tt(r,e){return r=r>>>0,Dt().subarray(r/2,r/2+e)}function W(r,e){return r=r>>>0,Mt().subarray(r/4,r/4+e)}function Pt(r,e){return r=r>>>0,Rt().subarray(r/1,r/1+e)}function It(r,e){return r=r>>>0,Et().subarray(r/2,r/2+e)}function V(r,e){return r=r>>>0,ct().subarray(r/4,r/4+e)}function Ee(r,e){return r=r>>>0,N().subarray(r/1,r/1+e)}var j=null;function D(){if(j===null||j.buffer.detached===!0||j.buffer.detached===void 0&&j.buffer!==o.memory.buffer)j=new DataView(o.memory.buffer);return j}var Z=null;function _t(){if(Z===null||Z.byteLength===0)Z=new Float32Array(o.memory.buffer);return Z}var Q=null;function ot(){if(Q===null||Q.byteLength===0)Q=new Float64Array(o.memory.buffer);return Q}var ee=null;function Dt(){if(ee===null||ee.byteLength===0)ee=new Int16Array(o.memory.buffer);return ee}var te=null;function Mt(){if(te===null||te.byteLength===0)te=new Int32Array(o.memory.buffer);return te}var ne=null;function Rt(){if(ne===null||ne.byteLength===0)ne=new Int8Array(o.memory.buffer);return ne}function C(r,e){return Ut(r>>>0,e)}var re=null;function Et(){if(re===null||re.byteLength===0)re=new Uint16Array(o.memory.buffer);return re}var _e=null;function ct(){if(_e===null||_e.byteLength===0)_e=new Uint32Array(o.memory.buffer);return _e}var oe=null;function N(){if(oe===null||oe.byteLength===0)oe=new Uint8Array(o.memory.buffer);return oe}function p(r,e){try{return r.apply(this,e)}catch(t){let n=A(t);o.__wbindgen_exn_store(n)}}function u(r){return r===void 0||r===null}function Lt(r,e,t){let n={a:r,b:e,cnt:1},_=(...c)=>{n.cnt++;let i=n.a;n.a=0;try{return t(i,n.b,...c)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)o.__wbindgen_destroy_closure(n.a,n.b),n.a=0,et.unregister(n)},et.register(_,n,n),_}function w(r,e){let t=e(r.length*4,4)>>>0;return ct().set(r,t/4),a=r.length,t}function P(r,e){let t=e(r.length*1,1)>>>0;return N().set(r,t/1),a=r.length,t}function y(r,e){let t=e(r.length*4,4)>>>0;return _t().set(r,t/4),a=r.length,t}function x(r,e){let t=e(r.length*8,8)>>>0;return ot().set(r,t/8),a=r.length,t}function tt(r,e){let t=e(r.length*4,4)>>>0;for(let n=0;n<r.length;n++){let _=A(r[n]);D().setUint32(t+4*n,_,!0)}return a=r.length,t}function R(r,e,t){if(t===void 0){let s=ce.encode(r),f=e(s.length,1)>>>0;return N().subarray(f,f+s.length).set(s),a=s.length,f}let n=r.length,_=e(n,1)>>>0,c=N(),i=0;for(;i<n;i++){let s=r.charCodeAt(i);if(s>127)break;c[_+i]=s}if(i!==n){if(i!==0)r=r.slice(i);_=t(_,n,n=i+r.length*3,1)>>>0;let s=N().subarray(_+i,_+n),f=ce.encodeInto(r,s);i+=f.written,_=t(_,n,i,1)>>>0}return a=i,_}function h(r){let e=o.__wbindgen_externrefs.get(r);return o.__externref_table_dealloc(r),e}var be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});be.decode();var kt=2146435072,Le=0;function Ut(r,e){if(Le+=e,Le>=kt)be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),be.decode(),Le=e;return be.decode(N().subarray(r,r+e))}var ce=new TextEncoder;if(!("encodeInto"in ce))ce.encodeInto=function(r,e){let t=ce.encode(r);return e.set(t),{read:r.length,written:t.length}};var a=0,Bt,Ct,o;function Ot(r,e){return Ct=r,o=r.exports,Bt=e,j=null,Z=null,Q=null,ee=null,te=null,ne=null,re=null,_e=null,oe=null,o.__wbindgen_start(),o}async function Wt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function it(r){if(o!==void 0)return o;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_bg.wasm",import.meta.url);let e=ht();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Wt(await r,e);return Ot(t,n)}function ft(r,e,t,n,_){let c=at(r,L.__wbindgen_malloc),i=H,s=at(e,L.__wbindgen_malloc),f=H,b=st(t,L.__wbindgen_malloc),l=H,d=st(n,L.__wbindgen_malloc),g=H,m=L.decodeCopc(c,i,s,f,b,l,d,g,_);if(m[3])throw Ht(m[2]);var v=Gt(m[0],m[1]).slice();return L.__wbindgen_free(m[0],m[1]*1,1),v}function Vt(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return Nt(e,t)},__wbindgen_init_externref_table:function(){let e=L.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Gt(r,e){return r=r>>>0,Oe().subarray(r/1,r/1+e)}var ie=null;function jt(){if(ie===null||ie.byteLength===0)ie=new Float64Array(L.memory.buffer);return ie}function Nt(r,e){return zt(r>>>0,e)}var ae=null;function Oe(){if(ae===null||ae.byteLength===0)ae=new Uint8Array(L.memory.buffer);return ae}function at(r,e){let t=e(r.length*1,1)>>>0;return Oe().set(r,t/1),H=r.length,t}function st(r,e){let t=e(r.length*8,8)>>>0;return jt().set(r,t/8),H=r.length,t}function Ht(r){let e=L.__wbindgen_externrefs.get(r);return L.__externref_table_dealloc(r),e}var ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ue.decode();var $t=2146435072,Ce=0;function zt(r,e){if(Ce+=e,Ce>=$t)ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ue.decode(),Ce=e;return ue.decode(Oe().subarray(r,r+e))}var H=0,qt,Xt,L;function Jt(r,e){return Xt=r,L=r.exports,qt=e,ie=null,ae=null,L.__wbindgen_start(),L}async function Kt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function bt(r){if(L!==void 0)return L;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_points_bg.wasm",import.meta.url);let e=Vt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Kt(await r,e);return Jt(t,n)}var ut,Ve=ze,lt={astc:!1,bptc:!1,etc:!1,s3tc:!1},dt="",We,se=new Map,le=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"headers":Ze(e.rules);break;case"init":ut=it({module_or_path:e.module}),Ve=e.decoders,lt=e.formats,dt=e.points;break;case"points":nn(e);break;case"abort":se.get(e.id)?.abort();break;case"load":Yt(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});var Yt=async(r,e,t,n,_,c)=>{let i=new AbortController;se.set(r,i);try{await ut;let s={signal:i.signal,cache:_?"reload":"default",...c?{priority:c}:{}},f=await Je(e,Re(e,s)),b=new Uint8Array(await f.arrayBuffer()),l=rt(b),d=l.length>0?await qe(Ve,l):void 0,g=nt(b,t,n,d),m=new Map,v=(F,k)=>{let U=m.get(F);if(U)return U;let B=k==="image/ktx2"?Xe(Ve,lt,F).then((O)=>({bitmap:null,texture:O})):createImageBitmap(new Blob([F],{type:k??""}),{premultiplyAlpha:"none"}).then((O)=>({bitmap:O}));return m.set(F,B),B},S=g.points??[],T=await Promise.all(g.primitives.map(async({vertices:F,indices:k,image:U,mime:B,color:O,features:G})=>({vertices:F,indices:k,...O?{color:O}:{},...G?{features:G}:{},...U?await v(U,B):{bitmap:null}}))),I=new Set;T.forEach((F)=>{if(I.add(F.vertices.buffer),I.add(F.indices.buffer),F.color)I.add(F.color.buffer);if(F.features)I.add(F.features.buffer);if(F.bitmap)I.add(F.bitmap);F.texture?.levels.forEach((k)=>{I.add(k.data.buffer)})}),S.forEach((F)=>{I.add(F.buffer)});let M={anchor:g.anchor,primitives:T,...S.length>0?{points:S}:{},...g.properties?{properties:g.properties}:{}};le({type:"tile",id:r,tile:M},[...I])}catch(s){le({type:"error",id:r,error:String(s),aborted:i.signal.aborted})}finally{se.delete(r)}},Zt=4,Qt=1000,en=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})}),tn=async(r,e,t,n,_)=>{for(let c=1;;c+=1){let i={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},s=await fetch(r,Re(r,i));if(s.status===429&&c<Zt){let f=Number(s.headers.get("Retry-After"));await en(f>0?f*1000:Qt*2**(c-1),n);continue}if(!s.ok)throw Me(r,s.status);if(s.status!==206){let f=s.headers.get("Content-Length"),b=f!==null&&!(Number(f)<=t),l=b?void 0:await Ke(s,t);if(!l){if(b)await s.body?.cancel();throw Error("the server ignores range requests (HTTP 206 expected)")}return l.subarray(e,e+t)}return new Uint8Array(await s.arrayBuffer())}},nn=async(r)=>{let{id:e,url:t,offset:n,size:_,laz:c,layout:i,grid:s,count:f,priority:b}=r,l=new AbortController;se.set(e,l);try{We??=bt({module_or_path:dt}).catch((m)=>{throw We=void 0,m});let[d]=await Promise.all([tn(t,n,_,l.signal,b),We]),g=ft(d,c,i,s,f);le({type:"points",id:e,vertices:g},[g.buffer])}catch(d){le({type:"error",id:e,error:String(d),aborted:l.signal.aborted})}finally{se.delete(e)}};
1
+ var He=(r)=>typeof r==="object"&&r!==null&&!Array.isArray(r);var Xe={draco:"https://www.gstatic.com/draco/versioned/decoders/1.5.7/",basis:"https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/libs/basis/"},At=async(r,e)=>{let t=await(await fetch(r)).text(),n=URL.createObjectURL(new Blob([`${t}
2
+ export default ${e};`],{type:"text/javascript"}));try{let _=await import(n);if(He(_)&&typeof _.default==="function")return _.default}catch{}finally{URL.revokeObjectURL(n)}return Function(`${t}
3
+ return ${e};`)()},Re=async(r,e,t,n)=>{let[_,c]=await Promise.all([At(`${r}${e}`,n),fetch(`${r}${t}`).then((i)=>i.arrayBuffer())]);return _({wasmBinary:c})},$e,ze,qe,Je=async(r,e)=>{let t=e.some((c)=>!c.points);if(t)$e??=Re(r.draco,"draco_wasm_wrapper_gltf.js","draco_decoder_gltf.wasm","DracoDecoderModule");if(e.some((c)=>c.points))ze??=Re(r.draco,"draco_wasm_wrapper.js","draco_decoder.wasm","DracoDecoderModule");let[n,_]=await Promise.all([t?$e:void 0,ze]);return e.map((c)=>{let i=c.points?_:n;if(!i)throw Error("isard: the Draco decoder is not loaded");let s=new i.Decoder,f=c.points?new i.PointCloud:new i.Mesh;try{let b=new Int8Array(c.data.buffer,c.data.byteOffset,c.data.byteLength),l=c.points?s.DecodeArrayToPointCloud(b,b.byteLength,f):s.DecodeArrayToMesh(b,b.byteLength,f);if(!l.ok())throw Error(`Draco: ${l.error_msg()}`);let d=(S)=>{let T=s.GetAttributeByUniqueId(f,S),I=f.num_points()*T.num_components(),M=i._malloc(I*4);try{return s.GetAttributeDataArrayForAllPoints(f,T,i.DT_FLOAT32,I*4,M),i.HEAPF32.slice(M/4,M/4+I)}finally{i._free(M)}};if(c.points){let S={mesh:c.mesh,primitive:c.primitive,positions:d(c.position)};if(c.color!==void 0)S.colors=d(c.color);if(c.normal!==void 0)S.normals=d(c.normal);return S}let m=(()=>{let S=f.num_faces()*3,T=i._malloc(S*4);try{return s.GetTrianglesUInt32Array(f,S*4,T),i.HEAPU32.slice(T/4,T/4+S)}finally{i._free(T)}})(),F={mesh:c.mesh,primitive:c.primitive,positions:d(c.position),indices:m};if(c.uv!==void 0)F.uvs=d(c.uv);return F}finally{i.destroy(f),i.destroy(s)}})},xt=(r,e)=>{if(r.astc)return{basis:10,gl:37808};if(r.bptc)return{basis:6,gl:36492};if(r.etc)return e?{basis:1,gl:37496}:{basis:0,gl:37492};if(r.s3tc)return e?{basis:3,gl:33779}:{basis:2,gl:33776};return{basis:13,gl:32856}},Ke=async(r,e,t)=>{qe??=Re(r.basis,"basis_transcoder.js","basis_transcoder.wasm","BASIS").then((c)=>(c.initializeBasis(),c));let _=new(await qe).KTX2File(t);try{if(!_.isValid()||!_.startTranscoding())throw Error("KTX2: invalid file");let{basis:c,gl:i}=xt(e,_.getHasAlpha()),s=Array.from({length:_.getLevels()},(f,b)=>{let{origWidth:l,origHeight:d}=_.getImageLevelInfo(b,0,0),g=new Uint8Array(_.getImageTranscodedSizeInBytes(b,0,0,c));if(!_.transcodeImage(g,b,0,0,c,0,-1,-1))throw Error("KTX2: transcoding failed");return{width:l,height:d,data:g}});return{format:i,levels:s}}finally{_.close(),_.delete()}};var Ee=(r,e)=>Error(`isard: ${String(r)}: HTTP ${e}`),Ye=async(r,e)=>{let t=await fetch(r,e);if(!t.ok)throw Ee(r,t.status);return t};var Ze=async(r,e)=>{let t=r.body?.getReader();if(!t)return new Uint8Array(await r.arrayBuffer());let n=[],_=0;for(;;){let{done:i,value:s}=await t.read();if(i)break;if(_+=s.length,_>e){await t.cancel();return}n.push(s)}let c=new Uint8Array(_);return n.reduce((i,s)=>(c.set(s,i),i+s.length),0),c};var Qe=[];var et=(r)=>{Qe=r};var Le=(r,e={})=>{let t=String(r),n=Qe.filter(([c])=>t.startsWith(c));if(n.length===0)return e;let _=new Headers(e.headers);return n.forEach(([,c])=>{Object.entries(c).forEach(([i,s])=>{_.set(i,s)})}),{...e,headers:_}};class Be{__destroy_into_raw(){let r=this.__wbg_ptr;return this.__wbg_ptr=0,tt.unregister(this),r}free(){let r=this.__destroy_into_raw();o.__wbg_engine_free(r,0)}addCircles(r,e,t){let n=x(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=o.engine_addCircles(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw h(s[1]);return s[0]>>>0}addCustomLayer(r,e){return o.engine_addCustomLayer(this.__wbg_ptr,r,e)>>>0}addExtrusions(){let r=o.engine_addExtrusions(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}addFills(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=w(e,o.__wbindgen_malloc),f=a,b=w(t,o.__wbindgen_malloc),l=a,d=w(n,o.__wbindgen_malloc),g=a,m=o.engine_addFills(this.__wbg_ptr,c,i,s,f,b,l,d,g,_);if(m[2])throw h(m[1]);return m[0]>>>0}addFlow(r,e){let t=o.engine_addFlow(this.__wbg_ptr,r,e);if(t[2])throw h(t[1]);return t[0]>>>0}addGround(r,e,t,n,_,c,i){let s=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),f=a,b=o.engine_addGround(this.__wbg_ptr,s,f,e,t,n,_,c,i);if(b[2])throw h(b[1]);return b[0]>>>0}addLines(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),s=a,f=w(e,o.__wbindgen_malloc),b=a,l=w(t,o.__wbindgen_malloc),d=a;var g=u(_)?0:x(_,o.__wbindgen_malloc),m=a;let F=o.engine_addLines(this.__wbg_ptr,i,s,f,b,l,d,n,g,m,u(c)?16777215:c?1:0);if(F[2])throw h(F[1]);return F[0]>>>0}addModels(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(e,o.__wbindgen_malloc),i=a,s=o.engine_addModels(this.__wbg_ptr,n,_,c,i,t);if(s[2])throw h(s[1]);return s[0]>>>0}addNetwork(r,e,t,n,_,c){let i=x(r,o.__wbindgen_malloc),s=a,f=w(e,o.__wbindgen_malloc),b=a;var l=u(t)?0:w(t,o.__wbindgen_malloc),d=a,g=u(n)?0:x(n,o.__wbindgen_malloc),m=a,F=u(_)?0:y(_,o.__wbindgen_malloc),S=a;let T=y(c,o.__wbindgen_malloc),I=a,M=o.engine_addNetwork(this.__wbg_ptr,i,s,f,b,l,d,g,m,F,S,T,I);if(M[2])throw h(M[1]);return M[0]>>>0}addPointCloud(r,e){let t=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),n=a,_=o.engine_addPointCloud(this.__wbg_ptr,t,n,e);if(_[2])throw h(_[1]);return _[0]>>>0}addRaster(r,e,t,n,_,c,i,s){let f=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,l=o.engine_addRaster(this.__wbg_ptr,f,b,e,t,n,_,u(c)?Number.MAX_SAFE_INTEGER:c>>0,u(i)?0:A(i),u(s)?16777215:s?1:0);if(l[2])throw h(l[1]);return l[0]>>>0}addSymbols(){let r=o.engine_addSymbols(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}addTiles3d(r,e,t){let n=R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=o.engine_addTiles3d(this.__wbg_ptr,n,_,e,u(t)?16777215:t?1:0);if(c[2])throw h(c[1]);return c[0]>>>0}addVectorTiles(){let r=o.engine_addVectorTiles(this.__wbg_ptr);if(r[2])throw h(r[1]);return r[0]>>>0}bounds(){let r=o.engine_bounds(this.__wbg_ptr);var e=Oe(r[0],r[1]).slice();return o.__wbindgen_free(r[0],r[1]*8,8),e}camera(){return o.engine_camera(this.__wbg_ptr)}clearPanorama(){o.engine_clearPanorama(this.__wbg_ptr)}clearPivot(){o.engine_clearPivot(this.__wbg_ptr)}clearPreload(){o.engine_clearPreload(this.__wbg_ptr)}clearViewshed(){o.engine_clearViewshed(this.__wbg_ptr)}static customMatrix(r,e,t){let n=o.engine_customMatrix(r,e,t),_;if(n[0]!==0)_=E(n[0],n[1]).slice(),o.__wbindgen_free(n[0],n[1]*4,4);return _}elevationAt(r,e){let t=o.engine_elevationAt(this.__wbg_ptr,r,e);return t[0]===0?void 0:t[1]}static geoidHeight(r,e){return o.engine_geoidHeight(r,e)}ground(r,e){return o.engine_ground(this.__wbg_ptr,r,e)}linkExtrusionNetwork(r,e,t){o.engine_linkExtrusionNetwork(this.__wbg_ptr,r,u(e)?Number.MAX_SAFE_INTEGER:e>>>0,t)}localMatrix(r,e,t){let n=o.engine_localMatrix(this.__wbg_ptr,r,e,t);var _=E(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}moveLayer(r,e){o.engine_moveLayer(this.__wbg_ptr,r,e)}networkStats(r){return o.engine_networkStats(this.__wbg_ptr,r)}constructor(r,e,t){let n=o.engine_new(r,e,u(t)?16777215:t?1:0);if(n[2])throw h(n[1]);return this.__wbg_ptr=n[0],tt.register(this,this.__wbg_ptr,this),this}pan(r,e,t,n){o.engine_pan(this.__wbg_ptr,r,e,t,n)}pick(r,e,t,n){var _=u(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_pick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,c)}pointCloudInfo(r){return o.engine_pointCloudInfo(this.__wbg_ptr,r)}pointCloudPoint(r,e){return o.engine_pointCloudPoint(this.__wbg_ptr,r,e)}pointCloudStats(r){return o.engine_pointCloudStats(this.__wbg_ptr,r)}pollPick(){return o.engine_pollPick(this.__wbg_ptr)}preload(r,e,t,n,_){o.engine_preload(this.__wbg_ptr,r,e,t,n,_)}project(r,e,t){return o.engine_project(this.__wbg_ptr,r,e,!u(t),u(t)?0:t)}promoteFlowNext(r){o.engine_promoteFlowNext(this.__wbg_ptr,r)}removeExtrusionBatch(r,e){o.engine_removeExtrusionBatch(this.__wbg_ptr,r,e)}removeLayer(r){o.engine_removeLayer(this.__wbg_ptr,r)}removeVectorTile(r,e){o.engine_removeVectorTile(this.__wbg_ptr,r,e)}render(){return o.engine_render(this.__wbg_ptr)!==0}requestPick(r,e,t,n){var _=u(n)?0:w(n,o.__wbindgen_malloc),c=a;return o.engine_requestPick(this.__wbg_ptr,r,e,!u(t),u(t)?0:t,_,c)!==0}resize(r,e,t){o.engine_resize(this.__wbg_ptr,r,e,t)}rotate(r,e){o.engine_rotate(this.__wbg_ptr,r,e)}setAtmosphere(r){var e=u(r)?0:y(r,o.__wbindgen_malloc),t=a;o.engine_setAtmosphere(this.__wbg_ptr,e,t)}setBackground(r,e,t){o.engine_setBackground(this.__wbg_ptr,r,e,t)}setBody(r,e,t,n,_){var c=u(t)?0:y(t,o.__wbindgen_malloc),i=a;o.engine_setBody(this.__wbg_ptr,r,e,c,i,n,_)}setCamera(r,e,t,n,_){o.engine_setCamera(this.__wbg_ptr,r,e,t,n,_)}setCircleAlignment(r,e){o.engine_setCircleAlignment(this.__wbg_ptr,r,e)}setCircles(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a,c=w(t,o.__wbindgen_malloc),i=a;o.engine_setCircles(this.__wbg_ptr,r,n,_,c,i)}setExtrusionAnchors(r,e,t){let n=y(t,o.__wbindgen_malloc),_=a,c=o.engine_setExtrusionAnchors(this.__wbg_ptr,r,e,n,_);if(c[1])throw h(c[0])}setExtrusionBatch(r,e,t,n,_,c,i,s,f,b){let l=x(t,o.__wbindgen_malloc),d=a,g=w(n,o.__wbindgen_malloc),m=a,F=w(_,o.__wbindgen_malloc),S=a,T=w(c,o.__wbindgen_malloc),I=a,M=P(s,o.__wbindgen_malloc),v=a,k=y(f,o.__wbindgen_malloc),U=a,B=o.engine_setExtrusionBatch(this.__wbg_ptr,r,e,l,d,g,m,F,S,T,I,i,M,v,k,U,b);if(B[1])throw h(B[0])}setFacades(r,e){o.engine_setFacades(this.__wbg_ptr,r,e)}setFeatureLayer(r,e,t,n,_){let c=y(e,o.__wbindgen_malloc),i=a;o.engine_setFeatureLayer(this.__wbg_ptr,r,c,i,t,n,_)}setFeatureMask(r,e,t){let n=P(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureMask(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureRamp(r,e,t,n){var _=u(e)?0:P(e,o.__wbindgen_malloc),c=a;o.engine_setFeatureRamp(this.__wbg_ptr,r,_,c,t,n)}setFeatureStyle(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureStyle(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFeatureValues(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a;o.engine_setFeatureValues(this.__wbg_ptr,r,n,_,u(t)?Number.MAX_SAFE_INTEGER:t>>>0)}setFills(r,e,t,n,_){let c=x(e,o.__wbindgen_malloc),i=a,s=w(t,o.__wbindgen_malloc),f=a,b=w(n,o.__wbindgen_malloc),l=a,d=w(_,o.__wbindgen_malloc),g=a;o.engine_setFills(this.__wbg_ptr,r,c,i,s,f,b,l,d,g)}setFirstPerson(r,e,t,n,_,c){o.engine_setFirstPerson(this.__wbg_ptr,r,e,t,n,_,c)}setFlowBlend(r,e){o.engine_setFlowBlend(this.__wbg_ptr,r,e)}setFlowField(r,e,t,n,_,c){let i=y(n,o.__wbindgen_malloc),s=a,f=y(_,o.__wbindgen_malloc),b=a,l=x(c,o.__wbindgen_malloc),d=a;o.engine_setFlowField(this.__wbg_ptr,r,e,t,i,s,f,b,l,d)}setFlowNext(r,e,t){let n=y(e,o.__wbindgen_malloc),_=a,c=y(t,o.__wbindgen_malloc),i=a;o.engine_setFlowNext(this.__wbg_ptr,r,n,_,c,i)}setFlowStyle(r,e,t,n,_,c,i,s){let f=y(e,o.__wbindgen_malloc),b=a,l=y(t,o.__wbindgen_malloc),d=a;o.engine_setFlowStyle(this.__wbg_ptr,r,f,b,l,d,n,_,c,i,s)}setFlowWeights(r,e,t){o.engine_setFlowWeights(this.__wbg_ptr,r,e,t)}setGlobeColor(r,e,t){o.engine_setGlobeColor(this.__wbg_ptr,r,e,t)}setGlobe(r){o.engine_setGlobe(this.__wbg_ptr,r)}setGlyphAtlas(r,e,t){var n=u(t)?0:P(t,o.__wbindgen_malloc),_=a;let c=o.engine_setGlyphAtlas(this.__wbg_ptr,r,e,n,_);if(c[1])throw h(c[0])}setGlyphPages(r,e,t){let n=o.engine_setGlyphPages(this.__wbg_ptr,r,e,t);if(n[1])throw h(n[0])}setGroundBounds(r,e,t,n,_){o.engine_setGroundBounds(this.__wbg_ptr,r,e,t,n,_)}setGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,l=R(t,o.__wbindgen_malloc,o.__wbindgen_realloc),d=a;var g=u(s)?0:P(s,o.__wbindgen_malloc),m=a;let F=o.engine_setGroundTexture(this.__wbg_ptr,r,f,b,l,d,n,_,c,i,g,m);if(F[1])throw h(F[0])}setGroundUniform(r,e,t){let n=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),_=a,c=x(t,o.__wbindgen_malloc),i=a,s=o.engine_setGroundUniform(this.__wbg_ptr,r,n,_,c,i);if(s[1])throw h(s[0])}setGroundVisible(r,e){o.engine_setGroundVisible(this.__wbg_ptr,r,e)}setIconAtlas(r,e){let t=o.engine_setIconAtlas(this.__wbg_ptr,r,e);if(t[1])throw h(t[0])}setImmediateLoading(r){o.engine_setImmediateLoading(this.__wbg_ptr,r)}setLineDash(r,e,t){o.engine_setLineDash(this.__wbg_ptr,r,e,t)}setLines(r,e,t,n,_,c){let i=x(e,o.__wbindgen_malloc),s=a,f=w(t,o.__wbindgen_malloc),b=a,l=w(n,o.__wbindgen_malloc),d=a;var g=u(_)?0:x(_,o.__wbindgen_malloc),m=a;let F=o.engine_setLines(this.__wbg_ptr,r,i,s,f,b,l,d,g,m,u(c)?16777215:c?1:0);if(F[1])throw h(F[0])}setMaxPitch(r){o.engine_setMaxPitch(this.__wbg_ptr,r)}setModelGlow(r,e,t,n,_){o.engine_setModelGlow(this.__wbg_ptr,r,e,t,n,_)}setModelHighlight(r,e,t,n,_){o.engine_setModelHighlight(this.__wbg_ptr,r,e,t,n,_)}setModelInstances(r,e,t){let n=x(e,o.__wbindgen_malloc),_=a;o.engine_setModelInstances(this.__wbg_ptr,r,n,_,t)}setNetworkCosts(r,e){var t=u(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkCosts(this.__wbg_ptr,r,t,n)}setNetworkRamp(r,e){var t=u(e)?0:P(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkRamp(this.__wbg_ptr,r,t,n)}setNetworkScales(r,e){var t=u(e)?0:y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkScales(this.__wbg_ptr,r,t,n)}setNetworkStyle(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkStyle(this.__wbg_ptr,r,t,n)}setNetworkValues(r,e){let t=y(e,o.__wbindgen_malloc),n=a;o.engine_setNetworkValues(this.__wbg_ptr,r,t,n)}setPanoramaImage(r,e){let t=o.engine_setPanoramaImage(this.__wbg_ptr,r,e);if(t[1])throw h(t[0])}setPanorama(r,e,t,n,_,c,i){let s=x(n,o.__wbindgen_malloc),f=a,b=x(_,o.__wbindgen_malloc),l=a,d=o.engine_setPanorama(this.__wbg_ptr,r,e,t,s,f,b,l,c,i);if(d[1])throw h(d[0])}setPivot(r,e){return o.engine_setPivot(this.__wbg_ptr,r,e)!==0}setPointCloudStyle(r,e,t,n){let _=x(e,o.__wbindgen_malloc),c=a,i=P(t,o.__wbindgen_malloc),s=a,f=P(n,o.__wbindgen_malloc),b=a;o.engine_setPointCloudStyle(this.__wbg_ptr,r,_,c,i,s,f,b)}setRasterStyle(r,e,t){o.engine_setRasterStyle(this.__wbg_ptr,r,e,t)}setRequestHeaders(r,e,t){let n=_t(r,o.__wbindgen_malloc),_=a,c=w(e,o.__wbindgen_malloc),i=a,s=_t(t,o.__wbindgen_malloc),f=a;o.engine_setRequestHeaders(this.__wbg_ptr,n,_,c,i,s,f)}setSky(r){o.engine_setSky(this.__wbg_ptr,r)}setSun(r,e,t,n){let _=o.engine_setSun(this.__wbg_ptr,r,e,t,n);if(_[1])throw h(_[0])}setSwipe(r,e,t,n){let _=w(t,o.__wbindgen_malloc),c=a,i=w(n,o.__wbindgen_malloc),s=a;o.engine_setSwipe(this.__wbg_ptr,r,e,_,c,i,s)}setSymbolLayer(r,e,t,n,_,c,i){let s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),l=a;o.engine_setSymbolLayer(this.__wbg_ptr,r,s,f,b,l,n,_,c,i)}setSymbols(r,e,t,n,_,c){let i=x(e,o.__wbindgen_malloc),s=a,f=y(t,o.__wbindgen_malloc),b=a,l=y(n,o.__wbindgen_malloc),d=a,g=y(_,o.__wbindgen_malloc),m=a,F=x(c,o.__wbindgen_malloc),S=a,T=o.engine_setSymbols(this.__wbg_ptr,r,i,s,f,b,l,d,g,m,F,S);if(T[1])throw h(T[0])}setTerrain(r,e,t,n,_){var c=u(r)?0:R(r,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;let s=o.engine_setTerrain(this.__wbg_ptr,c,i,e,u(t)?16777215:t,u(n)?16777215:n?1:0,u(_)?0:A(_));if(s[1])throw h(s[0])}setTileLoader(r){o.engine_setTileLoader(this.__wbg_ptr,r)}setTiles3dDrape(r,e,t,n){o.engine_setTiles3dDrape(this.__wbg_ptr,r,u(e)?Number.MAX_SAFE_INTEGER:e>>>0,t,n)}setTiles3dFacades(r,e){o.engine_setTiles3dFacades(this.__wbg_ptr,r,e)}setTiles3dFeatureColors(r,e){o.engine_setTiles3dFeatureColors(this.__wbg_ptr,r,e)}setTiles3dStyle(r,e,t,n,_){let c=y(_,o.__wbindgen_malloc),i=a;o.engine_setTiles3dStyle(this.__wbg_ptr,r,e,t,!u(n),u(n)?0:n,c,i)}setVectorSublayers(r,e,t,n,_,c,i,s,f,b,l){let d=P(e,o.__wbindgen_malloc),g=a,m=x(t,o.__wbindgen_malloc),F=a,S=P(n,o.__wbindgen_malloc),T=a,I=y(_,o.__wbindgen_malloc),M=a,v=y(c,o.__wbindgen_malloc),k=a,U=P(i,o.__wbindgen_malloc),B=a,O=P(s,o.__wbindgen_malloc),G=a,z=y(f,o.__wbindgen_malloc),q=a,X=y(b,o.__wbindgen_malloc),J=a,K=P(l,o.__wbindgen_malloc),Y=a;o.engine_setVectorSublayers(this.__wbg_ptr,r,d,g,m,F,S,T,I,M,v,k,U,B,O,G,z,q,X,J,K,Y)}setVectorTileMesh(r,e,t,n,_,c,i,s,f,b,l,d,g,m,F,S,T,I,M){let v=x(t,o.__wbindgen_malloc),k=a,U=w(n,o.__wbindgen_malloc),B=a,O=w(_,o.__wbindgen_malloc),G=a,z=w(c,o.__wbindgen_malloc),q=a,X=w(i,o.__wbindgen_malloc),J=a,K=P(s,o.__wbindgen_malloc),Y=a,de=w(f,o.__wbindgen_malloc),ge=a,we=w(b,o.__wbindgen_malloc),me=a,pe=P(d,o.__wbindgen_malloc),he=a,ye=y(g,o.__wbindgen_malloc),Ae=a,xe=w(m,o.__wbindgen_malloc),Fe=a,ve=P(F,o.__wbindgen_malloc),Se=a,Te=w(S,o.__wbindgen_malloc),Pe=a,Ie=w(T,o.__wbindgen_malloc),De=a,Me=x(I,o.__wbindgen_malloc),fe=a,ht=rt(M,o.__wbindgen_malloc),yt=a,je=o.engine_setVectorTileMesh(this.__wbg_ptr,r,e,v,k,U,B,O,G,z,q,X,J,K,Y,de,ge,we,me,l,pe,he,ye,Ae,xe,Fe,ve,Se,Te,Pe,Ie,De,Me,fe,ht,yt);if(je[1])throw h(je[0])}setVectorTilePoints(r,e,t,n,_){let c=x(t,o.__wbindgen_malloc),i=a,s=w(n,o.__wbindgen_malloc),f=a,b=w(_,o.__wbindgen_malloc),l=a;o.engine_setVectorTilePoints(this.__wbg_ptr,r,e,c,i,s,f,b,l)}setVectorTile(r,e,t,n,_,c,i,s,f,b,l,d,g,m,F,S,T,I){let M=x(t,o.__wbindgen_malloc),v=a,k=w(n,o.__wbindgen_malloc),U=a,B=w(_,o.__wbindgen_malloc),O=a,G=w(c,o.__wbindgen_malloc),z=a,q=w(i,o.__wbindgen_malloc),X=a,J=x(s,o.__wbindgen_malloc),K=a,Y=w(f,o.__wbindgen_malloc),de=a,ge=w(b,o.__wbindgen_malloc),we=a,me=w(l,o.__wbindgen_malloc),pe=a,he=rt(d,o.__wbindgen_malloc),ye=a,Ae=x(g,o.__wbindgen_malloc),xe=a,Fe=P(m,o.__wbindgen_malloc),ve=a,Se=y(F,o.__wbindgen_malloc),Te=a,Pe=x(S,o.__wbindgen_malloc),Ie=a,De=w(T,o.__wbindgen_malloc),Me=a,fe=o.engine_setVectorTile(this.__wbg_ptr,r,e,M,v,k,U,B,O,G,z,q,X,J,K,Y,de,ge,we,me,pe,he,ye,Ae,xe,Fe,ve,Se,Te,Pe,Ie,De,Me,I);if(fe[1])throw h(fe[0])}setViewshed(r,e,t,n,_){let c=x(r,o.__wbindgen_malloc),i=a,s=y(e,o.__wbindgen_malloc),f=a,b=y(t,o.__wbindgen_malloc),l=a,d=y(_,o.__wbindgen_malloc),g=a,m=o.engine_setViewshed(this.__wbg_ptr,c,i,s,f,b,l,n,d,g);if(m[1])throw h(m[0])}setZoomRange(r,e){o.engine_setZoomRange(this.__wbg_ptr,r,e)}stats(){return o.engine_stats(this.__wbg_ptr)}stepFlow(r,e){return o.engine_stepFlow(this.__wbg_ptr,r,e)!==0}surfaceAt(r,e){return o.engine_surfaceAt(this.__wbg_ptr,r,e)}surface(r,e){return o.engine_surface(this.__wbg_ptr,r,e)}textureFormats(){return o.engine_textureFormats(this.__wbg_ptr)}tiles3dFeature(r,e){return o.engine_tiles3dFeature(this.__wbg_ptr,r,e)}tiles3dStats(r){return o.engine_tiles3dStats(this.__wbg_ptr,r)}updateGlyphAtlas(r,e,t,n,_){let c=P(_,o.__wbindgen_malloc),i=a;o.engine_updateGlyphAtlas(this.__wbg_ptr,r,e,t,n,c,i)}updateGlyphPage(r,e,t,n,_,c){let i=P(c,o.__wbindgen_malloc),s=a;o.engine_updateGlyphPage(this.__wbg_ptr,r,e,t,n,_,i,s)}updateGroundTexture(r,e,t,n,_,c,i,s){let f=R(e,o.__wbindgen_malloc,o.__wbindgen_realloc),b=a,l=P(s,o.__wbindgen_malloc),d=a,g=o.engine_updateGroundTexture(this.__wbg_ptr,r,f,b,t,n,_,c,i,l,d);if(g[1])throw h(g[0])}updateIconAtlas(r,e,t,n,_){let c=P(_,o.__wbindgen_malloc),i=a;o.engine_updateIconAtlas(this.__wbg_ptr,r,e,t,n,c,i)}uploadVectorTile(r,e){return o.engine_uploadVectorTile(this.__wbg_ptr,r,e)!==0}vectorTilesInView(r,e,t){let n=o.engine_vectorTilesInView(this.__wbg_ptr,r,e,t);var _=V(n[0],n[1]).slice();return o.__wbindgen_free(n[0],n[1]*4,4),_}wantedTiles(r){let e=o.engine_wantedTiles(this.__wbg_ptr,r);var t=V(e[0],e[1]).slice();return o.__wbindgen_free(e[0],e[1]*4,4),t}zoomAt(r,e,t){o.engine_zoomAt(this.__wbg_ptr,r,e,t)}}if(Symbol.dispose)Be.prototype[Symbol.dispose]=Be.prototype.free;function ot(r,e,t,n){let _=P(r,o.__wbindgen_malloc),c=a,i=x(e,o.__wbindgen_malloc),s=a,f=o.decodeTile(_,c,i,s,t,n);if(f[2])throw h(f[1]);return h(f[0])}function ct(r){let e=P(r,o.__wbindgen_malloc),t=a,n=o.dracoRequests(e,t);if(n[2])throw h(n[1]);return h(n[0])}function Ft(){return{__proto__:null,"./isard_bg.js":{__proto__:null,__wbg___wbindgen_boolean_get_5b446f51afd21013:function(e){let t=e,n=typeof t==="boolean"?t:void 0;return u(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_4687d8d8c2017d52:function(e,t){let n=Ce(t),_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg___wbindgen_is_falsy_16bd49b68658263e:function(e){return!e},__wbg___wbindgen_is_function_1f9d30630b8b1d3d:function(e){return typeof e==="function"},__wbg___wbindgen_is_null_e343b7d08827ba72:function(e){return e===null},__wbg___wbindgen_is_object_3c45d4f2dde4e749:function(e){let t=e;return typeof t==="object"&&t!==null},__wbg___wbindgen_is_undefined_8865fb403f8fe9d8:function(e){return e===void 0},__wbg___wbindgen_number_get_2e0e7dee9f701a71:function(e,t){let n=t,_=typeof n==="number"?n:void 0;D().setFloat64(e+8,u(_)?0:_,!0),D().setInt32(e+0,!u(_),!0)},__wbg___wbindgen_string_get_0380ccaa2f57f0d9:function(e,t){let n=t,_=typeof n==="string"?n:void 0;var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg___wbindgen_throw_41e9ee4f547fc59a:function(e,t){throw Error(C(e,t))},__wbg__wbg_cb_unref_dcc1a90847f04c41:function(e){e._wbg_cb_unref()},__wbg_abort_f78b99d80248bacb:function(e){e.abort()},__wbg_aborted_5b2b5f06b5e59fde:function(e){return e.aborted},__wbg_activeTexture_11079673eac5c921:function(e,t){e.activeTexture(t>>>0)},__wbg_activeTexture_2fad46c01cafe6b1:function(e,t){e.activeTexture(t>>>0)},__wbg_apply_a910804df6e1e433:function(){return p(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_f07be74819944ea2:function(){return p(function(e){return e.arrayBuffer()},arguments)},__wbg_attachShader_8920a5beea54aba7:function(e,t,n){e.attachShader(t,n)},__wbg_attachShader_9567ae57af6746d5:function(e,t,n){e.attachShader(t,n)},__wbg_bindBuffer_0324f62b876c4403:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindBuffer_2195e89b585ce0c3:function(e,t,n){e.bindBuffer(t>>>0,n)},__wbg_bindFramebuffer_22e4b8e6e6d8d0e8:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindFramebuffer_378eb18ef219d37a:function(e,t,n){e.bindFramebuffer(t>>>0,n)},__wbg_bindRenderbuffer_db090531fb28de34:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindRenderbuffer_e0c5aeef245a913a:function(e,t,n){e.bindRenderbuffer(t>>>0,n)},__wbg_bindTexture_3cf008f256f3ed99:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindTexture_613a47b8917a0ccd:function(e,t,n){e.bindTexture(t>>>0,n)},__wbg_bindVertexArrayOES_3141815cb8234a6e:function(e,t){e.bindVertexArrayOES(t)},__wbg_bindVertexArray_f58af0a346185ec5:function(e,t){e.bindVertexArray(t)},__wbg_blendEquation_5fb8aee6a55cf900:function(e,t){e.blendEquation(t>>>0)},__wbg_blendEquation_d21914e937b14896:function(e,t){e.blendEquation(t>>>0)},__wbg_blendFuncSeparate_28abe082febb1a26:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFuncSeparate_2af9d47f7efc0452:function(e,t,n,_,c){e.blendFuncSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_blendFunc_491ee1105079ce76:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blendFunc_589e4252bb396484:function(e,t,n){e.blendFunc(t>>>0,n>>>0)},__wbg_blob_232135c7e297b861:function(){return p(function(e){return e.blob()},arguments)},__wbg_bufferData_50f5eb06469330e4:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_53e0f7a06b58fe81:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_5fa44d94fe7a3878:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferData_bad7ce562b6a9eac:function(e,t,n,_){e.bufferData(t>>>0,n,_>>>0)},__wbg_bufferSubData_22c4c420e0f67cda:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_bufferSubData_8609cd8a2c013181:function(e,t,n,_){e.bufferSubData(t>>>0,n,_)},__wbg_byteLength_141bda7c7c28aa72:function(e){return e.byteLength},__wbg_byteLength_18a1704c0bf397bb:function(e){return e.byteLength},__wbg_byteLength_27689b065d089962:function(e){return e.byteLength},__wbg_byteLength_9f985b8373f1f3fe:function(e){return e.byteLength},__wbg_call_01721c8c75200a10:function(){return p(function(e,t,n,_,c,i){return e.call(t,n,_,c,i)},arguments)},__wbg_call_1875a20c43a36133:function(){return p(function(e,t,n,_){return e.call(t,n,_)},arguments)},__wbg_call_187d372bd5fdd4aa:function(){return p(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_6137034ef55c9d0f:function(){return p(function(e,t){return e.call(t)},arguments)},__wbg_clearColor_3f6aa096dc12e8b7:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearColor_796427e8ac60fe14:function(e,t,n,_,c){e.clearColor(t,n,_,c)},__wbg_clearDepth_4840a5497ae51286:function(e,t){e.clearDepth(t)},__wbg_clearDepth_5a119c24c5d193bc:function(e,t){e.clearDepth(t)},__wbg_clearStencil_1b8b8c727f598eec:function(e,t){e.clearStencil(t)},__wbg_clearStencil_e4383e4a543e7997:function(e,t){e.clearStencil(t)},__wbg_clear_175cf3cb6d98d72b:function(e,t){e.clear(t>>>0)},__wbg_clear_cb96796cc568b7c8:function(e,t){e.clear(t>>>0)},__wbg_close_355afba6ea5ad1ae:function(e){e.close()},__wbg_colorMask_4d6afbbbc3022fbe:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_colorMask_8c903995f6f873be:function(e,t,n,_,c){e.colorMask(t!==0,n!==0,_!==0,c!==0)},__wbg_compileShader_073a75409aaf96d2:function(e,t){e.compileShader(t)},__wbg_compileShader_c2b53ff3a8851f60:function(e,t){e.compileShader(t)},__wbg_compressedTexImage2D_93d2b30687f2cfad:function(e,t,n,_,c,i,s,f){e.compressedTexImage2D(t>>>0,n,_>>>0,c,i,s,f)},__wbg_createBuffer_d1dd23bf8704564c:function(e){let t=e.createBuffer();return u(t)?0:A(t)},__wbg_createBuffer_ffe613371d42cfd3:function(e){let t=e.createBuffer();return u(t)?0:A(t)},__wbg_createFramebuffer_2c6b5b0f49c88e5d:function(e){let t=e.createFramebuffer();return u(t)?0:A(t)},__wbg_createFramebuffer_d0969af4e9886297:function(e){let t=e.createFramebuffer();return u(t)?0:A(t)},__wbg_createImageBitmap_1b985e01e4c81baa:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createImageBitmap_69996a36c51d409f:function(){return p(function(e,t,n){return e.createImageBitmap(t,n)},arguments)},__wbg_createProgram_cbf448e6f18a9402:function(e){let t=e.createProgram();return u(t)?0:A(t)},__wbg_createProgram_e0c81b0d2b8d0fd0:function(e){let t=e.createProgram();return u(t)?0:A(t)},__wbg_createRenderbuffer_2b17e9fe2e6fb4be:function(e){let t=e.createRenderbuffer();return u(t)?0:A(t)},__wbg_createRenderbuffer_c864095d6ebd60d0:function(e){let t=e.createRenderbuffer();return u(t)?0:A(t)},__wbg_createShader_6c1a2295587878a5:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:A(n)},__wbg_createShader_7c9d99a21ecb08c0:function(e,t){let n=e.createShader(t>>>0);return u(n)?0:A(n)},__wbg_createTexture_01e8e591b64237de:function(e){let t=e.createTexture();return u(t)?0:A(t)},__wbg_createTexture_5f2583508ebe379b:function(e){let t=e.createTexture();return u(t)?0:A(t)},__wbg_createVertexArrayOES_a8dc8498b56df937:function(e){let t=e.createVertexArrayOES();return u(t)?0:A(t)},__wbg_createVertexArray_b223ea69dd08fcab:function(e){let t=e.createVertexArray();return u(t)?0:A(t)},__wbg_cullFace_12123c1c97f1ba2c:function(e,t){e.cullFace(t>>>0)},__wbg_cullFace_1a01f0b6d5aeb687:function(e,t){e.cullFace(t>>>0)},__wbg_deleteBuffer_070e58aaaf2a7a8b:function(e,t){e.deleteBuffer(t)},__wbg_deleteBuffer_7775ee9e248c8468:function(e,t){e.deleteBuffer(t)},__wbg_deleteFramebuffer_3f8ab330098bf8e6:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteFramebuffer_570d3b214a509fa2:function(e,t){e.deleteFramebuffer(t)},__wbg_deleteProgram_822906f0368175d0:function(e,t){e.deleteProgram(t)},__wbg_deleteProgram_b524b30ad176cdb4:function(e,t){e.deleteProgram(t)},__wbg_deleteRenderbuffer_826c9b43b7ea68f5:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteRenderbuffer_f4e121a3ab21c605:function(e,t){e.deleteRenderbuffer(t)},__wbg_deleteShader_a70f6cc1918d67eb:function(e,t){e.deleteShader(t)},__wbg_deleteShader_da18a294158c2d15:function(e,t){e.deleteShader(t)},__wbg_deleteSync_4f0be28b03f50495:function(e,t){e.deleteSync(t)},__wbg_deleteTexture_78c170241204a466:function(e,t){e.deleteTexture(t)},__wbg_deleteTexture_9f42750adb092e4f:function(e,t){e.deleteTexture(t)},__wbg_deleteVertexArrayOES_e01f31634d466176:function(e,t){e.deleteVertexArrayOES(t)},__wbg_deleteVertexArray_ca9768805d051d49:function(e,t){e.deleteVertexArray(t)},__wbg_depthFunc_92e96d8f46a23300:function(e,t){e.depthFunc(t>>>0)},__wbg_depthFunc_a41fb5adacb22e09:function(e,t){e.depthFunc(t>>>0)},__wbg_depthMask_06ecff4d4514c38f:function(e,t){e.depthMask(t!==0)},__wbg_depthMask_0d7c3dec3b8405ee:function(e,t){e.depthMask(t!==0)},__wbg_depthRange_24c7969249461e8e:function(e,t,n){e.depthRange(t,n)},__wbg_depthRange_6a4e169ccf314148:function(e,t,n){e.depthRange(t,n)},__wbg_detachShader_1ed15fc2d289cf15:function(e,t,n){e.detachShader(t,n)},__wbg_detachShader_67dabaaad80a795e:function(e,t,n){e.detachShader(t,n)},__wbg_disableVertexAttribArray_11c9f11bee30c9d8:function(e,t){e.disableVertexAttribArray(t>>>0)},__wbg_disableVertexAttribArray_c4c8af1f9e4120d4:function(e,t){e.disableVertexAttribArray(t>>>0)},__wbg_disable_19fe787eccdf0272:function(e,t){e.disable(t>>>0)},__wbg_disable_81b2cb5f8cea15ae:function(e,t){e.disable(t>>>0)},__wbg_drawArraysInstancedANGLE_b76512b5abba6668:function(e,t,n,_,c){e.drawArraysInstancedANGLE(t>>>0,n,_,c)},__wbg_drawArraysInstanced_9b44aa78a087154d:function(e,t,n,_,c){e.drawArraysInstanced(t>>>0,n,_,c)},__wbg_drawArrays_08872e02fb57b847:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawArrays_741af5c3f8db636f:function(e,t,n,_){e.drawArrays(t>>>0,n,_)},__wbg_drawElementsInstancedANGLE_c3fc0cfa9e29a1bc:function(e,t,n,_,c,i){e.drawElementsInstancedANGLE(t>>>0,n,_>>>0,c,i)},__wbg_drawElementsInstanced_d7c396aa034159b6:function(e,t,n,_,c,i){e.drawElementsInstanced(t>>>0,n,_>>>0,c,i)},__wbg_drawElements_c8988ba71de1101a:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_drawElements_cc1e6c631e89eddf:function(e,t,n,_,c){e.drawElements(t>>>0,n,_>>>0,c)},__wbg_enableVertexAttribArray_1496b78a8dbab9fd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enableVertexAttribArray_d52693866bc8b8dd:function(e,t){e.enableVertexAttribArray(t>>>0)},__wbg_enable_6eeb9c0e9b483cee:function(e,t){e.enable(t>>>0)},__wbg_enable_cb4fc19b51148c37:function(e,t){e.enable(t>>>0)},__wbg_error_c9cf3fc2064683a9:function(e){console.error(e)},__wbg_fenceSync_330293024adb66bc:function(e,t,n){let _=e.fenceSync(t>>>0,n>>>0);return u(_)?0:A(_)},__wbg_fetch_b322877f1ed6457d:function(e,t,n,_){return e.fetch(C(t,n),_)},__wbg_flush_13b162660ad850d2:function(e){e.flush()},__wbg_flush_a5ad38200881ac35:function(e){e.flush()},__wbg_framebufferRenderbuffer_1c6337e0030411f3:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferRenderbuffer_f019e9231b142c0d:function(e,t,n,_,c){e.framebufferRenderbuffer(t>>>0,n>>>0,_>>>0,c)},__wbg_framebufferTexture2D_73c52f23ec33aa22:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_framebufferTexture2D_caddefa1f767646e:function(e,t,n,_,c,i){e.framebufferTexture2D(t>>>0,n>>>0,_>>>0,c,i)},__wbg_from_296ca31f8d0f1c52:function(e){return Array.from(e)},__wbg_frontFace_6751b4b97f997aeb:function(e,t){e.frontFace(t>>>0)},__wbg_frontFace_b064adb15b6f3772:function(e,t){e.frontFace(t>>>0)},__wbg_generateMipmap_c63604006bfa52d5:function(e,t){e.generateMipmap(t>>>0)},__wbg_generateMipmap_cd49f6eec9558721:function(e,t){e.generateMipmap(t>>>0)},__wbg_getActiveUniform_239de631a40c387a:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:A(_)},__wbg_getActiveUniform_f2052b3c57679fe2:function(e,t,n){let _=e.getActiveUniform(t,n>>>0);return u(_)?0:A(_)},__wbg_getBufferSubData_dd23246099b166d1:function(e,t,n,_){e.getBufferSubData(t>>>0,n,_)},__wbg_getContext_051324720aa5b7e8:function(){return p(function(e,t,n,_){let c=e.getContext(C(t,n),_);return u(c)?0:A(c)},arguments)},__wbg_getExtension_abfda2c5db286b07:function(){return p(function(e,t,n){let _=e.getExtension(C(t,n));return u(_)?0:A(_)},arguments)},__wbg_getParameter_974595a6624c6c10:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getParameter_a97f491753b05668:function(){return p(function(e,t){return e.getParameter(t>>>0)},arguments)},__wbg_getProgramInfoLog_208fb1ff31006495:function(e,t,n){let _=t.getProgramInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramInfoLog_3276b294d6d42fe2:function(e,t,n){let _=t.getProgramInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getProgramParameter_50bafab01cf88652:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getProgramParameter_fc7124bb9fb7c675:function(e,t,n){return e.getProgramParameter(t,n>>>0)},__wbg_getShaderInfoLog_7e0cbba353ca95da:function(e,t,n){let _=t.getShaderInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderInfoLog_bb64c5a52df0b7a3:function(e,t,n){let _=t.getShaderInfoLog(n);var c=u(_)?0:R(_,o.__wbindgen_malloc,o.__wbindgen_realloc),i=a;D().setInt32(e+4,i,!0),D().setInt32(e+0,c,!0)},__wbg_getShaderParameter_745acf10b8e45e31:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getShaderParameter_e55ea9c456df5484:function(e,t,n){return e.getShaderParameter(t,n>>>0)},__wbg_getSupportedExtensions_1459bad37860c0c3:function(e){let t=e.getSupportedExtensions();return u(t)?0:A(t)},__wbg_getSyncParameter_bb4be47b67bfa2f8:function(e,t,n){return e.getSyncParameter(t,n>>>0)},__wbg_getUniformLocation_50ba45dade572703:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return u(c)?0:A(c)},__wbg_getUniformLocation_cb4e3e121235f91a:function(e,t,n,_){let c=e.getUniformLocation(t,C(n,_));return u(c)?0:A(c)},__wbg_get_31af05bd4842a84f:function(){return p(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_806853698d9fc227:function(){return p(function(e,t){return Reflect.get(e,t>>>0)},arguments)},__wbg_get_f75619e20cb68514:function(){return p(function(e,t,n,_){let c=t.get(C(n,_));var i=u(c)?0:R(c,o.__wbindgen_malloc,o.__wbindgen_realloc),s=a;D().setInt32(e+4,s,!0),D().setInt32(e+0,i,!0)},arguments)},__wbg_get_index_f4750150bb3083b3:function(e,t){return e[t>>>0]},__wbg_get_unchecked_288889d017702237:function(e,t){return e[t>>>0]},__wbg_headers_eba93595f8944c2f:function(e){return e.headers},__wbg_height_9dca4d43c3e4b84b:function(e){return e.height},__wbg_instanceof_ArrayBuffer_a99f175873e5d9b8:function(e){let t;try{t=e instanceof ArrayBuffer}catch(_){t=!1}return t},__wbg_instanceof_Blob_7c6191a4cd5834d3:function(e){let t;try{t=e instanceof Blob}catch(_){t=!1}return t},__wbg_instanceof_Error_80a725f81f2e102d:function(e){let t;try{t=e instanceof Error}catch(_){t=!1}return t},__wbg_instanceof_Float32Array_595afb0f28b828c9:function(e){let t;try{t=e instanceof Float32Array}catch(_){t=!1}return t},__wbg_instanceof_Float64Array_8a59377f9eec1b8b:function(e){let t;try{t=e instanceof Float64Array}catch(_){t=!1}return t},__wbg_instanceof_ImageBitmap_74bea45ee48d3d7a:function(e){let t;try{t=e instanceof ImageBitmap}catch(_){t=!1}return t},__wbg_instanceof_Promise_e1dc6893aa1ece28:function(e){let t;try{t=e instanceof Promise}catch(_){t=!1}return t},__wbg_instanceof_Response_b8758567269c30b2:function(e){let t;try{t=e instanceof Response}catch(_){t=!1}return t},__wbg_instanceof_Uint32Array_53a4facaf04b8a8b:function(e){let t;try{t=e instanceof Uint32Array}catch(_){t=!1}return t},__wbg_instanceof_Uint8Array_828cef2aaacafc31:function(e){let t;try{t=e instanceof Uint8Array}catch(_){t=!1}return t},__wbg_instanceof_WebGl2RenderingContext_64c994c14c0790fb:function(e){let t;try{t=e instanceof WebGL2RenderingContext}catch(_){t=!1}return t},__wbg_instanceof_Window_82d71df4eddf88bc:function(e){let t;try{t=e instanceof Window}catch(_){t=!1}return t},__wbg_isArray_e15a2ff68ffdbef2:function(e){return Array.isArray(e)},__wbg_isContextLost_fbbab8b921e614b7:function(e){return e.isContextLost()},__wbg_isEnabled_a3522bc4076e6296:function(e,t){return e.isEnabled(t>>>0)},__wbg_isEnabled_acb9d89bd88c16bd:function(e,t){return e.isEnabled(t>>>0)},__wbg_is_4b278c0bd3caba97:function(e,t){return Object.is(e,t)},__wbg_length_511b1f84719d3462:function(e){return e.length},__wbg_length_58572db4c38f3c3e:function(e){return e.length},__wbg_length_7f3c00c40364105e:function(e){return e.length},__wbg_length_b5f0008bbf60cf59:function(e){return e.length},__wbg_length_d4bdea10311bd9cf:function(e){return e.length},__wbg_linkProgram_571a9ea00d38ff83:function(e,t){e.linkProgram(t)},__wbg_linkProgram_acdc299c43d734a0:function(e,t){e.linkProgram(t)},__wbg_message_5f8387f0c32b90a7:function(e){return e.message},__wbg_name_91a697e9ff1634bf:function(e,t){let n=t.name,_=R(n,o.__wbindgen_malloc,o.__wbindgen_realloc),c=a;D().setInt32(e+4,c,!0),D().setInt32(e+0,_,!0)},__wbg_new_1dbf7428bba60a42:function(e){return new Uint8Array(e)},__wbg_new_2e41357094e99294:function(){return p(function(){return new AbortController},arguments)},__wbg_new_5502aad30c185fc8:function(e,t){try{var n={a:e,b:t},_=(i,s)=>{let f=n.a;n.a=0;try{return St(f,n.b,i,s)}finally{n.a=f}};return new Promise(_)}finally{n.a=0}},__wbg_new_617a8cdb8bb1130e:function(){return{}},__wbg_new_83ca405eae412a62:function(){return p(function(){return new Headers},arguments)},__wbg_new_ee2291f50781bf1d:function(){return[]},__wbg_new_from_slice_37a3c3a194266cb8:function(e,t){return new Uint32Array(V(e,t))},__wbg_new_from_slice_9a868026ffa4208a:function(e,t){return new Uint8Array(ke(e,t))},__wbg_new_from_slice_ca6ad97db1f4779a:function(e,t){return new Float32Array(E(e,t))},__wbg_new_from_slice_f545fd22ddc142b8:function(e,t){return new Float64Array(Oe(e,t))},__wbg_new_with_byte_offset_70ba6193352e027b:function(e,t){return new Uint8Array(e,t>>>0)},__wbg_new_with_byte_offset_and_length_40c170286adc9005:function(e,t,n){return new Float32Array(e,t>>>0,n>>>0)},__wbg_new_with_u8_array_sequence_and_options_fccc08fe93f4b8fd:function(){return p(function(e,t){return new Blob(e,t)},arguments)},__wbg_now_aa4ccb83129e9e55:function(){return Date.now()},__wbg_now_d0b7f4bea9f38490:function(e){return e.now()},__wbg_of_20798cb14708764f:function(e,t){return Array.of(e,t)},__wbg_of_d5dbecdc59e02e34:function(e){return Array.of(e)},__wbg_of_dde0b9d3265685ee:function(e,t,n){return Array.of(e,t,n)},__wbg_of_fea2613674ee0d0f:function(e,t,n,_,c){return Array.of(e,t,n,_,c)},__wbg_ok_125878a7db256ecb:function(e){return e.ok},__wbg_performance_d0d7b03fc649b694:function(e){let t=e.performance;return u(t)?0:A(t)},__wbg_pixelStorei_af18e636b3e7b725:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_pixelStorei_cb4e43466f5b8703:function(e,t,n){e.pixelStorei(t>>>0,n)},__wbg_polygonOffset_81dc8ca84e29572b:function(e,t,n){e.polygonOffset(t,n)},__wbg_polygonOffset_8f922d9173d8849d:function(e,t,n){e.polygonOffset(t,n)},__wbg_prototypesetcall_06eb15da165dee8f:function(e,t,n){Uint32Array.prototype.set.call(V(e,t),n)},__wbg_prototypesetcall_8b03c01e2c0f8066:function(e,t,n){Float32Array.prototype.set.call(E(e,t),n)},__wbg_prototypesetcall_bc27214492979395:function(e,t,n){Uint8Array.prototype.set.call(ke(e,t),n)},__wbg_prototypesetcall_d49a4fab5ca427bc:function(e,t,n){Float64Array.prototype.set.call(Oe(e,t),n)},__wbg_push_2baf45db356cf468:function(e,t){return e.push(t)},__wbg_queueMicrotask_9833f9a49df95a49:function(e){return e.queueMicrotask},__wbg_queueMicrotask_a72f977e97f23c5f:function(e){queueMicrotask(e)},__wbg_readPixels_31e44e70558ac590:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_3321086a7818a739:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_readPixels_eb030cd9976eeca5:function(){return p(function(e,t,n,_,c,i,s,f){e.readPixels(t,n,_,c,i>>>0,s>>>0,f)},arguments)},__wbg_renderbufferStorage_52b131bbf3112b3a:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_renderbufferStorage_bca487b0dea425b8:function(e,t,n,_,c){e.renderbufferStorage(t>>>0,n>>>0,_,c)},__wbg_resolve_0076e10020304ede:function(e){return Promise.resolve(e)},__wbg_scissor_12ddc324094acd50:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_scissor_a9468482697c2bdb:function(e,t,n,_,c){e.scissor(t,n,_,c)},__wbg_setTimeout_db7bbc18a17e152a:function(){return p(function(e,t,n){return e.setTimeout(t,n)},arguments)},__wbg_set_145a351398b48c65:function(){return p(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_af5932e3f78b5648:function(){return p(function(e,t,n,_,c){e.set(C(t,n),C(_,c))},arguments)},__wbg_set_alpha_6dea851a46253adf:function(e,t){e.alpha=t!==0},__wbg_set_antialias_1f699e96763e8a35:function(e,t){e.antialias=t!==0},__wbg_set_cache_7507c4cc5938ccc7:function(e,t){e.cache=It[t]},__wbg_set_color_space_conversion_f27e9d866a683b4b:function(e,t){e.colorSpaceConversion=Tt[t]},__wbg_set_depth_8b49de49803d4e60:function(e,t){e.depth=t!==0},__wbg_set_headers_40ad33dcf016613f:function(e,t){e.headers=t},__wbg_set_power_preference_6ef22d4c8baf517f:function(e,t){e.powerPreference=Dt[t]},__wbg_set_premultiply_alpha_45a4cf9a1e87bfbf:function(e,t){e.premultiplyAlpha=Pt[t]},__wbg_set_resize_height_274433c2f249624d:function(e,t){e.resizeHeight=t>>>0},__wbg_set_resize_width_6f06543b29d1ca48:function(e,t){e.resizeWidth=t>>>0},__wbg_set_signal_2dbd377604627f26:function(e,t){e.signal=t},__wbg_set_stencil_edc32d9477c7c107:function(e,t){e.stencil=t!==0},__wbg_set_type_dcf75b2afa60c694:function(e,t,n){e.type=C(t,n)},__wbg_shaderSource_06379dac249994dd:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_shaderSource_c8812639b47d87b9:function(e,t,n,_){e.shaderSource(t,C(n,_))},__wbg_signal_e5a49a2d9c65b7f6:function(e){return e.signal},__wbg_size_74c48d7329291685:function(e){return e.size},__wbg_static_accessor_GLOBAL_266715b9d96ba635:function(){let e=typeof global>"u"?null:global;return u(e)?0:A(e)},__wbg_static_accessor_GLOBAL_THIS_10fb7dc1ae063179:function(){let e=typeof globalThis>"u"?null:globalThis;return u(e)?0:A(e)},__wbg_static_accessor_SELF_0b583911f537483a:function(){let e=typeof self>"u"?null:self;return u(e)?0:A(e)},__wbg_static_accessor_WINDOW_d7f903d1508cbdc4:function(){let e=typeof window>"u"?null:window;return u(e)?0:A(e)},__wbg_status_ce0a98d3c57125f3:function(e){return e.status},__wbg_stencilFunc_aa3cd8856be514c4:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilFunc_bab7e0b7c443f093:function(e,t,n,_){e.stencilFunc(t>>>0,n,_>>>0)},__wbg_stencilMask_9e18cc018897c747:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilMask_a22be64c66abd825:function(e,t){e.stencilMask(t>>>0)},__wbg_stencilOpSeparate_7d01185cbdb89d99:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOpSeparate_c5af5f5dbd237bea:function(e,t,n,_,c){e.stencilOpSeparate(t>>>0,n>>>0,_>>>0,c>>>0)},__wbg_stencilOp_12274af665ab8a00:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_stencilOp_2697194654fee819:function(e,t,n,_){e.stencilOp(t>>>0,n>>>0,_>>>0)},__wbg_subarray_002b94d5e13d1411:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_texImage2D_1b3349107ad0faae:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_82bf2b4c8aa9a1db:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_8fc2f2fcca249b59:function(){return p(function(e,t,n,_,c,i,s){e.texImage2D(t>>>0,n,_,c>>>0,i>>>0,s)},arguments)},__wbg_texImage2D_a856af552acdc9d9:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texImage2D_ca3d0fe24620ec85:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texParameteri_647fdb1426809cb5:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texParameteri_7864076abcdb03e0:function(e,t,n,_){e.texParameteri(t>>>0,n>>>0,_)},__wbg_texStorage2D_cf2bd991072d9efb:function(e,t,n,_,c,i){e.texStorage2D(t>>>0,n,_>>>0,c,i)},__wbg_texStorage3D_74b701c2b176380c:function(e,t,n,_,c,i,s){e.texStorage3D(t>>>0,n,_>>>0,c,i,s)},__wbg_texSubImage2D_31a0c2797aa04f32:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_5e90c7a719d40256:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage2D_bb322aae90f7657f:function(){return p(function(e,t,n,_,c,i,s,f,b,l){e.texSubImage2D(t>>>0,n,_,c,i,s,f>>>0,b>>>0,l)},arguments)},__wbg_texSubImage3D_5143d5af7e182ddc:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_5d773fc7a8cd4d08:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_texSubImage3D_e0d113b7047a5130:function(){return p(function(e,t,n,_,c,i,s,f,b,l,d,g){e.texSubImage3D(t>>>0,n,_,c,i,s,f,b,l>>>0,d>>>0,g)},arguments)},__wbg_then_c949d5a25a4e78f8:function(e,t,n){return e.then(t,n)},__wbg_then_e71170d78fcf8954:function(e,t){return e.then(t)},__wbg_type_ff6f7b321fe8478b:function(e){return e.type},__wbg_uniform1f_9cfecfaeb8cf43c1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1f_b5856e35a43b65a1:function(e,t,n){e.uniform1f(t,n)},__wbg_uniform1fv_1bf537fc926ef8b9:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1fv_1cc1d09bc13b03bf:function(e,t,n,_){e.uniform1fv(t,E(n,_))},__wbg_uniform1i_531b98c4a7177366:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1i_fc2dc8cadc49d8ec:function(e,t,n){e.uniform1i(t,n)},__wbg_uniform1iv_4b8cbceccddfaa62:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1iv_8fc880ae80c77c74:function(e,t,n,_){e.uniform1iv(t,W(n,_))},__wbg_uniform1ui_353c67ec681b540c:function(e,t,n){e.uniform1ui(t,n>>>0)},__wbg_uniform1uiv_ad5e946730aacbec:function(e,t,n,_){e.uniform1uiv(t,V(n,_))},__wbg_uniform2f_131da2d4bf17e4b9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2f_a92b5bb95dc5b4d9:function(e,t,n,_){e.uniform2f(t,n,_)},__wbg_uniform2fv_319c49f0ce340f26:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2fv_a7d3c1830d18c1b2:function(e,t,n,_){e.uniform2fv(t,E(n,_))},__wbg_uniform2iv_65f36fc9777697d7:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2iv_ca9cb507409b9ad1:function(e,t,n,_){e.uniform2iv(t,W(n,_))},__wbg_uniform2uiv_c95af5fb653ccb86:function(e,t,n,_){e.uniform2uiv(t,V(n,_))},__wbg_uniform3f_1211579ff87ccfad:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3f_ee105161897ee48a:function(e,t,n,_,c){e.uniform3f(t,n,_,c)},__wbg_uniform3fv_055ea5ac38af4fce:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3fv_58520ffe22a6e27c:function(e,t,n,_){e.uniform3fv(t,E(n,_))},__wbg_uniform3iv_0590e8b7eff2a791:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3iv_e91b1410dc299f50:function(e,t,n,_){e.uniform3iv(t,W(n,_))},__wbg_uniform3uiv_9992491000463a52:function(e,t,n,_){e.uniform3uiv(t,V(n,_))},__wbg_uniform4f_22bfec882308eec2:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4f_8dd8f311e656ca0d:function(e,t,n,_,c,i){e.uniform4f(t,n,_,c,i)},__wbg_uniform4fv_3ef2f5121fcb78ae:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4fv_cf8ff646c36232c8:function(e,t,n,_){e.uniform4fv(t,E(n,_))},__wbg_uniform4iv_6fc5436b4f876039:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4iv_99c2b07787d362d6:function(e,t,n,_){e.uniform4iv(t,W(n,_))},__wbg_uniform4uiv_a6fb3237d9df7ed4:function(e,t,n,_){e.uniform4uiv(t,V(n,_))},__wbg_uniformMatrix3fv_472e7824735acce1:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix3fv_83fdc9c3c0d43204:function(e,t,n,_,c){e.uniformMatrix3fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_dff9738d995fd0b1:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_uniformMatrix4fv_e691d7f14d3609f7:function(e,t,n,_,c){e.uniformMatrix4fv(t,n!==0,E(_,c))},__wbg_useProgram_5bdae58fd9f9826f:function(e,t){e.useProgram(t)},__wbg_useProgram_e075c2902e420761:function(e,t){e.useProgram(t)},__wbg_vertexAttrib1f_37ce0547e8fa5f36:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttrib1f_470b2556c148483a:function(e,t,n){e.vertexAttrib1f(t>>>0,n)},__wbg_vertexAttribDivisorANGLE_659fb027198a47c3:function(e,t,n){e.vertexAttribDivisorANGLE(t>>>0,n>>>0)},__wbg_vertexAttribDivisor_7575d382215322f7:function(e,t,n){e.vertexAttribDivisor(t>>>0,n>>>0)},__wbg_vertexAttribIPointer_fc8057c62cfcc63c:function(e,t,n,_,c,i){e.vertexAttribIPointer(t>>>0,n,_>>>0,c,i)},__wbg_vertexAttribPointer_24b495e18df325dc:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_vertexAttribPointer_54d56b18f71a946d:function(e,t,n,_,c,i,s){e.vertexAttribPointer(t>>>0,n,_>>>0,c!==0,i,s)},__wbg_viewport_16936692526e2ce6:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_viewport_e35d16c542d2ce70:function(e,t,n,_,c){e.viewport(t,n,_,c)},__wbg_warn_13abc63e0d4b3527:function(e){console.warn(e)},__wbg_width_8a9cc26363f10d5f:function(e){return e.width},__wbindgen_generic_0000000000000001:function(e,t){return Bt(e,t,vt)},__wbindgen_generic_0000000000000002:function(e){return e},__wbindgen_generic_0000000000000003:function(e,t){return E(e,t)},__wbindgen_generic_0000000000000004:function(e,t){return Mt(e,t)},__wbindgen_generic_0000000000000005:function(e,t){return W(e,t)},__wbindgen_generic_0000000000000006:function(e,t){return Rt(e,t)},__wbindgen_generic_0000000000000007:function(e,t){return Et(e,t)},__wbindgen_generic_0000000000000008:function(e,t){return V(e,t)},__wbindgen_generic_0000000000000009:function(e,t){return ke(e,t)},__wbindgen_generic_000000000000000a:function(e,t){return C(e,t)},__wbindgen_init_externref_table:function(){let e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function vt(r,e,t){let n=o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_(r,e,t);if(n[1])throw h(n[0])}function St(r,e,t,n){o.wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined___js_sys_b1e1c29ba6b0e6b3___Function_fn_wasm_bindgen_2e566c63402fe7fa___JsValue_____wasm_bindgen_2e566c63402fe7fa___sys__Undefined_______true_(r,e,t,n)}var Tt=["none","default"],Pt=["none","premultiply","default"],It=["default","no-store","reload","no-cache","force-cache","only-if-cached"],Dt=["default","low-power","high-performance"],tt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbg_engine_free(r,1));function A(r){let e=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(e,r),e}var nt=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((r)=>o.__wbindgen_destroy_closure(r.a,r.b));function Ce(r){let e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){let _=r.description;if(_==null)return"Symbol";else return`Symbol(${_})`}if(e=="function"){let _=r.name;if(typeof _=="string"&&_.length>0)return`Function(${_})`;else return"Function"}if(Array.isArray(r)){let _=r.length,c="[";if(_>0)c+=Ce(r[0]);for(let i=1;i<_;i++)c+=", "+Ce(r[i]);return c+="]",c}let t=/\[object ([^\]]+)\]/.exec(toString.call(r)),n;if(t&&t.length>1)n=t[1];else return toString.call(r);if(n=="Object")try{return"Object("+JSON.stringify(r)+")"}catch(_){return"Object"}if(r instanceof Error)return`${r.name}: ${r.message}
4
+ ${r.stack}`;return n}function E(r,e){return r=r>>>0,it().subarray(r/4,r/4+e)}function Oe(r,e){return r=r>>>0,at().subarray(r/8,r/8+e)}function Mt(r,e){return r=r>>>0,Lt().subarray(r/2,r/2+e)}function W(r,e){return r=r>>>0,kt().subarray(r/4,r/4+e)}function Rt(r,e){return r=r>>>0,Ut().subarray(r/1,r/1+e)}function Et(r,e){return r=r>>>0,st().subarray(r/2,r/2+e)}function V(r,e){return r=r>>>0,ft().subarray(r/4,r/4+e)}function ke(r,e){return r=r>>>0,j().subarray(r/1,r/1+e)}var N=null;function D(){if(N===null||N.buffer.detached===!0||N.buffer.detached===void 0&&N.buffer!==o.memory.buffer)N=new DataView(o.memory.buffer);return N}var Z=null;function it(){if(Z===null||Z.byteLength===0)Z=new Float32Array(o.memory.buffer);return Z}var Q=null;function at(){if(Q===null||Q.byteLength===0)Q=new Float64Array(o.memory.buffer);return Q}var ee=null;function Lt(){if(ee===null||ee.byteLength===0)ee=new Int16Array(o.memory.buffer);return ee}var te=null;function kt(){if(te===null||te.byteLength===0)te=new Int32Array(o.memory.buffer);return te}var ne=null;function Ut(){if(ne===null||ne.byteLength===0)ne=new Int8Array(o.memory.buffer);return ne}function C(r,e){return Ot(r>>>0,e)}var re=null;function st(){if(re===null||re.byteLength===0)re=new Uint16Array(o.memory.buffer);return re}var _e=null;function ft(){if(_e===null||_e.byteLength===0)_e=new Uint32Array(o.memory.buffer);return _e}var oe=null;function j(){if(oe===null||oe.byteLength===0)oe=new Uint8Array(o.memory.buffer);return oe}function p(r,e){try{return r.apply(this,e)}catch(t){let n=A(t);o.__wbindgen_exn_store(n)}}function u(r){return r===void 0||r===null}function Bt(r,e,t){let n={a:r,b:e,cnt:1},_=(...c)=>{n.cnt++;let i=n.a;n.a=0;try{return t(i,n.b,...c)}finally{n.a=i,_._wbg_cb_unref()}};return _._wbg_cb_unref=()=>{if(--n.cnt===0)o.__wbindgen_destroy_closure(n.a,n.b),n.a=0,nt.unregister(n)},nt.register(_,n,n),_}function rt(r,e){let t=e(r.length*2,2)>>>0;return st().set(r,t/2),a=r.length,t}function w(r,e){let t=e(r.length*4,4)>>>0;return ft().set(r,t/4),a=r.length,t}function P(r,e){let t=e(r.length*1,1)>>>0;return j().set(r,t/1),a=r.length,t}function y(r,e){let t=e(r.length*4,4)>>>0;return it().set(r,t/4),a=r.length,t}function x(r,e){let t=e(r.length*8,8)>>>0;return at().set(r,t/8),a=r.length,t}function _t(r,e){let t=e(r.length*4,4)>>>0;for(let n=0;n<r.length;n++){let _=A(r[n]);D().setUint32(t+4*n,_,!0)}return a=r.length,t}function R(r,e,t){if(t===void 0){let s=ce.encode(r),f=e(s.length,1)>>>0;return j().subarray(f,f+s.length).set(s),a=s.length,f}let n=r.length,_=e(n,1)>>>0,c=j(),i=0;for(;i<n;i++){let s=r.charCodeAt(i);if(s>127)break;c[_+i]=s}if(i!==n){if(i!==0)r=r.slice(i);_=t(_,n,n=i+r.length*3,1)>>>0;let s=j().subarray(_+i,_+n),f=ce.encodeInto(r,s);i+=f.written,_=t(_,n,i,1)>>>0}return a=i,_}function h(r){let e=o.__wbindgen_externrefs.get(r);return o.__externref_table_dealloc(r),e}var be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});be.decode();var Ct=2146435072,Ue=0;function Ot(r,e){if(Ue+=e,Ue>=Ct)be=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),be.decode(),Ue=e;return be.decode(j().subarray(r,r+e))}var ce=new TextEncoder;if(!("encodeInto"in ce))ce.encodeInto=function(r,e){let t=ce.encode(r);return e.set(t),{read:r.length,written:t.length}};var a=0,Wt,Vt,o;function Gt(r,e){return Vt=r,o=r.exports,Wt=e,N=null,Z=null,Q=null,ee=null,te=null,ne=null,re=null,_e=null,oe=null,o.__wbindgen_start(),o}async function Nt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function bt(r){if(o!==void 0)return o;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_bg.wasm",import.meta.url);let e=Ft();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Nt(await r,e);return Gt(t,n)}function dt(r,e,t,n,_){let c=ut(r,L.__wbindgen_malloc),i=H,s=ut(e,L.__wbindgen_malloc),f=H,b=lt(t,L.__wbindgen_malloc),l=H,d=lt(n,L.__wbindgen_malloc),g=H,m=L.decodeCopc(c,i,s,f,b,l,d,g,_);if(m[3])throw qt(m[2]);var F=Ht(m[0],m[1]).slice();return L.__wbindgen_free(m[0],m[1]*1,1),F}function jt(){return{__proto__:null,"./isard_points_bg.js":{__proto__:null,__wbindgen_generic_0000000000000001:function(e,t){return zt(e,t)},__wbindgen_init_externref_table:function(){let e=L.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Ht(r,e){return r=r>>>0,Ve().subarray(r/1,r/1+e)}var ie=null;function $t(){if(ie===null||ie.byteLength===0)ie=new Float64Array(L.memory.buffer);return ie}function zt(r,e){return Jt(r>>>0,e)}var ae=null;function Ve(){if(ae===null||ae.byteLength===0)ae=new Uint8Array(L.memory.buffer);return ae}function ut(r,e){let t=e(r.length*1,1)>>>0;return Ve().set(r,t/1),H=r.length,t}function lt(r,e){let t=e(r.length*8,8)>>>0;return $t().set(r,t/8),H=r.length,t}function qt(r){let e=L.__wbindgen_externrefs.get(r);return L.__externref_table_dealloc(r),e}var ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ue.decode();var Xt=2146435072,We=0;function Jt(r,e){if(We+=e,We>=Xt)ue=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ue.decode(),We=e;return ue.decode(Ve().subarray(r,r+e))}var H=0,Kt,Yt,L;function Zt(r,e){return Yt=r,L=r.exports,Kt=e,ie=null,ae=null,L.__wbindgen_start(),L}async function Qt(r,e){if(typeof Response==="function"&&r instanceof Response){if(!r.ok)throw Error(`failed to fetch Wasm: ${r.status} ${r.statusText} fetching '${r.url}'`);if(typeof WebAssembly.instantiateStreaming==="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(_){if(t(r.type)&&r.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",_);else throw _}let n=await r.arrayBuffer();return await WebAssembly.instantiate(n,e)}else{let n=await WebAssembly.instantiate(r,e);if(n instanceof WebAssembly.Instance)return{instance:n,module:r};else return n}function t(n){switch(n){case"basic":case"cors":case"default":return!0}return!1}}async function gt(r){if(L!==void 0)return L;if(r!==void 0)if(Object.getPrototypeOf(r)===Object.prototype)({module_or_path:r}=r);else console.warn("using deprecated parameters for the initialization function; pass a single object instead");if(r===void 0)r=new URL("isard_points_bg.wasm",import.meta.url);let e=jt();if(typeof r==="string"||typeof Request==="function"&&r instanceof Request||typeof URL==="function"&&r instanceof URL)r=fetch(r);let{instance:t,module:n}=await Qt(await r,e);return Zt(t,n)}var wt,Ne=Xe,mt={astc:!1,bptc:!1,etc:!1,s3tc:!1},pt="",Ge,se=new Map,le=(r,e=[])=>postMessage(r,e);addEventListener("message",(r)=>{let e=r.data;switch(e.type){case"headers":et(e.rules);break;case"init":wt=bt({module_or_path:e.module}),Ne=e.decoders,mt=e.formats,pt=e.points;break;case"points":on(e);break;case"abort":se.get(e.id)?.abort();break;case"load":en(e.id,e.url,e.transform,e.yUp,e.reload,e.priority);break}});var en=async(r,e,t,n,_,c)=>{let i=new AbortController;se.set(r,i);try{await wt;let s={signal:i.signal,cache:_?"reload":"default",...c?{priority:c}:{}},f=await Ye(e,Le(e,s)),b=new Uint8Array(await f.arrayBuffer()),l=ct(b),d=l.length>0?await Je(Ne,l):void 0,g=ot(b,t,n,d),m=new Map,F=(v,k)=>{let U=m.get(v);if(U)return U;let B=k==="image/ktx2"?Ke(Ne,mt,v).then((O)=>({bitmap:null,texture:O})):createImageBitmap(new Blob([v],{type:k??""}),{premultiplyAlpha:"none"}).then((O)=>({bitmap:O}));return m.set(v,B),B},S=g.points??[],T=await Promise.all(g.primitives.map(async({vertices:v,indices:k,image:U,mime:B,color:O,features:G})=>({vertices:v,indices:k,...O?{color:O}:{},...G?{features:G}:{},...U?await F(U,B):{bitmap:null}}))),I=new Set;T.forEach((v)=>{if(I.add(v.vertices.buffer),I.add(v.indices.buffer),v.color)I.add(v.color.buffer);if(v.features)I.add(v.features.buffer);if(v.bitmap)I.add(v.bitmap);v.texture?.levels.forEach((k)=>{I.add(k.data.buffer)})}),S.forEach((v)=>{I.add(v.buffer)});let M={anchor:g.anchor,primitives:T,...S.length>0?{points:S}:{},...g.properties?{properties:g.properties}:{}};le({type:"tile",id:r,tile:M},[...I])}catch(s){le({type:"error",id:r,error:String(s),aborted:i.signal.aborted})}finally{se.delete(r)}},tn=4,nn=1000,rn=(r,e)=>new Promise((t,n)=>{let _=setTimeout(t,r);e.addEventListener("abort",()=>{clearTimeout(_),n(new DOMException("aborted","AbortError"))})}),_n=async(r,e,t,n,_)=>{for(let c=1;;c+=1){let i={signal:n,headers:{Range:`bytes=${e}-${e+Math.max(t,1)-1}`},..._?{priority:_}:{}},s=await fetch(r,Le(r,i));if(s.status===429&&c<tn){let f=Number(s.headers.get("Retry-After"));await rn(f>0?f*1000:nn*2**(c-1),n);continue}if(!s.ok)throw Ee(r,s.status);if(s.status!==206){let f=s.headers.get("Content-Length"),b=f!==null&&!(Number(f)<=t),l=b?void 0:await Ze(s,t);if(!l){if(b)await s.body?.cancel();throw Error("the server ignores range requests (HTTP 206 expected)")}return l.subarray(e,e+t)}return new Uint8Array(await s.arrayBuffer())}},on=async(r)=>{let{id:e,url:t,offset:n,size:_,laz:c,layout:i,grid:s,count:f,priority:b}=r,l=new AbortController;se.set(e,l);try{Ge??=gt({module_or_path:pt}).catch((m)=>{throw Ge=void 0,m});let[d]=await Promise.all([_n(t,n,_,l.signal,b),Ge]),g=dt(d,c,i,s,f);le({type:"points",id:e,vertices:g},[g.buffer])}catch(d){le({type:"error",id:e,error:String(d),aborted:l.signal.aborted})}finally{se.delete(e)}};
5
5
 
6
- //# debugId=44DBCD51D0F56AE364756E2164756E21
6
+ //# debugId=1C4B533810981E6764756E2164756E21
7
7
  //# sourceMappingURL=decoder.worker.js.map