@baidumap/mapv-three 1.3.3 → 1.4.1

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.
Files changed (273) hide show
  1. package/README.md +3 -3
  2. package/dist/assets/textures/cloud/stbn.bin +0 -0
  3. package/dist/assets/textures/weather/thunder.jpg +0 -0
  4. package/dist/assets/wasm/lanelet.js +3296 -165
  5. package/dist/assets/wasm/lanelet.wasm +0 -0
  6. package/dist/assets/workers/{BaiduVectorParser.worker-d550338e.js → BaiduVectorParser.worker-486240e8.js} +977 -930
  7. package/dist/assets/workers/{CesiumTerrainParser.worker-20119751.js → CesiumTerrainParser.worker-ba35b937.js} +1032 -954
  8. package/dist/assets/workers/{MVTParser.worker-7dc8b0e4.js → MVTParser.worker-bb80e3b4.js} +755 -699
  9. package/dist/devtool/panel.js +108 -29
  10. package/dist/mapvthree.module.js +45540 -46298
  11. package/dist/mapvthree.umd.js +13 -7
  12. package/dist/types/Internal.d.ts +2 -0
  13. package/dist/types/adapters/bmap/Icon.d.ts +18 -0
  14. package/dist/types/adapters/bmap/InfoWindow.d.ts +124 -0
  15. package/dist/types/adapters/bmap/Label.d.ts +58 -0
  16. package/dist/types/adapters/bmap/Map.d.ts +124 -0
  17. package/dist/types/adapters/bmap/Marker.d.ts +28 -0
  18. package/dist/types/adapters/bmap/Overlay.d.ts +18 -0
  19. package/dist/types/adapters/bmap/Pixel.d.ts +1 -0
  20. package/dist/types/adapters/bmap/Point.d.ts +8 -0
  21. package/dist/types/adapters/bmap/Size.d.ts +8 -0
  22. package/dist/types/adapters/bmap/index.d.ts +8 -0
  23. package/dist/types/adapters/index.d.ts +1 -0
  24. package/dist/types/index.d.ts +3 -2
  25. package/dist/types/index.open.d.ts +5 -0
  26. package/dist/types/threejs/controls/PointerLockControls.d.ts +2 -0
  27. package/dist/types/threejs/geometries/text/ScreenTextGeometry.d.ts +15 -0
  28. package/dist/types/threejs/loaders/utilities/BatchTableHierarchyExtension.d.ts +4 -4
  29. package/dist/types/threejs/loaders/utilities/FeatureTable.d.ts +1 -1
  30. package/dist/types/threejs/materials/effects/LightningBillboardMaterial.d.ts +3 -0
  31. package/dist/types/threejs/materials/effects/LightningMaterial.d.ts +9 -0
  32. package/dist/types/threejs/materials/extend/ExtendMeshStandardMaterial.d.ts +1 -0
  33. package/dist/types/threejs/materials/natural/DynamicSkyMaterial.d.ts +1 -0
  34. package/dist/types/threejs/materials/natural/StaticSkyMaterial.d.ts +1 -0
  35. package/dist/types/threejs/materials/natural/VerticalGradientSkyMaterial.d.ts +1 -0
  36. package/dist/types/threejs/materials/polygon/PolygonMaterial.d.ts +1 -0
  37. package/dist/types/threejs/materials/text/ScreenTextMaterial.d.ts +25 -0
  38. package/dist/types/threejs/objects/GeoInstancedMesh.d.ts +1 -0
  39. package/dist/types/threejs/objects/line/FatLineInternal.d.ts +4 -0
  40. package/dist/types/threejs/objects/line/Polyline.d.ts +1 -1
  41. package/dist/types/threejs/objects/point/Icon.d.ts +1 -0
  42. package/dist/types/threejs/objects/point/Label.d.ts +15 -2
  43. package/dist/types/threejs/objects/point/label/GeometryBufferBuilder.d.ts +3 -0
  44. package/dist/types/threejs/objects/point/label/TextBoxCalculator.d.ts +5 -3
  45. package/dist/types/threejs/objects/text/ScreenText.d.ts +273 -0
  46. package/dist/types/threejs/objects/text/font-atlas-manager.d.ts +10 -2
  47. package/dist/types/threejs/objects/text/utils.d.ts +1 -1
  48. package/dist/types/threemap/3dtiles/HDMap3DTiles.d.ts +26 -0
  49. package/dist/types/threemap/3dtiles/materials/Default3DTilesMaterialManager.d.ts +51 -3
  50. package/dist/types/threemap/Engine.d.ts +23 -4
  51. package/dist/types/threemap/animations/ObjectTracker.d.ts +73 -44
  52. package/dist/types/threemap/animations/PathTracker.d.ts +92 -24
  53. package/dist/types/threemap/animations/RotateTracker.d.ts +115 -21
  54. package/dist/types/threemap/animations/TrackerAbstract.d.ts +15 -11
  55. package/dist/types/threemap/controls/PointerLockControls.d.ts +8 -2
  56. package/dist/types/threemap/controls/controller/ColumbusController.d.ts +10 -0
  57. package/dist/types/threemap/controls/controller/Scene3DController.d.ts +9 -0
  58. package/dist/types/threemap/controls/editors/Editor.d.ts +3 -0
  59. package/dist/types/threemap/engine/Clock.d.ts +156 -0
  60. package/dist/types/threemap/engine/Controller.d.ts +141 -0
  61. package/dist/types/threemap/engine/Map.d.ts +34 -4
  62. package/dist/types/threemap/engine/Rendering.d.ts +15 -0
  63. package/dist/types/threemap/engine/event/EntityProxy.d.ts +1 -0
  64. package/dist/types/threemap/engine/map/BlankMap.d.ts +1 -1
  65. package/dist/types/threemap/engine/map/BlankMap3DControl.d.ts +4 -1
  66. package/dist/types/{threejs → threemap/engine/map}/controls/DraggingMovementAggregator.d.ts +3 -0
  67. package/dist/types/{threejs → threemap/engine/map}/controls/MapControl3D.d.ts +19 -2
  68. package/dist/types/{threejs → threemap/engine/map}/controls/PointerMovementAggregator.d.ts +3 -0
  69. package/dist/types/threemap/engine/map/earth/Earth.d.ts +1 -0
  70. package/dist/types/threemap/engine/rendering/Collision.d.ts +5 -0
  71. package/dist/types/threemap/engine/rendering/Label.d.ts +15 -0
  72. package/dist/types/threemap/engine/rendering/MainNew.d.ts +1 -1
  73. package/dist/types/threemap/engine/rendering/postprocessing/OpaquePostprocessings.d.ts +1 -1
  74. package/dist/types/threemap/engine/rendering/postprocessing/SkyAtmospherePass.d.ts +1 -0
  75. package/dist/types/threemap/engine/rendering/scene/DirectSceneRendering.d.ts +5 -0
  76. package/dist/types/threemap/mapView/geo/terrainData/QuantizedMeshTerrainData.d.ts +1 -1
  77. package/dist/types/threemap/mapView/grid/BaiduVectorOfflineGrid.d.ts +5 -0
  78. package/dist/types/threemap/mapView/map/MapView.d.ts +3 -0
  79. package/dist/types/threemap/mapView/parser/baidulane/ElementParser.d.ts +86 -0
  80. package/dist/types/threemap/mapView/parser/baidulane/StyleParser.d.ts +28 -0
  81. package/dist/types/threemap/mapView/parser/baidulane/constants/index.d.ts +25 -0
  82. package/dist/types/threemap/mapView/parser/baidulane/constants/types.d.ts +47 -0
  83. package/dist/types/threemap/mapView/parser/baidulane/core/GeometryBuilder.d.ts +40 -0
  84. package/dist/types/threemap/mapView/parser/baidulane/core/LayerManager.d.ts +41 -0
  85. package/dist/types/threemap/mapView/parser/baidulane/core/MaterialFactory.d.ts +71 -0
  86. package/dist/types/threemap/mapView/parser/baidulane/core/StyleManager.d.ts +50 -0
  87. package/dist/types/threemap/mapView/parser/baidulane/core/TextureManager.d.ts +65 -0
  88. package/dist/types/threemap/mapView/parser/baidulane/core/wasmManager.d.ts +18 -0
  89. package/dist/types/threemap/mapView/parser/baidulane/generators/Base.d.ts +46 -0
  90. package/dist/types/threemap/mapView/parser/baidulane/generators/Building3d.d.ts +15 -0
  91. package/dist/types/threemap/mapView/parser/baidulane/generators/FlatSymbol.d.ts +15 -0
  92. package/dist/types/threemap/mapView/parser/baidulane/generators/LabelLine.d.ts +36 -0
  93. package/dist/types/threemap/mapView/parser/baidulane/generators/Line.d.ts +15 -0
  94. package/dist/types/threemap/mapView/parser/baidulane/generators/Line3d.d.ts +15 -0
  95. package/dist/types/threemap/mapView/parser/baidulane/generators/Line3dTexture.d.ts +3 -0
  96. package/dist/types/threemap/mapView/parser/baidulane/generators/LineDash.d.ts +7 -0
  97. package/dist/types/threemap/mapView/parser/baidulane/generators/LineTexture.d.ts +7 -0
  98. package/dist/types/threemap/mapView/parser/baidulane/generators/Poi.d.ts +26 -0
  99. package/dist/types/threemap/mapView/parser/baidulane/generators/Polygon.d.ts +15 -0
  100. package/dist/types/threemap/mapView/parser/baidulane/generators/Polygon3d.d.ts +40 -0
  101. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonExtrude.d.ts +15 -0
  102. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonExtrudeTexture.d.ts +18 -0
  103. package/dist/types/threemap/mapView/parser/baidulane/generators/PolygonOpacity.d.ts +7 -0
  104. package/dist/types/threemap/mapView/parser/baidulane/generators/SimplePoint.d.ts +39 -0
  105. package/dist/types/threemap/mapView/parser/baidulane/processors/Background.d.ts +11 -0
  106. package/dist/types/threemap/mapView/parser/baidulane/processors/Base.d.ts +27 -0
  107. package/dist/types/threemap/mapView/parser/baidulane/processors/BridgePier.d.ts +20 -0
  108. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugLine.d.ts +16 -0
  109. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugPoint.d.ts +5 -0
  110. package/dist/types/threemap/mapView/parser/baidulane/processors/DebugPolygon.d.ts +20 -0
  111. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingGradient.d.ts +16 -0
  112. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingGuide.d.ts +11 -0
  113. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingLine.d.ts +11 -0
  114. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingPoly.d.ts +15 -0
  115. package/dist/types/threemap/mapView/parser/baidulane/processors/GaoqingRoad.d.ts +13 -0
  116. package/dist/types/threemap/mapView/parser/baidulane/processors/HRegion.d.ts +11 -0
  117. package/dist/types/threemap/mapView/parser/baidulane/processors/LineName.d.ts +48 -0
  118. package/dist/types/threemap/mapView/parser/baidulane/processors/Link.d.ts +10 -0
  119. package/dist/types/threemap/mapView/parser/baidulane/processors/Poi.d.ts +7 -0
  120. package/dist/types/threemap/mapView/parser/baidulane/processors/Poly.d.ts +11 -0
  121. package/dist/types/threemap/mapView/parser/baidulane/processors/Texture.d.ts +10 -0
  122. package/dist/types/threemap/mapView/parser/baidulane/utils/color.d.ts +13 -0
  123. package/dist/types/threemap/mapView/parser/baidulane/utils/coordinate.d.ts +18 -0
  124. package/dist/types/threemap/mapView/parser/baidulane/utils/geometry.d.ts +3 -0
  125. package/dist/types/threemap/mapView/parser/baidulane/utils/icon.d.ts +8 -0
  126. package/dist/types/threemap/mapView/parser/baidulane/utils/merge.d.ts +7 -0
  127. package/dist/types/threemap/mapView/parser/baidulane/utils/tracer.d.ts +7 -0
  128. package/dist/types/{util/mapbox.d.ts → threemap/mapView/parser/mapbox/util.d.ts} +1 -1
  129. package/dist/types/threemap/mapView/surface/GroundSceneRenderer.d.ts +7 -2
  130. package/dist/types/threemap/mapView/surface/MapSurface.d.ts +2 -0
  131. package/dist/types/threemap/mapView/surface/strategy/FastTileLoaderStrategy.d.ts +16 -0
  132. package/dist/types/threemap/mapView/tileProvider/terrain/CesiumTerrainTileProvider.d.ts +3 -0
  133. package/dist/types/threemap/mapView/tileProvider/vector/BaiduLaneVectorTileProvider.d.ts +7 -0
  134. package/dist/types/threemap/mapView/tileProvider/vector/BaiduVectorTileProvider.d.ts +3 -0
  135. package/dist/types/threemap/mapView/tileProvider/vector/MapboxVectorTileProvider.d.ts +6 -10
  136. package/dist/types/threemap/mapView/utils/createGroundTileMesh.d.ts +2 -1
  137. package/dist/types/threemap/mapView/utils/projectVertices.d.ts +1 -1
  138. package/dist/types/threemap/materials/BatchBuildingMaterial.d.ts +9 -11
  139. package/dist/types/threemap/materials/RoadMarkingMaterial.d.ts +2 -11
  140. package/dist/types/threemap/materials/TerrainClassificationMaterial.d.ts +9 -7
  141. package/dist/types/threemap/natural/DynamicSky.d.ts +68 -22
  142. package/dist/types/threemap/natural/DynamicWeather.d.ts +17 -105
  143. package/dist/types/threemap/natural/EmptySky.d.ts +48 -62
  144. package/dist/types/threemap/natural/PhysicalSky.d.ts +220 -0
  145. package/dist/types/threemap/natural/Rain.d.ts +5 -2
  146. package/dist/types/threemap/natural/Snow.d.ts +5 -2
  147. package/dist/types/threemap/natural/StaticSky.d.ts +1 -0
  148. package/dist/types/threemap/natural/Thunderstorm.d.ts +46 -0
  149. package/dist/types/threemap/natural/clouds/CascadedShadowMaps.d.ts +31 -0
  150. package/dist/types/threemap/natural/clouds/CloudLayer.d.ts +19 -0
  151. package/dist/types/threemap/natural/clouds/CloudLayers.d.ts +13 -0
  152. package/dist/types/threemap/natural/clouds/CloudShape.d.ts +4 -0
  153. package/dist/types/threemap/natural/clouds/CloudShapeDetail.d.ts +4 -0
  154. package/dist/types/threemap/natural/clouds/CloudsEffect.d.ts +173 -0
  155. package/dist/types/threemap/natural/clouds/CloudsMaterial.d.ts +35 -0
  156. package/dist/types/threemap/natural/clouds/CloudsPass.d.ts +39 -0
  157. package/dist/types/threemap/natural/clouds/CloudsPostPass.d.ts +10 -0
  158. package/dist/types/threemap/natural/clouds/CloudsResolveMaterial.d.ts +13 -0
  159. package/dist/types/threemap/natural/clouds/DensityProfile.d.ts +10 -0
  160. package/dist/types/threemap/natural/clouds/LocalWeather.d.ts +4 -0
  161. package/dist/types/threemap/natural/clouds/PassBase.d.ts +7 -0
  162. package/dist/types/threemap/natural/clouds/Procedural3DTexture.d.ts +15 -0
  163. package/dist/types/threemap/natural/clouds/ProceduralTexture.d.ts +15 -0
  164. package/dist/types/threemap/natural/clouds/ShaderArrayPass.d.ts +3 -0
  165. package/dist/types/threemap/natural/clouds/ShadowMaterial.d.ts +14 -0
  166. package/dist/types/threemap/natural/clouds/ShadowPass.d.ts +31 -0
  167. package/dist/types/threemap/natural/clouds/ShadowResolveMaterial.d.ts +8 -0
  168. package/dist/types/threemap/natural/clouds/Turbulence.d.ts +4 -0
  169. package/dist/types/threemap/natural/clouds/bayer.d.ts +2 -0
  170. package/dist/types/threemap/natural/clouds/constants.d.ts +6 -0
  171. package/dist/types/threemap/natural/clouds/helpers/FrustumCorners.d.ts +10 -0
  172. package/dist/types/threemap/natural/clouds/helpers/setArrayRenderTargetLayers.d.ts +1 -0
  173. package/dist/types/threemap/natural/clouds/helpers/splitFrustum.d.ts +6 -0
  174. package/dist/types/threemap/natural/clouds/qualityPresets.d.ts +130 -0
  175. package/dist/types/threemap/natural/clouds/uniforms.d.ts +44 -0
  176. package/dist/types/threemap/natural/core/ArrayBufferLoader.d.ts +3 -0
  177. package/dist/types/threemap/natural/core/DataTextureLoader.d.ts +11 -0
  178. package/dist/types/threemap/natural/core/Ellipsoid.d.ts +17 -0
  179. package/dist/types/threemap/natural/core/Geodetic.d.ts +23 -0
  180. package/dist/types/threemap/natural/core/TypedArrayLoader.d.ts +5 -0
  181. package/dist/types/threemap/natural/core/capabilities.d.ts +1 -0
  182. package/dist/types/threemap/natural/core/celestialDirections.d.ts +5 -0
  183. package/dist/types/threemap/natural/core/decorators.d.ts +61 -0
  184. package/dist/types/threemap/natural/core/defineShorthand.d.ts +2 -0
  185. package/dist/types/threemap/natural/core/helpers/projectOnEllipsoidSurface.d.ts +1 -0
  186. package/dist/types/threemap/natural/core/math.d.ts +15 -0
  187. package/dist/types/threemap/natural/core/requestIdleCallback.d.ts +2 -0
  188. package/dist/types/threemap/natural/core/resolveIncludes.d.ts +1 -0
  189. package/dist/types/threemap/natural/core/shaders/index.d.ts +10 -0
  190. package/dist/types/threemap/natural/core/unrollLoops.d.ts +1 -0
  191. package/dist/types/threemap/natural/effects/DepthEffect.d.ts +15 -0
  192. package/dist/types/threemap/natural/effects/DitheringEffect.d.ts +6 -0
  193. package/dist/types/threemap/natural/effects/DownsampleThresholdMaterial.d.ts +14 -0
  194. package/dist/types/threemap/natural/effects/GeometryEffect.d.ts +11 -0
  195. package/dist/types/threemap/natural/effects/GeometryPass.d.ts +6 -0
  196. package/dist/types/threemap/natural/effects/LensFlareEffect.d.ts +31 -0
  197. package/dist/types/threemap/natural/effects/LensFlareFeaturesMaterial.d.ts +17 -0
  198. package/dist/types/threemap/natural/effects/NormalEffect.d.ts +16 -0
  199. package/dist/types/threemap/natural/effects/createHaldLookupTexture.d.ts +1 -0
  200. package/dist/types/threemap/natural/effects/index.d.ts +7 -0
  201. package/dist/types/threemap/natural/effects/setupMaterialsForGeometryPass.d.ts +1 -0
  202. package/dist/types/threemap/natural/sky/AerialPerspectiveEffect.d.ts +95 -0
  203. package/dist/types/threemap/natural/sky/AtmosphereMaterialBase.d.ts +40 -0
  204. package/dist/types/threemap/natural/sky/AtmosphereParameters.d.ts +32 -0
  205. package/dist/types/threemap/natural/sky/AtmospherePostPass.d.ts +10 -0
  206. package/dist/types/threemap/natural/sky/PrecomputedTexturesGenerator.d.ts +66 -0
  207. package/dist/types/threemap/natural/sky/SkyMaterial.d.ts +26 -0
  208. package/dist/types/threemap/natural/sky/constants.d.ts +14 -0
  209. package/dist/types/threemap/natural/sky/getAltitudeCorrectionOffset.d.ts +1 -0
  210. package/dist/types/threemap/overlay/Marker.d.ts +3 -0
  211. package/dist/types/threemap/services/autoComplete/AutoComplete.d.ts +1 -1
  212. package/dist/types/threemap/services/boundary/Boundary.d.ts +3 -3
  213. package/dist/types/threemap/services/common/baiduRequest.d.ts +1 -1
  214. package/dist/types/threemap/services/configs.d.ts +2 -2
  215. package/dist/types/threemap/services/district/DistrictLayer.d.ts +3 -3
  216. package/dist/types/threemap/services/geocoder/Geocoder.d.ts +5 -5
  217. package/dist/types/threemap/services/localSearch/LocalSearch.d.ts +5 -5
  218. package/dist/types/threemap/services/routeSearch/DrivingRoute.d.ts +2 -2
  219. package/dist/types/threemap/services/routeSearch/TransitRoute.d.ts +3 -3
  220. package/dist/types/threemap/video/VideoConfig.d.ts +2 -2
  221. package/dist/types/util/graphics/line.d.ts +2 -2
  222. package/dist/types/util/request.d.ts +1 -1
  223. package/package.json +6 -3
  224. /package/dist/types/{threejs → threemap/engine/map}/controls/MapControl.d.ts +0 -0
  225. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/color.d.ts +0 -0
  226. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/background.d.ts +0 -0
  227. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/fill-extrusion.d.ts +0 -0
  228. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/fill.d.ts +0 -0
  229. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/index.d.ts +0 -0
  230. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/line.d.ts +0 -0
  231. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/executer/symbol.d.ts +0 -0
  232. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/compound_expression.d.ts +0 -0
  233. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/assertion.d.ts +0 -0
  234. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/at.d.ts +0 -0
  235. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/case.d.ts +0 -0
  236. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/coalesce.d.ts +0 -0
  237. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/coercion.d.ts +0 -0
  238. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/collator.d.ts +0 -0
  239. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/comparison.d.ts +0 -0
  240. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/format.d.ts +0 -0
  241. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/image.d.ts +0 -0
  242. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/in.d.ts +0 -0
  243. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/index.d.ts +0 -0
  244. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/index_of.d.ts +0 -0
  245. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/interpolate.d.ts +0 -0
  246. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/length.d.ts +0 -0
  247. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/let.d.ts +0 -0
  248. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/literal.d.ts +0 -0
  249. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/match.d.ts +0 -0
  250. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/number_format.d.ts +0 -0
  251. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/slice.d.ts +0 -0
  252. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/step.d.ts +0 -0
  253. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/var.d.ts +0 -0
  254. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/definitions/within.d.ts +0 -0
  255. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/evaluation_context.d.ts +0 -0
  256. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/expression.d.ts +0 -0
  257. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/index.d.ts +0 -0
  258. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/is_constant.d.ts +0 -0
  259. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/parsing_context.d.ts +0 -0
  260. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/parsing_error.d.ts +0 -0
  261. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/scope.d.ts +0 -0
  262. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/stops.d.ts +0 -0
  263. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/collator.d.ts +0 -0
  264. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/formatted.d.ts +0 -0
  265. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types/resolved_image.d.ts +0 -0
  266. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/types.d.ts +0 -0
  267. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/expression/values.d.ts +0 -0
  268. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/feature_filter/index.d.ts +0 -0
  269. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/function/convert.d.ts +0 -0
  270. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/function/index.d.ts +0 -0
  271. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/sourceLayer.d.ts +0 -0
  272. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/sprite.d.ts +0 -0
  273. /package/dist/types/threemap/mapView/{mapbox → parser/mapbox}/style.d.ts +0 -0
@@ -351,17 +351,20 @@ function reFetch(t = "", e = {}, i = 3) {
351
351
  return i--, fetch(e2, s).then((t5) => {
352
352
  if (200 === t5.status)
353
353
  return t5;
354
+ if (404 === t5.status)
355
+ throw new Error("404");
354
356
  }).catch((r) => {
355
357
  if (s.signal && "AbortError" === r.name)
356
358
  throw r;
357
359
  if (i > 0)
358
360
  return t4(e2, s);
361
+ throw r;
359
362
  });
360
363
  }(t, e);
361
364
  }
362
365
  /**
363
366
  * @license
364
- * Copyright 2010-2023 Three.js Authors
367
+ * Copyright 2010-2025 Three.js Authors
365
368
  * SPDX-License-Identifier: MIT
366
369
  */
367
370
  Pbf.prototype = { destroy: function() {
@@ -574,7 +577,7 @@ Pbf.prototype = { destroy: function() {
574
577
  }, writeBooleanField: function(t, e) {
575
578
  this.writeVarintField(t, Boolean(e));
576
579
  } };
577
- const REVISION = "158", NoColorSpace = "", SRGBColorSpace = "srgb", LinearSRGBColorSpace = "srgb-linear", DisplayP3ColorSpace = "display-p3", LinearDisplayP3ColorSpace = "display-p3-linear", LinearTransfer = "linear", SRGBTransfer = "srgb", Rec709Primaries = "rec709", P3Primaries = "p3", WebGLCoordinateSystem = 2e3, WebGPUCoordinateSystem = 2001, _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
580
+ const REVISION = "179", NoColorSpace = "", SRGBColorSpace = "srgb", LinearSRGBColorSpace = "srgb-linear", LinearTransfer = "linear", SRGBTransfer = "srgb", WebGLCoordinateSystem = 2e3, WebGPUCoordinateSystem = 2001, _lut = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0a", "0b", "0c", "0d", "0e", "0f", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1a", "1b", "1c", "1d", "1e", "1f", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2a", "2b", "2c", "2d", "2e", "2f", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3a", "3b", "3c", "3d", "3e", "3f", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4a", "4b", "4c", "4d", "4e", "4f", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5a", "5b", "5c", "5d", "5e", "5f", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6a", "6b", "6c", "6d", "6e", "6f", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7a", "7b", "7c", "7d", "7e", "7f", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8a", "8b", "8c", "8d", "8e", "8f", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9a", "9b", "9c", "9d", "9e", "9f", "a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "aa", "ab", "ac", "ad", "ae", "af", "b0", "b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "ba", "bb", "bc", "bd", "be", "bf", "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "ca", "cb", "cc", "cd", "ce", "cf", "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "da", "db", "dc", "dd", "de", "df", "e0", "e1", "e2", "e3", "e4", "e5", "e6", "e7", "e8", "e9", "ea", "eb", "ec", "ed", "ee", "ef", "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe", "ff"];
578
581
  let _seed = 1234567;
579
582
  const DEG2RAD = Math.PI / 180, RAD2DEG = 180 / Math.PI;
580
583
  function generateUUID() {
@@ -804,14 +807,14 @@ class Vector2 {
804
807
  return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this;
805
808
  }
806
809
  clamp(t, e) {
807
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this;
810
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this;
808
811
  }
809
812
  clampScalar(t, e) {
810
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this;
813
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this;
811
814
  }
812
815
  clampLength(t, e) {
813
816
  const i = this.length();
814
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
817
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
815
818
  }
816
819
  floor() {
817
820
  return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this;
@@ -898,159 +901,219 @@ class Vector2 {
898
901
  yield this.x, yield this.y;
899
902
  }
900
903
  }
901
- class Matrix3 {
902
- constructor(t, e, i, s, r, n, a, o, h) {
903
- Matrix3.prototype.isMatrix3 = true, this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], void 0 !== t && this.set(t, e, i, s, r, n, a, o, h);
904
+ class Quaternion$1 {
905
+ constructor(t = 0, e = 0, i = 0, s = 1) {
906
+ this.isQuaternion = true, this._x = t, this._y = e, this._z = i, this._w = s;
904
907
  }
905
- set(t, e, i, s, r, n, a, o, h) {
906
- const l = this.elements;
907
- return l[0] = t, l[1] = s, l[2] = a, l[3] = e, l[4] = r, l[5] = o, l[6] = i, l[7] = n, l[8] = h, this;
908
+ static slerpFlat(t, e, i, s, r, n, a) {
909
+ let o = i[s + 0], h = i[s + 1], l = i[s + 2], c = i[s + 3];
910
+ const u = r[n + 0], d = r[n + 1], p = r[n + 2], f = r[n + 3];
911
+ if (0 === a)
912
+ return t[e + 0] = o, t[e + 1] = h, t[e + 2] = l, void (t[e + 3] = c);
913
+ if (1 === a)
914
+ return t[e + 0] = u, t[e + 1] = d, t[e + 2] = p, void (t[e + 3] = f);
915
+ if (c !== f || o !== u || h !== d || l !== p) {
916
+ let t4 = 1 - a;
917
+ const e2 = o * u + h * d + l * p + c * f, i2 = e2 >= 0 ? 1 : -1, s2 = 1 - e2 * e2;
918
+ if (s2 > Number.EPSILON) {
919
+ const r3 = Math.sqrt(s2), n2 = Math.atan2(r3, e2 * i2);
920
+ t4 = Math.sin(t4 * n2) / r3, a = Math.sin(a * n2) / r3;
921
+ }
922
+ const r2 = a * i2;
923
+ if (o = o * t4 + u * r2, h = h * t4 + d * r2, l = l * t4 + p * r2, c = c * t4 + f * r2, t4 === 1 - a) {
924
+ const t5 = 1 / Math.sqrt(o * o + h * h + l * l + c * c);
925
+ o *= t5, h *= t5, l *= t5, c *= t5;
926
+ }
927
+ }
928
+ t[e] = o, t[e + 1] = h, t[e + 2] = l, t[e + 3] = c;
908
929
  }
909
- identity() {
910
- return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this;
930
+ static multiplyQuaternionsFlat(t, e, i, s, r, n) {
931
+ const a = i[s], o = i[s + 1], h = i[s + 2], l = i[s + 3], c = r[n], u = r[n + 1], d = r[n + 2], p = r[n + 3];
932
+ return t[e] = a * p + l * c + o * d - h * u, t[e + 1] = o * p + l * u + h * c - a * d, t[e + 2] = h * p + l * d + a * u - o * c, t[e + 3] = l * p - a * c - o * u - h * d, t;
933
+ }
934
+ get x() {
935
+ return this._x;
936
+ }
937
+ set x(t) {
938
+ this._x = t, this._onChangeCallback();
939
+ }
940
+ get y() {
941
+ return this._y;
942
+ }
943
+ set y(t) {
944
+ this._y = t, this._onChangeCallback();
945
+ }
946
+ get z() {
947
+ return this._z;
948
+ }
949
+ set z(t) {
950
+ this._z = t, this._onChangeCallback();
951
+ }
952
+ get w() {
953
+ return this._w;
954
+ }
955
+ set w(t) {
956
+ this._w = t, this._onChangeCallback();
957
+ }
958
+ set(t, e, i, s) {
959
+ return this._x = t, this._y = e, this._z = i, this._w = s, this._onChangeCallback(), this;
960
+ }
961
+ clone() {
962
+ return new this.constructor(this._x, this._y, this._z, this._w);
911
963
  }
912
964
  copy(t) {
913
- const e = this.elements, i = t.elements;
914
- return e[0] = i[0], e[1] = i[1], e[2] = i[2], e[3] = i[3], e[4] = i[4], e[5] = i[5], e[6] = i[6], e[7] = i[7], e[8] = i[8], this;
965
+ return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
915
966
  }
916
- extractBasis(t, e, i) {
917
- return t.setFromMatrix3Column(this, 0), e.setFromMatrix3Column(this, 1), i.setFromMatrix3Column(this, 2), this;
967
+ setFromEuler(t, e = true) {
968
+ const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
969
+ switch (n) {
970
+ case "XYZ":
971
+ this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
972
+ break;
973
+ case "YXZ":
974
+ this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
975
+ break;
976
+ case "ZXY":
977
+ this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
978
+ break;
979
+ case "ZYX":
980
+ this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
981
+ break;
982
+ case "YZX":
983
+ this._x = u * l * c + h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c - u * d * p;
984
+ break;
985
+ case "XZY":
986
+ this._x = u * l * c - h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c + u * d * p;
987
+ break;
988
+ default:
989
+ console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
990
+ }
991
+ return true === e && this._onChangeCallback(), this;
918
992
  }
919
- setFromMatrix4(t) {
920
- const e = t.elements;
921
- return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this;
993
+ setFromAxisAngle(t, e) {
994
+ const i = e / 2, s = Math.sin(i);
995
+ return this._x = t.x * s, this._y = t.y * s, this._z = t.z * s, this._w = Math.cos(i), this._onChangeCallback(), this;
922
996
  }
923
- multiply(t) {
924
- return this.multiplyMatrices(this, t);
997
+ setFromRotationMatrix(t) {
998
+ const e = t.elements, i = e[0], s = e[4], r = e[8], n = e[1], a = e[5], o = e[9], h = e[2], l = e[6], c = e[10], u = i + a + c;
999
+ if (u > 0) {
1000
+ const t4 = 0.5 / Math.sqrt(u + 1);
1001
+ this._w = 0.25 / t4, this._x = (l - o) * t4, this._y = (r - h) * t4, this._z = (n - s) * t4;
1002
+ } else if (i > a && i > c) {
1003
+ const t4 = 2 * Math.sqrt(1 + i - a - c);
1004
+ this._w = (l - o) / t4, this._x = 0.25 * t4, this._y = (s + n) / t4, this._z = (r + h) / t4;
1005
+ } else if (a > c) {
1006
+ const t4 = 2 * Math.sqrt(1 + a - i - c);
1007
+ this._w = (r - h) / t4, this._x = (s + n) / t4, this._y = 0.25 * t4, this._z = (o + l) / t4;
1008
+ } else {
1009
+ const t4 = 2 * Math.sqrt(1 + c - i - a);
1010
+ this._w = (n - s) / t4, this._x = (r + h) / t4, this._y = (o + l) / t4, this._z = 0.25 * t4;
1011
+ }
1012
+ return this._onChangeCallback(), this;
925
1013
  }
926
- premultiply(t) {
927
- return this.multiplyMatrices(t, this);
1014
+ setFromUnitVectors(t, e) {
1015
+ let i = t.dot(e) + 1;
1016
+ return i < 1e-8 ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
928
1017
  }
929
- multiplyMatrices(t, e) {
930
- const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[3], o = i[6], h = i[1], l = i[4], c = i[7], u = i[2], d = i[5], p = i[8], f = s[0], _ = s[3], y = s[6], m = s[1], g = s[4], x = s[7], M = s[2], w = s[5], b = s[8];
931
- return r[0] = n * f + a * m + o * M, r[3] = n * _ + a * g + o * w, r[6] = n * y + a * x + o * b, r[1] = h * f + l * m + c * M, r[4] = h * _ + l * g + c * w, r[7] = h * y + l * x + c * b, r[2] = u * f + d * m + p * M, r[5] = u * _ + d * g + p * w, r[8] = u * y + d * x + p * b, this;
1018
+ angleTo(t) {
1019
+ return 2 * Math.acos(Math.abs(clamp$1(this.dot(t), -1, 1)));
932
1020
  }
933
- multiplyScalar(t) {
934
- const e = this.elements;
935
- return e[0] *= t, e[3] *= t, e[6] *= t, e[1] *= t, e[4] *= t, e[7] *= t, e[2] *= t, e[5] *= t, e[8] *= t, this;
1021
+ rotateTowards(t, e) {
1022
+ const i = this.angleTo(t);
1023
+ if (0 === i)
1024
+ return this;
1025
+ const s = Math.min(1, e / i);
1026
+ return this.slerp(t, s), this;
936
1027
  }
937
- determinant() {
938
- const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8];
939
- return e * n * l - e * a * h - i * r * l + i * a * o + s * r * h - s * n * o;
1028
+ identity() {
1029
+ return this.set(0, 0, 0, 1);
940
1030
  }
941
1031
  invert() {
942
- const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8], c = l * n - a * h, u = a * o - l * r, d = h * r - n * o, p = e * c + i * u + s * d;
943
- if (0 === p)
944
- return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
945
- const f = 1 / p;
946
- return t[0] = c * f, t[1] = (s * h - l * i) * f, t[2] = (a * i - s * n) * f, t[3] = u * f, t[4] = (l * e - s * o) * f, t[5] = (s * r - a * e) * f, t[6] = d * f, t[7] = (i * o - h * e) * f, t[8] = (n * e - i * r) * f, this;
1032
+ return this.conjugate();
947
1033
  }
948
- transpose() {
949
- let t;
950
- const e = this.elements;
951
- return t = e[1], e[1] = e[3], e[3] = t, t = e[2], e[2] = e[6], e[6] = t, t = e[5], e[5] = e[7], e[7] = t, this;
1034
+ conjugate() {
1035
+ return this._x *= -1, this._y *= -1, this._z *= -1, this._onChangeCallback(), this;
952
1036
  }
953
- getNormalMatrix(t) {
954
- return this.setFromMatrix4(t).invert().transpose();
1037
+ dot(t) {
1038
+ return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w;
955
1039
  }
956
- transposeIntoArray(t) {
957
- const e = this.elements;
958
- return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], this;
1040
+ lengthSq() {
1041
+ return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;
959
1042
  }
960
- setUvTransform(t, e, i, s, r, n, a) {
961
- const o = Math.cos(r), h = Math.sin(r);
962
- return this.set(i * o, i * h, -i * (o * n + h * a) + n + t, -s * h, s * o, -s * (-h * n + o * a) + a + e, 0, 0, 1), this;
1043
+ length() {
1044
+ return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);
963
1045
  }
964
- scale(t, e) {
965
- return this.premultiply(_m3.makeScale(t, e)), this;
1046
+ normalize() {
1047
+ let t = this.length();
1048
+ return 0 === t ? (this._x = 0, this._y = 0, this._z = 0, this._w = 1) : (t = 1 / t, this._x = this._x * t, this._y = this._y * t, this._z = this._z * t, this._w = this._w * t), this._onChangeCallback(), this;
966
1049
  }
967
- rotate(t) {
968
- return this.premultiply(_m3.makeRotation(-t)), this;
1050
+ multiply(t) {
1051
+ return this.multiplyQuaternions(this, t);
969
1052
  }
970
- translate(t, e) {
971
- return this.premultiply(_m3.makeTranslation(t, e)), this;
1053
+ premultiply(t) {
1054
+ return this.multiplyQuaternions(t, this);
972
1055
  }
973
- makeTranslation(t, e) {
974
- return t.isVector2 ? this.set(1, 0, t.x, 0, 1, t.y, 0, 0, 1) : this.set(1, 0, t, 0, 1, e, 0, 0, 1), this;
1056
+ multiplyQuaternions(t, e) {
1057
+ const i = t._x, s = t._y, r = t._z, n = t._w, a = e._x, o = e._y, h = e._z, l = e._w;
1058
+ return this._x = i * l + n * a + s * h - r * o, this._y = s * l + n * o + r * a - i * h, this._z = r * l + n * h + i * o - s * a, this._w = n * l - i * a - s * o - r * h, this._onChangeCallback(), this;
975
1059
  }
976
- makeRotation(t) {
977
- const e = Math.cos(t), i = Math.sin(t);
978
- return this.set(e, -i, 0, i, e, 0, 0, 0, 1), this;
1060
+ slerp(t, e) {
1061
+ if (0 === e)
1062
+ return this;
1063
+ if (1 === e)
1064
+ return this.copy(t);
1065
+ const i = this._x, s = this._y, r = this._z, n = this._w;
1066
+ let a = n * t._w + i * t._x + s * t._y + r * t._z;
1067
+ if (a < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, a = -a) : this.copy(t), a >= 1)
1068
+ return this._w = n, this._x = i, this._y = s, this._z = r, this;
1069
+ const o = 1 - a * a;
1070
+ if (o <= Number.EPSILON) {
1071
+ const t4 = 1 - e;
1072
+ return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this;
1073
+ }
1074
+ const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
1075
+ return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
979
1076
  }
980
- makeScale(t, e) {
981
- return this.set(t, 0, 0, 0, e, 0, 0, 0, 1), this;
1077
+ slerpQuaternions(t, e, i) {
1078
+ return this.copy(t).slerp(e, i);
1079
+ }
1080
+ random() {
1081
+ const t = 2 * Math.PI * Math.random(), e = 2 * Math.PI * Math.random(), i = Math.random(), s = Math.sqrt(1 - i), r = Math.sqrt(i);
1082
+ return this.set(s * Math.sin(t), s * Math.cos(t), r * Math.sin(e), r * Math.cos(e));
982
1083
  }
983
1084
  equals(t) {
984
- const e = this.elements, i = t.elements;
985
- for (let t4 = 0; t4 < 9; t4++)
986
- if (e[t4] !== i[t4])
987
- return false;
988
- return true;
1085
+ return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
989
1086
  }
990
1087
  fromArray(t, e = 0) {
991
- for (let i = 0; i < 9; i++)
992
- this.elements[i] = t[i + e];
993
- return this;
1088
+ return this._x = t[e], this._y = t[e + 1], this._z = t[e + 2], this._w = t[e + 3], this._onChangeCallback(), this;
994
1089
  }
995
1090
  toArray(t = [], e = 0) {
996
- const i = this.elements;
997
- return t[e] = i[0], t[e + 1] = i[1], t[e + 2] = i[2], t[e + 3] = i[3], t[e + 4] = i[4], t[e + 5] = i[5], t[e + 6] = i[6], t[e + 7] = i[7], t[e + 8] = i[8], t;
1091
+ return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
998
1092
  }
999
- clone() {
1000
- return new this.constructor().fromArray(this.elements);
1093
+ fromBufferAttribute(t, e) {
1094
+ return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this._onChangeCallback(), this;
1001
1095
  }
1002
- }
1003
- const _m3 = new Matrix3(), LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = new Matrix3().set(0.8224621, 0.177538, 0, 0.0331941, 0.9668058, 0, 0.0170827, 0.0723974, 0.9105199), LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = new Matrix3().set(1.2249401, -0.2249404, 0, -0.0420569, 1.0420571, 0, -0.0196376, -0.0786361, 1.0982735), COLOR_SPACES = { [LinearSRGBColorSpace]: { transfer: LinearTransfer, primaries: Rec709Primaries, toReference: (t) => t, fromReference: (t) => t }, [SRGBColorSpace]: { transfer: SRGBTransfer, primaries: Rec709Primaries, toReference: (t) => t.convertSRGBToLinear(), fromReference: (t) => t.convertLinearToSRGB() }, [LinearDisplayP3ColorSpace]: { transfer: LinearTransfer, primaries: P3Primaries, toReference: (t) => t.applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB), fromReference: (t) => t.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3) }, [DisplayP3ColorSpace]: { transfer: SRGBTransfer, primaries: P3Primaries, toReference: (t) => t.convertSRGBToLinear().applyMatrix3(LINEAR_DISPLAY_P3_TO_LINEAR_SRGB), fromReference: (t) => t.applyMatrix3(LINEAR_SRGB_TO_LINEAR_DISPLAY_P3).convertLinearToSRGB() } }, SUPPORTED_WORKING_COLOR_SPACES = /* @__PURE__ */ new Set([LinearSRGBColorSpace, LinearDisplayP3ColorSpace]), ColorManagement = { enabled: true, _workingColorSpace: LinearSRGBColorSpace, get legacyMode() {
1004
- return console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."), !this.enabled;
1005
- }, set legacyMode(t) {
1006
- console.warn("THREE.ColorManagement: .legacyMode=false renamed to .enabled=true in r150."), this.enabled = !t;
1007
- }, get workingColorSpace() {
1008
- return this._workingColorSpace;
1009
- }, set workingColorSpace(t) {
1010
- if (!SUPPORTED_WORKING_COLOR_SPACES.has(t))
1011
- throw new Error(`Unsupported working color space, "${t}".`);
1012
- this._workingColorSpace = t;
1013
- }, convert: function(t, e, i) {
1014
- if (false === this.enabled || e === i || !e || !i)
1015
- return t;
1016
- const s = COLOR_SPACES[e].toReference;
1017
- return (0, COLOR_SPACES[i].fromReference)(s(t));
1018
- }, fromWorkingColorSpace: function(t, e) {
1019
- return this.convert(t, this._workingColorSpace, e);
1020
- }, toWorkingColorSpace: function(t, e) {
1021
- return this.convert(t, e, this._workingColorSpace);
1022
- }, getPrimaries: function(t) {
1023
- return COLOR_SPACES[t].primaries;
1024
- }, getTransfer: function(t) {
1025
- return t === NoColorSpace ? LinearTransfer : COLOR_SPACES[t].transfer;
1026
- } };
1027
- function SRGBToLinear(t) {
1028
- return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4);
1029
- }
1030
- function LinearToSRGB(t) {
1031
- return t < 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055;
1032
- }
1033
- class Vector4 {
1034
- constructor(t = 0, e = 0, i = 0, s = 1) {
1035
- Vector4.prototype.isVector4 = true, this.x = t, this.y = e, this.z = i, this.w = s;
1096
+ toJSON() {
1097
+ return this.toArray();
1036
1098
  }
1037
- get width() {
1038
- return this.z;
1099
+ _onChange(t) {
1100
+ return this._onChangeCallback = t, this;
1039
1101
  }
1040
- set width(t) {
1041
- this.z = t;
1102
+ _onChangeCallback() {
1042
1103
  }
1043
- get height() {
1044
- return this.w;
1104
+ *[Symbol.iterator]() {
1105
+ yield this._x, yield this._y, yield this._z, yield this._w;
1045
1106
  }
1046
- set height(t) {
1047
- this.w = t;
1107
+ }
1108
+ class Vector3$1 {
1109
+ constructor(t = 0, e = 0, i = 0) {
1110
+ Vector3$1.prototype.isVector3 = true, this.x = t, this.y = e, this.z = i;
1048
1111
  }
1049
- set(t, e, i, s) {
1050
- return this.x = t, this.y = e, this.z = i, this.w = s, this;
1112
+ set(t, e, i) {
1113
+ return void 0 === i && (i = this.z), this.x = t, this.y = e, this.z = i, this;
1051
1114
  }
1052
1115
  setScalar(t) {
1053
- return this.x = t, this.y = t, this.z = t, this.w = t, this;
1116
+ return this.x = t, this.y = t, this.z = t, this;
1054
1117
  }
1055
1118
  setX(t) {
1056
1119
  return this.x = t, this;
@@ -1061,9 +1124,6 @@ class Vector4 {
1061
1124
  setZ(t) {
1062
1125
  return this.z = t, this;
1063
1126
  }
1064
- setW(t) {
1065
- return this.w = t, this;
1066
- }
1067
1127
  setComponent(t, e) {
1068
1128
  switch (t) {
1069
1129
  case 0:
@@ -1075,9 +1135,6 @@ class Vector4 {
1075
1135
  case 2:
1076
1136
  this.z = e;
1077
1137
  break;
1078
- case 3:
1079
- this.w = e;
1080
- break;
1081
1138
  default:
1082
1139
  throw new Error("index is out of range: " + t);
1083
1140
  }
@@ -1091,357 +1148,395 @@ class Vector4 {
1091
1148
  return this.y;
1092
1149
  case 2:
1093
1150
  return this.z;
1094
- case 3:
1095
- return this.w;
1096
1151
  default:
1097
1152
  throw new Error("index is out of range: " + t);
1098
1153
  }
1099
1154
  }
1100
1155
  clone() {
1101
- return new this.constructor(this.x, this.y, this.z, this.w);
1156
+ return new this.constructor(this.x, this.y, this.z);
1102
1157
  }
1103
1158
  copy(t) {
1104
- return this.x = t.x, this.y = t.y, this.z = t.z, this.w = void 0 !== t.w ? t.w : 1, this;
1159
+ return this.x = t.x, this.y = t.y, this.z = t.z, this;
1105
1160
  }
1106
1161
  add(t) {
1107
- return this.x += t.x, this.y += t.y, this.z += t.z, this.w += t.w, this;
1162
+ return this.x += t.x, this.y += t.y, this.z += t.z, this;
1108
1163
  }
1109
1164
  addScalar(t) {
1110
- return this.x += t, this.y += t, this.z += t, this.w += t, this;
1165
+ return this.x += t, this.y += t, this.z += t, this;
1111
1166
  }
1112
1167
  addVectors(t, e) {
1113
- return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this.w = t.w + e.w, this;
1168
+ return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this;
1114
1169
  }
1115
1170
  addScaledVector(t, e) {
1116
- return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this.w += t.w * e, this;
1171
+ return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this;
1117
1172
  }
1118
1173
  sub(t) {
1119
- return this.x -= t.x, this.y -= t.y, this.z -= t.z, this.w -= t.w, this;
1174
+ return this.x -= t.x, this.y -= t.y, this.z -= t.z, this;
1120
1175
  }
1121
1176
  subScalar(t) {
1122
- return this.x -= t, this.y -= t, this.z -= t, this.w -= t, this;
1177
+ return this.x -= t, this.y -= t, this.z -= t, this;
1123
1178
  }
1124
1179
  subVectors(t, e) {
1125
- return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this.w = t.w - e.w, this;
1180
+ return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this;
1126
1181
  }
1127
1182
  multiply(t) {
1128
- return this.x *= t.x, this.y *= t.y, this.z *= t.z, this.w *= t.w, this;
1183
+ return this.x *= t.x, this.y *= t.y, this.z *= t.z, this;
1129
1184
  }
1130
1185
  multiplyScalar(t) {
1131
- return this.x *= t, this.y *= t, this.z *= t, this.w *= t, this;
1186
+ return this.x *= t, this.y *= t, this.z *= t, this;
1187
+ }
1188
+ multiplyVectors(t, e) {
1189
+ return this.x = t.x * e.x, this.y = t.y * e.y, this.z = t.z * e.z, this;
1190
+ }
1191
+ applyEuler(t) {
1192
+ return this.applyQuaternion(_quaternion$4.setFromEuler(t));
1193
+ }
1194
+ applyAxisAngle(t, e) {
1195
+ return this.applyQuaternion(_quaternion$4.setFromAxisAngle(t, e));
1196
+ }
1197
+ applyMatrix3(t) {
1198
+ const e = this.x, i = this.y, s = this.z, r = t.elements;
1199
+ return this.x = r[0] * e + r[3] * i + r[6] * s, this.y = r[1] * e + r[4] * i + r[7] * s, this.z = r[2] * e + r[5] * i + r[8] * s, this;
1200
+ }
1201
+ applyNormalMatrix(t) {
1202
+ return this.applyMatrix3(t).normalize();
1132
1203
  }
1133
1204
  applyMatrix4(t) {
1134
- const e = this.x, i = this.y, s = this.z, r = this.w, n = t.elements;
1135
- return this.x = n[0] * e + n[4] * i + n[8] * s + n[12] * r, this.y = n[1] * e + n[5] * i + n[9] * s + n[13] * r, this.z = n[2] * e + n[6] * i + n[10] * s + n[14] * r, this.w = n[3] * e + n[7] * i + n[11] * s + n[15] * r, this;
1205
+ const e = this.x, i = this.y, s = this.z, r = t.elements, n = 1 / (r[3] * e + r[7] * i + r[11] * s + r[15]);
1206
+ return this.x = (r[0] * e + r[4] * i + r[8] * s + r[12]) * n, this.y = (r[1] * e + r[5] * i + r[9] * s + r[13]) * n, this.z = (r[2] * e + r[6] * i + r[10] * s + r[14]) * n, this;
1136
1207
  }
1137
- divideScalar(t) {
1138
- return this.multiplyScalar(1 / t);
1208
+ applyQuaternion(t) {
1209
+ const e = this.x, i = this.y, s = this.z, r = t.x, n = t.y, a = t.z, o = t.w, h = 2 * (n * s - a * i), l = 2 * (a * e - r * s), c = 2 * (r * i - n * e);
1210
+ return this.x = e + o * h + n * c - a * l, this.y = i + o * l + a * h - r * c, this.z = s + o * c + r * l - n * h, this;
1139
1211
  }
1140
- setAxisAngleFromQuaternion(t) {
1141
- this.w = 2 * Math.acos(t.w);
1142
- const e = Math.sqrt(1 - t.w * t.w);
1143
- return e < 1e-4 ? (this.x = 1, this.y = 0, this.z = 0) : (this.x = t.x / e, this.y = t.y / e, this.z = t.z / e), this;
1212
+ project(t) {
1213
+ return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix);
1144
1214
  }
1145
- setAxisAngleFromRotationMatrix(t) {
1146
- let e, i, s, r;
1147
- const n = 0.01, a = 0.1, o = t.elements, h = o[0], l = o[4], c = o[8], u = o[1], d = o[5], p = o[9], f = o[2], _ = o[6], y = o[10];
1148
- if (Math.abs(l - u) < n && Math.abs(c - f) < n && Math.abs(p - _) < n) {
1149
- if (Math.abs(l + u) < a && Math.abs(c + f) < a && Math.abs(p + _) < a && Math.abs(h + d + y - 3) < a)
1150
- return this.set(1, 0, 0, 0), this;
1151
- e = Math.PI;
1152
- const t4 = (h + 1) / 2, o2 = (d + 1) / 2, m2 = (y + 1) / 2, g = (l + u) / 4, x = (c + f) / 4, M = (p + _) / 4;
1153
- return t4 > o2 && t4 > m2 ? t4 < n ? (i = 0, s = 0.707106781, r = 0.707106781) : (i = Math.sqrt(t4), s = g / i, r = x / i) : o2 > m2 ? o2 < n ? (i = 0.707106781, s = 0, r = 0.707106781) : (s = Math.sqrt(o2), i = g / s, r = M / s) : m2 < n ? (i = 0.707106781, s = 0.707106781, r = 0) : (r = Math.sqrt(m2), i = x / r, s = M / r), this.set(i, s, r, e), this;
1154
- }
1155
- let m = Math.sqrt((_ - p) * (_ - p) + (c - f) * (c - f) + (u - l) * (u - l));
1156
- return Math.abs(m) < 1e-3 && (m = 1), this.x = (_ - p) / m, this.y = (c - f) / m, this.z = (u - l) / m, this.w = Math.acos((h + d + y - 1) / 2), this;
1215
+ unproject(t) {
1216
+ return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld);
1217
+ }
1218
+ transformDirection(t) {
1219
+ const e = this.x, i = this.y, s = this.z, r = t.elements;
1220
+ return this.x = r[0] * e + r[4] * i + r[8] * s, this.y = r[1] * e + r[5] * i + r[9] * s, this.z = r[2] * e + r[6] * i + r[10] * s, this.normalize();
1221
+ }
1222
+ divide(t) {
1223
+ return this.x /= t.x, this.y /= t.y, this.z /= t.z, this;
1224
+ }
1225
+ divideScalar(t) {
1226
+ return this.multiplyScalar(1 / t);
1157
1227
  }
1158
1228
  min(t) {
1159
- return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this.w = Math.min(this.w, t.w), this;
1229
+ return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this;
1160
1230
  }
1161
1231
  max(t) {
1162
- return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this.w = Math.max(this.w, t.w), this;
1232
+ return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
1163
1233
  }
1164
1234
  clamp(t, e) {
1165
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this.w = Math.max(t.w, Math.min(e.w, this.w)), this;
1235
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this.z = clamp$1(this.z, t.z, e.z), this;
1166
1236
  }
1167
1237
  clampScalar(t, e) {
1168
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this.w = Math.max(t, Math.min(e, this.w)), this;
1238
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this.z = clamp$1(this.z, t, e), this;
1169
1239
  }
1170
1240
  clampLength(t, e) {
1171
1241
  const i = this.length();
1172
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
1242
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
1173
1243
  }
1174
1244
  floor() {
1175
- return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this.w = Math.floor(this.w), this;
1245
+ return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
1176
1246
  }
1177
1247
  ceil() {
1178
- return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this.w = Math.ceil(this.w), this;
1248
+ return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this;
1179
1249
  }
1180
1250
  round() {
1181
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this.w = Math.round(this.w), this;
1251
+ return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this;
1182
1252
  }
1183
1253
  roundToZero() {
1184
- return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this.w = Math.trunc(this.w), this;
1254
+ return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this;
1185
1255
  }
1186
1256
  negate() {
1187
- return this.x = -this.x, this.y = -this.y, this.z = -this.z, this.w = -this.w, this;
1257
+ return this.x = -this.x, this.y = -this.y, this.z = -this.z, this;
1188
1258
  }
1189
1259
  dot(t) {
1190
- return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w;
1260
+ return this.x * t.x + this.y * t.y + this.z * t.z;
1191
1261
  }
1192
1262
  lengthSq() {
1193
- return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
1263
+ return this.x * this.x + this.y * this.y + this.z * this.z;
1264
+ }
1265
+ length() {
1266
+ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
1267
+ }
1268
+ manhattanLength() {
1269
+ return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);
1270
+ }
1271
+ normalize() {
1272
+ return this.divideScalar(this.length() || 1);
1273
+ }
1274
+ setLength(t) {
1275
+ return this.normalize().multiplyScalar(t);
1276
+ }
1277
+ lerp(t, e) {
1278
+ return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this;
1279
+ }
1280
+ lerpVectors(t, e, i) {
1281
+ return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this;
1282
+ }
1283
+ cross(t) {
1284
+ return this.crossVectors(this, t);
1285
+ }
1286
+ crossVectors(t, e) {
1287
+ const i = t.x, s = t.y, r = t.z, n = e.x, a = e.y, o = e.z;
1288
+ return this.x = s * o - r * a, this.y = r * n - i * o, this.z = i * a - s * n, this;
1289
+ }
1290
+ projectOnVector(t) {
1291
+ const e = t.lengthSq();
1292
+ if (0 === e)
1293
+ return this.set(0, 0, 0);
1294
+ const i = t.dot(this) / e;
1295
+ return this.copy(t).multiplyScalar(i);
1296
+ }
1297
+ projectOnPlane(t) {
1298
+ return _vector$c.copy(this).projectOnVector(t), this.sub(_vector$c);
1299
+ }
1300
+ reflect(t) {
1301
+ return this.sub(_vector$c.copy(t).multiplyScalar(2 * this.dot(t)));
1302
+ }
1303
+ angleTo(t) {
1304
+ const e = Math.sqrt(this.lengthSq() * t.lengthSq());
1305
+ if (0 === e)
1306
+ return Math.PI / 2;
1307
+ const i = this.dot(t) / e;
1308
+ return Math.acos(clamp$1(i, -1, 1));
1309
+ }
1310
+ distanceTo(t) {
1311
+ return Math.sqrt(this.distanceToSquared(t));
1312
+ }
1313
+ distanceToSquared(t) {
1314
+ const e = this.x - t.x, i = this.y - t.y, s = this.z - t.z;
1315
+ return e * e + i * i + s * s;
1316
+ }
1317
+ manhattanDistanceTo(t) {
1318
+ return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z);
1319
+ }
1320
+ setFromSpherical(t) {
1321
+ return this.setFromSphericalCoords(t.radius, t.phi, t.theta);
1322
+ }
1323
+ setFromSphericalCoords(t, e, i) {
1324
+ const s = Math.sin(e) * t;
1325
+ return this.x = s * Math.sin(i), this.y = Math.cos(e) * t, this.z = s * Math.cos(i), this;
1326
+ }
1327
+ setFromCylindrical(t) {
1328
+ return this.setFromCylindricalCoords(t.radius, t.theta, t.y);
1329
+ }
1330
+ setFromCylindricalCoords(t, e, i) {
1331
+ return this.x = t * Math.sin(e), this.y = i, this.z = t * Math.cos(e), this;
1194
1332
  }
1195
- length() {
1196
- return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
1333
+ setFromMatrixPosition(t) {
1334
+ const e = t.elements;
1335
+ return this.x = e[12], this.y = e[13], this.z = e[14], this;
1197
1336
  }
1198
- manhattanLength() {
1199
- return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);
1337
+ setFromMatrixScale(t) {
1338
+ const e = this.setFromMatrixColumn(t, 0).length(), i = this.setFromMatrixColumn(t, 1).length(), s = this.setFromMatrixColumn(t, 2).length();
1339
+ return this.x = e, this.y = i, this.z = s, this;
1200
1340
  }
1201
- normalize() {
1202
- return this.divideScalar(this.length() || 1);
1341
+ setFromMatrixColumn(t, e) {
1342
+ return this.fromArray(t.elements, 4 * e);
1203
1343
  }
1204
- setLength(t) {
1205
- return this.normalize().multiplyScalar(t);
1344
+ setFromMatrix3Column(t, e) {
1345
+ return this.fromArray(t.elements, 3 * e);
1206
1346
  }
1207
- lerp(t, e) {
1208
- return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this.w += (t.w - this.w) * e, this;
1347
+ setFromEuler(t) {
1348
+ return this.x = t._x, this.y = t._y, this.z = t._z, this;
1209
1349
  }
1210
- lerpVectors(t, e, i) {
1211
- return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this.w = t.w + (e.w - t.w) * i, this;
1350
+ setFromColor(t) {
1351
+ return this.x = t.r, this.y = t.g, this.z = t.b, this;
1212
1352
  }
1213
1353
  equals(t) {
1214
- return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w;
1354
+ return t.x === this.x && t.y === this.y && t.z === this.z;
1215
1355
  }
1216
1356
  fromArray(t, e = 0) {
1217
- return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this.w = t[e + 3], this;
1357
+ return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this;
1218
1358
  }
1219
1359
  toArray(t = [], e = 0) {
1220
- return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t[e + 3] = this.w, t;
1360
+ return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t;
1221
1361
  }
1222
1362
  fromBufferAttribute(t, e) {
1223
- return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this.w = t.getW(e), this;
1363
+ return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this;
1224
1364
  }
1225
1365
  random() {
1226
- return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this.w = Math.random(), this;
1366
+ return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
1367
+ }
1368
+ randomDirection() {
1369
+ const t = Math.random() * Math.PI * 2, e = 2 * Math.random() - 1, i = Math.sqrt(1 - e * e);
1370
+ return this.x = i * Math.cos(t), this.y = e, this.z = i * Math.sin(t), this;
1227
1371
  }
1228
1372
  *[Symbol.iterator]() {
1229
- yield this.x, yield this.y, yield this.z, yield this.w;
1373
+ yield this.x, yield this.y, yield this.z;
1230
1374
  }
1231
1375
  }
1232
- class Quaternion$1 {
1233
- constructor(t = 0, e = 0, i = 0, s = 1) {
1234
- this.isQuaternion = true, this._x = t, this._y = e, this._z = i, this._w = s;
1235
- }
1236
- static slerpFlat(t, e, i, s, r, n, a) {
1237
- let o = i[s + 0], h = i[s + 1], l = i[s + 2], c = i[s + 3];
1238
- const u = r[n + 0], d = r[n + 1], p = r[n + 2], f = r[n + 3];
1239
- if (0 === a)
1240
- return t[e + 0] = o, t[e + 1] = h, t[e + 2] = l, void (t[e + 3] = c);
1241
- if (1 === a)
1242
- return t[e + 0] = u, t[e + 1] = d, t[e + 2] = p, void (t[e + 3] = f);
1243
- if (c !== f || o !== u || h !== d || l !== p) {
1244
- let t4 = 1 - a;
1245
- const e2 = o * u + h * d + l * p + c * f, i2 = e2 >= 0 ? 1 : -1, s2 = 1 - e2 * e2;
1246
- if (s2 > Number.EPSILON) {
1247
- const r3 = Math.sqrt(s2), n2 = Math.atan2(r3, e2 * i2);
1248
- t4 = Math.sin(t4 * n2) / r3, a = Math.sin(a * n2) / r3;
1249
- }
1250
- const r2 = a * i2;
1251
- if (o = o * t4 + u * r2, h = h * t4 + d * r2, l = l * t4 + p * r2, c = c * t4 + f * r2, t4 === 1 - a) {
1252
- const t5 = 1 / Math.sqrt(o * o + h * h + l * l + c * c);
1253
- o *= t5, h *= t5, l *= t5, c *= t5;
1254
- }
1255
- }
1256
- t[e] = o, t[e + 1] = h, t[e + 2] = l, t[e + 3] = c;
1257
- }
1258
- static multiplyQuaternionsFlat(t, e, i, s, r, n) {
1259
- const a = i[s], o = i[s + 1], h = i[s + 2], l = i[s + 3], c = r[n], u = r[n + 1], d = r[n + 2], p = r[n + 3];
1260
- return t[e] = a * p + l * c + o * d - h * u, t[e + 1] = o * p + l * u + h * c - a * d, t[e + 2] = h * p + l * d + a * u - o * c, t[e + 3] = l * p - a * c - o * u - h * d, t;
1261
- }
1262
- get x() {
1263
- return this._x;
1264
- }
1265
- set x(t) {
1266
- this._x = t, this._onChangeCallback();
1267
- }
1268
- get y() {
1269
- return this._y;
1270
- }
1271
- set y(t) {
1272
- this._y = t, this._onChangeCallback();
1273
- }
1274
- get z() {
1275
- return this._z;
1276
- }
1277
- set z(t) {
1278
- this._z = t, this._onChangeCallback();
1279
- }
1280
- get w() {
1281
- return this._w;
1282
- }
1283
- set w(t) {
1284
- this._w = t, this._onChangeCallback();
1376
+ const _vector$c = new Vector3$1(), _quaternion$4 = new Quaternion$1();
1377
+ class Matrix3 {
1378
+ constructor(t, e, i, s, r, n, a, o, h) {
1379
+ Matrix3.prototype.isMatrix3 = true, this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], void 0 !== t && this.set(t, e, i, s, r, n, a, o, h);
1285
1380
  }
1286
- set(t, e, i, s) {
1287
- return this._x = t, this._y = e, this._z = i, this._w = s, this._onChangeCallback(), this;
1381
+ set(t, e, i, s, r, n, a, o, h) {
1382
+ const l = this.elements;
1383
+ return l[0] = t, l[1] = s, l[2] = a, l[3] = e, l[4] = r, l[5] = o, l[6] = i, l[7] = n, l[8] = h, this;
1288
1384
  }
1289
- clone() {
1290
- return new this.constructor(this._x, this._y, this._z, this._w);
1385
+ identity() {
1386
+ return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this;
1291
1387
  }
1292
1388
  copy(t) {
1293
- return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
1389
+ const e = this.elements, i = t.elements;
1390
+ return e[0] = i[0], e[1] = i[1], e[2] = i[2], e[3] = i[3], e[4] = i[4], e[5] = i[5], e[6] = i[6], e[7] = i[7], e[8] = i[8], this;
1294
1391
  }
1295
- setFromEuler(t, e) {
1296
- const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
1297
- switch (n) {
1298
- case "XYZ":
1299
- this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
1300
- break;
1301
- case "YXZ":
1302
- this._x = u * l * c + h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
1303
- break;
1304
- case "ZXY":
1305
- this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c - u * d * p;
1306
- break;
1307
- case "ZYX":
1308
- this._x = u * l * c - h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c + u * d * p;
1309
- break;
1310
- case "YZX":
1311
- this._x = u * l * c + h * d * p, this._y = h * d * c + u * l * p, this._z = h * l * p - u * d * c, this._w = h * l * c - u * d * p;
1312
- break;
1313
- case "XZY":
1314
- this._x = u * l * c - h * d * p, this._y = h * d * c - u * l * p, this._z = h * l * p + u * d * c, this._w = h * l * c + u * d * p;
1315
- break;
1316
- default:
1317
- console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
1318
- }
1319
- return false !== e && this._onChangeCallback(), this;
1392
+ extractBasis(t, e, i) {
1393
+ return t.setFromMatrix3Column(this, 0), e.setFromMatrix3Column(this, 1), i.setFromMatrix3Column(this, 2), this;
1320
1394
  }
1321
- setFromAxisAngle(t, e) {
1322
- const i = e / 2, s = Math.sin(i);
1323
- return this._x = t.x * s, this._y = t.y * s, this._z = t.z * s, this._w = Math.cos(i), this._onChangeCallback(), this;
1395
+ setFromMatrix4(t) {
1396
+ const e = t.elements;
1397
+ return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this;
1324
1398
  }
1325
- setFromRotationMatrix(t) {
1326
- const e = t.elements, i = e[0], s = e[4], r = e[8], n = e[1], a = e[5], o = e[9], h = e[2], l = e[6], c = e[10], u = i + a + c;
1327
- if (u > 0) {
1328
- const t4 = 0.5 / Math.sqrt(u + 1);
1329
- this._w = 0.25 / t4, this._x = (l - o) * t4, this._y = (r - h) * t4, this._z = (n - s) * t4;
1330
- } else if (i > a && i > c) {
1331
- const t4 = 2 * Math.sqrt(1 + i - a - c);
1332
- this._w = (l - o) / t4, this._x = 0.25 * t4, this._y = (s + n) / t4, this._z = (r + h) / t4;
1333
- } else if (a > c) {
1334
- const t4 = 2 * Math.sqrt(1 + a - i - c);
1335
- this._w = (r - h) / t4, this._x = (s + n) / t4, this._y = 0.25 * t4, this._z = (o + l) / t4;
1336
- } else {
1337
- const t4 = 2 * Math.sqrt(1 + c - i - a);
1338
- this._w = (n - s) / t4, this._x = (r + h) / t4, this._y = (o + l) / t4, this._z = 0.25 * t4;
1339
- }
1340
- return this._onChangeCallback(), this;
1399
+ multiply(t) {
1400
+ return this.multiplyMatrices(this, t);
1341
1401
  }
1342
- setFromUnitVectors(t, e) {
1343
- let i = t.dot(e) + 1;
1344
- return i < Number.EPSILON ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
1402
+ premultiply(t) {
1403
+ return this.multiplyMatrices(t, this);
1345
1404
  }
1346
- angleTo(t) {
1347
- return 2 * Math.acos(Math.abs(clamp$1(this.dot(t), -1, 1)));
1405
+ multiplyMatrices(t, e) {
1406
+ const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[3], o = i[6], h = i[1], l = i[4], c = i[7], u = i[2], d = i[5], p = i[8], f = s[0], _ = s[3], y = s[6], m = s[1], g = s[4], x = s[7], M = s[2], w = s[5], b = s[8];
1407
+ return r[0] = n * f + a * m + o * M, r[3] = n * _ + a * g + o * w, r[6] = n * y + a * x + o * b, r[1] = h * f + l * m + c * M, r[4] = h * _ + l * g + c * w, r[7] = h * y + l * x + c * b, r[2] = u * f + d * m + p * M, r[5] = u * _ + d * g + p * w, r[8] = u * y + d * x + p * b, this;
1348
1408
  }
1349
- rotateTowards(t, e) {
1350
- const i = this.angleTo(t);
1351
- if (0 === i)
1352
- return this;
1353
- const s = Math.min(1, e / i);
1354
- return this.slerp(t, s), this;
1409
+ multiplyScalar(t) {
1410
+ const e = this.elements;
1411
+ return e[0] *= t, e[3] *= t, e[6] *= t, e[1] *= t, e[4] *= t, e[7] *= t, e[2] *= t, e[5] *= t, e[8] *= t, this;
1355
1412
  }
1356
- identity() {
1357
- return this.set(0, 0, 0, 1);
1413
+ determinant() {
1414
+ const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8];
1415
+ return e * n * l - e * a * h - i * r * l + i * a * o + s * r * h - s * n * o;
1358
1416
  }
1359
1417
  invert() {
1360
- return this.conjugate();
1361
- }
1362
- conjugate() {
1363
- return this._x *= -1, this._y *= -1, this._z *= -1, this._onChangeCallback(), this;
1418
+ const t = this.elements, e = t[0], i = t[1], s = t[2], r = t[3], n = t[4], a = t[5], o = t[6], h = t[7], l = t[8], c = l * n - a * h, u = a * o - l * r, d = h * r - n * o, p = e * c + i * u + s * d;
1419
+ if (0 === p)
1420
+ return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
1421
+ const f = 1 / p;
1422
+ return t[0] = c * f, t[1] = (s * h - l * i) * f, t[2] = (a * i - s * n) * f, t[3] = u * f, t[4] = (l * e - s * o) * f, t[5] = (s * r - a * e) * f, t[6] = d * f, t[7] = (i * o - h * e) * f, t[8] = (n * e - i * r) * f, this;
1364
1423
  }
1365
- dot(t) {
1366
- return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._w;
1424
+ transpose() {
1425
+ let t;
1426
+ const e = this.elements;
1427
+ return t = e[1], e[1] = e[3], e[3] = t, t = e[2], e[2] = e[6], e[6] = t, t = e[5], e[5] = e[7], e[7] = t, this;
1367
1428
  }
1368
- lengthSq() {
1369
- return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w;
1429
+ getNormalMatrix(t) {
1430
+ return this.setFromMatrix4(t).invert().transpose();
1370
1431
  }
1371
- length() {
1372
- return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w);
1432
+ transposeIntoArray(t) {
1433
+ const e = this.elements;
1434
+ return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], this;
1373
1435
  }
1374
- normalize() {
1375
- let t = this.length();
1376
- return 0 === t ? (this._x = 0, this._y = 0, this._z = 0, this._w = 1) : (t = 1 / t, this._x = this._x * t, this._y = this._y * t, this._z = this._z * t, this._w = this._w * t), this._onChangeCallback(), this;
1436
+ setUvTransform(t, e, i, s, r, n, a) {
1437
+ const o = Math.cos(r), h = Math.sin(r);
1438
+ return this.set(i * o, i * h, -i * (o * n + h * a) + n + t, -s * h, s * o, -s * (-h * n + o * a) + a + e, 0, 0, 1), this;
1377
1439
  }
1378
- multiply(t) {
1379
- return this.multiplyQuaternions(this, t);
1440
+ scale(t, e) {
1441
+ return this.premultiply(_m3.makeScale(t, e)), this;
1380
1442
  }
1381
- premultiply(t) {
1382
- return this.multiplyQuaternions(t, this);
1443
+ rotate(t) {
1444
+ return this.premultiply(_m3.makeRotation(-t)), this;
1383
1445
  }
1384
- multiplyQuaternions(t, e) {
1385
- const i = t._x, s = t._y, r = t._z, n = t._w, a = e._x, o = e._y, h = e._z, l = e._w;
1386
- return this._x = i * l + n * a + s * h - r * o, this._y = s * l + n * o + r * a - i * h, this._z = r * l + n * h + i * o - s * a, this._w = n * l - i * a - s * o - r * h, this._onChangeCallback(), this;
1446
+ translate(t, e) {
1447
+ return this.premultiply(_m3.makeTranslation(t, e)), this;
1387
1448
  }
1388
- slerp(t, e) {
1389
- if (0 === e)
1390
- return this;
1391
- if (1 === e)
1392
- return this.copy(t);
1393
- const i = this._x, s = this._y, r = this._z, n = this._w;
1394
- let a = n * t._w + i * t._x + s * t._y + r * t._z;
1395
- if (a < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, a = -a) : this.copy(t), a >= 1)
1396
- return this._w = n, this._x = i, this._y = s, this._z = r, this;
1397
- const o = 1 - a * a;
1398
- if (o <= Number.EPSILON) {
1399
- const t4 = 1 - e;
1400
- return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this._onChangeCallback(), this;
1401
- }
1402
- const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
1403
- return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
1449
+ makeTranslation(t, e) {
1450
+ return t.isVector2 ? this.set(1, 0, t.x, 0, 1, t.y, 0, 0, 1) : this.set(1, 0, t, 0, 1, e, 0, 0, 1), this;
1404
1451
  }
1405
- slerpQuaternions(t, e, i) {
1406
- return this.copy(t).slerp(e, i);
1452
+ makeRotation(t) {
1453
+ const e = Math.cos(t), i = Math.sin(t);
1454
+ return this.set(e, -i, 0, i, e, 0, 0, 0, 1), this;
1407
1455
  }
1408
- random() {
1409
- const t = Math.random(), e = Math.sqrt(1 - t), i = Math.sqrt(t), s = 2 * Math.PI * Math.random(), r = 2 * Math.PI * Math.random();
1410
- return this.set(e * Math.cos(s), i * Math.sin(r), i * Math.cos(r), e * Math.sin(s));
1456
+ makeScale(t, e) {
1457
+ return this.set(t, 0, 0, 0, e, 0, 0, 0, 1), this;
1411
1458
  }
1412
1459
  equals(t) {
1413
- return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
1460
+ const e = this.elements, i = t.elements;
1461
+ for (let t4 = 0; t4 < 9; t4++)
1462
+ if (e[t4] !== i[t4])
1463
+ return false;
1464
+ return true;
1414
1465
  }
1415
1466
  fromArray(t, e = 0) {
1416
- return this._x = t[e], this._y = t[e + 1], this._z = t[e + 2], this._w = t[e + 3], this._onChangeCallback(), this;
1467
+ for (let i = 0; i < 9; i++)
1468
+ this.elements[i] = t[i + e];
1469
+ return this;
1417
1470
  }
1418
1471
  toArray(t = [], e = 0) {
1419
- return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
1472
+ const i = this.elements;
1473
+ return t[e] = i[0], t[e + 1] = i[1], t[e + 2] = i[2], t[e + 3] = i[3], t[e + 4] = i[4], t[e + 5] = i[5], t[e + 6] = i[6], t[e + 7] = i[7], t[e + 8] = i[8], t;
1420
1474
  }
1421
- fromBufferAttribute(t, e) {
1422
- return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this;
1475
+ clone() {
1476
+ return new this.constructor().fromArray(this.elements);
1423
1477
  }
1424
- toJSON() {
1425
- return this.toArray();
1478
+ }
1479
+ const _m3 = new Matrix3(), _cache$1 = {};
1480
+ function warnOnce(t) {
1481
+ t in _cache$1 || (_cache$1[t] = true, console.warn(t));
1482
+ }
1483
+ const LINEAR_REC709_TO_XYZ = new Matrix3().set(0.4123908, 0.3575843, 0.1804808, 0.212639, 0.7151687, 0.0721923, 0.0193308, 0.1191948, 0.9505322), XYZ_TO_LINEAR_REC709 = new Matrix3().set(3.2409699, -1.5373832, -0.4986108, -0.9692436, 1.8759675, 0.0415551, 0.0556301, -0.203977, 1.0569715);
1484
+ function createColorManagement() {
1485
+ const t = { enabled: true, workingColorSpace: LinearSRGBColorSpace, spaces: {}, convert: function(t4, e2, i2) {
1486
+ return false !== this.enabled && e2 !== i2 && e2 && i2 ? (this.spaces[e2].transfer === SRGBTransfer && (t4.r = SRGBToLinear(t4.r), t4.g = SRGBToLinear(t4.g), t4.b = SRGBToLinear(t4.b)), this.spaces[e2].primaries !== this.spaces[i2].primaries && (t4.applyMatrix3(this.spaces[e2].toXYZ), t4.applyMatrix3(this.spaces[i2].fromXYZ)), this.spaces[i2].transfer === SRGBTransfer && (t4.r = LinearToSRGB(t4.r), t4.g = LinearToSRGB(t4.g), t4.b = LinearToSRGB(t4.b)), t4) : t4;
1487
+ }, workingToColorSpace: function(t4, e2) {
1488
+ return this.convert(t4, this.workingColorSpace, e2);
1489
+ }, colorSpaceToWorking: function(t4, e2) {
1490
+ return this.convert(t4, e2, this.workingColorSpace);
1491
+ }, getPrimaries: function(t4) {
1492
+ return this.spaces[t4].primaries;
1493
+ }, getTransfer: function(t4) {
1494
+ return t4 === NoColorSpace ? LinearTransfer : this.spaces[t4].transfer;
1495
+ }, getLuminanceCoefficients: function(t4, e2 = this.workingColorSpace) {
1496
+ return t4.fromArray(this.spaces[e2].luminanceCoefficients);
1497
+ }, define: function(t4) {
1498
+ Object.assign(this.spaces, t4);
1499
+ }, _getMatrix: function(t4, e2, i2) {
1500
+ return t4.copy(this.spaces[e2].toXYZ).multiply(this.spaces[i2].fromXYZ);
1501
+ }, _getDrawingBufferColorSpace: function(t4) {
1502
+ return this.spaces[t4].outputColorSpaceConfig.drawingBufferColorSpace;
1503
+ }, _getUnpackColorSpace: function(t4 = this.workingColorSpace) {
1504
+ return this.spaces[t4].workingColorSpaceConfig.unpackColorSpace;
1505
+ }, fromWorkingColorSpace: function(e2, i2) {
1506
+ return warnOnce("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."), t.workingToColorSpace(e2, i2);
1507
+ }, toWorkingColorSpace: function(e2, i2) {
1508
+ return warnOnce("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."), t.colorSpaceToWorking(e2, i2);
1509
+ } }, e = [0.64, 0.33, 0.3, 0.6, 0.15, 0.06], i = [0.2126, 0.7152, 0.0722], s = [0.3127, 0.329];
1510
+ return t.define({ [LinearSRGBColorSpace]: { primaries: e, whitePoint: s, transfer: LinearTransfer, toXYZ: LINEAR_REC709_TO_XYZ, fromXYZ: XYZ_TO_LINEAR_REC709, luminanceCoefficients: i, workingColorSpaceConfig: { unpackColorSpace: SRGBColorSpace }, outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } }, [SRGBColorSpace]: { primaries: e, whitePoint: s, transfer: SRGBTransfer, toXYZ: LINEAR_REC709_TO_XYZ, fromXYZ: XYZ_TO_LINEAR_REC709, luminanceCoefficients: i, outputColorSpaceConfig: { drawingBufferColorSpace: SRGBColorSpace } } }), t;
1511
+ }
1512
+ const ColorManagement = createColorManagement();
1513
+ function SRGBToLinear(t) {
1514
+ return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4);
1515
+ }
1516
+ function LinearToSRGB(t) {
1517
+ return t < 31308e-7 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055;
1518
+ }
1519
+ class Vector4 {
1520
+ constructor(t = 0, e = 0, i = 0, s = 1) {
1521
+ Vector4.prototype.isVector4 = true, this.x = t, this.y = e, this.z = i, this.w = s;
1426
1522
  }
1427
- _onChange(t) {
1428
- return this._onChangeCallback = t, this;
1523
+ get width() {
1524
+ return this.z;
1429
1525
  }
1430
- _onChangeCallback() {
1526
+ set width(t) {
1527
+ this.z = t;
1431
1528
  }
1432
- *[Symbol.iterator]() {
1433
- yield this._x, yield this._y, yield this._z, yield this._w;
1529
+ get height() {
1530
+ return this.w;
1434
1531
  }
1435
- }
1436
- class Vector3$1 {
1437
- constructor(t = 0, e = 0, i = 0) {
1438
- Vector3$1.prototype.isVector3 = true, this.x = t, this.y = e, this.z = i;
1532
+ set height(t) {
1533
+ this.w = t;
1439
1534
  }
1440
- set(t, e, i) {
1441
- return void 0 === i && (i = this.z), this.x = t, this.y = e, this.z = i, this;
1535
+ set(t, e, i, s) {
1536
+ return this.x = t, this.y = e, this.z = i, this.w = s, this;
1442
1537
  }
1443
1538
  setScalar(t) {
1444
- return this.x = t, this.y = t, this.z = t, this;
1539
+ return this.x = t, this.y = t, this.z = t, this.w = t, this;
1445
1540
  }
1446
1541
  setX(t) {
1447
1542
  return this.x = t, this;
@@ -1452,6 +1547,9 @@ class Vector3$1 {
1452
1547
  setZ(t) {
1453
1548
  return this.z = t, this;
1454
1549
  }
1550
+ setW(t) {
1551
+ return this.w = t, this;
1552
+ }
1455
1553
  setComponent(t, e) {
1456
1554
  switch (t) {
1457
1555
  case 0:
@@ -1463,6 +1561,9 @@ class Vector3$1 {
1463
1561
  case 2:
1464
1562
  this.z = e;
1465
1563
  break;
1564
+ case 3:
1565
+ this.w = e;
1566
+ break;
1466
1567
  default:
1467
1568
  throw new Error("index is out of range: " + t);
1468
1569
  }
@@ -1476,125 +1577,119 @@ class Vector3$1 {
1476
1577
  return this.y;
1477
1578
  case 2:
1478
1579
  return this.z;
1580
+ case 3:
1581
+ return this.w;
1479
1582
  default:
1480
1583
  throw new Error("index is out of range: " + t);
1481
1584
  }
1482
1585
  }
1483
1586
  clone() {
1484
- return new this.constructor(this.x, this.y, this.z);
1587
+ return new this.constructor(this.x, this.y, this.z, this.w);
1485
1588
  }
1486
1589
  copy(t) {
1487
- return this.x = t.x, this.y = t.y, this.z = t.z, this;
1590
+ return this.x = t.x, this.y = t.y, this.z = t.z, this.w = void 0 !== t.w ? t.w : 1, this;
1488
1591
  }
1489
1592
  add(t) {
1490
- return this.x += t.x, this.y += t.y, this.z += t.z, this;
1593
+ return this.x += t.x, this.y += t.y, this.z += t.z, this.w += t.w, this;
1491
1594
  }
1492
1595
  addScalar(t) {
1493
- return this.x += t, this.y += t, this.z += t, this;
1596
+ return this.x += t, this.y += t, this.z += t, this.w += t, this;
1494
1597
  }
1495
1598
  addVectors(t, e) {
1496
- return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this;
1599
+ return this.x = t.x + e.x, this.y = t.y + e.y, this.z = t.z + e.z, this.w = t.w + e.w, this;
1497
1600
  }
1498
1601
  addScaledVector(t, e) {
1499
- return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this;
1602
+ return this.x += t.x * e, this.y += t.y * e, this.z += t.z * e, this.w += t.w * e, this;
1500
1603
  }
1501
1604
  sub(t) {
1502
- return this.x -= t.x, this.y -= t.y, this.z -= t.z, this;
1605
+ return this.x -= t.x, this.y -= t.y, this.z -= t.z, this.w -= t.w, this;
1503
1606
  }
1504
1607
  subScalar(t) {
1505
- return this.x -= t, this.y -= t, this.z -= t, this;
1608
+ return this.x -= t, this.y -= t, this.z -= t, this.w -= t, this;
1506
1609
  }
1507
1610
  subVectors(t, e) {
1508
- return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this;
1611
+ return this.x = t.x - e.x, this.y = t.y - e.y, this.z = t.z - e.z, this.w = t.w - e.w, this;
1509
1612
  }
1510
1613
  multiply(t) {
1511
- return this.x *= t.x, this.y *= t.y, this.z *= t.z, this;
1614
+ return this.x *= t.x, this.y *= t.y, this.z *= t.z, this.w *= t.w, this;
1512
1615
  }
1513
1616
  multiplyScalar(t) {
1514
- return this.x *= t, this.y *= t, this.z *= t, this;
1515
- }
1516
- multiplyVectors(t, e) {
1517
- return this.x = t.x * e.x, this.y = t.y * e.y, this.z = t.z * e.z, this;
1518
- }
1519
- applyEuler(t) {
1520
- return this.applyQuaternion(_quaternion$4.setFromEuler(t));
1521
- }
1522
- applyAxisAngle(t, e) {
1523
- return this.applyQuaternion(_quaternion$4.setFromAxisAngle(t, e));
1524
- }
1525
- applyMatrix3(t) {
1526
- const e = this.x, i = this.y, s = this.z, r = t.elements;
1527
- return this.x = r[0] * e + r[3] * i + r[6] * s, this.y = r[1] * e + r[4] * i + r[7] * s, this.z = r[2] * e + r[5] * i + r[8] * s, this;
1528
- }
1529
- applyNormalMatrix(t) {
1530
- return this.applyMatrix3(t).normalize();
1617
+ return this.x *= t, this.y *= t, this.z *= t, this.w *= t, this;
1531
1618
  }
1532
1619
  applyMatrix4(t) {
1533
- const e = this.x, i = this.y, s = this.z, r = t.elements, n = 1 / (r[3] * e + r[7] * i + r[11] * s + r[15]);
1534
- return this.x = (r[0] * e + r[4] * i + r[8] * s + r[12]) * n, this.y = (r[1] * e + r[5] * i + r[9] * s + r[13]) * n, this.z = (r[2] * e + r[6] * i + r[10] * s + r[14]) * n, this;
1535
- }
1536
- applyQuaternion(t) {
1537
- const e = this.x, i = this.y, s = this.z, r = t.x, n = t.y, a = t.z, o = t.w, h = 2 * (n * s - a * i), l = 2 * (a * e - r * s), c = 2 * (r * i - n * e);
1538
- return this.x = e + o * h + n * c - a * l, this.y = i + o * l + a * h - r * c, this.z = s + o * c + r * l - n * h, this;
1539
- }
1540
- project(t) {
1541
- return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix);
1542
- }
1543
- unproject(t) {
1544
- return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld);
1545
- }
1546
- transformDirection(t) {
1547
- const e = this.x, i = this.y, s = this.z, r = t.elements;
1548
- return this.x = r[0] * e + r[4] * i + r[8] * s, this.y = r[1] * e + r[5] * i + r[9] * s, this.z = r[2] * e + r[6] * i + r[10] * s, this.normalize();
1620
+ const e = this.x, i = this.y, s = this.z, r = this.w, n = t.elements;
1621
+ return this.x = n[0] * e + n[4] * i + n[8] * s + n[12] * r, this.y = n[1] * e + n[5] * i + n[9] * s + n[13] * r, this.z = n[2] * e + n[6] * i + n[10] * s + n[14] * r, this.w = n[3] * e + n[7] * i + n[11] * s + n[15] * r, this;
1549
1622
  }
1550
1623
  divide(t) {
1551
- return this.x /= t.x, this.y /= t.y, this.z /= t.z, this;
1624
+ return this.x /= t.x, this.y /= t.y, this.z /= t.z, this.w /= t.w, this;
1552
1625
  }
1553
1626
  divideScalar(t) {
1554
1627
  return this.multiplyScalar(1 / t);
1555
1628
  }
1629
+ setAxisAngleFromQuaternion(t) {
1630
+ this.w = 2 * Math.acos(t.w);
1631
+ const e = Math.sqrt(1 - t.w * t.w);
1632
+ return e < 1e-4 ? (this.x = 1, this.y = 0, this.z = 0) : (this.x = t.x / e, this.y = t.y / e, this.z = t.z / e), this;
1633
+ }
1634
+ setAxisAngleFromRotationMatrix(t) {
1635
+ let e, i, s, r;
1636
+ const n = 0.01, a = 0.1, o = t.elements, h = o[0], l = o[4], c = o[8], u = o[1], d = o[5], p = o[9], f = o[2], _ = o[6], y = o[10];
1637
+ if (Math.abs(l - u) < n && Math.abs(c - f) < n && Math.abs(p - _) < n) {
1638
+ if (Math.abs(l + u) < a && Math.abs(c + f) < a && Math.abs(p + _) < a && Math.abs(h + d + y - 3) < a)
1639
+ return this.set(1, 0, 0, 0), this;
1640
+ e = Math.PI;
1641
+ const t4 = (h + 1) / 2, o2 = (d + 1) / 2, m2 = (y + 1) / 2, g = (l + u) / 4, x = (c + f) / 4, M = (p + _) / 4;
1642
+ return t4 > o2 && t4 > m2 ? t4 < n ? (i = 0, s = 0.707106781, r = 0.707106781) : (i = Math.sqrt(t4), s = g / i, r = x / i) : o2 > m2 ? o2 < n ? (i = 0.707106781, s = 0, r = 0.707106781) : (s = Math.sqrt(o2), i = g / s, r = M / s) : m2 < n ? (i = 0.707106781, s = 0.707106781, r = 0) : (r = Math.sqrt(m2), i = x / r, s = M / r), this.set(i, s, r, e), this;
1643
+ }
1644
+ let m = Math.sqrt((_ - p) * (_ - p) + (c - f) * (c - f) + (u - l) * (u - l));
1645
+ return Math.abs(m) < 1e-3 && (m = 1), this.x = (_ - p) / m, this.y = (c - f) / m, this.z = (u - l) / m, this.w = Math.acos((h + d + y - 1) / 2), this;
1646
+ }
1647
+ setFromMatrixPosition(t) {
1648
+ const e = t.elements;
1649
+ return this.x = e[12], this.y = e[13], this.z = e[14], this.w = e[15], this;
1650
+ }
1556
1651
  min(t) {
1557
- return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this;
1652
+ return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this.z = Math.min(this.z, t.z), this.w = Math.min(this.w, t.w), this;
1558
1653
  }
1559
1654
  max(t) {
1560
- return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
1655
+ return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this.w = Math.max(this.w, t.w), this;
1561
1656
  }
1562
1657
  clamp(t, e) {
1563
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this;
1658
+ return this.x = clamp$1(this.x, t.x, e.x), this.y = clamp$1(this.y, t.y, e.y), this.z = clamp$1(this.z, t.z, e.z), this.w = clamp$1(this.w, t.w, e.w), this;
1564
1659
  }
1565
1660
  clampScalar(t, e) {
1566
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this;
1661
+ return this.x = clamp$1(this.x, t, e), this.y = clamp$1(this.y, t, e), this.z = clamp$1(this.z, t, e), this.w = clamp$1(this.w, t, e), this;
1567
1662
  }
1568
1663
  clampLength(t, e) {
1569
1664
  const i = this.length();
1570
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
1665
+ return this.divideScalar(i || 1).multiplyScalar(clamp$1(i, t, e));
1571
1666
  }
1572
1667
  floor() {
1573
- return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
1668
+ return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this.w = Math.floor(this.w), this;
1574
1669
  }
1575
1670
  ceil() {
1576
- return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this;
1671
+ return this.x = Math.ceil(this.x), this.y = Math.ceil(this.y), this.z = Math.ceil(this.z), this.w = Math.ceil(this.w), this;
1577
1672
  }
1578
1673
  round() {
1579
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this;
1674
+ return this.x = Math.round(this.x), this.y = Math.round(this.y), this.z = Math.round(this.z), this.w = Math.round(this.w), this;
1580
1675
  }
1581
1676
  roundToZero() {
1582
- return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this;
1677
+ return this.x = Math.trunc(this.x), this.y = Math.trunc(this.y), this.z = Math.trunc(this.z), this.w = Math.trunc(this.w), this;
1583
1678
  }
1584
1679
  negate() {
1585
- return this.x = -this.x, this.y = -this.y, this.z = -this.z, this;
1680
+ return this.x = -this.x, this.y = -this.y, this.z = -this.z, this.w = -this.w, this;
1586
1681
  }
1587
1682
  dot(t) {
1588
- return this.x * t.x + this.y * t.y + this.z * t.z;
1683
+ return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.w;
1589
1684
  }
1590
1685
  lengthSq() {
1591
- return this.x * this.x + this.y * this.y + this.z * this.z;
1686
+ return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w;
1592
1687
  }
1593
1688
  length() {
1594
- return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
1689
+ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
1595
1690
  }
1596
1691
  manhattanLength() {
1597
- return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);
1692
+ return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w);
1598
1693
  }
1599
1694
  normalize() {
1600
1695
  return this.divideScalar(this.length() || 1);
@@ -1603,105 +1698,30 @@ class Vector3$1 {
1603
1698
  return this.normalize().multiplyScalar(t);
1604
1699
  }
1605
1700
  lerp(t, e) {
1606
- return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this;
1701
+ return this.x += (t.x - this.x) * e, this.y += (t.y - this.y) * e, this.z += (t.z - this.z) * e, this.w += (t.w - this.w) * e, this;
1607
1702
  }
1608
1703
  lerpVectors(t, e, i) {
1609
- return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this;
1610
- }
1611
- cross(t) {
1612
- return this.crossVectors(this, t);
1613
- }
1614
- crossVectors(t, e) {
1615
- const i = t.x, s = t.y, r = t.z, n = e.x, a = e.y, o = e.z;
1616
- return this.x = s * o - r * a, this.y = r * n - i * o, this.z = i * a - s * n, this;
1617
- }
1618
- projectOnVector(t) {
1619
- const e = t.lengthSq();
1620
- if (0 === e)
1621
- return this.set(0, 0, 0);
1622
- const i = t.dot(this) / e;
1623
- return this.copy(t).multiplyScalar(i);
1624
- }
1625
- projectOnPlane(t) {
1626
- return _vector$b.copy(this).projectOnVector(t), this.sub(_vector$b);
1627
- }
1628
- reflect(t) {
1629
- return this.sub(_vector$b.copy(t).multiplyScalar(2 * this.dot(t)));
1630
- }
1631
- angleTo(t) {
1632
- const e = Math.sqrt(this.lengthSq() * t.lengthSq());
1633
- if (0 === e)
1634
- return Math.PI / 2;
1635
- const i = this.dot(t) / e;
1636
- return Math.acos(clamp$1(i, -1, 1));
1637
- }
1638
- distanceTo(t) {
1639
- return Math.sqrt(this.distanceToSquared(t));
1640
- }
1641
- distanceToSquared(t) {
1642
- const e = this.x - t.x, i = this.y - t.y, s = this.z - t.z;
1643
- return e * e + i * i + s * s;
1644
- }
1645
- manhattanDistanceTo(t) {
1646
- return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z);
1647
- }
1648
- setFromSpherical(t) {
1649
- return this.setFromSphericalCoords(t.radius, t.phi, t.theta);
1650
- }
1651
- setFromSphericalCoords(t, e, i) {
1652
- const s = Math.sin(e) * t;
1653
- return this.x = s * Math.sin(i), this.y = Math.cos(e) * t, this.z = s * Math.cos(i), this;
1654
- }
1655
- setFromCylindrical(t) {
1656
- return this.setFromCylindricalCoords(t.radius, t.theta, t.y);
1657
- }
1658
- setFromCylindricalCoords(t, e, i) {
1659
- return this.x = t * Math.sin(e), this.y = i, this.z = t * Math.cos(e), this;
1660
- }
1661
- setFromMatrixPosition(t) {
1662
- const e = t.elements;
1663
- return this.x = e[12], this.y = e[13], this.z = e[14], this;
1664
- }
1665
- setFromMatrixScale(t) {
1666
- const e = this.setFromMatrixColumn(t, 0).length(), i = this.setFromMatrixColumn(t, 1).length(), s = this.setFromMatrixColumn(t, 2).length();
1667
- return this.x = e, this.y = i, this.z = s, this;
1668
- }
1669
- setFromMatrixColumn(t, e) {
1670
- return this.fromArray(t.elements, 4 * e);
1671
- }
1672
- setFromMatrix3Column(t, e) {
1673
- return this.fromArray(t.elements, 3 * e);
1674
- }
1675
- setFromEuler(t) {
1676
- return this.x = t._x, this.y = t._y, this.z = t._z, this;
1677
- }
1678
- setFromColor(t) {
1679
- return this.x = t.r, this.y = t.g, this.z = t.b, this;
1704
+ return this.x = t.x + (e.x - t.x) * i, this.y = t.y + (e.y - t.y) * i, this.z = t.z + (e.z - t.z) * i, this.w = t.w + (e.w - t.w) * i, this;
1680
1705
  }
1681
1706
  equals(t) {
1682
- return t.x === this.x && t.y === this.y && t.z === this.z;
1707
+ return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w;
1683
1708
  }
1684
1709
  fromArray(t, e = 0) {
1685
- return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this;
1710
+ return this.x = t[e], this.y = t[e + 1], this.z = t[e + 2], this.w = t[e + 3], this;
1686
1711
  }
1687
1712
  toArray(t = [], e = 0) {
1688
- return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t;
1713
+ return t[e] = this.x, t[e + 1] = this.y, t[e + 2] = this.z, t[e + 3] = this.w, t;
1689
1714
  }
1690
1715
  fromBufferAttribute(t, e) {
1691
- return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this;
1716
+ return this.x = t.getX(e), this.y = t.getY(e), this.z = t.getZ(e), this.w = t.getW(e), this;
1692
1717
  }
1693
1718
  random() {
1694
- return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
1695
- }
1696
- randomDirection() {
1697
- const t = 2 * (Math.random() - 0.5), e = Math.random() * Math.PI * 2, i = Math.sqrt(1 - t ** 2);
1698
- return this.x = i * Math.cos(e), this.y = i * Math.sin(e), this.z = t, this;
1719
+ return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this.w = Math.random(), this;
1699
1720
  }
1700
1721
  *[Symbol.iterator]() {
1701
- yield this.x, yield this.y, yield this.z;
1722
+ yield this.x, yield this.y, yield this.z, yield this.w;
1702
1723
  }
1703
1724
  }
1704
- const _vector$b = new Vector3$1(), _quaternion$4 = new Quaternion$1();
1705
1725
  class Box3 {
1706
1726
  constructor(t = new Vector3$1(1 / 0, 1 / 0, 1 / 0), e = new Vector3$1(-1 / 0, -1 / 0, -1 / 0)) {
1707
1727
  this.isBox3 = true, this.min = t, this.max = e;
@@ -1712,13 +1732,13 @@ class Box3 {
1712
1732
  setFromArray(t) {
1713
1733
  this.makeEmpty();
1714
1734
  for (let e = 0, i = t.length; e < i; e += 3)
1715
- this.expandByPoint(_vector$a.fromArray(t, e));
1735
+ this.expandByPoint(_vector$b.fromArray(t, e));
1716
1736
  return this;
1717
1737
  }
1718
1738
  setFromBufferAttribute(t) {
1719
1739
  this.makeEmpty();
1720
1740
  for (let e = 0, i = t.count; e < i; e++)
1721
- this.expandByPoint(_vector$a.fromBufferAttribute(t, e));
1741
+ this.expandByPoint(_vector$b.fromBufferAttribute(t, e));
1722
1742
  return this;
1723
1743
  }
1724
1744
  setFromPoints(t) {
@@ -1728,7 +1748,7 @@ class Box3 {
1728
1748
  return this;
1729
1749
  }
1730
1750
  setFromCenterAndSize(t, e) {
1731
- const i = _vector$a.copy(e).multiplyScalar(0.5);
1751
+ const i = _vector$b.copy(e).multiplyScalar(0.5);
1732
1752
  return this.min.copy(t).sub(i), this.max.copy(t).add(i), this;
1733
1753
  }
1734
1754
  setFromObject(t, e = false) {
@@ -1768,9 +1788,9 @@ class Box3 {
1768
1788
  const s2 = i.getAttribute("position");
1769
1789
  if (true === e && void 0 !== s2 && true !== t.isInstancedMesh)
1770
1790
  for (let e2 = 0, i2 = s2.count; e2 < i2; e2++)
1771
- true === t.isMesh ? t.getVertexPosition(e2, _vector$a) : _vector$a.fromBufferAttribute(s2, e2), _vector$a.applyMatrix4(t.matrixWorld), this.expandByPoint(_vector$a);
1791
+ true === t.isMesh ? t.getVertexPosition(e2, _vector$b) : _vector$b.fromBufferAttribute(s2, e2), _vector$b.applyMatrix4(t.matrixWorld), this.expandByPoint(_vector$b);
1772
1792
  else
1773
- void 0 !== t.boundingBox ? (null === t.boundingBox && t.computeBoundingBox(), _box$3.copy(t.boundingBox)) : (null === i.boundingBox && i.computeBoundingBox(), _box$3.copy(i.boundingBox)), _box$3.applyMatrix4(t.matrixWorld), this.union(_box$3);
1793
+ void 0 !== t.boundingBox ? (null === t.boundingBox && t.computeBoundingBox(), _box$4.copy(t.boundingBox)) : (null === i.boundingBox && i.computeBoundingBox(), _box$4.copy(i.boundingBox)), _box$4.applyMatrix4(t.matrixWorld), this.union(_box$4);
1774
1794
  }
1775
1795
  const s = t.children;
1776
1796
  for (let t4 = 0, i2 = s.length; t4 < i2; t4++)
@@ -1778,7 +1798,7 @@ class Box3 {
1778
1798
  return this;
1779
1799
  }
1780
1800
  containsPoint(t) {
1781
- return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y || t.z < this.min.z || t.z > this.max.z);
1801
+ return t.x >= this.min.x && t.x <= this.max.x && t.y >= this.min.y && t.y <= this.max.y && t.z >= this.min.z && t.z <= this.max.z;
1782
1802
  }
1783
1803
  containsBox(t) {
1784
1804
  return this.min.x <= t.min.x && t.max.x <= this.max.x && this.min.y <= t.min.y && t.max.y <= this.max.y && this.min.z <= t.min.z && t.max.z <= this.max.z;
@@ -1787,10 +1807,10 @@ class Box3 {
1787
1807
  return e.set((t.x - this.min.x) / (this.max.x - this.min.x), (t.y - this.min.y) / (this.max.y - this.min.y), (t.z - this.min.z) / (this.max.z - this.min.z));
1788
1808
  }
1789
1809
  intersectsBox(t) {
1790
- return !(t.max.x < this.min.x || t.min.x > this.max.x || t.max.y < this.min.y || t.min.y > this.max.y || t.max.z < this.min.z || t.min.z > this.max.z);
1810
+ return t.max.x >= this.min.x && t.min.x <= this.max.x && t.max.y >= this.min.y && t.min.y <= this.max.y && t.max.z >= this.min.z && t.min.z <= this.max.z;
1791
1811
  }
1792
1812
  intersectsSphere(t) {
1793
- return this.clampPoint(t.center, _vector$a), _vector$a.distanceToSquared(t.center) <= t.radius * t.radius;
1813
+ return this.clampPoint(t.center, _vector$b), _vector$b.distanceToSquared(t.center) <= t.radius * t.radius;
1794
1814
  }
1795
1815
  intersectsPlane(t) {
1796
1816
  let e, i;
@@ -1807,10 +1827,10 @@ class Box3 {
1807
1827
  return e.copy(t).clamp(this.min, this.max);
1808
1828
  }
1809
1829
  distanceToPoint(t) {
1810
- return this.clampPoint(t, _vector$a).distanceTo(t);
1830
+ return this.clampPoint(t, _vector$b).distanceTo(t);
1811
1831
  }
1812
1832
  getBoundingSphere(t) {
1813
- return this.isEmpty() ? t.makeEmpty() : (this.getCenter(t.center), t.radius = 0.5 * this.getSize(_vector$a).length()), t;
1833
+ return this.isEmpty() ? t.makeEmpty() : (this.getCenter(t.center), t.radius = 0.5 * this.getSize(_vector$b).length()), t;
1814
1834
  }
1815
1835
  intersect(t) {
1816
1836
  return this.min.max(t.min), this.max.min(t.max), this.isEmpty() && this.makeEmpty(), this;
@@ -1827,8 +1847,14 @@ class Box3 {
1827
1847
  equals(t) {
1828
1848
  return t.min.equals(this.min) && t.max.equals(this.max);
1829
1849
  }
1850
+ toJSON() {
1851
+ return { min: this.min.toArray(), max: this.max.toArray() };
1852
+ }
1853
+ fromJSON(t) {
1854
+ return this.min.fromArray(t.min), this.max.fromArray(t.max), this;
1855
+ }
1830
1856
  }
1831
- const _points = [new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1()], _vector$a = new Vector3$1(), _box$3 = new Box3(), _v0$2 = new Vector3$1(), _v1$7 = new Vector3$1(), _v2$4 = new Vector3$1(), _f0 = new Vector3$1(), _f1 = new Vector3$1(), _f2 = new Vector3$1(), _center = new Vector3$1(), _extents = new Vector3$1(), _triangleNormal = new Vector3$1(), _testAxis = new Vector3$1();
1857
+ const _points = [new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1(), new Vector3$1()], _vector$b = new Vector3$1(), _box$4 = new Box3(), _v0$2 = new Vector3$1(), _v1$7 = new Vector3$1(), _v2$4 = new Vector3$1(), _f0 = new Vector3$1(), _f1 = new Vector3$1(), _f2 = new Vector3$1(), _center = new Vector3$1(), _extents = new Vector3$1(), _triangleNormal = new Vector3$1(), _testAxis = new Vector3$1();
1832
1858
  function satForAxes(t, e, i, s, r) {
1833
1859
  for (let n = 0, a = t.length - 3; n <= a; n += 3) {
1834
1860
  _testAxis.fromArray(t, n);
@@ -1838,7 +1864,7 @@ function satForAxes(t, e, i, s, r) {
1838
1864
  }
1839
1865
  return true;
1840
1866
  }
1841
- const _vector$9 = new Vector3$1(), _segCenter = new Vector3$1(), _segDir = new Vector3$1(), _diff = new Vector3$1(), _edge1 = new Vector3$1(), _edge2 = new Vector3$1(), _normal$1 = new Vector3$1();
1867
+ const _vector$a = new Vector3$1(), _segCenter = new Vector3$1(), _segDir = new Vector3$1(), _diff = new Vector3$1(), _edge1 = new Vector3$1(), _edge2 = new Vector3$1(), _normal$1 = new Vector3$1();
1842
1868
  class Ray {
1843
1869
  constructor(t = new Vector3$1(), e = new Vector3$1(0, 0, -1)) {
1844
1870
  this.origin = t, this.direction = e;
@@ -1856,7 +1882,7 @@ class Ray {
1856
1882
  return this.direction.copy(t).sub(this.origin).normalize(), this;
1857
1883
  }
1858
1884
  recast(t) {
1859
- return this.origin.copy(this.at(t, _vector$9)), this;
1885
+ return this.origin.copy(this.at(t, _vector$a)), this;
1860
1886
  }
1861
1887
  closestPointToPoint(t, e) {
1862
1888
  e.subVectors(t, this.origin);
@@ -1867,8 +1893,8 @@ class Ray {
1867
1893
  return Math.sqrt(this.distanceSqToPoint(t));
1868
1894
  }
1869
1895
  distanceSqToPoint(t) {
1870
- const e = _vector$9.subVectors(t, this.origin).dot(this.direction);
1871
- return e < 0 ? this.origin.distanceToSquared(t) : (_vector$9.copy(this.origin).addScaledVector(this.direction, e), _vector$9.distanceToSquared(t));
1896
+ const e = _vector$a.subVectors(t, this.origin).dot(this.direction);
1897
+ return e < 0 ? this.origin.distanceToSquared(t) : (_vector$a.copy(this.origin).addScaledVector(this.direction, e), _vector$a.distanceToSquared(t));
1872
1898
  }
1873
1899
  distanceSqToSegment(t, e, i, s) {
1874
1900
  _segCenter.copy(t).add(e).multiplyScalar(0.5), _segDir.copy(e).sub(t).normalize(), _diff.copy(this.origin).sub(_segCenter);
@@ -1891,15 +1917,15 @@ class Ray {
1891
1917
  return i && i.copy(this.origin).addScaledVector(this.direction, c), s && s.copy(_segCenter).addScaledVector(_segDir, u), d;
1892
1918
  }
1893
1919
  intersectSphere(t, e) {
1894
- _vector$9.subVectors(t.center, this.origin);
1895
- const i = _vector$9.dot(this.direction), s = _vector$9.dot(_vector$9) - i * i, r = t.radius * t.radius;
1920
+ _vector$a.subVectors(t.center, this.origin);
1921
+ const i = _vector$a.dot(this.direction), s = _vector$a.dot(_vector$a) - i * i, r = t.radius * t.radius;
1896
1922
  if (s > r)
1897
1923
  return null;
1898
1924
  const n = Math.sqrt(r - s), a = i - n, o = i + n;
1899
1925
  return o < 0 ? null : a < 0 ? this.at(o, e) : this.at(a, e);
1900
1926
  }
1901
1927
  intersectsSphere(t) {
1902
- return this.distanceSqToPoint(t.center) <= t.radius * t.radius;
1928
+ return !(t.radius < 0) && this.distanceSqToPoint(t.center) <= t.radius * t.radius;
1903
1929
  }
1904
1930
  distanceToPlane(t) {
1905
1931
  const e = t.normal.dot(this.direction);
@@ -1924,7 +1950,7 @@ class Ray {
1924
1950
  return h >= 0 ? (i = (t.min.x - u.x) * h, s = (t.max.x - u.x) * h) : (i = (t.max.x - u.x) * h, s = (t.min.x - u.x) * h), l >= 0 ? (r = (t.min.y - u.y) * l, n = (t.max.y - u.y) * l) : (r = (t.max.y - u.y) * l, n = (t.min.y - u.y) * l), i > n || r > s ? null : ((r > i || isNaN(i)) && (i = r), (n < s || isNaN(s)) && (s = n), c >= 0 ? (a = (t.min.z - u.z) * c, o = (t.max.z - u.z) * c) : (a = (t.max.z - u.z) * c, o = (t.min.z - u.z) * c), i > o || a > s ? null : ((a > i || i != i) && (i = a), (o < s || s != s) && (s = o), s < 0 ? null : this.at(i >= 0 ? i : s, e)));
1925
1951
  }
1926
1952
  intersectsBox(t) {
1927
- return null !== this.intersectBox(t, _vector$9);
1953
+ return null !== this.intersectBox(t, _vector$a);
1928
1954
  }
1929
1955
  intersectTriangle(t, e, i, s, r) {
1930
1956
  _edge1.subVectors(e, t), _edge2.subVectors(i, t), _normal$1.crossVectors(_edge1, _edge2);
@@ -2033,8 +2059,8 @@ class Matrix4 {
2033
2059
  return this.multiplyMatrices(t, this);
2034
2060
  }
2035
2061
  multiplyMatrices(t, e) {
2036
- const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[4], o = i[8], h = i[12], l = i[1], c = i[5], u = i[9], d = i[13], p = i[2], f = i[6], _ = i[10], y = i[14], m = i[3], g = i[7], x = i[11], M = i[15], w = s[0], b = s[4], v = s[8], S = s[12], C = s[1], E = s[5], P = s[9], T = s[13], A2 = s[2], I = s[6], O = s[10], z = s[14], N = s[3], R = s[7], G = s[11], V = s[15];
2037
- return r[0] = n * w + a * C + o * A2 + h * N, r[4] = n * b + a * E + o * I + h * R, r[8] = n * v + a * P + o * O + h * G, r[12] = n * S + a * T + o * z + h * V, r[1] = l * w + c * C + u * A2 + d * N, r[5] = l * b + c * E + u * I + d * R, r[9] = l * v + c * P + u * O + d * G, r[13] = l * S + c * T + u * z + d * V, r[2] = p * w + f * C + _ * A2 + y * N, r[6] = p * b + f * E + _ * I + y * R, r[10] = p * v + f * P + _ * O + y * G, r[14] = p * S + f * T + _ * z + y * V, r[3] = m * w + g * C + x * A2 + M * N, r[7] = m * b + g * E + x * I + M * R, r[11] = m * v + g * P + x * O + M * G, r[15] = m * S + g * T + x * z + M * V, this;
2062
+ const i = t.elements, s = e.elements, r = this.elements, n = i[0], a = i[4], o = i[8], h = i[12], l = i[1], c = i[5], u = i[9], d = i[13], p = i[2], f = i[6], _ = i[10], y = i[14], m = i[3], g = i[7], x = i[11], M = i[15], w = s[0], b = s[4], v = s[8], S = s[12], C = s[1], E = s[5], P = s[9], T = s[13], A2 = s[2], I = s[6], O = s[10], z = s[14], N = s[3], R = s[7], G = s[11], $ = s[15];
2063
+ return r[0] = n * w + a * C + o * A2 + h * N, r[4] = n * b + a * E + o * I + h * R, r[8] = n * v + a * P + o * O + h * G, r[12] = n * S + a * T + o * z + h * $, r[1] = l * w + c * C + u * A2 + d * N, r[5] = l * b + c * E + u * I + d * R, r[9] = l * v + c * P + u * O + d * G, r[13] = l * S + c * T + u * z + d * $, r[2] = p * w + f * C + _ * A2 + y * N, r[6] = p * b + f * E + _ * I + y * R, r[10] = p * v + f * P + _ * O + y * G, r[14] = p * S + f * T + _ * z + y * $, r[3] = m * w + g * C + x * A2 + M * N, r[7] = m * b + g * E + x * I + M * R, r[11] = m * v + g * P + x * O + M * G, r[15] = m * S + g * T + x * z + M * $, this;
2038
2064
  }
2039
2065
  multiplyScalar(t) {
2040
2066
  const e = this.elements;
@@ -2105,29 +2131,33 @@ class Matrix4 {
2105
2131
  const o = 1 / r, h = 1 / n, l = 1 / a;
2106
2132
  return _m1$2.elements[0] *= o, _m1$2.elements[1] *= o, _m1$2.elements[2] *= o, _m1$2.elements[4] *= h, _m1$2.elements[5] *= h, _m1$2.elements[6] *= h, _m1$2.elements[8] *= l, _m1$2.elements[9] *= l, _m1$2.elements[10] *= l, e.setFromRotationMatrix(_m1$2), i.x = r, i.y = n, i.z = a, this;
2107
2133
  }
2108
- makePerspective(t, e, i, s, r, n, a = WebGLCoordinateSystem) {
2109
- const o = this.elements, h = 2 * r / (e - t), l = 2 * r / (i - s), c = (e + t) / (e - t), u = (i + s) / (i - s);
2110
- let d, p;
2111
- if (a === WebGLCoordinateSystem)
2112
- d = -(n + r) / (n - r), p = -2 * n * r / (n - r);
2134
+ makePerspective(t, e, i, s, r, n, a = WebGLCoordinateSystem, o = false) {
2135
+ const h = this.elements, l = 2 * r / (e - t), c = 2 * r / (i - s), u = (e + t) / (e - t), d = (i + s) / (i - s);
2136
+ let p, f;
2137
+ if (o)
2138
+ p = r / (n - r), f = n * r / (n - r);
2139
+ else if (a === WebGLCoordinateSystem)
2140
+ p = -(n + r) / (n - r), f = -2 * n * r / (n - r);
2113
2141
  else {
2114
2142
  if (a !== WebGPUCoordinateSystem)
2115
2143
  throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: " + a);
2116
- d = -n / (n - r), p = -n * r / (n - r);
2144
+ p = -n / (n - r), f = -n * r / (n - r);
2117
2145
  }
2118
- return o[0] = h, o[4] = 0, o[8] = c, o[12] = 0, o[1] = 0, o[5] = l, o[9] = u, o[13] = 0, o[2] = 0, o[6] = 0, o[10] = d, o[14] = p, o[3] = 0, o[7] = 0, o[11] = -1, o[15] = 0, this;
2146
+ return h[0] = l, h[4] = 0, h[8] = u, h[12] = 0, h[1] = 0, h[5] = c, h[9] = d, h[13] = 0, h[2] = 0, h[6] = 0, h[10] = p, h[14] = f, h[3] = 0, h[7] = 0, h[11] = -1, h[15] = 0, this;
2119
2147
  }
2120
- makeOrthographic(t, e, i, s, r, n, a = WebGLCoordinateSystem) {
2121
- const o = this.elements, h = 1 / (e - t), l = 1 / (i - s), c = 1 / (n - r), u = (e + t) * h, d = (i + s) * l;
2148
+ makeOrthographic(t, e, i, s, r, n, a = WebGLCoordinateSystem, o = false) {
2149
+ const h = this.elements, l = 2 / (e - t), c = 2 / (i - s), u = -(e + t) / (e - t), d = -(i + s) / (i - s);
2122
2150
  let p, f;
2123
- if (a === WebGLCoordinateSystem)
2124
- p = (n + r) * c, f = -2 * c;
2151
+ if (o)
2152
+ p = 1 / (n - r), f = n / (n - r);
2153
+ else if (a === WebGLCoordinateSystem)
2154
+ p = -2 / (n - r), f = -(n + r) / (n - r);
2125
2155
  else {
2126
2156
  if (a !== WebGPUCoordinateSystem)
2127
2157
  throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: " + a);
2128
- p = r * c, f = -1 * c;
2158
+ p = -1 / (n - r), f = -r / (n - r);
2129
2159
  }
2130
- return o[0] = 2 * h, o[4] = 0, o[8] = 0, o[12] = -u, o[1] = 0, o[5] = 2 * l, o[9] = 0, o[13] = -d, o[2] = 0, o[6] = 0, o[10] = f, o[14] = -p, o[3] = 0, o[7] = 0, o[11] = 0, o[15] = 1, this;
2160
+ return h[0] = l, h[4] = 0, h[8] = 0, h[12] = u, h[1] = 0, h[5] = c, h[9] = 0, h[13] = d, h[2] = 0, h[6] = 0, h[10] = p, h[14] = f, h[3] = 0, h[7] = 0, h[11] = 0, h[15] = 1, this;
2131
2161
  }
2132
2162
  equals(t) {
2133
2163
  const e = this.elements, i = t.elements;
@@ -2166,10 +2196,10 @@ class Color$1 {
2166
2196
  return this.r = t, this.g = t, this.b = t, this;
2167
2197
  }
2168
2198
  setHex(t, e = SRGBColorSpace) {
2169
- return t = Math.floor(t), this.r = (t >> 16 & 255) / 255, this.g = (t >> 8 & 255) / 255, this.b = (255 & t) / 255, ColorManagement.toWorkingColorSpace(this, e), this;
2199
+ return t = Math.floor(t), this.r = (t >> 16 & 255) / 255, this.g = (t >> 8 & 255) / 255, this.b = (255 & t) / 255, ColorManagement.colorSpaceToWorking(this, e), this;
2170
2200
  }
2171
2201
  setRGB(t, e, i, s = ColorManagement.workingColorSpace) {
2172
- return this.r = t, this.g = e, this.b = i, ColorManagement.toWorkingColorSpace(this, s), this;
2202
+ return this.r = t, this.g = e, this.b = i, ColorManagement.colorSpaceToWorking(this, s), this;
2173
2203
  }
2174
2204
  setHSL(t, e, i, s = ColorManagement.workingColorSpace) {
2175
2205
  if (t = euclideanModulo(t, 1), e = clamp$1(e, 0, 1), i = clamp$1(i, 0, 1), 0 === e)
@@ -2178,7 +2208,7 @@ class Color$1 {
2178
2208
  const s2 = i <= 0.5 ? i * (1 + e) : i + e - i * e, r = 2 * i - s2;
2179
2209
  this.r = hue2rgb(r, s2, t + 1 / 3), this.g = hue2rgb(r, s2, t), this.b = hue2rgb(r, s2, t - 1 / 3);
2180
2210
  }
2181
- return ColorManagement.toWorkingColorSpace(this, s), this;
2211
+ return ColorManagement.colorSpaceToWorking(this, s), this;
2182
2212
  }
2183
2213
  setStyle(t, e = SRGBColorSpace) {
2184
2214
  function i(e2) {
@@ -2238,13 +2268,13 @@ class Color$1 {
2238
2268
  return this.copyLinearToSRGB(this), this;
2239
2269
  }
2240
2270
  getHex(t = SRGBColorSpace) {
2241
- return ColorManagement.fromWorkingColorSpace(_color.copy(this), t), 65536 * Math.round(clamp$1(255 * _color.r, 0, 255)) + 256 * Math.round(clamp$1(255 * _color.g, 0, 255)) + Math.round(clamp$1(255 * _color.b, 0, 255));
2271
+ return ColorManagement.workingToColorSpace(_color.copy(this), t), 65536 * Math.round(clamp$1(255 * _color.r, 0, 255)) + 256 * Math.round(clamp$1(255 * _color.g, 0, 255)) + Math.round(clamp$1(255 * _color.b, 0, 255));
2242
2272
  }
2243
2273
  getHexString(t = SRGBColorSpace) {
2244
2274
  return ("000000" + this.getHex(t).toString(16)).slice(-6);
2245
2275
  }
2246
2276
  getHSL(t, e = ColorManagement.workingColorSpace) {
2247
- ColorManagement.fromWorkingColorSpace(_color.copy(this), e);
2277
+ ColorManagement.workingToColorSpace(_color.copy(this), e);
2248
2278
  const i = _color.r, s = _color.g, r = _color.b, n = Math.max(i, s, r), a = Math.min(i, s, r);
2249
2279
  let o, h;
2250
2280
  const l = (a + n) / 2;
@@ -2267,10 +2297,10 @@ class Color$1 {
2267
2297
  return t.h = o, t.s = h, t.l = l, t;
2268
2298
  }
2269
2299
  getRGB(t, e = ColorManagement.workingColorSpace) {
2270
- return ColorManagement.fromWorkingColorSpace(_color.copy(this), e), t.r = _color.r, t.g = _color.g, t.b = _color.b, t;
2300
+ return ColorManagement.workingToColorSpace(_color.copy(this), e), t.r = _color.r, t.g = _color.g, t.b = _color.b, t;
2271
2301
  }
2272
2302
  getStyle(t = SRGBColorSpace) {
2273
- ColorManagement.fromWorkingColorSpace(_color.copy(this), t);
2303
+ ColorManagement.workingToColorSpace(_color.copy(this), t);
2274
2304
  const e = _color.r, i = _color.g, s = _color.b;
2275
2305
  return t !== SRGBColorSpace ? `color(${t} ${e.toFixed(3)} ${i.toFixed(3)} ${s.toFixed(3)})` : `rgb(${Math.round(255 * e)},${Math.round(255 * i)},${Math.round(255 * s)})`;
2276
2306
  }
@@ -3008,10 +3038,10 @@ function computeRealRoots(t, e, i, s) {
3008
3038
  r = 2 * Math.sqrt(-C);
3009
3039
  var z = Math.cos(O);
3010
3040
  n = r * z;
3011
- var N = r * (-z / 2 - I * Math.sin(O)), R = n + N > 2 * o ? n - o : N - o, G = a, V = R / G;
3041
+ var N = r * (-z / 2 - I * Math.sin(O)), R = n + N > 2 * o ? n - o : N - o, G = a, $ = R / G;
3012
3042
  O = Math.abs(Math.atan2(l * A2, -T) / 3);
3013
- var L = -l, $ = (n = (r = 2 * Math.sqrt(-P)) * (z = Math.cos(O))) + (N = r * (-z / 2 - I * Math.sin(O))) < 2 * h ? n + h : N + h, q = L / $, k = -R * $ - G * L, B = (h * k - o * (R * L)) / (-o * k + h * (G * $));
3014
- return V <= B ? V <= q ? B <= q ? [V, B, q] : [V, q, B] : [q, V, B] : V <= q ? [B, V, q] : B <= q ? [B, q, V] : [q, B, V];
3043
+ var V = -l, q = (n = (r = 2 * Math.sqrt(-P)) * (z = Math.cos(O))) + (N = r * (-z / 2 - I * Math.sin(O))) < 2 * h ? n + h : N + h, L = V / q, k = -R * q - G * V, B = (h * k - o * (R * V)) / (-o * k + h * (G * q));
3044
+ return $ <= B ? $ <= L ? B <= L ? [$, B, L] : [$, L, B] : [L, $, B] : $ <= L ? [B, $, L] : B <= L ? [B, L, $] : [L, B, $];
3015
3045
  }
3016
3046
  CubicRealPolynomial.computeDiscriminant = function(t, e, i, s) {
3017
3047
  if ("number" != typeof t)
@@ -3745,7 +3775,7 @@ class Quaternion {
3745
3775
  copy(t) {
3746
3776
  return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
3747
3777
  }
3748
- setFromEuler(t, e) {
3778
+ setFromEuler(t, e = true) {
3749
3779
  const i = t._x, s = t._y, r = t._z, n = t._order, a = Math.cos, o = Math.sin, h = a(i / 2), l = a(s / 2), c = a(r / 2), u = o(i / 2), d = o(s / 2), p = o(r / 2);
3750
3780
  switch (n) {
3751
3781
  case "XYZ":
@@ -3769,7 +3799,7 @@ class Quaternion {
3769
3799
  default:
3770
3800
  console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + n);
3771
3801
  }
3772
- return false !== e && this._onChangeCallback(), this;
3802
+ return true === e && this._onChangeCallback(), this;
3773
3803
  }
3774
3804
  setFromAxisAngle(t, e) {
3775
3805
  const i = e / 2, s = Math.sin(i);
@@ -3794,7 +3824,7 @@ class Quaternion {
3794
3824
  }
3795
3825
  setFromUnitVectors(t, e) {
3796
3826
  let i = t.dot(e) + 1;
3797
- return i < Number.EPSILON ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
3827
+ return i < 1e-8 ? (i = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = i) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = i)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = i), this.normalize();
3798
3828
  }
3799
3829
  angleTo(t) {
3800
3830
  return 2 * Math.acos(Math.abs(clamp(this.dot(t), -1, 1)));
@@ -3850,7 +3880,7 @@ class Quaternion {
3850
3880
  const o = 1 - a * a;
3851
3881
  if (o <= Number.EPSILON) {
3852
3882
  const t4 = 1 - e;
3853
- return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this._onChangeCallback(), this;
3883
+ return this._w = t4 * n + e * this._w, this._x = t4 * i + e * this._x, this._y = t4 * s + e * this._y, this._z = t4 * r + e * this._z, this.normalize(), this;
3854
3884
  }
3855
3885
  const h = Math.sqrt(o), l = Math.atan2(h, a), c = Math.sin((1 - e) * l) / h, u = Math.sin(e * l) / h;
3856
3886
  return this._w = n * c + this._w * u, this._x = i * c + this._x * u, this._y = s * c + this._y * u, this._z = r * c + this._z * u, this._onChangeCallback(), this;
@@ -3859,8 +3889,8 @@ class Quaternion {
3859
3889
  return this.copy(t).slerp(e, i);
3860
3890
  }
3861
3891
  random() {
3862
- const t = Math.random(), e = Math.sqrt(1 - t), i = Math.sqrt(t), s = 2 * Math.PI * Math.random(), r = 2 * Math.PI * Math.random();
3863
- return this.set(e * Math.cos(s), i * Math.sin(r), i * Math.cos(r), e * Math.sin(s));
3892
+ const t = 2 * Math.PI * Math.random(), e = 2 * Math.PI * Math.random(), i = Math.random(), s = Math.sqrt(1 - i), r = Math.sqrt(i);
3893
+ return this.set(s * Math.sin(t), s * Math.cos(t), r * Math.sin(e), r * Math.cos(e));
3864
3894
  }
3865
3895
  equals(t) {
3866
3896
  return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w;
@@ -3872,7 +3902,7 @@ class Quaternion {
3872
3902
  return t[e] = this._x, t[e + 1] = this._y, t[e + 2] = this._z, t[e + 3] = this._w, t;
3873
3903
  }
3874
3904
  fromBufferAttribute(t, e) {
3875
- return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this;
3905
+ return this._x = t.getX(e), this._y = t.getY(e), this._z = t.getZ(e), this._w = t.getW(e), this._onChangeCallback(), this;
3876
3906
  }
3877
3907
  toJSON() {
3878
3908
  return this.toArray();
@@ -4013,14 +4043,14 @@ class Vector3 {
4013
4043
  return this.x = Math.max(this.x, t.x), this.y = Math.max(this.y, t.y), this.z = Math.max(this.z, t.z), this;
4014
4044
  }
4015
4045
  clamp(t, e) {
4016
- return this.x = Math.max(t.x, Math.min(e.x, this.x)), this.y = Math.max(t.y, Math.min(e.y, this.y)), this.z = Math.max(t.z, Math.min(e.z, this.z)), this;
4046
+ return this.x = clamp(this.x, t.x, e.x), this.y = clamp(this.y, t.y, e.y), this.z = clamp(this.z, t.z, e.z), this;
4017
4047
  }
4018
4048
  clampScalar(t, e) {
4019
- return this.x = Math.max(t, Math.min(e, this.x)), this.y = Math.max(t, Math.min(e, this.y)), this.z = Math.max(t, Math.min(e, this.z)), this;
4049
+ return this.x = clamp(this.x, t, e), this.y = clamp(this.y, t, e), this.z = clamp(this.z, t, e), this;
4020
4050
  }
4021
4051
  clampLength(t, e) {
4022
4052
  const i = this.length();
4023
- return this.divideScalar(i || 1).multiplyScalar(Math.max(t, Math.min(e, i)));
4053
+ return this.divideScalar(i || 1).multiplyScalar(clamp(i, t, e));
4024
4054
  }
4025
4055
  floor() {
4026
4056
  return this.x = Math.floor(this.x), this.y = Math.floor(this.y), this.z = Math.floor(this.z), this;
@@ -4147,8 +4177,8 @@ class Vector3 {
4147
4177
  return this.x = Math.random(), this.y = Math.random(), this.z = Math.random(), this;
4148
4178
  }
4149
4179
  randomDirection() {
4150
- const t = 2 * (Math.random() - 0.5), e = Math.random() * Math.PI * 2, i = Math.sqrt(1 - t ** 2);
4151
- return this.x = i * Math.cos(e), this.y = i * Math.sin(e), this.z = t, this;
4180
+ const t = Math.random() * Math.PI * 2, e = 2 * Math.random() - 1, i = Math.sqrt(1 - e * e);
4181
+ return this.x = i * Math.cos(t), this.y = e, this.z = i * Math.sin(t), this;
4152
4182
  }
4153
4183
  *[Symbol.iterator]() {
4154
4184
  yield this.x, yield this.y, yield this.z;
@@ -4238,26 +4268,26 @@ __publicField(CoordTransformer, "_pathCache", /* @__PURE__ */ new Map());
4238
4268
  const _pointIn$1 = new Vector3$1(), _pointOut$1 = new Vector3$1(), reprojectCoordinate = (t, e, i, s, r, n) => {
4239
4269
  let a = CoordTransformer.canTransform(t, e);
4240
4270
  return i !== s && i && s || a ? (i.unprojectCoordinate(r, _pointOut$1), a ? CoordTransformer.transform(t, e, _pointOut$1, _pointIn$1) : _pointIn$1.copy(_pointOut$1), s.projectCoordinate(_pointIn$1, n), n) : (n.copy(r), n);
4241
- }, projectVertices = (t, e, i = true, s = true) => {
4242
- if (!e.forceProjectCoordinates && e.targetProjectionName === e.sourceProjectionName)
4271
+ }, projectVertices = (t, e, i = true, s = true, r = false) => {
4272
+ if (!e.forceProjectCoordinates && !r && e.targetProjectionName === e.sourceProjectionName)
4243
4273
  return;
4244
- const r = e.sourceProjection, n = e.targetProjection, a = e.sourceCoordType, o = e.targetCoordType, [h, l, c] = e.targetCenter, u = e.forceUseGeoBoundingBox || r.isGeo, d = u ? e.geoBoundingBox : e.projectedBoundingBox;
4245
- let p, f, _, y;
4246
- if (d.isBox3) {
4247
- const t4 = d.min, e2 = d.max;
4248
- p = t4.x, f = t4.y, _ = e2.x, y = e2.y;
4274
+ const n = e.sourceProjection, a = e.targetProjection, o = e.sourceCoordType, h = e.targetCoordType, [l, c, u] = e.targetCenter, d = e.forceUseGeoBoundingBox || n.isGeo, p = d ? e.geoBoundingBox : e.projectedBoundingBox;
4275
+ let f, _, y, m;
4276
+ if (p.isBox3) {
4277
+ const t4 = p.min, e2 = p.max;
4278
+ f = t4.x, _ = t4.y, y = e2.x, m = e2.y;
4249
4279
  } else
4250
- [p, f, , _, y] = d;
4251
- const m = _ - p, g = y - f;
4280
+ [f, _, , y, m] = p;
4281
+ const g = y - f, x = m - _;
4252
4282
  if (i)
4253
4283
  for (let e2 = 0, i2 = t.length - 2; e2 < i2; e2 += 3) {
4254
- const i3 = t[e2], d2 = t[e2 + 1], _2 = t[e2 + 2];
4255
- _pointIn$1.set(p + (i3 + 0.5) * m, f + (d2 + 0.5) * g, _2), u ? (a !== o && CoordTransformer.transform(a, o, _pointIn$1, _pointIn$1), n.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(a, o, r, n, _pointIn$1, _pointOut$1), t[e2] = _pointOut$1.x, t[e2 + 1] = _pointOut$1.y, t[e2 + 2] = _pointOut$1.z, s && (t[e2] -= h, t[e2 + 1] -= l, t[e2 + 2] -= c);
4284
+ const i3 = t[e2], r2 = t[e2 + 1], p2 = t[e2 + 2];
4285
+ _pointIn$1.set(f + (i3 + 0.5) * g, _ + (r2 + 0.5) * x, p2), d ? (o !== h && CoordTransformer.transform(o, h, _pointIn$1, _pointIn$1), a.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(o, h, n, a, _pointIn$1, _pointOut$1), t[e2] = _pointOut$1.x, t[e2 + 1] = _pointOut$1.y, t[e2 + 2] = _pointOut$1.z, s && (t[e2] -= l, t[e2 + 1] -= c, t[e2 + 2] -= u);
4256
4286
  }
4257
4287
  else
4258
4288
  for (let e2 = 0, i2 = t.length; e2 < i2; e2 += 1) {
4259
- const i3 = t[e2], d2 = i3[0], _2 = i3[1], y2 = i3[2];
4260
- _pointIn$1.set(p + (d2 + 0.5) * m, f + (_2 + 0.5) * g, y2), u ? (a !== o && CoordTransformer.transform(a, o, _pointIn$1, _pointIn$1), n.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(a, o, r, n, _pointIn$1, _pointOut$1), i3[0] = _pointOut$1.x, i3[1] = _pointOut$1.y, i3[2] = _pointOut$1.z, s && (i3[0] -= h, i3[1] -= l, i3[2] -= c);
4289
+ const i3 = t[e2], r2 = i3[0], p2 = i3[1], y2 = i3[2];
4290
+ _pointIn$1.set(f + (r2 + 0.5) * g, _ + (p2 + 0.5) * x, y2), d ? (o !== h && CoordTransformer.transform(o, h, _pointIn$1, _pointIn$1), a.projectCoordinate(_pointIn$1, _pointOut$1)) : reprojectCoordinate(o, h, n, a, _pointIn$1, _pointOut$1), i3[0] = _pointOut$1.x, i3[1] = _pointOut$1.y, i3[2] = _pointOut$1.z, s && (i3[0] -= l, i3[1] -= c, i3[2] -= u);
4261
4291
  }
4262
4292
  }, subdivideVertices = (t, e, i, s) => {
4263
4293
  if (s.sourceProjectionName === s.targetProjectionName)
@@ -4281,25 +4311,45 @@ const _pointIn$1 = new Vector3$1(), _pointOut$1 = new Vector3$1(), reprojectCoor
4281
4311
  return t;
4282
4312
  const i = Math.max(2, 16 - e.z);
4283
4313
  return subdivideLine(t, 1 / i);
4284
- }, createGroundTileMesh = (t, e) => {
4285
- const { vertices: i, uvs: s, indices: r } = subdivideVertices([-0.5, -0.5, 0, -0.5, 0.5, 0, 0.5, 0.5, 0, 0.5, -0.5, 0], [0, 2, 1, 0, 3, 2], [0, 0, 0, 1, 1, 1, 1, 0], t);
4286
- projectVertices(i, t);
4287
- const n = { vertices: i, uvs: s, indices: r };
4314
+ }, computeNormals = (t, e = 3, i = 0) => {
4315
+ const { vertices: s, indices: r } = t, n = s.length / e, a = new Array(3 * n).fill(0), o = new Array(n).fill(0);
4316
+ for (let t4 = 0; t4 < r.length; t4 += 3) {
4317
+ const n2 = r[t4], h = r[t4 + 1], l = r[t4 + 2], c = s[n2 * e + i], u = s[n2 * e + i + 1], d = s[n2 * e + i + 2], p = s[h * e + i] - c, f = s[h * e + i + 1] - u, _ = s[h * e + i + 2] - d, y = s[l * e + i] - c, m = s[l * e + i + 1] - u, g = s[l * e + i + 2] - d, x = f * g - _ * m, M = _ * y - p * g, w = p * m - f * y;
4318
+ a[3 * n2] += x, a[3 * n2 + 1] += M, a[3 * n2 + 2] += w, o[n2]++, a[3 * h] += x, a[3 * h + 1] += M, a[3 * h + 2] += w, o[h]++, a[3 * l] += x, a[3 * l + 1] += M, a[3 * l + 2] += w, o[l]++;
4319
+ }
4320
+ for (let t4 = 0; t4 < n; t4++) {
4321
+ const e2 = o[t4];
4322
+ if (e2 > 0) {
4323
+ let i2 = a[3 * t4] / e2, s2 = a[3 * t4 + 1] / e2, r2 = a[3 * t4 + 2] / e2;
4324
+ const n2 = Math.sqrt(i2 * i2 + s2 * s2 + r2 * r2);
4325
+ if (n2 > 0) {
4326
+ const t5 = 1 / n2;
4327
+ i2 *= t5, s2 *= t5, r2 *= t5;
4328
+ } else
4329
+ i2 = 0, s2 = 0, r2 = 1;
4330
+ a[3 * t4] = i2, a[3 * t4 + 1] = s2, a[3 * t4 + 2] = r2;
4331
+ }
4332
+ }
4333
+ t.normals = a;
4334
+ }, createGroundTileMesh = (t, e, i = true) => {
4335
+ const { vertices: s, uvs: r, indices: n } = subdivideVertices([-0.5, -0.5, 0, -0.5, 0.5, 0, 0.5, 0.5, 0, 0.5, -0.5, 0], [0, 2, 1, 0, 3, 2], [0, 0, 0, 1, 1, 1, 1, 0], t);
4336
+ projectVertices(s, t);
4337
+ const a = { vertices: s, uvs: r, indices: n };
4288
4338
  if (e) {
4289
- const t4 = i.length / 3;
4339
+ const t4 = s.length / 3;
4290
4340
  for (const i2 of Object.keys(e)) {
4291
- const s2 = e[i2], r2 = Array.isArray(s2), a = r2 ? s2.length : 1, o = [];
4341
+ const s2 = e[i2], r2 = Array.isArray(s2), n2 = r2 ? s2.length : 1, o = [];
4292
4342
  if (r2)
4293
4343
  for (let e2 = 0; e2 < t4; e2++)
4294
- for (let t5 = 0; t5 < a; t5++)
4344
+ for (let t5 = 0; t5 < n2; t5++)
4295
4345
  o.push(s2[t5]);
4296
4346
  else
4297
4347
  for (let e2 = 0; e2 < t4; e2++)
4298
4348
  o.push(s2);
4299
- n[i2] = o;
4349
+ a[i2] = o;
4300
4350
  }
4301
4351
  }
4302
- return n;
4352
+ return i && computeNormals(a), a;
4303
4353
  }, LAYER_INDEX = 1e-3;
4304
4354
  new Vector3$1(), new Vector3$1();
4305
4355
  class BackGroundExecuter {
@@ -4332,7 +4382,7 @@ class BackGroundExecuter {
4332
4382
  this._color.a = e;
4333
4383
  }
4334
4384
  _setupBackgroundData() {
4335
- const t = this._color, e = createGroundTileMesh(this.tileConfig, { colors: [t.r, t.g, t.b, t.a], normals: [0, 0, 1], layerIndices: LAYER_INDEX });
4385
+ const t = this._color, e = createGroundTileMesh(this.tileConfig, { colors: [t.r, t.g, t.b, t.a], layerIndices: LAYER_INDEX });
4336
4386
  this._vertices = new Float32Array(e.vertices), this._uvs = new Float32Array(e.uvs), this._indices = new Uint32Array(e.indices), this._colors = new Float32Array(e.colors), this._normals = new Float32Array(e.normals), this._layerIndices = new Float32Array(e.layerIndices);
4337
4387
  }
4338
4388
  }
@@ -4994,30 +5044,41 @@ function vector2RotateTo(t, e) {
4994
5044
  let i = t.x * e.x + t.y * e.y, s = Math.sqrt(t.x * t.x + t.y * t.y), r = Math.sqrt(e.x * e.x + e.y * e.y), n = Math.acos(i / (s * r));
4995
5045
  return t.x * e.y - e.x * t.y < 0 && (n = 2 * Math.PI - n), n;
4996
5046
  }
4997
- const _centerIn = new Vector3$1(), _lastPosition = new Vector3$1(), _currentPosition = new Vector3$1(), _lineNormal = new Vector3$1(), _offset = new Vector3$1(), _segmentLines3D = (t, e, i, s, r, n, a, o, h, l, c, u, d, p) => {
4998
- const f = d.targetCenter, _ = d.targetProjection, { sourceProjectionName: y, targetProjectionName: m } = d;
4999
- let g = 0;
5000
- _centerIn.fromArray(f), _lastPosition.fromArray(a), _currentPosition.fromArray(o);
5001
- let x = u.value;
5002
- r.push(x, x), n.push(x, 1, x, 0);
5003
- const M = _.getProjectedSurfaceNormal(_lastPosition, _lineNormal), w = _offset.copy(_currentPosition).sub(_lastPosition), b = _lineNormal.crossVectors(M, w).normalize();
5004
- return y !== m && (_lastPosition.sub(_centerIn), _currentPosition.sub(_centerIn)), i.push(b.x, b.y, b.z, -b.x, -b.y, -b.z), t.push(_lastPosition.x, _lastPosition.y, _lastPosition.z, _lastPosition.x, _lastPosition.y, _lastPosition.z), e.push(h, h), g += 2, c || (s.push(l + 0 - 2, l + 1 - 2, l + 2 - 2), s.push(l + 2 - 2, l + 1 - 2, l + 3 - 2)), s.push(l, l + 1, l + 2), i.push(b.x, b.y, b.z, -b.x, -b.y, -b.z), t.push(_currentPosition.x, _currentPosition.y, _currentPosition.z, _currentPosition.x, _currentPosition.y, _currentPosition.z), e.push(h, h), x += getDistance(a, o) / p, r.push(x, x), n.push(x, 1, x, 0), u.value = x, g += 2, s.push(l + 2, l + 1, l + 3), 4;
5047
+ const _centerIn = new Vector3$1(), _lastPosition = new Vector3$1(), _currentPosition = new Vector3$1(), _lineNormal = new Vector3$1(), _offset = new Vector3$1(), _segmentLines3D = (t, e, i, s, r, n, a, o, h, l, c, u, d, p, f, _) => {
5048
+ const y = d.targetCenter, m = d.targetProjection, { sourceProjectionName: g, targetProjectionName: x } = d;
5049
+ let M = 0;
5050
+ _centerIn.fromArray(y), _lastPosition.fromArray(a), _currentPosition.fromArray(o);
5051
+ let w = u.value;
5052
+ r.push(w, w), n.push(w, 1, w, 0);
5053
+ const b = m.getProjectedSurfaceNormal(_lastPosition, _lineNormal), v = _offset.copy(_currentPosition).sub(_lastPosition), S = _lineNormal.crossVectors(b, v).normalize();
5054
+ g !== x && (_lastPosition.sub(_centerIn), _currentPosition.sub(_centerIn)), i.push(S.x, S.y, S.z, -S.x, -S.y, -S.z), t.push(_lastPosition.x, _lastPosition.y, _lastPosition.z, _lastPosition.x, _lastPosition.y, _lastPosition.z), e.push(h, h), M += 2, c || (s.push(l + 0 - 2, l + 1 - 2, l + 2 - 2), s.push(l + 2 - 2, l + 1 - 2, l + 3 - 2)), s.push(l, l + 1, l + 2), i.push(S.x, S.y, S.z, -S.x, -S.y, -S.z), t.push(_currentPosition.x, _currentPosition.y, _currentPosition.z, _currentPosition.x, _currentPosition.y, _currentPosition.z), e.push(h, h);
5055
+ return w += (f && _ ? getDistance(f, _) : getDistance(a, o)) / p, r.push(w, w), n.push(w, 1, w, 0), u.value = w, M += 2, s.push(l + 2, l + 1, l + 3), 4;
5005
5056
  };
5006
- function lineToMesh(t, e, i, s, r = 1) {
5007
- let n = 0, a = null, o = null, h = null, l = null;
5008
- const c = [], u = [], d = [], p = [], f = [], _ = [];
5009
- let y;
5010
- const m = { value: 0 };
5011
- let g = true;
5012
- for (let s2 = 1, y2 = t.length - 1; s2 <= y2; s2++) {
5013
- if (a = l || t[s2 - 1], o = t[s2], h = t[s2 + 1], h && isPointEqual(o, h)) {
5014
- l = a;
5057
+ function lineToMesh(t, e, i, s, r = 1, n) {
5058
+ let a = t;
5059
+ if (!Array.isArray(t[0])) {
5060
+ a = [];
5061
+ for (let e2 = 0; e2 < t.length; e2 += 3)
5062
+ a.push([t[e2], t[e2 + 1], t[e2 + 2]]);
5063
+ }
5064
+ let o = 0, h = null, l = null, c = null;
5065
+ const u = [], d = [], p = [], f = [], _ = [], y = [];
5066
+ let m;
5067
+ const g = { value: 0 }, x = n || a;
5068
+ let M = true;
5069
+ for (let t4 = 1, s2 = a.length - 1; t4 <= s2; t4++) {
5070
+ h = c || a[t4 - 1], l = a[t4];
5071
+ const s3 = c ? n ? n[a.indexOf(c)] : c : x[t4 - 1], m2 = x[t4], w = x[t4 + 1];
5072
+ if (w && isPointEqual(m2, w)) {
5073
+ c = h;
5015
5074
  continue;
5016
5075
  }
5017
- let y3 = 0;
5018
- y3 = _segmentLines3D(c, p, u, d, f, _, a, o, e, n, g, m, i, r), -1 !== y3 && (n += y3, l = null), g = false;
5076
+ let b = 0;
5077
+ b = _segmentLines3D(u, f, d, p, _, y, h, l, e, o, M, g, i, r, s3, m2), -1 !== b && (o += b, c = null), M = false;
5019
5078
  }
5020
- return s && (y = new Array(f.length).fill(m.value)), { vertices: c, indices: d, normals: u, widths: p, lengths: f, totalLengths: y, uvs: _ };
5079
+ for (let t4 = 0; t4 < y.length; t4++)
5080
+ t4 % 2 == 0 && (y[t4] = g.value - y[t4]);
5081
+ return s && (m = new Array(_.length).fill(g.value)), { vertices: u, indices: p, normals: d, widths: f, lengths: _, totalLengths: m, uvs: y };
5021
5082
  }
5022
5083
  const PROJECTION_GEO = "EPSG:4326", PROJECTION_WEB_MERCATOR = "EPSG:3857", PROJECTION_ECEF = "EPSG:4978", PROJECTION_BD_MERCATOR = "BD:MERCATOR", PROJECTION_SCREEN_PIXEL = "SCREEN_PIXEL";
5023
5084
  function pushInBatches(t, e, i = 1e4) {
@@ -5417,9 +5478,9 @@ class Executer {
5417
5478
  return s;
5418
5479
  }
5419
5480
  _mergeArray(t, e) {
5420
- const { vertices_opaque: i, colors_opaque: s, uvs_opaque: r, indices_opaque: n, indices_opaque_side: a, normals_opaque: o, widths_opaque: h, layerIndices_opaque: l, extentVertices_opaque: c, vertices_translucent: u, colors_translucent: d, uvs_translucent: p, indices_translucent: f, indices_translucent_side: _, normals_translucent: y, widths_translucent: m, layerIndices_translucent: g, extentVertices_translucent: x, vertices_dashed: M, colors_dashed: w, indices_dashed: b, normals_dashed: v, widths_dashed: S, layerIndices_dashed: C, extentVertices_dashed: E, lengths_dashed: P, dashArray_dashed: T, dashRatio_dashed: A2, vertices_water: I, colors_water: O, uvs_water: z, indices_water: N, normals_water: R, layerIndices_water: G, vertices_wood: V, colors_wood: L, uvs_wood: $, indices_wood: q, normals_wood: k, layerIndices_wood: B, vertices_pattern: F, colors_pattern: D, uvs_pattern: j, indices_pattern: U, normals_pattern: W, layerIndices_pattern: H, icons_pattern: X } = e;
5481
+ const { vertices_opaque: i, colors_opaque: s, uvs_opaque: r, indices_opaque: n, indices_opaque_side: a, normals_opaque: o, widths_opaque: h, layerIndices_opaque: l, extentVertices_opaque: c, vertices_translucent: u, colors_translucent: d, uvs_translucent: p, indices_translucent: f, indices_translucent_side: _, normals_translucent: y, widths_translucent: m, layerIndices_translucent: g, extentVertices_translucent: x, vertices_dashed: M, colors_dashed: w, indices_dashed: b, normals_dashed: v, widths_dashed: S, layerIndices_dashed: C, extentVertices_dashed: E, lengths_dashed: P, dashArray_dashed: T, dashRatio_dashed: A2, vertices_water: I, colors_water: O, uvs_water: z, indices_water: N, normals_water: R, layerIndices_water: G, vertices_wood: $, colors_wood: V, uvs_wood: q, indices_wood: L, normals_wood: k, layerIndices_wood: B, vertices_pattern: F, colors_pattern: D, uvs_pattern: j, indices_pattern: U, normals_pattern: W, layerIndices_pattern: H, icons_pattern: X } = e;
5421
5482
  if (t instanceof FillExecuter)
5422
- this._fillOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n }), this._fillTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f }), this._fillWaterArray.push({ vertices: I, colors: O, uvs: z, normals: R, layerIndices: G, indices: N }), this._fillWoodArray.push({ vertices: V, colors: L, uvs: $, normals: k, layerIndices: B, indices: q }), this._fillPatternArray.push({ vertices: F, colors: D, uvs: j, normals: W, layerIndices: H, indices: U, icons: X }), this._fill_opaque.vertices += i.length, this._fill_opaque.uvs += r.length, this._fill_opaque.colors += s.length, this._fill_opaque.normals += o.length, this._fill_opaque.layerIndices += l.length, this._fill_opaque.indices += n.length, this._fill_translucent.vertices += u.length, this._fill_translucent.uvs += p.length, this._fill_translucent.colors += d.length, this._fill_translucent.normals += y.length, this._fill_translucent.layerIndices += g.length, this._fill_translucent.indices += f.length, this._fill_water.vertices += I.length, this._fill_water.uvs += z.length, this._fill_water.colors += O.length, this._fill_water.normals += R.length, this._fill_water.layerIndices += G.length, this._fill_water.indices += N.length, this._fill_wood.vertices += V.length, this._fill_wood.uvs += $.length, this._fill_wood.colors += L.length, this._fill_wood.normals += k.length, this._fill_wood.layerIndices += B.length, this._fill_wood.indices += q.length, this._fill_pattern.vertices += F.length, this._fill_pattern.uvs += j.length, this._fill_pattern.colors += D.length, this._fill_pattern.normals += W.length, this._fill_pattern.layerIndices += H.length, this._fill_pattern.indices += U.length, this._fill_pattern.icons += X.length;
5483
+ this._fillOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n }), this._fillTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f }), this._fillWaterArray.push({ vertices: I, colors: O, uvs: z, normals: R, layerIndices: G, indices: N }), this._fillWoodArray.push({ vertices: $, colors: V, uvs: q, normals: k, layerIndices: B, indices: L }), this._fillPatternArray.push({ vertices: F, colors: D, uvs: j, normals: W, layerIndices: H, indices: U, icons: X }), this._fill_opaque.vertices += i.length, this._fill_opaque.uvs += r.length, this._fill_opaque.colors += s.length, this._fill_opaque.normals += o.length, this._fill_opaque.layerIndices += l.length, this._fill_opaque.indices += n.length, this._fill_translucent.vertices += u.length, this._fill_translucent.uvs += p.length, this._fill_translucent.colors += d.length, this._fill_translucent.normals += y.length, this._fill_translucent.layerIndices += g.length, this._fill_translucent.indices += f.length, this._fill_water.vertices += I.length, this._fill_water.uvs += z.length, this._fill_water.colors += O.length, this._fill_water.normals += R.length, this._fill_water.layerIndices += G.length, this._fill_water.indices += N.length, this._fill_wood.vertices += $.length, this._fill_wood.uvs += q.length, this._fill_wood.colors += V.length, this._fill_wood.normals += k.length, this._fill_wood.layerIndices += B.length, this._fill_wood.indices += L.length, this._fill_pattern.vertices += F.length, this._fill_pattern.uvs += j.length, this._fill_pattern.colors += D.length, this._fill_pattern.normals += W.length, this._fill_pattern.layerIndices += H.length, this._fill_pattern.indices += U.length, this._fill_pattern.icons += X.length;
5423
5484
  else if (t instanceof FillExtrusionExecuter)
5424
5485
  this._fillExtrusionOpaqueArray.push({ vertices: i, colors: s, uvs: r, normals: o, layerIndices: l, indices: n, indices_side: a, extentVertices: c }), this._fillExtrusionTranslucentArray.push({ vertices: u, colors: d, uvs: p, normals: y, layerIndices: g, indices: f, indices_side: _, extentVertices: x }), this._fill_extrusion_opaque.vertices += i.length, this._fill_extrusion_opaque.colors += s.length, this._fill_extrusion_opaque.uvs += r.length, this._fill_extrusion_opaque.normals += o.length, this._fill_extrusion_opaque.layerIndices += l.length, this._fill_extrusion_opaque.indices += n.length, this._fill_extrusion_opaque.indices_side += a.length, this._fill_extrusion_opaque.extentVertices += c.length, this._fill_extrusion_translucent.vertices += u.length, this._fill_extrusion_translucent.colors += d.length, this._fill_extrusion_translucent.uvs += p.length, this._fill_extrusion_translucent.normals += y.length, this._fill_extrusion_translucent.layerIndices += g.length, this._fill_extrusion_translucent.indices += f.length, this._fill_extrusion_translucent.indices_side += _.length, this._fill_extrusion_translucent.extentVertices += x.length;
5425
5486
  else if (t instanceof LineExecuter)
@@ -8081,26 +8142,21 @@ extend(Point.prototype, { equals: function(t) {
8081
8142
  if (t.lng > 180 || t.lng < -180 || t.lat > 90 || t.lat < -90)
8082
8143
  return t;
8083
8144
  let e, i;
8084
- if (t.lng = this.getLoop(t.lng, -180, 180), t.lat = this.getRange(t.lat, -74, 74), e = new Point(t.lng, t.lat), window.BMAPGL_84) {
8085
- var s = {}, r = 6378137;
8086
- s.lng = e.lng * Math.PI / 180 * r;
8087
- var n = e.lat * Math.PI / 180;
8088
- return s.lat = 31890685e-1 * Math.log((1 + Math.sin(n)) / (1 - Math.sin(n))), new Point(Number(s.lng), Number(s.lat));
8089
- }
8090
- for (var a = 0; a < this.LLBAND.length; a++)
8091
- if (e.lat >= this.LLBAND[a]) {
8092
- i = this.LL2MC[a];
8145
+ t.lng = this.getLoop(t.lng, -180, 180), t.lat = this.getRange(t.lat, -74, 74), e = new Point(t.lng, t.lat);
8146
+ for (var s = 0; s < this.LLBAND.length; s++)
8147
+ if (e.lat >= this.LLBAND[s]) {
8148
+ i = this.LL2MC[s];
8093
8149
  break;
8094
8150
  }
8095
8151
  if (!i) {
8096
- for (a = 0; a < this.LLBAND.length; a++)
8097
- if (e.lat <= -this.LLBAND[a]) {
8098
- i = this.LL2MC[a];
8152
+ for (s = 0; s < this.LLBAND.length; s++)
8153
+ if (e.lat <= -this.LLBAND[s]) {
8154
+ i = this.LL2MC[s];
8099
8155
  break;
8100
8156
  }
8101
8157
  }
8102
- let o = this.convertor(t, i);
8103
- return t = new Point(Number(o.lng), Number(o.lat));
8158
+ let r = this.convertor(t, i);
8159
+ return t = new Point(Number(r.lng), Number(r.lat));
8104
8160
  }, convertor: function(t, e) {
8105
8161
  if (!t || !e)
8106
8162
  return;
@@ -8428,7 +8484,7 @@ proj4Src.exports = function() {
8428
8484
  const e2 = t4.toUpperCase();
8429
8485
  return e2.includes("PROJCRS") || e2.includes("GEOGCRS") || e2.includes("BOUNDCRS") || e2.includes("VERTCRS") || e2.includes("LENGTHUNIT") || e2.includes("ANGLEUNIT") || e2.includes("SCALEUNIT") ? "WKT2" : (e2.includes("PROJCS") || e2.includes("GEOGCS") || e2.includes("LOCAL_CS") || e2.includes("VERT_CS") || e2.includes("UNIT"), "WKT1");
8430
8486
  }
8431
- var O = 1, z = 2, N = 3, R = 4, G = 5, V = -1, L = /\s/, $ = /[A-Za-z]/, q = /[A-Za-z84_]/, k = /[,\]]/, B = /[\d\.E\-\+]/;
8487
+ var O = 1, z = 2, N = 3, R = 4, G = 5, $ = -1, V = /\s/, q = /[A-Za-z]/, L = /[A-Za-z84_]/, k = /[,\]]/, B = /[\d\.E\-\+]/;
8432
8488
  function F(t4) {
8433
8489
  if ("string" != typeof t4)
8434
8490
  throw new Error("not a string");
@@ -8501,7 +8557,7 @@ proj4Src.exports = function() {
8501
8557
  F.prototype.readCharicter = function() {
8502
8558
  var t4 = this.text[this.place++];
8503
8559
  if (this.state !== R)
8504
- for (; L.test(t4); ) {
8560
+ for (; V.test(t4); ) {
8505
8561
  if (this.place >= this.text.length)
8506
8562
  return;
8507
8563
  t4 = this.text[this.place++];
@@ -8517,7 +8573,7 @@ proj4Src.exports = function() {
8517
8573
  return this.afterquote(t4);
8518
8574
  case N:
8519
8575
  return this.number(t4);
8520
- case V:
8576
+ case $:
8521
8577
  return;
8522
8578
  }
8523
8579
  }, F.prototype.afterquote = function(t4) {
@@ -8527,7 +8583,7 @@ proj4Src.exports = function() {
8527
8583
  return this.word = this.word.trim(), void this.afterItem(t4);
8528
8584
  throw new Error(`havn't handled "` + t4 + '" in afterquote yet, index ' + this.place);
8529
8585
  }, F.prototype.afterItem = function(t4) {
8530
- return "," === t4 ? (null !== this.word && this.currentObject.push(this.word), this.word = null, void (this.state = O)) : "]" === t4 ? (this.level--, null !== this.word && (this.currentObject.push(this.word), this.word = null), this.state = O, this.currentObject = this.stack.pop(), void (this.currentObject || (this.state = V))) : void 0;
8586
+ return "," === t4 ? (null !== this.word && this.currentObject.push(this.word), this.word = null, void (this.state = O)) : "]" === t4 ? (this.level--, null !== this.word && (this.currentObject.push(this.word), this.word = null), this.state = O, this.currentObject = this.stack.pop(), void (this.currentObject || (this.state = $))) : void 0;
8531
8587
  }, F.prototype.number = function(t4) {
8532
8588
  if (!B.test(t4)) {
8533
8589
  if (k.test(t4))
@@ -8538,7 +8594,7 @@ proj4Src.exports = function() {
8538
8594
  }, F.prototype.quoted = function(t4) {
8539
8595
  '"' !== t4 ? this.word += t4 : this.state = G;
8540
8596
  }, F.prototype.keyword = function(t4) {
8541
- if (q.test(t4))
8597
+ if (L.test(t4))
8542
8598
  this.word += t4;
8543
8599
  else {
8544
8600
  if ("[" === t4) {
@@ -8550,7 +8606,7 @@ proj4Src.exports = function() {
8550
8606
  this.afterItem(t4);
8551
8607
  }
8552
8608
  }, F.prototype.neutral = function(t4) {
8553
- if ($.test(t4))
8609
+ if (q.test(t4))
8554
8610
  return this.word = t4, void (this.state = z);
8555
8611
  if ('"' === t4)
8556
8612
  return this.word = "", void (this.state = R);
@@ -8562,7 +8618,7 @@ proj4Src.exports = function() {
8562
8618
  }, F.prototype.output = function() {
8563
8619
  for (; this.place < this.text.length; )
8564
8620
  this.readCharicter();
8565
- if (this.state === V)
8621
+ if (this.state === $)
8566
8622
  return this.root;
8567
8623
  throw new Error('unable to parse string "' + this.text + '". State is ' + this.state);
8568
8624
  };
@@ -8584,9 +8640,9 @@ proj4Src.exports = function() {
8584
8640
  function Y(t4, e2) {
8585
8641
  t4.ellipsoid.radius ? (e2.a = t4.ellipsoid.radius, e2.rf = 0) : (e2.a = Z(t4.ellipsoid.semi_major_axis), void 0 !== t4.ellipsoid.inverse_flattening ? e2.rf = t4.ellipsoid.inverse_flattening : void 0 !== t4.ellipsoid.semi_major_axis && void 0 !== t4.ellipsoid.semi_minor_axis && (e2.rf = e2.a / (e2.a - Z(t4.ellipsoid.semi_minor_axis))));
8586
8642
  }
8587
- function K(t4, e2 = {}) {
8643
+ function J(t4, e2 = {}) {
8588
8644
  var _a;
8589
- return t4 && "object" == typeof t4 ? "BoundCRS" === t4.type ? (K(t4.source_crs, e2), t4.transformation && ("NTv2" === ((_a = t4.transformation.method) == null ? void 0 : _a.name) ? e2.nadgrids = t4.transformation.parameters[0].value : e2.datum_params = t4.transformation.parameters.map((t5) => t5.value)), e2) : (Object.keys(t4).forEach((i2) => {
8645
+ return t4 && "object" == typeof t4 ? "BoundCRS" === t4.type ? (J(t4.source_crs, e2), t4.transformation && ("NTv2" === ((_a = t4.transformation.method) == null ? void 0 : _a.name) ? e2.nadgrids = t4.transformation.parameters[0].value : e2.datum_params = t4.transformation.parameters.map((t5) => t5.value)), e2) : (Object.keys(t4).forEach((i2) => {
8590
8646
  var _a2, _b, _c;
8591
8647
  const s2 = t4[i2];
8592
8648
  if (null !== s2)
@@ -8644,11 +8700,11 @@ proj4Src.exports = function() {
8644
8700
  s2.name && (e2.units = s2.name.toLowerCase(), "metre" === e2.units && (e2.units = "meter")), s2.conversion_factor && (e2.to_meter = s2.conversion_factor);
8645
8701
  break;
8646
8702
  case "base_crs":
8647
- K(s2, e2), e2.datumCode = s2.id ? s2.id.authority + "_" + s2.id.code : s2.name;
8703
+ J(s2, e2), e2.datumCode = s2.id ? s2.id.authority + "_" + s2.id.code : s2.name;
8648
8704
  }
8649
8705
  }), void 0 !== e2.latitude_of_false_origin && (e2.lat0 = e2.latitude_of_false_origin), void 0 !== e2.longitude_of_false_origin && (e2.long0 = e2.longitude_of_false_origin), void 0 !== e2.latitude_of_standard_parallel && (e2.lat0 = e2.latitude_of_standard_parallel, e2.lat1 = e2.latitude_of_standard_parallel), void 0 !== e2.latitude_of_1st_standard_parallel && (e2.lat1 = e2.latitude_of_1st_standard_parallel), void 0 !== e2.latitude_of_2nd_standard_parallel && (e2.lat2 = e2.latitude_of_2nd_standard_parallel), void 0 !== e2.latitude_of_projection_centre && (e2.lat0 = e2.latitude_of_projection_centre), void 0 !== e2.longitude_of_projection_centre && (e2.longc = e2.longitude_of_projection_centre), void 0 !== e2.easting_at_false_origin && (e2.x0 = e2.easting_at_false_origin), void 0 !== e2.northing_at_false_origin && (e2.y0 = e2.northing_at_false_origin), void 0 !== e2.latitude_of_natural_origin && (e2.lat0 = e2.latitude_of_natural_origin), void 0 !== e2.longitude_of_natural_origin && (e2.long0 = e2.longitude_of_natural_origin), void 0 !== e2.longitude_of_origin && (e2.long0 = e2.longitude_of_origin), void 0 !== e2.false_easting && (e2.x0 = e2.false_easting), e2.easting_at_projection_centre && (e2.x0 = e2.easting_at_projection_centre), void 0 !== e2.false_northing && (e2.y0 = e2.false_northing), e2.northing_at_projection_centre && (e2.y0 = e2.northing_at_projection_centre), void 0 !== e2.standard_parallel_1 && (e2.lat1 = e2.standard_parallel_1), void 0 !== e2.standard_parallel_2 && (e2.lat2 = e2.standard_parallel_2), void 0 !== e2.scale_factor_at_natural_origin && (e2.k0 = e2.scale_factor_at_natural_origin), void 0 !== e2.scale_factor_at_projection_centre && (e2.k0 = e2.scale_factor_at_projection_centre), void 0 !== e2.scale_factor_on_pseudo_standard_parallel && (e2.k0 = e2.scale_factor_on_pseudo_standard_parallel), void 0 !== e2.azimuth && (e2.alpha = e2.azimuth), void 0 !== e2.azimuth_at_projection_centre && (e2.alpha = e2.azimuth_at_projection_centre), e2.angle_from_rectified_to_skew_grid && (e2.rectified_grid_angle = e2.angle_from_rectified_to_skew_grid), X(e2), e2) : t4;
8650
8706
  }
8651
- var J = ["PROJECTEDCRS", "PROJCRS", "GEOGCS", "GEOCCS", "PROJCS", "LOCAL_CS", "GEODCRS", "GEODETICCRS", "GEODETICDATUM", "ENGCRS", "ENGINEERINGCRS"];
8707
+ var K = ["PROJECTEDCRS", "PROJCRS", "GEOGCS", "GEOCCS", "PROJCS", "LOCAL_CS", "GEODCRS", "GEODETICCRS", "GEODETICDATUM", "ENGCRS", "ENGINEERINGCRS"];
8652
8708
  function tt(t4, e2) {
8653
8709
  var i2 = e2[0], s2 = e2[1];
8654
8710
  !(i2 in t4) && s2 in t4 && (t4[i2] = t4[s2], 3 === e2.length && (t4[i2] = e2[2](t4[i2])));
@@ -8656,7 +8712,7 @@ proj4Src.exports = function() {
8656
8712
  function et(t4) {
8657
8713
  for (var e2 = Object.keys(t4), i2 = 0, s2 = e2.length; i2 < s2; ++i2) {
8658
8714
  var r2 = e2[i2];
8659
- -1 !== J.indexOf(r2) && it(t4[r2]), "object" == typeof t4[r2] && et(t4[r2]);
8715
+ -1 !== K.indexOf(r2) && it(t4[r2]), "object" == typeof t4[r2] && et(t4[r2]);
8660
8716
  }
8661
8717
  }
8662
8718
  function it(t4) {
@@ -8682,11 +8738,11 @@ proj4Src.exports = function() {
8682
8738
  }
8683
8739
  function st(t4) {
8684
8740
  if ("object" == typeof t4)
8685
- return K(t4);
8741
+ return J(t4);
8686
8742
  const e2 = I(t4);
8687
8743
  var i2 = D(t4);
8688
8744
  if ("WKT2" === e2)
8689
- return K(A2(i2));
8745
+ return J(A2(i2));
8690
8746
  var s2 = i2[0], r2 = {};
8691
8747
  return U(i2, r2), et(r2), r2[s2];
8692
8748
  }
@@ -8842,12 +8898,12 @@ proj4Src.exports = function() {
8842
8898
  }
8843
8899
  return i2 && !e2 && (e2 = (1 - 1 / i2) * t4), (0 === i2 || Math.abs(t4 - e2) < f) && (r2 = true, e2 = t4), { a: t4, b: e2, rf: i2, sphere: r2 };
8844
8900
  }
8845
- var Vt = { wgs84: { towgs84: "0,0,0", ellipse: "WGS84", datumName: "WGS84" }, ch1903: { towgs84: "674.374,15.056,405.346", ellipse: "bessel", datumName: "swiss" }, ggrs87: { towgs84: "-199.87,74.79,246.62", ellipse: "GRS80", datumName: "Greek_Geodetic_Reference_System_1987" }, nad83: { towgs84: "0,0,0", ellipse: "GRS80", datumName: "North_American_Datum_1983" }, nad27: { nadgrids: "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", ellipse: "clrk66", datumName: "North_American_Datum_1927" }, potsdam: { towgs84: "598.1,73.7,418.2,0.202,0.045,-2.455,6.7", ellipse: "bessel", datumName: "Potsdam Rauenberg 1950 DHDN" }, carthage: { towgs84: "-263.0,6.0,431.0", ellipse: "clark80", datumName: "Carthage 1934 Tunisia" }, hermannskogel: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Hermannskogel" }, mgi: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Militar-Geographische Institut" }, osni52: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "airy", datumName: "Irish National" }, ire65: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "mod_airy", datumName: "Ireland 1965" }, rassadiran: { towgs84: "-133.63,-157.5,-158.62", ellipse: "intl", datumName: "Rassadiran" }, nzgd49: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", ellipse: "intl", datumName: "New Zealand Geodetic Datum 1949" }, osgb36: { towgs84: "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", ellipse: "airy", datumName: "Ordnance Survey of Great Britain 1936" }, s_jtsk: { towgs84: "589,76,480", ellipse: "bessel", datumName: "S-JTSK (Ferro)" }, beduaram: { towgs84: "-106,-87,188", ellipse: "clrk80", datumName: "Beduaram" }, gunung_segara: { towgs84: "-403,684,41", ellipse: "bessel", datumName: "Gunung Segara Jakarta" }, rnb72: { towgs84: "106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1", ellipse: "intl", datumName: "Reseau National Belge 1972" }, EPSG_5451: { towgs84: "6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649" }, IGNF_LURESG: { towgs84: "-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43" }, EPSG_4614: { towgs84: "-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065" }, EPSG_4615: { towgs84: "-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748" }, ESRI_37241: { towgs84: "-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031" }, ESRI_37249: { towgs84: "-440.296,58.548,296.265,1.128,10.202,4.559,-0.438" }, ESRI_37245: { towgs84: "-511.151,-181.269,139.609,1.05,2.703,1.798,3.071" }, EPSG_4178: { towgs84: "24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" }, EPSG_4622: { towgs84: "-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984" }, EPSG_4625: { towgs84: "126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227" }, EPSG_5252: { towgs84: "0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439" }, EPSG_4314: { towgs84: "597.1,71.4,412.1,0.894,0.068,-1.563,7.58" }, EPSG_4282: { towgs84: "-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166" }, EPSG_4231: { towgs84: "-83.11,-97.38,-117.22,0.0276,-0.2167,0.2147,0.1218" }, EPSG_4274: { towgs84: "-230.994,102.591,25.199,0.633,-0.239,0.9,1.95" }, EPSG_4134: { towgs84: "-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006" }, EPSG_4254: { towgs84: "18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013" }, EPSG_4159: { towgs84: "-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175" }, EPSG_4687: { towgs84: "0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093" }, EPSG_4227: { towgs84: "-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225" }, EPSG_4746: { towgs84: "599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46" }, EPSG_4745: { towgs84: "612.4,77,440.2,-0.054,0.057,-2.797,2.55" }, EPSG_6311: { towgs84: "8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926" }, EPSG_4289: { towgs84: "565.7381,50.4018,465.2904,-1.91514,1.60363,-9.09546,4.07244" }, EPSG_4230: { towgs84: "-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4" }, EPSG_4154: { towgs84: "-123.02,-158.95,-168.47" }, EPSG_4156: { towgs84: "570.8,85.7,462.8,4.998,1.587,5.261,3.56" }, EPSG_4299: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4179: { towgs84: "33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84" }, EPSG_4313: { towgs84: "-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747" }, EPSG_4194: { towgs84: "163.511,127.533,-159.789" }, EPSG_4195: { towgs84: "105,326,-102.5" }, EPSG_4196: { towgs84: "-45,417,-3.5" }, EPSG_4611: { towgs84: "-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246" }, EPSG_4633: { towgs84: "137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824" }, EPSG_4641: { towgs84: "-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993" }, EPSG_4643: { towgs84: "-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002" }, EPSG_4300: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4188: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4660: { towgs84: "982.6087,552.753,-540.873,32.39344,-153.25684,-96.2266,16.805" }, EPSG_4662: { towgs84: "97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259" }, EPSG_3906: { towgs84: "577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664" }, EPSG_4307: { towgs84: "-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547" }, EPSG_6892: { towgs84: "-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686" }, EPSG_4690: { towgs84: "221.597,152.441,176.523,2.403,1.3893,0.884,11.4648" }, EPSG_4691: { towgs84: "218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817" }, EPSG_4629: { towgs84: "72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653" }, EPSG_4630: { towgs84: "165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111" }, EPSG_4692: { towgs84: "217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093" }, EPSG_9333: { towgs84: "0,0,0,-8.393,0.749,-10.276,0" }, EPSG_9059: { towgs84: "0,0,0" }, EPSG_4312: { towgs84: "601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887" }, EPSG_4123: { towgs84: "-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496" }, EPSG_4309: { towgs84: "-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365" }, ESRI_104106: { towgs84: "-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058" }, EPSG_4281: { towgs84: "-219.247,-73.802,269.529" }, EPSG_4322: { towgs84: "0,0,4.5" }, EPSG_4324: { towgs84: "0,0,1.9" }, EPSG_4284: { towgs84: "43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549" }, EPSG_4277: { towgs84: "446.448,-125.157,542.06,0.15,0.247,0.842,-20.489" }, EPSG_4207: { towgs84: "-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46" }, EPSG_4688: { towgs84: "347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647" }, EPSG_4689: { towgs84: "410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218" }, EPSG_4720: { towgs84: "0,0,4.5" }, EPSG_4273: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, EPSG_4240: { towgs84: "204.64,834.74,293.8" }, EPSG_4817: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, ESRI_104131: { towgs84: "426.62,142.62,460.09,4.98,4.49,-12.42,-17.1" }, EPSG_4265: { towgs84: "-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68" }, EPSG_4263: { towgs84: "-111.92,-87.85,114.5,1.875,0.202,0.219,0.032" }, EPSG_4298: { towgs84: "-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536" }, EPSG_4270: { towgs84: "-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424" }, EPSG_4229: { towgs84: "-121.8,98.1,-10.7" }, EPSG_4220: { towgs84: "-55.5,-348,-229.2" }, EPSG_4214: { towgs84: "12.646,-155.176,-80.863" }, EPSG_4232: { towgs84: "-345,3,223" }, EPSG_4238: { towgs84: "-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037" }, EPSG_4168: { towgs84: "-170,33,326" }, EPSG_4131: { towgs84: "199,931,318.9" }, EPSG_4152: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_5228: { towgs84: "572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378" }, EPSG_8351: { towgs84: "485.021,169.465,483.839,7.786342,4.397554,4.102655,0" }, EPSG_4683: { towgs84: "-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06" }, EPSG_4133: { towgs84: "0,0,0" }, EPSG_7373: { towgs84: "0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693" }, EPSG_9075: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9072: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9294: { towgs84: "1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388" }, EPSG_4212: { towgs84: "-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492" }, EPSG_4191: { towgs84: "-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703" }, EPSG_4237: { towgs84: "52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191" }, EPSG_4740: { towgs84: "-1.08,-0.27,-0.9" }, EPSG_4124: { towgs84: "419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496" }, EPSG_5681: { towgs84: "584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922" }, EPSG_4141: { towgs84: "23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262" }, EPSG_4204: { towgs84: "-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194" }, EPSG_4319: { towgs84: "226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798" }, EPSG_4200: { towgs84: "24.82,-131.21,-82.66" }, EPSG_4130: { towgs84: "0,0,0" }, EPSG_4127: { towgs84: "-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359" }, EPSG_4149: { towgs84: "674.374,15.056,405.346" }, EPSG_4617: { towgs84: "-0.991,1.9072,0.5129,1.25033e-7,4.6785e-8,5.6529e-8,0" }, EPSG_4663: { towgs84: "-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485" }, EPSG_4664: { towgs84: "-211.939,137.626,58.3,-0.089,0.251,0.079,0.384" }, EPSG_4665: { towgs84: "-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048" }, EPSG_4666: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, EPSG_4756: { towgs84: "-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188" }, EPSG_4723: { towgs84: "-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925" }, EPSG_4726: { towgs84: "8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081" }, EPSG_4267: { towgs84: "-8.0,160.0,176.0" }, EPSG_5365: { towgs84: "-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693" }, EPSG_4218: { towgs84: "304.5,306.5,-318.1" }, EPSG_4242: { towgs84: "-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95" }, EPSG_4216: { towgs84: "-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289" }, ESRI_104105: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, ESRI_104129: { towgs84: "0,0,0" }, EPSG_4673: { towgs84: "174.05,-25.49,112.57" }, EPSG_4202: { towgs84: "-124,-60,154" }, EPSG_4203: { towgs84: "-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191" }, EPSG_3819: { towgs84: "595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408" }, EPSG_8694: { towgs84: "-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169" }, EPSG_4145: { towgs84: "275.57,676.78,229.6" }, EPSG_4283: { towgs84: "61.55,-10.87,-40.19,39.4924,32.7221,32.8979,-9.994" }, EPSG_4317: { towgs84: "2.3287,-147.0425,-92.0802,-0.3092483,0.32482185,0.49729934,5.68906266" }, EPSG_4272: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993" }, EPSG_4248: { towgs84: "-307.7,265.3,-363.5" }, EPSG_5561: { towgs84: "24,-121,-76" }, EPSG_5233: { towgs84: "-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338" }, ESRI_104130: { towgs84: "-86,-98,-119" }, ESRI_104102: { towgs84: "682,-203,480" }, ESRI_37207: { towgs84: "7,-10,-26" }, EPSG_4675: { towgs84: "59.935,118.4,-10.871" }, ESRI_104109: { towgs84: "-89.121,-348.182,260.871" }, ESRI_104112: { towgs84: "-185.583,-230.096,281.361" }, ESRI_104113: { towgs84: "25.1,-275.6,222.6" }, IGNF_WGS72G: { towgs84: "0,12,6" }, IGNF_NTFG: { towgs84: "-168,-60,320" }, IGNF_EFATE57G: { towgs84: "-127,-769,472" }, IGNF_PGP50G: { towgs84: "324.8,153.6,172.1" }, IGNF_REUN47G: { towgs84: "94,-948,-1262" }, IGNF_CSG67G: { towgs84: "-186,230,110" }, IGNF_GUAD48G: { towgs84: "-467,-16,-300" }, IGNF_TAHI51G: { towgs84: "162,117,154" }, IGNF_TAHAAG: { towgs84: "65,342,77" }, IGNF_NUKU72G: { towgs84: "84,274,65" }, IGNF_PETRELS72G: { towgs84: "365,194,166" }, IGNF_WALL78G: { towgs84: "253,-133,-127" }, IGNF_MAYO50G: { towgs84: "-382,-59,-262" }, IGNF_TANNAG: { towgs84: "-139,-967,436" }, IGNF_IGN72G: { towgs84: "-13,-348,292" }, IGNF_ATIGG: { towgs84: "1118,23,66" }, IGNF_FANGA84G: { towgs84: "150.57,158.33,118.32" }, IGNF_RUSAT84G: { towgs84: "202.13,174.6,-15.74" }, IGNF_KAUE70G: { towgs84: "126.74,300.1,-75.49" }, IGNF_MOP90G: { towgs84: "-10.8,-1.8,12.77" }, IGNF_MHPF67G: { towgs84: "338.08,212.58,-296.17" }, IGNF_TAHI79G: { towgs84: "160.61,116.05,153.69" }, IGNF_ANAA92G: { towgs84: "1.5,3.84,4.81" }, IGNF_MARQUI72G: { towgs84: "330.91,-13.92,58.56" }, IGNF_APAT86G: { towgs84: "143.6,197.82,74.05" }, IGNF_TUBU69G: { towgs84: "237.17,171.61,-77.84" }, IGNF_STPM50G: { towgs84: "11.363,424.148,373.13" }, EPSG_4150: { towgs84: "674.374,15.056,405.346" }, EPSG_4754: { towgs84: "-208.4058,-109.8777,-2.5764" }, ESRI_104101: { towgs84: "374,150,588" }, EPSG_4693: { towgs84: "0,-0.15,0.68" }, EPSG_6207: { towgs84: "293.17,726.18,245.36" }, EPSG_4153: { towgs84: "-133.63,-157.5,-158.62" }, EPSG_4132: { towgs84: "-241.54,-163.64,396.06" }, EPSG_4221: { towgs84: "-154.5,150.7,100.4" }, EPSG_4266: { towgs84: "-80.7,-132.5,41.1" }, EPSG_4193: { towgs84: "-70.9,-151.8,-41.4" }, EPSG_5340: { towgs84: "-0.41,0.46,-0.35" }, EPSG_4246: { towgs84: "-294.7,-200.1,525.5" }, EPSG_4318: { towgs84: "-3.2,-5.7,2.8" }, EPSG_4121: { towgs84: "-199.87,74.79,246.62" }, EPSG_4223: { towgs84: "-260.1,5.5,432.2" }, EPSG_4158: { towgs84: "-0.465,372.095,171.736" }, EPSG_4285: { towgs84: "-128.16,-282.42,21.93" }, EPSG_4613: { towgs84: "-404.78,685.68,45.47" }, EPSG_4607: { towgs84: "195.671,332.517,274.607" }, EPSG_4475: { towgs84: "-381.788,-57.501,-256.673" }, EPSG_4208: { towgs84: "-157.84,308.54,-146.6" }, EPSG_4743: { towgs84: "70.995,-335.916,262.898" }, EPSG_4710: { towgs84: "-323.65,551.39,-491.22" }, EPSG_7881: { towgs84: "-0.077,0.079,0.086" }, EPSG_4682: { towgs84: "283.729,735.942,261.143" }, EPSG_4739: { towgs84: "-156,-271,-189" }, EPSG_4679: { towgs84: "-80.01,253.26,291.19" }, EPSG_4750: { towgs84: "-56.263,16.136,-22.856" }, EPSG_4644: { towgs84: "-10.18,-350.43,291.37" }, EPSG_4695: { towgs84: "-103.746,-9.614,-255.95" }, EPSG_4292: { towgs84: "-355,21,72" }, EPSG_4302: { towgs84: "-61.702,284.488,472.052" }, EPSG_4143: { towgs84: "-124.76,53,466.79" }, EPSG_4606: { towgs84: "-153,153,307" }, EPSG_4699: { towgs84: "-770.1,158.4,-498.2" }, EPSG_4247: { towgs84: "-273.5,110.6,-357.9" }, EPSG_4160: { towgs84: "8.88,184.86,106.69" }, EPSG_4161: { towgs84: "-233.43,6.65,173.64" }, EPSG_9251: { towgs84: "-9.5,122.9,138.2" }, EPSG_9253: { towgs84: "-78.1,101.6,133.3" }, EPSG_4297: { towgs84: "-198.383,-240.517,-107.909" }, EPSG_4269: { towgs84: "0,0,0" }, EPSG_4301: { towgs84: "-147,506,687" }, EPSG_4618: { towgs84: "-59,-11,-52" }, EPSG_4612: { towgs84: "0,0,0" }, EPSG_4678: { towgs84: "44.585,-131.212,-39.544" }, EPSG_4250: { towgs84: "-130,29,364" }, EPSG_4144: { towgs84: "214,804,268" }, EPSG_4147: { towgs84: "-17.51,-108.32,-62.39" }, EPSG_4259: { towgs84: "-254.1,-5.36,-100.29" }, EPSG_4164: { towgs84: "-76,-138,67" }, EPSG_4211: { towgs84: "-378.873,676.002,-46.255" }, EPSG_4182: { towgs84: "-422.651,-172.995,84.02" }, EPSG_4224: { towgs84: "-143.87,243.37,-33.52" }, EPSG_4225: { towgs84: "-205.57,168.77,-4.12" }, EPSG_5527: { towgs84: "-67.35,3.88,-38.22" }, EPSG_4752: { towgs84: "98,390,-22" }, EPSG_4310: { towgs84: "-30,190,89" }, EPSG_9248: { towgs84: "-192.26,65.72,132.08" }, EPSG_4680: { towgs84: "124.5,-63.5,-281" }, EPSG_4701: { towgs84: "-79.9,-158,-168.9" }, EPSG_4706: { towgs84: "-146.21,112.63,4.05" }, EPSG_4805: { towgs84: "682,-203,480" }, EPSG_4201: { towgs84: "-165,-11,206" }, EPSG_4210: { towgs84: "-157,-2,-299" }, EPSG_4183: { towgs84: "-104,167,-38" }, EPSG_4139: { towgs84: "11,72,-101" }, EPSG_4668: { towgs84: "-86,-98,-119" }, EPSG_4717: { towgs84: "-2,151,181" }, EPSG_4732: { towgs84: "102,52,-38" }, EPSG_4280: { towgs84: "-377,681,-50" }, EPSG_4209: { towgs84: "-138,-105,-289" }, EPSG_4261: { towgs84: "31,146,47" }, EPSG_4658: { towgs84: "-73,46,-86" }, EPSG_4721: { towgs84: "265.025,384.929,-194.046" }, EPSG_4222: { towgs84: "-136,-108,-292" }, EPSG_4601: { towgs84: "-255,-15,71" }, EPSG_4602: { towgs84: "725,685,536" }, EPSG_4603: { towgs84: "72,213.7,93" }, EPSG_4605: { towgs84: "9,183,236" }, EPSG_4621: { towgs84: "137,248,-430" }, EPSG_4657: { towgs84: "-28,199,5" }, EPSG_4316: { towgs84: "103.25,-100.4,-307.19" }, EPSG_4642: { towgs84: "-13,-348,292" }, EPSG_4698: { towgs84: "145,-187,103" }, EPSG_4192: { towgs84: "-206.1,-174.7,-87.7" }, EPSG_4311: { towgs84: "-265,120,-358" }, EPSG_4135: { towgs84: "58,-283,-182" }, ESRI_104138: { towgs84: "198,-226,-347" }, EPSG_4245: { towgs84: "-11,851,5" }, EPSG_4142: { towgs84: "-125,53,467" }, EPSG_4213: { towgs84: "-106,-87,188" }, EPSG_4253: { towgs84: "-133,-77,-51" }, EPSG_4129: { towgs84: "-132,-110,-335" }, EPSG_4713: { towgs84: "-77,-128,142" }, EPSG_4239: { towgs84: "217,823,299" }, EPSG_4146: { towgs84: "295,736,257" }, EPSG_4155: { towgs84: "-83,37,124" }, EPSG_4165: { towgs84: "-173,253,27" }, EPSG_4672: { towgs84: "175,-38,113" }, EPSG_4236: { towgs84: "-637,-549,-203" }, EPSG_4251: { towgs84: "-90,40,88" }, EPSG_4271: { towgs84: "-2,374,172" }, EPSG_4175: { towgs84: "-88,4,101" }, EPSG_4716: { towgs84: "298,-304,-375" }, EPSG_4315: { towgs84: "-23,259,-9" }, EPSG_4744: { towgs84: "-242.2,-144.9,370.3" }, EPSG_4244: { towgs84: "-97,787,86" }, EPSG_4293: { towgs84: "616,97,-251" }, EPSG_4714: { towgs84: "-127,-769,472" }, EPSG_4736: { towgs84: "260,12,-147" }, EPSG_6883: { towgs84: "-235,-110,393" }, EPSG_6894: { towgs84: "-63,176,185" }, EPSG_4205: { towgs84: "-43,-163,45" }, EPSG_4256: { towgs84: "41,-220,-134" }, EPSG_4262: { towgs84: "639,405,60" }, EPSG_4604: { towgs84: "174,359,365" }, EPSG_4169: { towgs84: "-115,118,426" }, EPSG_4620: { towgs84: "-106,-129,165" }, EPSG_4184: { towgs84: "-203,141,53" }, EPSG_4616: { towgs84: "-289,-124,60" }, EPSG_9403: { towgs84: "-307,-92,127" }, EPSG_4684: { towgs84: "-133,-321,50" }, EPSG_4708: { towgs84: "-491,-22,435" }, EPSG_4707: { towgs84: "114,-116,-333" }, EPSG_4709: { towgs84: "145,75,-272" }, EPSG_4712: { towgs84: "-205,107,53" }, EPSG_4711: { towgs84: "124,-234,-25" }, EPSG_4718: { towgs84: "230,-199,-752" }, EPSG_4719: { towgs84: "211,147,111" }, EPSG_4724: { towgs84: "208,-435,-229" }, EPSG_4725: { towgs84: "189,-79,-202" }, EPSG_4735: { towgs84: "647,1777,-1124" }, EPSG_4722: { towgs84: "-794,119,-298" }, EPSG_4728: { towgs84: "-307,-92,127" }, EPSG_4734: { towgs84: "-632,438,-609" }, EPSG_4727: { towgs84: "912,-58,1227" }, EPSG_4729: { towgs84: "185,165,42" }, EPSG_4730: { towgs84: "170,42,84" }, EPSG_4733: { towgs84: "276,-57,149" }, ESRI_37218: { towgs84: "230,-199,-752" }, ESRI_37240: { towgs84: "-7,215,225" }, ESRI_37221: { towgs84: "252,-209,-751" }, ESRI_4305: { towgs84: "-123,-206,219" }, ESRI_104139: { towgs84: "-73,-247,227" }, EPSG_4748: { towgs84: "51,391,-36" }, EPSG_4219: { towgs84: "-384,664,-48" }, EPSG_4255: { towgs84: "-333,-222,114" }, EPSG_4257: { towgs84: "-587.8,519.75,145.76" }, EPSG_4646: { towgs84: "-963,510,-359" }, EPSG_6881: { towgs84: "-24,-203,268" }, EPSG_6882: { towgs84: "-183,-15,273" }, EPSG_4715: { towgs84: "-104,-129,239" }, IGNF_RGF93GDD: { towgs84: "0,0,0" }, IGNF_RGM04GDD: { towgs84: "0,0,0" }, IGNF_RGSPM06GDD: { towgs84: "0,0,0" }, IGNF_RGTAAF07GDD: { towgs84: "0,0,0" }, IGNF_RGFG95GDD: { towgs84: "0,0,0" }, IGNF_RGNCG: { towgs84: "0,0,0" }, IGNF_RGPFGDD: { towgs84: "0,0,0" }, IGNF_ETRS89G: { towgs84: "0,0,0" }, IGNF_RGR92GDD: { towgs84: "0,0,0" }, EPSG_4173: { towgs84: "0,0,0" }, EPSG_4180: { towgs84: "0,0,0" }, EPSG_4619: { towgs84: "0,0,0" }, EPSG_4667: { towgs84: "0,0,0" }, EPSG_4075: { towgs84: "0,0,0" }, EPSG_6706: { towgs84: "0,0,0" }, EPSG_7798: { towgs84: "0,0,0" }, EPSG_4661: { towgs84: "0,0,0" }, EPSG_4669: { towgs84: "0,0,0" }, EPSG_8685: { towgs84: "0,0,0" }, EPSG_4151: { towgs84: "0,0,0" }, EPSG_9702: { towgs84: "0,0,0" }, EPSG_4758: { towgs84: "0,0,0" }, EPSG_4761: { towgs84: "0,0,0" }, EPSG_4765: { towgs84: "0,0,0" }, EPSG_8997: { towgs84: "0,0,0" }, EPSG_4023: { towgs84: "0,0,0" }, EPSG_4670: { towgs84: "0,0,0" }, EPSG_4694: { towgs84: "0,0,0" }, EPSG_4148: { towgs84: "0,0,0" }, EPSG_4163: { towgs84: "0,0,0" }, EPSG_4167: { towgs84: "0,0,0" }, EPSG_4189: { towgs84: "0,0,0" }, EPSG_4190: { towgs84: "0,0,0" }, EPSG_4176: { towgs84: "0,0,0" }, EPSG_4659: { towgs84: "0,0,0" }, EPSG_3824: { towgs84: "0,0,0" }, EPSG_3889: { towgs84: "0,0,0" }, EPSG_4046: { towgs84: "0,0,0" }, EPSG_4081: { towgs84: "0,0,0" }, EPSG_4558: { towgs84: "0,0,0" }, EPSG_4483: { towgs84: "0,0,0" }, EPSG_5013: { towgs84: "0,0,0" }, EPSG_5264: { towgs84: "0,0,0" }, EPSG_5324: { towgs84: "0,0,0" }, EPSG_5354: { towgs84: "0,0,0" }, EPSG_5371: { towgs84: "0,0,0" }, EPSG_5373: { towgs84: "0,0,0" }, EPSG_5381: { towgs84: "0,0,0" }, EPSG_5393: { towgs84: "0,0,0" }, EPSG_5489: { towgs84: "0,0,0" }, EPSG_5593: { towgs84: "0,0,0" }, EPSG_6135: { towgs84: "0,0,0" }, EPSG_6365: { towgs84: "0,0,0" }, EPSG_5246: { towgs84: "0,0,0" }, EPSG_7886: { towgs84: "0,0,0" }, EPSG_8431: { towgs84: "0,0,0" }, EPSG_8427: { towgs84: "0,0,0" }, EPSG_8699: { towgs84: "0,0,0" }, EPSG_8818: { towgs84: "0,0,0" }, EPSG_4757: { towgs84: "0,0,0" }, EPSG_9140: { towgs84: "0,0,0" }, EPSG_8086: { towgs84: "0,0,0" }, EPSG_4686: { towgs84: "0,0,0" }, EPSG_4737: { towgs84: "0,0,0" }, EPSG_4702: { towgs84: "0,0,0" }, EPSG_4747: { towgs84: "0,0,0" }, EPSG_4749: { towgs84: "0,0,0" }, EPSG_4674: { towgs84: "0,0,0" }, EPSG_4755: { towgs84: "0,0,0" }, EPSG_4759: { towgs84: "0,0,0" }, EPSG_4762: { towgs84: "0,0,0" }, EPSG_4763: { towgs84: "0,0,0" }, EPSG_4764: { towgs84: "0,0,0" }, EPSG_4166: { towgs84: "0,0,0" }, EPSG_4170: { towgs84: "0,0,0" }, EPSG_5546: { towgs84: "0,0,0" }, EPSG_7844: { towgs84: "0,0,0" }, EPSG_4818: { towgs84: "589,76,480" } };
8846
- for (var Lt in Vt) {
8847
- var $t = Vt[Lt];
8848
- $t.datumName && (Vt[$t.datumName] = $t);
8901
+ var $t = { wgs84: { towgs84: "0,0,0", ellipse: "WGS84", datumName: "WGS84" }, ch1903: { towgs84: "674.374,15.056,405.346", ellipse: "bessel", datumName: "swiss" }, ggrs87: { towgs84: "-199.87,74.79,246.62", ellipse: "GRS80", datumName: "Greek_Geodetic_Reference_System_1987" }, nad83: { towgs84: "0,0,0", ellipse: "GRS80", datumName: "North_American_Datum_1983" }, nad27: { nadgrids: "@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", ellipse: "clrk66", datumName: "North_American_Datum_1927" }, potsdam: { towgs84: "598.1,73.7,418.2,0.202,0.045,-2.455,6.7", ellipse: "bessel", datumName: "Potsdam Rauenberg 1950 DHDN" }, carthage: { towgs84: "-263.0,6.0,431.0", ellipse: "clark80", datumName: "Carthage 1934 Tunisia" }, hermannskogel: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Hermannskogel" }, mgi: { towgs84: "577.326,90.129,463.919,5.137,1.474,5.297,2.4232", ellipse: "bessel", datumName: "Militar-Geographische Institut" }, osni52: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "airy", datumName: "Irish National" }, ire65: { towgs84: "482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", ellipse: "mod_airy", datumName: "Ireland 1965" }, rassadiran: { towgs84: "-133.63,-157.5,-158.62", ellipse: "intl", datumName: "Rassadiran" }, nzgd49: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", ellipse: "intl", datumName: "New Zealand Geodetic Datum 1949" }, osgb36: { towgs84: "446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", ellipse: "airy", datumName: "Ordnance Survey of Great Britain 1936" }, s_jtsk: { towgs84: "589,76,480", ellipse: "bessel", datumName: "S-JTSK (Ferro)" }, beduaram: { towgs84: "-106,-87,188", ellipse: "clrk80", datumName: "Beduaram" }, gunung_segara: { towgs84: "-403,684,41", ellipse: "bessel", datumName: "Gunung Segara Jakarta" }, rnb72: { towgs84: "106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1", ellipse: "intl", datumName: "Reseau National Belge 1972" }, EPSG_5451: { towgs84: "6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649" }, IGNF_LURESG: { towgs84: "-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43" }, EPSG_4614: { towgs84: "-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065" }, EPSG_4615: { towgs84: "-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748" }, ESRI_37241: { towgs84: "-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031" }, ESRI_37249: { towgs84: "-440.296,58.548,296.265,1.128,10.202,4.559,-0.438" }, ESRI_37245: { towgs84: "-511.151,-181.269,139.609,1.05,2.703,1.798,3.071" }, EPSG_4178: { towgs84: "24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" }, EPSG_4622: { towgs84: "-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984" }, EPSG_4625: { towgs84: "126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227" }, EPSG_5252: { towgs84: "0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439" }, EPSG_4314: { towgs84: "597.1,71.4,412.1,0.894,0.068,-1.563,7.58" }, EPSG_4282: { towgs84: "-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166" }, EPSG_4231: { towgs84: "-83.11,-97.38,-117.22,0.0276,-0.2167,0.2147,0.1218" }, EPSG_4274: { towgs84: "-230.994,102.591,25.199,0.633,-0.239,0.9,1.95" }, EPSG_4134: { towgs84: "-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006" }, EPSG_4254: { towgs84: "18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013" }, EPSG_4159: { towgs84: "-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175" }, EPSG_4687: { towgs84: "0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093" }, EPSG_4227: { towgs84: "-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225" }, EPSG_4746: { towgs84: "599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46" }, EPSG_4745: { towgs84: "612.4,77,440.2,-0.054,0.057,-2.797,2.55" }, EPSG_6311: { towgs84: "8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926" }, EPSG_4289: { towgs84: "565.7381,50.4018,465.2904,-1.91514,1.60363,-9.09546,4.07244" }, EPSG_4230: { towgs84: "-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4" }, EPSG_4154: { towgs84: "-123.02,-158.95,-168.47" }, EPSG_4156: { towgs84: "570.8,85.7,462.8,4.998,1.587,5.261,3.56" }, EPSG_4299: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4179: { towgs84: "33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84" }, EPSG_4313: { towgs84: "-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747" }, EPSG_4194: { towgs84: "163.511,127.533,-159.789" }, EPSG_4195: { towgs84: "105,326,-102.5" }, EPSG_4196: { towgs84: "-45,417,-3.5" }, EPSG_4611: { towgs84: "-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246" }, EPSG_4633: { towgs84: "137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824" }, EPSG_4641: { towgs84: "-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993" }, EPSG_4643: { towgs84: "-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002" }, EPSG_4300: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4188: { towgs84: "482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15" }, EPSG_4660: { towgs84: "982.6087,552.753,-540.873,32.39344,-153.25684,-96.2266,16.805" }, EPSG_4662: { towgs84: "97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259" }, EPSG_3906: { towgs84: "577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664" }, EPSG_4307: { towgs84: "-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547" }, EPSG_6892: { towgs84: "-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686" }, EPSG_4690: { towgs84: "221.597,152.441,176.523,2.403,1.3893,0.884,11.4648" }, EPSG_4691: { towgs84: "218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817" }, EPSG_4629: { towgs84: "72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653" }, EPSG_4630: { towgs84: "165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111" }, EPSG_4692: { towgs84: "217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093" }, EPSG_9333: { towgs84: "0,0,0,-8.393,0.749,-10.276,0" }, EPSG_9059: { towgs84: "0,0,0" }, EPSG_4312: { towgs84: "601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887" }, EPSG_4123: { towgs84: "-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496" }, EPSG_4309: { towgs84: "-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365" }, ESRI_104106: { towgs84: "-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058" }, EPSG_4281: { towgs84: "-219.247,-73.802,269.529" }, EPSG_4322: { towgs84: "0,0,4.5" }, EPSG_4324: { towgs84: "0,0,1.9" }, EPSG_4284: { towgs84: "43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549" }, EPSG_4277: { towgs84: "446.448,-125.157,542.06,0.15,0.247,0.842,-20.489" }, EPSG_4207: { towgs84: "-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46" }, EPSG_4688: { towgs84: "347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647" }, EPSG_4689: { towgs84: "410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218" }, EPSG_4720: { towgs84: "0,0,4.5" }, EPSG_4273: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, EPSG_4240: { towgs84: "204.64,834.74,293.8" }, EPSG_4817: { towgs84: "278.3,93,474.5,7.889,0.05,-6.61,6.21" }, ESRI_104131: { towgs84: "426.62,142.62,460.09,4.98,4.49,-12.42,-17.1" }, EPSG_4265: { towgs84: "-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68" }, EPSG_4263: { towgs84: "-111.92,-87.85,114.5,1.875,0.202,0.219,0.032" }, EPSG_4298: { towgs84: "-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536" }, EPSG_4270: { towgs84: "-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424" }, EPSG_4229: { towgs84: "-121.8,98.1,-10.7" }, EPSG_4220: { towgs84: "-55.5,-348,-229.2" }, EPSG_4214: { towgs84: "12.646,-155.176,-80.863" }, EPSG_4232: { towgs84: "-345,3,223" }, EPSG_4238: { towgs84: "-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037" }, EPSG_4168: { towgs84: "-170,33,326" }, EPSG_4131: { towgs84: "199,931,318.9" }, EPSG_4152: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_5228: { towgs84: "572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378" }, EPSG_8351: { towgs84: "485.021,169.465,483.839,7.786342,4.397554,4.102655,0" }, EPSG_4683: { towgs84: "-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06" }, EPSG_4133: { towgs84: "0,0,0" }, EPSG_7373: { towgs84: "0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693" }, EPSG_9075: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9072: { towgs84: "-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0" }, EPSG_9294: { towgs84: "1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388" }, EPSG_4212: { towgs84: "-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492" }, EPSG_4191: { towgs84: "-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703" }, EPSG_4237: { towgs84: "52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191" }, EPSG_4740: { towgs84: "-1.08,-0.27,-0.9" }, EPSG_4124: { towgs84: "419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496" }, EPSG_5681: { towgs84: "584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922" }, EPSG_4141: { towgs84: "23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262" }, EPSG_4204: { towgs84: "-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194" }, EPSG_4319: { towgs84: "226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798" }, EPSG_4200: { towgs84: "24.82,-131.21,-82.66" }, EPSG_4130: { towgs84: "0,0,0" }, EPSG_4127: { towgs84: "-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359" }, EPSG_4149: { towgs84: "674.374,15.056,405.346" }, EPSG_4617: { towgs84: "-0.991,1.9072,0.5129,1.25033e-7,4.6785e-8,5.6529e-8,0" }, EPSG_4663: { towgs84: "-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485" }, EPSG_4664: { towgs84: "-211.939,137.626,58.3,-0.089,0.251,0.079,0.384" }, EPSG_4665: { towgs84: "-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048" }, EPSG_4666: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, EPSG_4756: { towgs84: "-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188" }, EPSG_4723: { towgs84: "-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925" }, EPSG_4726: { towgs84: "8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081" }, EPSG_4267: { towgs84: "-8.0,160.0,176.0" }, EPSG_5365: { towgs84: "-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693" }, EPSG_4218: { towgs84: "304.5,306.5,-318.1" }, EPSG_4242: { towgs84: "-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95" }, EPSG_4216: { towgs84: "-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289" }, ESRI_104105: { towgs84: "631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43" }, ESRI_104129: { towgs84: "0,0,0" }, EPSG_4673: { towgs84: "174.05,-25.49,112.57" }, EPSG_4202: { towgs84: "-124,-60,154" }, EPSG_4203: { towgs84: "-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191" }, EPSG_3819: { towgs84: "595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408" }, EPSG_8694: { towgs84: "-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169" }, EPSG_4145: { towgs84: "275.57,676.78,229.6" }, EPSG_4283: { towgs84: "61.55,-10.87,-40.19,39.4924,32.7221,32.8979,-9.994" }, EPSG_4317: { towgs84: "2.3287,-147.0425,-92.0802,-0.3092483,0.32482185,0.49729934,5.68906266" }, EPSG_4272: { towgs84: "59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993" }, EPSG_4248: { towgs84: "-307.7,265.3,-363.5" }, EPSG_5561: { towgs84: "24,-121,-76" }, EPSG_5233: { towgs84: "-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338" }, ESRI_104130: { towgs84: "-86,-98,-119" }, ESRI_104102: { towgs84: "682,-203,480" }, ESRI_37207: { towgs84: "7,-10,-26" }, EPSG_4675: { towgs84: "59.935,118.4,-10.871" }, ESRI_104109: { towgs84: "-89.121,-348.182,260.871" }, ESRI_104112: { towgs84: "-185.583,-230.096,281.361" }, ESRI_104113: { towgs84: "25.1,-275.6,222.6" }, IGNF_WGS72G: { towgs84: "0,12,6" }, IGNF_NTFG: { towgs84: "-168,-60,320" }, IGNF_EFATE57G: { towgs84: "-127,-769,472" }, IGNF_PGP50G: { towgs84: "324.8,153.6,172.1" }, IGNF_REUN47G: { towgs84: "94,-948,-1262" }, IGNF_CSG67G: { towgs84: "-186,230,110" }, IGNF_GUAD48G: { towgs84: "-467,-16,-300" }, IGNF_TAHI51G: { towgs84: "162,117,154" }, IGNF_TAHAAG: { towgs84: "65,342,77" }, IGNF_NUKU72G: { towgs84: "84,274,65" }, IGNF_PETRELS72G: { towgs84: "365,194,166" }, IGNF_WALL78G: { towgs84: "253,-133,-127" }, IGNF_MAYO50G: { towgs84: "-382,-59,-262" }, IGNF_TANNAG: { towgs84: "-139,-967,436" }, IGNF_IGN72G: { towgs84: "-13,-348,292" }, IGNF_ATIGG: { towgs84: "1118,23,66" }, IGNF_FANGA84G: { towgs84: "150.57,158.33,118.32" }, IGNF_RUSAT84G: { towgs84: "202.13,174.6,-15.74" }, IGNF_KAUE70G: { towgs84: "126.74,300.1,-75.49" }, IGNF_MOP90G: { towgs84: "-10.8,-1.8,12.77" }, IGNF_MHPF67G: { towgs84: "338.08,212.58,-296.17" }, IGNF_TAHI79G: { towgs84: "160.61,116.05,153.69" }, IGNF_ANAA92G: { towgs84: "1.5,3.84,4.81" }, IGNF_MARQUI72G: { towgs84: "330.91,-13.92,58.56" }, IGNF_APAT86G: { towgs84: "143.6,197.82,74.05" }, IGNF_TUBU69G: { towgs84: "237.17,171.61,-77.84" }, IGNF_STPM50G: { towgs84: "11.363,424.148,373.13" }, EPSG_4150: { towgs84: "674.374,15.056,405.346" }, EPSG_4754: { towgs84: "-208.4058,-109.8777,-2.5764" }, ESRI_104101: { towgs84: "374,150,588" }, EPSG_4693: { towgs84: "0,-0.15,0.68" }, EPSG_6207: { towgs84: "293.17,726.18,245.36" }, EPSG_4153: { towgs84: "-133.63,-157.5,-158.62" }, EPSG_4132: { towgs84: "-241.54,-163.64,396.06" }, EPSG_4221: { towgs84: "-154.5,150.7,100.4" }, EPSG_4266: { towgs84: "-80.7,-132.5,41.1" }, EPSG_4193: { towgs84: "-70.9,-151.8,-41.4" }, EPSG_5340: { towgs84: "-0.41,0.46,-0.35" }, EPSG_4246: { towgs84: "-294.7,-200.1,525.5" }, EPSG_4318: { towgs84: "-3.2,-5.7,2.8" }, EPSG_4121: { towgs84: "-199.87,74.79,246.62" }, EPSG_4223: { towgs84: "-260.1,5.5,432.2" }, EPSG_4158: { towgs84: "-0.465,372.095,171.736" }, EPSG_4285: { towgs84: "-128.16,-282.42,21.93" }, EPSG_4613: { towgs84: "-404.78,685.68,45.47" }, EPSG_4607: { towgs84: "195.671,332.517,274.607" }, EPSG_4475: { towgs84: "-381.788,-57.501,-256.673" }, EPSG_4208: { towgs84: "-157.84,308.54,-146.6" }, EPSG_4743: { towgs84: "70.995,-335.916,262.898" }, EPSG_4710: { towgs84: "-323.65,551.39,-491.22" }, EPSG_7881: { towgs84: "-0.077,0.079,0.086" }, EPSG_4682: { towgs84: "283.729,735.942,261.143" }, EPSG_4739: { towgs84: "-156,-271,-189" }, EPSG_4679: { towgs84: "-80.01,253.26,291.19" }, EPSG_4750: { towgs84: "-56.263,16.136,-22.856" }, EPSG_4644: { towgs84: "-10.18,-350.43,291.37" }, EPSG_4695: { towgs84: "-103.746,-9.614,-255.95" }, EPSG_4292: { towgs84: "-355,21,72" }, EPSG_4302: { towgs84: "-61.702,284.488,472.052" }, EPSG_4143: { towgs84: "-124.76,53,466.79" }, EPSG_4606: { towgs84: "-153,153,307" }, EPSG_4699: { towgs84: "-770.1,158.4,-498.2" }, EPSG_4247: { towgs84: "-273.5,110.6,-357.9" }, EPSG_4160: { towgs84: "8.88,184.86,106.69" }, EPSG_4161: { towgs84: "-233.43,6.65,173.64" }, EPSG_9251: { towgs84: "-9.5,122.9,138.2" }, EPSG_9253: { towgs84: "-78.1,101.6,133.3" }, EPSG_4297: { towgs84: "-198.383,-240.517,-107.909" }, EPSG_4269: { towgs84: "0,0,0" }, EPSG_4301: { towgs84: "-147,506,687" }, EPSG_4618: { towgs84: "-59,-11,-52" }, EPSG_4612: { towgs84: "0,0,0" }, EPSG_4678: { towgs84: "44.585,-131.212,-39.544" }, EPSG_4250: { towgs84: "-130,29,364" }, EPSG_4144: { towgs84: "214,804,268" }, EPSG_4147: { towgs84: "-17.51,-108.32,-62.39" }, EPSG_4259: { towgs84: "-254.1,-5.36,-100.29" }, EPSG_4164: { towgs84: "-76,-138,67" }, EPSG_4211: { towgs84: "-378.873,676.002,-46.255" }, EPSG_4182: { towgs84: "-422.651,-172.995,84.02" }, EPSG_4224: { towgs84: "-143.87,243.37,-33.52" }, EPSG_4225: { towgs84: "-205.57,168.77,-4.12" }, EPSG_5527: { towgs84: "-67.35,3.88,-38.22" }, EPSG_4752: { towgs84: "98,390,-22" }, EPSG_4310: { towgs84: "-30,190,89" }, EPSG_9248: { towgs84: "-192.26,65.72,132.08" }, EPSG_4680: { towgs84: "124.5,-63.5,-281" }, EPSG_4701: { towgs84: "-79.9,-158,-168.9" }, EPSG_4706: { towgs84: "-146.21,112.63,4.05" }, EPSG_4805: { towgs84: "682,-203,480" }, EPSG_4201: { towgs84: "-165,-11,206" }, EPSG_4210: { towgs84: "-157,-2,-299" }, EPSG_4183: { towgs84: "-104,167,-38" }, EPSG_4139: { towgs84: "11,72,-101" }, EPSG_4668: { towgs84: "-86,-98,-119" }, EPSG_4717: { towgs84: "-2,151,181" }, EPSG_4732: { towgs84: "102,52,-38" }, EPSG_4280: { towgs84: "-377,681,-50" }, EPSG_4209: { towgs84: "-138,-105,-289" }, EPSG_4261: { towgs84: "31,146,47" }, EPSG_4658: { towgs84: "-73,46,-86" }, EPSG_4721: { towgs84: "265.025,384.929,-194.046" }, EPSG_4222: { towgs84: "-136,-108,-292" }, EPSG_4601: { towgs84: "-255,-15,71" }, EPSG_4602: { towgs84: "725,685,536" }, EPSG_4603: { towgs84: "72,213.7,93" }, EPSG_4605: { towgs84: "9,183,236" }, EPSG_4621: { towgs84: "137,248,-430" }, EPSG_4657: { towgs84: "-28,199,5" }, EPSG_4316: { towgs84: "103.25,-100.4,-307.19" }, EPSG_4642: { towgs84: "-13,-348,292" }, EPSG_4698: { towgs84: "145,-187,103" }, EPSG_4192: { towgs84: "-206.1,-174.7,-87.7" }, EPSG_4311: { towgs84: "-265,120,-358" }, EPSG_4135: { towgs84: "58,-283,-182" }, ESRI_104138: { towgs84: "198,-226,-347" }, EPSG_4245: { towgs84: "-11,851,5" }, EPSG_4142: { towgs84: "-125,53,467" }, EPSG_4213: { towgs84: "-106,-87,188" }, EPSG_4253: { towgs84: "-133,-77,-51" }, EPSG_4129: { towgs84: "-132,-110,-335" }, EPSG_4713: { towgs84: "-77,-128,142" }, EPSG_4239: { towgs84: "217,823,299" }, EPSG_4146: { towgs84: "295,736,257" }, EPSG_4155: { towgs84: "-83,37,124" }, EPSG_4165: { towgs84: "-173,253,27" }, EPSG_4672: { towgs84: "175,-38,113" }, EPSG_4236: { towgs84: "-637,-549,-203" }, EPSG_4251: { towgs84: "-90,40,88" }, EPSG_4271: { towgs84: "-2,374,172" }, EPSG_4175: { towgs84: "-88,4,101" }, EPSG_4716: { towgs84: "298,-304,-375" }, EPSG_4315: { towgs84: "-23,259,-9" }, EPSG_4744: { towgs84: "-242.2,-144.9,370.3" }, EPSG_4244: { towgs84: "-97,787,86" }, EPSG_4293: { towgs84: "616,97,-251" }, EPSG_4714: { towgs84: "-127,-769,472" }, EPSG_4736: { towgs84: "260,12,-147" }, EPSG_6883: { towgs84: "-235,-110,393" }, EPSG_6894: { towgs84: "-63,176,185" }, EPSG_4205: { towgs84: "-43,-163,45" }, EPSG_4256: { towgs84: "41,-220,-134" }, EPSG_4262: { towgs84: "639,405,60" }, EPSG_4604: { towgs84: "174,359,365" }, EPSG_4169: { towgs84: "-115,118,426" }, EPSG_4620: { towgs84: "-106,-129,165" }, EPSG_4184: { towgs84: "-203,141,53" }, EPSG_4616: { towgs84: "-289,-124,60" }, EPSG_9403: { towgs84: "-307,-92,127" }, EPSG_4684: { towgs84: "-133,-321,50" }, EPSG_4708: { towgs84: "-491,-22,435" }, EPSG_4707: { towgs84: "114,-116,-333" }, EPSG_4709: { towgs84: "145,75,-272" }, EPSG_4712: { towgs84: "-205,107,53" }, EPSG_4711: { towgs84: "124,-234,-25" }, EPSG_4718: { towgs84: "230,-199,-752" }, EPSG_4719: { towgs84: "211,147,111" }, EPSG_4724: { towgs84: "208,-435,-229" }, EPSG_4725: { towgs84: "189,-79,-202" }, EPSG_4735: { towgs84: "647,1777,-1124" }, EPSG_4722: { towgs84: "-794,119,-298" }, EPSG_4728: { towgs84: "-307,-92,127" }, EPSG_4734: { towgs84: "-632,438,-609" }, EPSG_4727: { towgs84: "912,-58,1227" }, EPSG_4729: { towgs84: "185,165,42" }, EPSG_4730: { towgs84: "170,42,84" }, EPSG_4733: { towgs84: "276,-57,149" }, ESRI_37218: { towgs84: "230,-199,-752" }, ESRI_37240: { towgs84: "-7,215,225" }, ESRI_37221: { towgs84: "252,-209,-751" }, ESRI_4305: { towgs84: "-123,-206,219" }, ESRI_104139: { towgs84: "-73,-247,227" }, EPSG_4748: { towgs84: "51,391,-36" }, EPSG_4219: { towgs84: "-384,664,-48" }, EPSG_4255: { towgs84: "-333,-222,114" }, EPSG_4257: { towgs84: "-587.8,519.75,145.76" }, EPSG_4646: { towgs84: "-963,510,-359" }, EPSG_6881: { towgs84: "-24,-203,268" }, EPSG_6882: { towgs84: "-183,-15,273" }, EPSG_4715: { towgs84: "-104,-129,239" }, IGNF_RGF93GDD: { towgs84: "0,0,0" }, IGNF_RGM04GDD: { towgs84: "0,0,0" }, IGNF_RGSPM06GDD: { towgs84: "0,0,0" }, IGNF_RGTAAF07GDD: { towgs84: "0,0,0" }, IGNF_RGFG95GDD: { towgs84: "0,0,0" }, IGNF_RGNCG: { towgs84: "0,0,0" }, IGNF_RGPFGDD: { towgs84: "0,0,0" }, IGNF_ETRS89G: { towgs84: "0,0,0" }, IGNF_RGR92GDD: { towgs84: "0,0,0" }, EPSG_4173: { towgs84: "0,0,0" }, EPSG_4180: { towgs84: "0,0,0" }, EPSG_4619: { towgs84: "0,0,0" }, EPSG_4667: { towgs84: "0,0,0" }, EPSG_4075: { towgs84: "0,0,0" }, EPSG_6706: { towgs84: "0,0,0" }, EPSG_7798: { towgs84: "0,0,0" }, EPSG_4661: { towgs84: "0,0,0" }, EPSG_4669: { towgs84: "0,0,0" }, EPSG_8685: { towgs84: "0,0,0" }, EPSG_4151: { towgs84: "0,0,0" }, EPSG_9702: { towgs84: "0,0,0" }, EPSG_4758: { towgs84: "0,0,0" }, EPSG_4761: { towgs84: "0,0,0" }, EPSG_4765: { towgs84: "0,0,0" }, EPSG_8997: { towgs84: "0,0,0" }, EPSG_4023: { towgs84: "0,0,0" }, EPSG_4670: { towgs84: "0,0,0" }, EPSG_4694: { towgs84: "0,0,0" }, EPSG_4148: { towgs84: "0,0,0" }, EPSG_4163: { towgs84: "0,0,0" }, EPSG_4167: { towgs84: "0,0,0" }, EPSG_4189: { towgs84: "0,0,0" }, EPSG_4190: { towgs84: "0,0,0" }, EPSG_4176: { towgs84: "0,0,0" }, EPSG_4659: { towgs84: "0,0,0" }, EPSG_3824: { towgs84: "0,0,0" }, EPSG_3889: { towgs84: "0,0,0" }, EPSG_4046: { towgs84: "0,0,0" }, EPSG_4081: { towgs84: "0,0,0" }, EPSG_4558: { towgs84: "0,0,0" }, EPSG_4483: { towgs84: "0,0,0" }, EPSG_5013: { towgs84: "0,0,0" }, EPSG_5264: { towgs84: "0,0,0" }, EPSG_5324: { towgs84: "0,0,0" }, EPSG_5354: { towgs84: "0,0,0" }, EPSG_5371: { towgs84: "0,0,0" }, EPSG_5373: { towgs84: "0,0,0" }, EPSG_5381: { towgs84: "0,0,0" }, EPSG_5393: { towgs84: "0,0,0" }, EPSG_5489: { towgs84: "0,0,0" }, EPSG_5593: { towgs84: "0,0,0" }, EPSG_6135: { towgs84: "0,0,0" }, EPSG_6365: { towgs84: "0,0,0" }, EPSG_5246: { towgs84: "0,0,0" }, EPSG_7886: { towgs84: "0,0,0" }, EPSG_8431: { towgs84: "0,0,0" }, EPSG_8427: { towgs84: "0,0,0" }, EPSG_8699: { towgs84: "0,0,0" }, EPSG_8818: { towgs84: "0,0,0" }, EPSG_4757: { towgs84: "0,0,0" }, EPSG_9140: { towgs84: "0,0,0" }, EPSG_8086: { towgs84: "0,0,0" }, EPSG_4686: { towgs84: "0,0,0" }, EPSG_4737: { towgs84: "0,0,0" }, EPSG_4702: { towgs84: "0,0,0" }, EPSG_4747: { towgs84: "0,0,0" }, EPSG_4749: { towgs84: "0,0,0" }, EPSG_4674: { towgs84: "0,0,0" }, EPSG_4755: { towgs84: "0,0,0" }, EPSG_4759: { towgs84: "0,0,0" }, EPSG_4762: { towgs84: "0,0,0" }, EPSG_4763: { towgs84: "0,0,0" }, EPSG_4764: { towgs84: "0,0,0" }, EPSG_4166: { towgs84: "0,0,0" }, EPSG_4170: { towgs84: "0,0,0" }, EPSG_5546: { towgs84: "0,0,0" }, EPSG_7844: { towgs84: "0,0,0" }, EPSG_4818: { towgs84: "589,76,480" } };
8902
+ for (var Vt in $t) {
8903
+ var qt = $t[Vt];
8904
+ qt.datumName && ($t[qt.datumName] = qt);
8849
8905
  }
8850
- function qt(t4, a2, o2, h2, c2, u2, d2) {
8906
+ function Lt(t4, a2, o2, h2, c2, u2, d2) {
8851
8907
  var p2 = {};
8852
8908
  return p2.datum_type = void 0 === t4 || "none" === t4 ? n : r, a2 && (p2.datum_params = a2.map(parseFloat), 0 === p2.datum_params[0] && 0 === p2.datum_params[1] && 0 === p2.datum_params[2] || (p2.datum_type = e), p2.datum_params.length > 3 && (0 === p2.datum_params[3] && 0 === p2.datum_params[4] && 0 === p2.datum_params[5] && 0 === p2.datum_params[6] || (p2.datum_type = i, p2.datum_params[3] *= l, p2.datum_params[4] *= l, p2.datum_params[5] *= l, p2.datum_params[6] = p2.datum_params[6] / 1e6 + 1))), d2 && (p2.datum_type = s, p2.grids = d2), p2.a = o2, p2.b = h2, p2.es = c2, p2.ep2 = u2, p2;
8853
8909
  }
@@ -8901,19 +8957,19 @@ proj4Src.exports = function() {
8901
8957
  }
8902
8958
  function Yt(t4, e2, i2, s2) {
8903
8959
  for (var r2 = 176, n2 = [], a2 = 0; a2 < e2.nSubgrids; a2++) {
8904
- var o2 = Jt(t4, r2, i2), h2 = te(t4, r2, o2, i2, s2), l2 = Math.round(1 + (o2.upperLongitude - o2.lowerLongitude) / o2.longitudeInterval), c2 = Math.round(1 + (o2.upperLatitude - o2.lowerLatitude) / o2.latitudeInterval);
8905
- n2.push({ ll: [Ht(o2.lowerLongitude), Ht(o2.lowerLatitude)], del: [Ht(o2.longitudeInterval), Ht(o2.latitudeInterval)], lim: [l2, c2], count: o2.gridNodeCount, cvs: Kt(h2) });
8960
+ var o2 = Kt(t4, r2, i2), h2 = te(t4, r2, o2, i2, s2), l2 = Math.round(1 + (o2.upperLongitude - o2.lowerLongitude) / o2.longitudeInterval), c2 = Math.round(1 + (o2.upperLatitude - o2.lowerLatitude) / o2.latitudeInterval);
8961
+ n2.push({ ll: [Ht(o2.lowerLongitude), Ht(o2.lowerLatitude)], del: [Ht(o2.longitudeInterval), Ht(o2.latitudeInterval)], lim: [l2, c2], count: o2.gridNodeCount, cvs: Jt(h2) });
8906
8962
  var u2 = 16;
8907
8963
  false === s2 && (u2 = 8), r2 += 176 + o2.gridNodeCount * u2;
8908
8964
  }
8909
8965
  return n2;
8910
8966
  }
8911
- function Kt(t4) {
8967
+ function Jt(t4) {
8912
8968
  return t4.map(function(t5) {
8913
8969
  return [Ht(t5.longitudeShift), Ht(t5.latitudeShift)];
8914
8970
  });
8915
8971
  }
8916
- function Jt(t4, e2, i2) {
8972
+ function Kt(t4, e2, i2) {
8917
8973
  return { name: Zt(t4, e2 + 8, e2 + 16).trim(), parent: Zt(t4, e2 + 24, e2 + 24 + 8).trim(), lowerLatitude: t4.getFloat64(e2 + 72, i2), upperLatitude: t4.getFloat64(e2 + 88, i2), lowerLongitude: t4.getFloat64(e2 + 104, i2), upperLongitude: t4.getFloat64(e2 + 120, i2), latitudeInterval: t4.getFloat64(e2 + 136, i2), longitudeInterval: t4.getFloat64(e2 + 152, i2), gridNodeCount: t4.getInt32(e2 + 168, i2) };
8918
8974
  }
8919
8975
  function te(t4, e2, i2, s2, r2) {
@@ -8937,11 +8993,11 @@ proj4Src.exports = function() {
8937
8993
  var s2 = ee.projections.get(i2.projName);
8938
8994
  if (s2) {
8939
8995
  if (i2.datumCode && "none" !== i2.datumCode) {
8940
- var r2 = v(Vt, i2.datumCode);
8996
+ var r2 = v($t, i2.datumCode);
8941
8997
  r2 && (i2.datum_params = i2.datum_params || (r2.towgs84 ? r2.towgs84.split(",") : null), i2.ellps = r2.ellipse, i2.datumName = r2.datumName ? r2.datumName : i2.datumCode);
8942
8998
  }
8943
8999
  i2.k0 = i2.k0 || 1, i2.axis = i2.axis || "enu", i2.ellps = i2.ellps || "wgs84", i2.lat1 = i2.lat1 || i2.lat0;
8944
- var n2 = Gt(i2.a, i2.b, i2.rf, i2.ellps, i2.sphere), a2 = Rt(n2.a, n2.b, n2.rf, i2.R_A), o2 = jt(i2.nadgrids), h2 = i2.datum || qt(i2.datumCode, i2.datum_params, n2.a, n2.b, a2.es, a2.ep2, o2);
9000
+ var n2 = Gt(i2.a, i2.b, i2.rf, i2.ellps, i2.sphere), a2 = Rt(n2.a, n2.b, n2.rf, i2.R_A), o2 = jt(i2.nadgrids), h2 = i2.datum || Lt(i2.datumCode, i2.datum_params, n2.a, n2.b, a2.es, a2.ep2, o2);
8945
9001
  pt(this, i2), pt(this, s2), this.a = n2.a, this.b = n2.b, this.rf = n2.rf, this.sphere = n2.sphere, this.es = a2.es, this.e = a2.e, this.ep2 = a2.ep2, this.datum = h2, this.init(), e2(null, this);
8946
9002
  } else
8947
9003
  e2("Could not get projection name from: " + t4);
@@ -9154,14 +9210,14 @@ proj4Src.exports = function() {
9154
9210
  }
9155
9211
  var be = 6, ve = "AJSAJS", Se = "AFAFAF", Ce = 65, Ee = 73, Pe = 79, Te = 86, Ae = 90, Ie = { forward: Oe, inverse: ze, toPoint: Ne };
9156
9212
  function Oe(t4, e2) {
9157
- return e2 = e2 || 5, qe(Ve({ lat: t4[1], lon: t4[0] }), e2);
9213
+ return e2 = e2 || 5, Le($e({ lat: t4[1], lon: t4[0] }), e2);
9158
9214
  }
9159
9215
  function ze(t4) {
9160
- var e2 = Le(De(t4.toUpperCase()));
9216
+ var e2 = Ve(De(t4.toUpperCase()));
9161
9217
  return e2.lat && e2.lon ? [e2.lon, e2.lat, e2.lon, e2.lat] : [e2.left, e2.bottom, e2.right, e2.top];
9162
9218
  }
9163
9219
  function Ne(t4) {
9164
- var e2 = Le(De(t4.toUpperCase()));
9220
+ var e2 = Ve(De(t4.toUpperCase()));
9165
9221
  return e2.lat && e2.lon ? [e2.lon, e2.lat] : [(e2.left + e2.right) / 2, (e2.top + e2.bottom) / 2];
9166
9222
  }
9167
9223
  function Re(t4) {
@@ -9170,13 +9226,13 @@ proj4Src.exports = function() {
9170
9226
  function Ge(t4) {
9171
9227
  return t4 / Math.PI * 180;
9172
9228
  }
9173
- function Ve(t4) {
9229
+ function $e(t4) {
9174
9230
  var e2, i2, s2, r2, n2, a2, o2, h2 = t4.lat, l2 = t4.lon, c2 = 6378137, u2 = 669438e-8, d2 = 0.9996, p2 = Re(h2), f2 = Re(l2);
9175
9231
  o2 = Math.floor((l2 + 180) / 6) + 1, 180 === l2 && (o2 = 60), h2 >= 56 && h2 < 64 && l2 >= 3 && l2 < 12 && (o2 = 32), h2 >= 72 && h2 < 84 && (l2 >= 0 && l2 < 9 ? o2 = 31 : l2 >= 9 && l2 < 21 ? o2 = 33 : l2 >= 21 && l2 < 33 ? o2 = 35 : l2 >= 33 && l2 < 42 && (o2 = 37)), a2 = Re(6 * (o2 - 1) - 180 + 3), e2 = u2 / (1 - u2), i2 = c2 / Math.sqrt(1 - u2 * Math.sin(p2) * Math.sin(p2)), s2 = Math.tan(p2) * Math.tan(p2), r2 = e2 * Math.cos(p2) * Math.cos(p2);
9176
9232
  var _2 = d2 * i2 * ((n2 = Math.cos(p2) * (f2 - a2)) + (1 - s2 + r2) * n2 * n2 * n2 / 6 + (5 - 18 * s2 + s2 * s2 + 72 * r2 - 58 * e2) * n2 * n2 * n2 * n2 * n2 / 120) + 5e5, y2 = d2 * (c2 * ((1 - u2 / 4 - 3 * u2 * u2 / 64 - 5 * u2 * u2 * u2 / 256) * p2 - (3 * u2 / 8 + 3 * u2 * u2 / 32 + 45 * u2 * u2 * u2 / 1024) * Math.sin(2 * p2) + (15 * u2 * u2 / 256 + 45 * u2 * u2 * u2 / 1024) * Math.sin(4 * p2) - 35 * u2 * u2 * u2 / 3072 * Math.sin(6 * p2)) + i2 * Math.tan(p2) * (n2 * n2 / 2 + (5 - s2 + 9 * r2 + 4 * r2 * r2) * n2 * n2 * n2 * n2 / 24 + (61 - 58 * s2 + s2 * s2 + 600 * r2 - 330 * e2) * n2 * n2 * n2 * n2 * n2 * n2 / 720));
9177
- return h2 < 0 && (y2 += 1e7), { northing: Math.round(y2), easting: Math.round(_2), zoneNumber: o2, zoneLetter: $e(h2) };
9233
+ return h2 < 0 && (y2 += 1e7), { northing: Math.round(y2), easting: Math.round(_2), zoneNumber: o2, zoneLetter: qe(h2) };
9178
9234
  }
9179
- function Le(t4) {
9235
+ function Ve(t4) {
9180
9236
  var e2 = t4.northing, i2 = t4.easting, s2 = t4.zoneLetter, r2 = t4.zoneNumber;
9181
9237
  if (r2 < 0 || r2 > 60)
9182
9238
  return null;
@@ -9186,17 +9242,17 @@ proj4Src.exports = function() {
9186
9242
  M2 = Ge(M2);
9187
9243
  var w2, b2 = (c2 - (1 + 2 * o2 + h2) * c2 * c2 * c2 / 6 + (5 - 2 * h2 + 28 * o2 - 3 * h2 * h2 + 8 * n2 + 24 * o2 * o2) * c2 * c2 * c2 * c2 * c2 / 120) / Math.cos(p2);
9188
9244
  if (b2 = u2 + Ge(b2), t4.accuracy) {
9189
- var v2 = Le({ northing: t4.northing + t4.accuracy, easting: t4.easting + t4.accuracy, zoneLetter: t4.zoneLetter, zoneNumber: t4.zoneNumber });
9245
+ var v2 = Ve({ northing: t4.northing + t4.accuracy, easting: t4.easting + t4.accuracy, zoneLetter: t4.zoneLetter, zoneNumber: t4.zoneNumber });
9190
9246
  w2 = { top: v2.lat, right: v2.lon, bottom: M2, left: b2 };
9191
9247
  } else
9192
9248
  w2 = { lat: M2, lon: b2 };
9193
9249
  return w2;
9194
9250
  }
9195
- function $e(t4) {
9251
+ function qe(t4) {
9196
9252
  var e2 = "Z";
9197
9253
  return 84 >= t4 && t4 >= 72 ? e2 = "X" : 72 > t4 && t4 >= 64 ? e2 = "W" : 64 > t4 && t4 >= 56 ? e2 = "V" : 56 > t4 && t4 >= 48 ? e2 = "U" : 48 > t4 && t4 >= 40 ? e2 = "T" : 40 > t4 && t4 >= 32 ? e2 = "S" : 32 > t4 && t4 >= 24 ? e2 = "R" : 24 > t4 && t4 >= 16 ? e2 = "Q" : 16 > t4 && t4 >= 8 ? e2 = "P" : 8 > t4 && t4 >= 0 ? e2 = "N" : 0 > t4 && t4 >= -8 ? e2 = "M" : -8 > t4 && t4 >= -16 ? e2 = "L" : -16 > t4 && t4 >= -24 ? e2 = "K" : -24 > t4 && t4 >= -32 ? e2 = "J" : -32 > t4 && t4 >= -40 ? e2 = "H" : -40 > t4 && t4 >= -48 ? e2 = "G" : -48 > t4 && t4 >= -56 ? e2 = "F" : -56 > t4 && t4 >= -64 ? e2 = "E" : -64 > t4 && t4 >= -72 ? e2 = "D" : -72 > t4 && t4 >= -80 && (e2 = "C"), e2;
9198
9254
  }
9199
- function qe(t4, e2) {
9255
+ function Le(t4, e2) {
9200
9256
  var i2 = "00000" + t4.easting, s2 = "00000" + t4.northing;
9201
9257
  return t4.zoneNumber + t4.zoneLetter + ke(t4.easting, t4.northing, t4.zoneNumber) + i2.substr(i2.length - 5, e2) + s2.substr(s2.length - 5, e2);
9202
9258
  }
@@ -9348,10 +9404,10 @@ proj4Src.exports = function() {
9348
9404
  }, He.prototype.toMGRS = function(t4) {
9349
9405
  return Oe([this.x, this.y], t4);
9350
9406
  };
9351
- var Xe = 1, Qe = 0.25, Ze = 0.046875, Ye = 0.01953125, Ke = 0.01068115234375, Je = 0.75, ti = 0.46875, ei = 0.013020833333333334, ii = 0.007120768229166667, si = 0.3645833333333333, ri = 0.005696614583333333, ni = 0.3076171875;
9407
+ var Xe = 1, Qe = 0.25, Ze = 0.046875, Ye = 0.01953125, Je = 0.01068115234375, Ke = 0.75, ti = 0.46875, ei = 0.013020833333333334, ii = 0.007120768229166667, si = 0.3645833333333333, ri = 0.005696614583333333, ni = 0.3076171875;
9352
9408
  function ai(t4) {
9353
9409
  var e2 = [];
9354
- e2[0] = Xe - t4 * (Qe + t4 * (Ze + t4 * (Ye + t4 * Ke))), e2[1] = t4 * (Je - t4 * (Ze + t4 * (Ye + t4 * Ke)));
9410
+ e2[0] = Xe - t4 * (Qe + t4 * (Ze + t4 * (Ye + t4 * Je))), e2[1] = t4 * (Ke - t4 * (Ze + t4 * (Ye + t4 * Je)));
9355
9411
  var i2 = t4 * t4;
9356
9412
  return e2[2] = i2 * (ti - t4 * (ei + t4 * ii)), i2 *= t4, e2[3] = i2 * (si - t4 * ri), e2[4] = i2 * t4 * ni, e2;
9357
9413
  }
@@ -9510,11 +9566,11 @@ proj4Src.exports = function() {
9510
9566
  function Gi() {
9511
9567
  Ri.init.apply(this), this.rc && (this.sinc0 = Math.sin(this.phic0), this.cosc0 = Math.cos(this.phic0), this.R2 = 2 * this.rc, this.title || (this.title = "Oblique Stereographic Alternative"));
9512
9568
  }
9513
- function Vi(t4) {
9569
+ function $i(t4) {
9514
9570
  var e2, i2, s2, r2;
9515
9571
  return t4.x = yt(t4.x - this.long0), Ri.forward.apply(this, [t4]), e2 = Math.sin(t4.y), i2 = Math.cos(t4.y), s2 = Math.cos(t4.x), r2 = this.k0 * this.R2 / (1 + this.sinc0 * e2 + this.cosc0 * i2 * s2), t4.x = r2 * i2 * Math.sin(t4.x), t4.y = r2 * (this.cosc0 * e2 - this.sinc0 * i2 * s2), t4.x = this.a * t4.x + this.x0, t4.y = this.a * t4.y + this.y0, t4;
9516
9572
  }
9517
- function Li(t4) {
9573
+ function Vi(t4) {
9518
9574
  var e2, i2, s2, r2, n2;
9519
9575
  if (t4.x = (t4.x - this.x0) / this.a, t4.y = (t4.y - this.y0) / this.a, t4.x /= this.k0, t4.y /= this.k0, n2 = _i(t4.x, t4.y)) {
9520
9576
  var a2 = 2 * Math.atan2(n2, this.R2);
@@ -9523,8 +9579,8 @@ proj4Src.exports = function() {
9523
9579
  r2 = this.phic0, s2 = 0;
9524
9580
  return t4.x = s2, t4.y = r2, Ri.inverse.apply(this, [t4]), t4.x = yt(t4.x + this.long0), t4;
9525
9581
  }
9526
- var $i = { init: Gi, forward: Vi, inverse: Li, names: ["Stereographic_North_Pole", "Oblique_Stereographic", "sterea", "Oblique Stereographic Alternative", "Double_Stereographic"] };
9527
- function qi(t4, e2, i2) {
9582
+ var qi = { init: Gi, forward: $i, inverse: Vi, names: ["Stereographic_North_Pole", "Oblique_Stereographic", "sterea", "Oblique Stereographic Alternative", "Double_Stereographic"] };
9583
+ function Li(t4, e2, i2) {
9528
9584
  return e2 *= i2, Math.tan(0.5 * (c + t4)) * Math.pow((1 - e2) / (1 + e2), 0.5 * i2);
9529
9585
  }
9530
9586
  function ki() {
@@ -9550,7 +9606,7 @@ proj4Src.exports = function() {
9550
9606
  r2 = 2 * Math.atan(a2 * this.cosX0 / (2 * this.a * this.k0 * this.ms1)), e2 = this.long0, a2 <= f ? n2 = this.X0 : (n2 = Math.asin(Math.cos(r2) * this.sinX0 + t4.y * Math.sin(r2) * this.cosX0 / a2), e2 = yt(this.long0 + Math.atan2(t4.x * Math.sin(r2), a2 * this.cosX0 * Math.cos(r2) - t4.y * this.sinX0 * Math.sin(r2)))), i2 = -1 * gt2(this.e, Math.tan(0.5 * (c + n2)));
9551
9607
  return t4.x = e2, t4.y = i2, t4;
9552
9608
  }
9553
- var Di = { init: ki, forward: Bi, inverse: Fi, names: ["stere", "Stereographic_South_Pole", "Polar_Stereographic_variant_A", "Polar_Stereographic_variant_B", "Polar_Stereographic"], ssfn_: qi };
9609
+ var Di = { init: ki, forward: Bi, inverse: Fi, names: ["stere", "Stereographic_South_Pole", "Polar_Stereographic_variant_A", "Polar_Stereographic_variant_B", "Polar_Stereographic"], ssfn_: Li };
9554
9610
  function ji() {
9555
9611
  var t4 = this.lat0;
9556
9612
  this.lambda0 = this.long0;
@@ -9599,7 +9655,7 @@ proj4Src.exports = function() {
9599
9655
  h2 = t4.y > 0 ? this.v_pole_n : this.v_pole_s, o2 = this.ArB * t4.y;
9600
9656
  return this.no_rot ? (l2.x = o2, l2.y = h2) : (o2 -= this.u_0, l2.x = h2 * this.cosrot + o2 * this.sinrot, l2.y = o2 * this.cosrot - h2 * this.sinrot), l2.x = this.a * l2.x + this.x0, l2.y = this.a * l2.y + this.y0, l2;
9601
9657
  }
9602
- function Ki(t4) {
9658
+ function Ji(t4) {
9603
9659
  var e2, i2, s2, r2, n2, a2, o2, h2 = {};
9604
9660
  if (t4.x = (t4.x - this.x0) * (1 / this.a), t4.y = (t4.y - this.y0) * (1 / this.a), this.no_rot ? (i2 = t4.y, e2 = t4.x) : (i2 = t4.x * this.cosrot - t4.y * this.sinrot, e2 = t4.y * this.cosrot + t4.x * this.sinrot + this.u_0), r2 = 0.5 * ((s2 = Math.exp(-this.BrA * i2)) - 1 / s2), n2 = 0.5 * (s2 + 1 / s2), o2 = ((a2 = Math.sin(this.BrA * e2)) * this.cosgam + r2 * this.singam) / n2, Math.abs(Math.abs(o2) - 1) < f)
9605
9661
  h2.x = 0, h2.y = o2 < 0 ? -c : c;
@@ -9610,7 +9666,7 @@ proj4Src.exports = function() {
9610
9666
  }
9611
9667
  return h2.x += this.lam0, h2;
9612
9668
  }
9613
- var Ji = { init: Zi, forward: Yi, inverse: Ki, names: ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Oblique_Mercator_variant_A", "Hotine_Oblique_Mercator_Variant_B", "Hotine_Oblique_Mercator_Azimuth_Natural_Origin", "Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "Hotine_Oblique_Mercator_Azimuth_Center", "Oblique_Mercator", "omerc"] };
9669
+ var Ki = { init: Zi, forward: Yi, inverse: Ji, names: ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", "Hotine_Oblique_Mercator_variant_A", "Hotine_Oblique_Mercator_Variant_B", "Hotine_Oblique_Mercator_Azimuth_Natural_Origin", "Hotine_Oblique_Mercator_Two_Point_Natural_Origin", "Hotine_Oblique_Mercator_Azimuth_Center", "Oblique_Mercator", "omerc"] };
9614
9670
  function ts() {
9615
9671
  if (this.lat2 || (this.lat2 = this.lat1), this.k0 || (this.k0 = 1), this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, !(Math.abs(this.lat1 + this.lat2) < f)) {
9616
9672
  var t4 = this.b / this.a;
@@ -9839,11 +9895,11 @@ proj4Src.exports = function() {
9839
9895
  var s2 = Ms(this.e3, this.sin_phi), r2 = this.a * Math.sqrt(this.c - this.ns0 * s2) / this.ns0, n2 = this.ns0 * yt(e2 - this.long0), a2 = r2 * Math.sin(n2) + this.x0, o2 = this.rh - r2 * Math.cos(n2) + this.y0;
9840
9896
  return t4.x = a2, t4.y = o2, t4;
9841
9897
  }
9842
- function Vs(t4) {
9898
+ function $s(t4) {
9843
9899
  var e2, i2, s2, r2, n2, a2;
9844
9900
  return t4.x -= this.x0, t4.y = this.rh - t4.y + this.y0, this.ns0 >= 0 ? (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y), s2 = 1) : (e2 = -Math.sqrt(t4.x * t4.x + t4.y * t4.y), s2 = -1), r2 = 0, 0 !== e2 && (r2 = Math.atan2(s2 * t4.x, s2 * t4.y)), s2 = e2 * this.ns0 / this.a, this.sphere ? a2 = Math.asin((this.c - s2 * s2) / (2 * this.ns0)) : (i2 = (this.c - s2 * s2) / this.ns0, a2 = this.phi1z(this.e3, i2)), n2 = yt(r2 / this.ns0 + this.long0), t4.x = n2, t4.y = a2, t4;
9845
9901
  }
9846
- function Ls(t4, e2) {
9902
+ function Vs(t4, e2) {
9847
9903
  var i2, s2, r2, n2, a2 = Ns(0.5 * e2);
9848
9904
  if (t4 < f)
9849
9905
  return a2;
@@ -9852,8 +9908,8 @@ proj4Src.exports = function() {
9852
9908
  return a2;
9853
9909
  return null;
9854
9910
  }
9855
- var $s = { init: Rs, forward: Gs, inverse: Vs, names: ["Albers_Conic_Equal_Area", "Albers_Equal_Area", "Albers", "aea"], phi1z: Ls };
9856
- function qs() {
9911
+ var qs = { init: Rs, forward: Gs, inverse: $s, names: ["Albers_Conic_Equal_Area", "Albers_Equal_Area", "Albers", "aea"], phi1z: Vs };
9912
+ function Ls() {
9857
9913
  this.sin_p14 = Math.sin(this.lat0), this.cos_p14 = Math.cos(this.lat0), this.infinity_dist = 1e3 * this.a, this.rc = 1;
9858
9914
  }
9859
9915
  function ks(t4) {
@@ -9864,7 +9920,7 @@ proj4Src.exports = function() {
9864
9920
  var e2, i2, s2, r2, n2, a2;
9865
9921
  return t4.x = (t4.x - this.x0) / this.a, t4.y = (t4.y - this.y0) / this.a, t4.x /= this.k0, t4.y /= this.k0, (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) ? (r2 = Math.atan2(e2, this.rc), i2 = Math.sin(r2), a2 = Ns((s2 = Math.cos(r2)) * this.sin_p14 + t4.y * i2 * this.cos_p14 / e2), n2 = Math.atan2(t4.x * i2, e2 * this.cos_p14 * s2 - t4.y * this.sin_p14 * i2), n2 = yt(this.long0 + n2)) : (a2 = this.phic0, n2 = 0), t4.x = n2, t4.y = a2, t4;
9866
9922
  }
9867
- var Fs = { init: qs, forward: ks, inverse: Bs, names: ["gnom"] };
9923
+ var Fs = { init: Ls, forward: ks, inverse: Bs, names: ["gnom"] };
9868
9924
  function Ds(t4, e2) {
9869
9925
  var i2 = 1 - (1 - t4 * t4) / (2 * t4) * Math.log((1 - t4) / (1 + t4));
9870
9926
  if (Math.abs(Math.abs(e2) - i2) < 1e-6)
@@ -9903,8 +9959,8 @@ proj4Src.exports = function() {
9903
9959
  var e2 = t4.x, i2 = t4.y;
9904
9960
  return t4.x = yt(this.long0 + (e2 - this.x0) / (this.a * this.rc)), t4.y = fs(this.lat0 + (i2 - this.y0) / this.a), t4;
9905
9961
  }
9906
- var Ys = { init: Xs, forward: Qs, inverse: Zs, names: ["Equirectangular", "Equidistant_Cylindrical", "Equidistant_Cylindrical_Spherical", "eqc"] }, Ks = 20;
9907
- function Js() {
9962
+ var Ys = { init: Xs, forward: Qs, inverse: Zs, names: ["Equirectangular", "Equidistant_Cylindrical", "Equidistant_Cylindrical_Spherical", "eqc"] }, Js = 20;
9963
+ function Ks() {
9908
9964
  this.temp = this.b / this.a, this.es = 1 - Math.pow(this.temp, 2), this.e = Math.sqrt(this.es), this.e0 = ls(this.es), this.e1 = cs(this.es), this.e2 = us(this.es), this.e3 = ds(this.es), this.ml0 = this.a * hs(this.e0, this.e1, this.e2, this.e3, this.lat0);
9909
9965
  }
9910
9966
  function tr(t4) {
@@ -9926,7 +9982,7 @@ proj4Src.exports = function() {
9926
9982
  e2 = yt(s2 / this.a + this.long0), i2 = 0;
9927
9983
  else {
9928
9984
  var c2;
9929
- for (a2 = this.lat0 + r2 / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Ks; n2; --n2)
9985
+ for (a2 = this.lat0 + r2 / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Js; n2; --n2)
9930
9986
  if (h2 += l2 = -1 * (a2 * (h2 * (c2 = Math.tan(h2)) + 1) - h2 - 0.5 * (h2 * h2 + o2) * c2) / ((h2 - a2) / c2 - 1), Math.abs(l2) <= f) {
9931
9987
  i2 = h2;
9932
9988
  break;
@@ -9937,7 +9993,7 @@ proj4Src.exports = function() {
9937
9993
  i2 = 0, e2 = yt(this.long0 + s2 / this.a);
9938
9994
  else {
9939
9995
  var u2, d2, p2, _2, y2;
9940
- for (a2 = (this.ml0 + r2) / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Ks; n2; --n2)
9996
+ for (a2 = (this.ml0 + r2) / this.a, o2 = s2 * s2 / this.a / this.a + a2 * a2, h2 = a2, n2 = Js; n2; --n2)
9941
9997
  if (y2 = this.e * Math.sin(h2), u2 = Math.sqrt(1 - y2 * y2) * Math.tan(h2), d2 = this.a * hs(this.e0, this.e1, this.e2, this.e3, h2), p2 = this.e0 - 2 * this.e1 * Math.cos(2 * h2) + 4 * this.e2 * Math.cos(4 * h2) - 6 * this.e3 * Math.cos(6 * h2), h2 -= l2 = (a2 * (u2 * (_2 = d2 / this.a) + 1) - _2 - 0.5 * u2 * (_2 * _2 + o2)) / (this.es * Math.sin(2 * h2) * (_2 * _2 + o2 - 2 * a2 * _2) / (4 * u2) + (a2 - _2) * (u2 * p2 - 2 / Math.sin(2 * h2)) - p2), Math.abs(l2) <= f) {
9942
9998
  i2 = h2;
9943
9999
  break;
@@ -9946,7 +10002,7 @@ proj4Src.exports = function() {
9946
10002
  }
9947
10003
  return t4.x = e2, t4.y = i2, t4;
9948
10004
  }
9949
- var ir = { init: Js, forward: tr, inverse: er, names: ["Polyconic", "American_Polyconic", "poly"] };
10005
+ var ir = { init: Ks, forward: tr, inverse: er, names: ["Polyconic", "American_Polyconic", "poly"] };
9950
10006
  function sr() {
9951
10007
  this.A = [], this.A[1] = 0.6399175073, this.A[2] = -0.1358797613, this.A[3] = 0.063294409, this.A[4] = -0.02526853, this.A[5] = 0.0117879, this.A[6] = -55161e-7, this.A[7] = 26906e-7, this.A[8] = -1333e-6, this.A[9] = 67e-5, this.A[10] = -34e-5, this.B_re = [], this.B_im = [], this.B_re[1] = 0.7557853228, this.B_im[1] = 0, this.B_re[2] = 0.249204646, this.B_im[2] = 3371507e-9, this.B_re[3] = -1541739e-9, this.B_im[3] = 0.04105856, this.B_re[4] = -0.10162907, this.B_im[4] = 0.01727609, this.B_re[5] = -0.26623489, this.B_im[5] = -0.36249218, this.B_re[6] = -0.6870983, this.B_im[6] = -1.1651967, this.C_re = [], this.C_im = [], this.C_re[1] = 1.3231270439, this.C_im[1] = 0, this.C_re[2] = -0.577245789, this.C_im[2] = -7809598e-9, this.C_re[3] = 0.508307513, this.C_im[3] = -0.112208952, this.C_re[4] = -0.15094762, this.C_im[4] = 0.18200602, this.C_re[5] = 1.01418179, this.C_im[5] = 1.64497696, this.C_re[6] = 1.9660549, this.C_im[6] = 2.5127645, this.D = [], this.D[1] = 1.5627014243, this.D[2] = 0.5185406398, this.D[3] = -0.03333098, this.D[4] = -0.1052906, this.D[5] = -0.0368594, this.D[6] = 7317e-6, this.D[7] = 0.0122, this.D[8] = 394e-5, this.D[9] = -13e-4;
9952
10008
  }
@@ -10249,8 +10305,8 @@ proj4Src.exports = function() {
10249
10305
  }
10250
10306
  return u3 & t5.REDUCEDLENGTH && (g3.m0 = x3, g3.m12b = h3 * (r4 * a3) - n3 * (s4 * o3) - r4 * o3 * M3), u3 & t5.GEODESICSCALE && (y3 = r4 * o3 + s4 * a3, m3 = this._ep2 * (l3 - c3) * (l3 + c3) / (n3 + h3), g3.M12 = y3 + (m3 * a3 - o3 * M3) * s4 / n3, g3.M21 = y3 - (m3 * s4 - r4 * M3) * a3 / h3), g3;
10251
10307
  }, t5.Geodesic.prototype.InverseStart = function(e4, i4, r4, n3, a3, h3, l3, c3, u3, d3, p3) {
10252
- var f3, _3, y3, m3, g3, x3, M3, w3, b3, v3, C3, E3, T3, A4, I3, O2, z2, N2, R2, G2, V2 = {}, L2 = n3 * i4 - a3 * e4, $2 = a3 * i4 + n3 * e4;
10253
- return V2.sig12 = -1, f3 = n3 * i4, f3 += a3 * e4, (_3 = $2 >= 0 && L2 < 0.5 && a3 * l3 < 0.5) ? (m3 = s3.sq(e4 + n3), m3 /= m3 + s3.sq(i4 + a3), V2.dnm = Math.sqrt(1 + this._ep2 * m3), y3 = l3 / (this._f1 * V2.dnm), g3 = Math.sin(y3), x3 = Math.cos(y3)) : (g3 = c3, x3 = u3), V2.salp1 = a3 * g3, V2.calp1 = x3 >= 0 ? L2 + a3 * e4 * s3.sq(g3) / (1 + x3) : f3 - a3 * e4 * s3.sq(g3) / (1 - x3), w3 = s3.hypot(V2.salp1, V2.calp1), b3 = e4 * n3 + i4 * a3 * x3, _3 && w3 < this._etol2 ? (V2.salp2 = i4 * g3, V2.calp2 = L2 - i4 * n3 * (x3 >= 0 ? s3.sq(g3) / (1 + x3) : 1 - x3), M3 = s3.hypot(V2.salp2, V2.calp2), V2.salp2 /= M3, V2.calp2 /= M3, V2.sig12 = Math.atan2(w3, b3)) : Math.abs(this._n) > 0.1 || b3 >= 0 || w3 >= 6 * Math.abs(this._n) * Math.PI * s3.sq(i4) || (G2 = Math.atan2(-c3, -u3), this.f >= 0 ? (A4 = (T3 = s3.sq(e4) * this._ep2) / (2 * (1 + Math.sqrt(1 + T3)) + T3), v3 = G2 / (E3 = this.f * i4 * this.A3f(A4) * Math.PI), C3 = f3 / (E3 * i4)) : (I3 = a3 * i4 - n3 * e4, O2 = Math.atan2(f3, I3), C3 = l3 / (E3 = ((v3 = (z2 = this.Lengths(this._n, Math.PI + O2, e4, -i4, r4, n3, a3, h3, i4, a3, t5.REDUCEDLENGTH, d3, p3)).m12b / (i4 * a3 * z2.m0 * Math.PI) - 1) < -0.01 ? f3 / v3 : -this.f * s3.sq(i4) * Math.PI) / i4)), C3 > -S2 && v3 > -1 - P2 ? this.f >= 0 ? (V2.salp1 = Math.min(1, -v3), V2.calp1 = -Math.sqrt(1 - s3.sq(V2.salp1))) : (V2.calp1 = Math.max(v3 > -S2 ? 0 : -1, v3), V2.salp1 = Math.sqrt(1 - s3.sq(V2.calp1))) : (N2 = o2(v3, C3), R2 = E3 * (this.f >= 0 ? -v3 * N2 / (1 + N2) : -C3 * (1 + N2) / N2), g3 = Math.sin(R2), x3 = -Math.cos(R2), V2.salp1 = a3 * g3, V2.calp1 = f3 - a3 * e4 * s3.sq(g3) / (1 - x3))), V2.salp1 <= 0 ? (V2.salp1 = 1, V2.calp1 = 0) : (M3 = s3.hypot(V2.salp1, V2.calp1), V2.salp1 /= M3, V2.calp1 /= M3), V2;
10308
+ var f3, _3, y3, m3, g3, x3, M3, w3, b3, v3, C3, E3, T3, A4, I3, O2, z2, N2, R2, G2, $2 = {}, V2 = n3 * i4 - a3 * e4, q2 = a3 * i4 + n3 * e4;
10309
+ return $2.sig12 = -1, f3 = n3 * i4, f3 += a3 * e4, (_3 = q2 >= 0 && V2 < 0.5 && a3 * l3 < 0.5) ? (m3 = s3.sq(e4 + n3), m3 /= m3 + s3.sq(i4 + a3), $2.dnm = Math.sqrt(1 + this._ep2 * m3), y3 = l3 / (this._f1 * $2.dnm), g3 = Math.sin(y3), x3 = Math.cos(y3)) : (g3 = c3, x3 = u3), $2.salp1 = a3 * g3, $2.calp1 = x3 >= 0 ? V2 + a3 * e4 * s3.sq(g3) / (1 + x3) : f3 - a3 * e4 * s3.sq(g3) / (1 - x3), w3 = s3.hypot($2.salp1, $2.calp1), b3 = e4 * n3 + i4 * a3 * x3, _3 && w3 < this._etol2 ? ($2.salp2 = i4 * g3, $2.calp2 = V2 - i4 * n3 * (x3 >= 0 ? s3.sq(g3) / (1 + x3) : 1 - x3), M3 = s3.hypot($2.salp2, $2.calp2), $2.salp2 /= M3, $2.calp2 /= M3, $2.sig12 = Math.atan2(w3, b3)) : Math.abs(this._n) > 0.1 || b3 >= 0 || w3 >= 6 * Math.abs(this._n) * Math.PI * s3.sq(i4) || (G2 = Math.atan2(-c3, -u3), this.f >= 0 ? (A4 = (T3 = s3.sq(e4) * this._ep2) / (2 * (1 + Math.sqrt(1 + T3)) + T3), v3 = G2 / (E3 = this.f * i4 * this.A3f(A4) * Math.PI), C3 = f3 / (E3 * i4)) : (I3 = a3 * i4 - n3 * e4, O2 = Math.atan2(f3, I3), C3 = l3 / (E3 = ((v3 = (z2 = this.Lengths(this._n, Math.PI + O2, e4, -i4, r4, n3, a3, h3, i4, a3, t5.REDUCEDLENGTH, d3, p3)).m12b / (i4 * a3 * z2.m0 * Math.PI) - 1) < -0.01 ? f3 / v3 : -this.f * s3.sq(i4) * Math.PI) / i4)), C3 > -S2 && v3 > -1 - P2 ? this.f >= 0 ? ($2.salp1 = Math.min(1, -v3), $2.calp1 = -Math.sqrt(1 - s3.sq($2.salp1))) : ($2.calp1 = Math.max(v3 > -S2 ? 0 : -1, v3), $2.salp1 = Math.sqrt(1 - s3.sq($2.calp1))) : (N2 = o2(v3, C3), R2 = E3 * (this.f >= 0 ? -v3 * N2 / (1 + N2) : -C3 * (1 + N2) / N2), g3 = Math.sin(R2), x3 = -Math.cos(R2), $2.salp1 = a3 * g3, $2.calp1 = f3 - a3 * e4 * s3.sq(g3) / (1 - x3))), $2.salp1 <= 0 ? ($2.salp1 = 1, $2.calp1 = 0) : (M3 = s3.hypot($2.salp1, $2.calp1), $2.salp1 /= M3, $2.calp1 /= M3), $2;
10254
10310
  }, t5.Geodesic.prototype.Lambda12 = function(e4, i4, r4, n3, a3, o3, h3, l3, c3, u3, d3, p3, f3, _3) {
10255
10311
  var y3, m3, g3, x3, M3, w3, b3, v3, S3, C3, E3, P3, T3, A4 = {};
10256
10312
  return 0 === e4 && 0 === l3 && (l3 = -t5.tiny_), m3 = h3 * i4, g3 = s3.hypot(l3, h3 * e4), A4.ssig1 = e4, x3 = m3 * e4, A4.csig1 = M3 = l3 * i4, y3 = s3.hypot(A4.ssig1, A4.csig1), A4.ssig1 /= y3, A4.csig1 /= y3, A4.salp2 = a3 !== i4 ? m3 / a3 : h3, A4.calp2 = a3 !== i4 || Math.abs(n3) !== -e4 ? Math.sqrt(s3.sq(l3 * i4) + (i4 < -e4 ? (a3 - i4) * (i4 + a3) : (e4 - n3) * (e4 + n3))) / a3 : Math.abs(l3), A4.ssig2 = n3, w3 = m3 * n3, A4.csig2 = b3 = A4.calp2 * a3, y3 = s3.hypot(A4.ssig2, A4.csig2), A4.ssig2 /= y3, A4.csig2 /= y3, A4.sig12 = Math.atan2(Math.max(0, A4.csig1 * A4.ssig2 - A4.ssig1 * A4.csig2), A4.csig1 * A4.csig2 + A4.ssig1 * A4.ssig2), v3 = Math.max(0, M3 * w3 - x3 * b3), S3 = M3 * b3 + x3 * w3, E3 = Math.atan2(v3 * u3 - S3 * c3, S3 * u3 + v3 * c3), P3 = s3.sq(g3) * this._ep2, A4.eps = P3 / (2 * (1 + Math.sqrt(1 + P3)) + P3), this.C3f(A4.eps, _3), C3 = t5.SinCosSeries(true, A4.ssig2, A4.csig2, _3) - t5.SinCosSeries(true, A4.ssig1, A4.csig1, _3), A4.domg12 = -this.f * this.A3f(A4.eps) * m3 * (A4.sig12 + C3), A4.lam12 = E3 + A4.domg12, d3 && (0 === A4.calp2 ? A4.dlam12 = -2 * this._f1 * r4 / e4 : (T3 = this.Lengths(A4.eps, A4.sig12, A4.ssig1, A4.csig1, r4, A4.ssig2, A4.csig2, o3, i4, a3, t5.REDUCEDLENGTH, p3, f3), A4.dlam12 = T3.m12b, A4.dlam12 *= this._f1 / (A4.calp2 * a3))), A4;
@@ -10258,18 +10314,18 @@ proj4Src.exports = function() {
10258
10314
  var o3, h3;
10259
10315
  return a3 || (a3 = t5.STANDARD), a3 === t5.LONG_UNROLL && (a3 |= t5.STANDARD), a3 &= t5.OUT_MASK, h3 = (o3 = this.InverseInt(e4, i4, r4, n3, a3)).vals, a3 & t5.AZIMUTH && (h3.azi1 = s3.atan2d(o3.salp1, o3.calp1), h3.azi2 = s3.atan2d(o3.salp2, o3.calp2)), h3;
10260
10316
  }, t5.Geodesic.prototype.InverseInt = function(e4, i4, r4, n3, a3) {
10261
- var o3, h3, l3, c3, u3, d3, p3, f3, _3, y3, m3, g3, x3, M3, S3, C3, P3, T3, A4, I3, O2, z2, N2, R2, G2, V2, L2, $2, q2, k2, B2, F2, D2, j2, U2, W2, H2, X2, Q2, Z2, Y2, K2, J2, tt2, et2, it2, st2, rt2, nt2, at2, ot2, ht2, lt3, ct2, ut2, dt2, pt2, ft2, _t2, yt2, mt2, gt3, xt2, Mt2, wt2, bt2 = {};
10262
- if (bt2.lat1 = e4 = s3.LatFix(e4), bt2.lat2 = r4 = s3.LatFix(r4), e4 = s3.AngRound(e4), r4 = s3.AngRound(r4), h3 = (o3 = s3.AngDiff(i4, n3)).e, o3 = o3.d, a3 & t5.LONG_UNROLL ? (bt2.lon1 = i4, bt2.lon2 = i4 + o3 + h3) : (bt2.lon1 = s3.AngNormalize(i4), bt2.lon2 = s3.AngNormalize(n3)), h3 *= l3 = s3.copysign(1, o3), S3 = (o3 *= l3) * s3.degree, C3 = (c3 = s3.sincosde(o3, h3)).s, P3 = c3.c, h3 = 180 - o3 - h3, (u3 = Math.abs(e4) < Math.abs(r4) || isNaN(r4) ? -1 : 1) < 0 && (l3 *= -1, [r4, e4] = [e4, r4]), e4 *= d3 = s3.copysign(1, -e4), r4 *= d3, c3 = s3.sincosd(e4), p3 = this._f1 * c3.s, f3 = c3.c, p3 /= c3 = s3.hypot(p3, f3), f3 /= c3, f3 = Math.max(t5.tiny_, f3), c3 = s3.sincosd(r4), _3 = this._f1 * c3.s, y3 = c3.c, _3 /= c3 = s3.hypot(_3, y3), y3 /= c3, y3 = Math.max(t5.tiny_, y3), f3 < -p3 ? y3 === f3 && (_3 = s3.copysign(p3, _3)) : Math.abs(_3) === -p3 && (y3 = f3), x3 = Math.sqrt(1 + this._ep2 * s3.sq(p3)), M3 = Math.sqrt(1 + this._ep2 * s3.sq(_3)), N2 = new Array(t5.nC1_ + 1), R2 = new Array(t5.nC2_ + 1), G2 = new Array(t5.nC3_), (V2 = -90 === e4 || 0 === C3) && (I3 = C3, z2 = 0, $2 = p3, q2 = (A4 = P3) * f3, k2 = _3, B2 = (O2 = 1) * y3, T3 = Math.atan2(Math.max(0, q2 * k2 - $2 * B2), q2 * B2 + $2 * k2), m3 = (L2 = this.Lengths(this._n, T3, $2, q2, x3, k2, B2, M3, f3, y3, a3 | t5.DISTANCE | t5.REDUCEDLENGTH, N2, R2)).s12b, g3 = L2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = L2.M12, bt2.M21 = L2.M21), T3 < 1 || g3 >= 0 ? ((T3 < 3 * t5.tiny_ || T3 < v2 && (m3 < 0 || g3 < 0)) && (T3 = g3 = m3 = 0), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree) : V2 = false), pt2 = 2, !V2 && 0 === p3 && (this.f <= 0 || h3 >= 180 * this.f))
10317
+ var o3, h3, l3, c3, u3, d3, p3, f3, _3, y3, m3, g3, x3, M3, S3, C3, P3, T3, A4, I3, O2, z2, N2, R2, G2, $2, V2, q2, L2, k2, B2, F2, D2, j2, U2, W2, H2, X2, Q2, Z2, Y2, J2, K2, tt2, et2, it2, st2, rt2, nt2, at2, ot2, ht2, lt3, ct2, ut2, dt2, pt2, ft2, _t2, yt2, mt2, gt3, xt2, Mt2, wt2, bt2 = {};
10318
+ if (bt2.lat1 = e4 = s3.LatFix(e4), bt2.lat2 = r4 = s3.LatFix(r4), e4 = s3.AngRound(e4), r4 = s3.AngRound(r4), h3 = (o3 = s3.AngDiff(i4, n3)).e, o3 = o3.d, a3 & t5.LONG_UNROLL ? (bt2.lon1 = i4, bt2.lon2 = i4 + o3 + h3) : (bt2.lon1 = s3.AngNormalize(i4), bt2.lon2 = s3.AngNormalize(n3)), h3 *= l3 = s3.copysign(1, o3), S3 = (o3 *= l3) * s3.degree, C3 = (c3 = s3.sincosde(o3, h3)).s, P3 = c3.c, h3 = 180 - o3 - h3, (u3 = Math.abs(e4) < Math.abs(r4) || isNaN(r4) ? -1 : 1) < 0 && (l3 *= -1, [r4, e4] = [e4, r4]), e4 *= d3 = s3.copysign(1, -e4), r4 *= d3, c3 = s3.sincosd(e4), p3 = this._f1 * c3.s, f3 = c3.c, p3 /= c3 = s3.hypot(p3, f3), f3 /= c3, f3 = Math.max(t5.tiny_, f3), c3 = s3.sincosd(r4), _3 = this._f1 * c3.s, y3 = c3.c, _3 /= c3 = s3.hypot(_3, y3), y3 /= c3, y3 = Math.max(t5.tiny_, y3), f3 < -p3 ? y3 === f3 && (_3 = s3.copysign(p3, _3)) : Math.abs(_3) === -p3 && (y3 = f3), x3 = Math.sqrt(1 + this._ep2 * s3.sq(p3)), M3 = Math.sqrt(1 + this._ep2 * s3.sq(_3)), N2 = new Array(t5.nC1_ + 1), R2 = new Array(t5.nC2_ + 1), G2 = new Array(t5.nC3_), ($2 = -90 === e4 || 0 === C3) && (I3 = C3, z2 = 0, q2 = p3, L2 = (A4 = P3) * f3, k2 = _3, B2 = (O2 = 1) * y3, T3 = Math.atan2(Math.max(0, L2 * k2 - q2 * B2), L2 * B2 + q2 * k2), m3 = (V2 = this.Lengths(this._n, T3, q2, L2, x3, k2, B2, M3, f3, y3, a3 | t5.DISTANCE | t5.REDUCEDLENGTH, N2, R2)).s12b, g3 = V2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = V2.M12, bt2.M21 = V2.M21), T3 < 1 || g3 >= 0 ? ((T3 < 3 * t5.tiny_ || T3 < v2 && (m3 < 0 || g3 < 0)) && (T3 = g3 = m3 = 0), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree) : $2 = false), pt2 = 2, !$2 && 0 === p3 && (this.f <= 0 || h3 >= 180 * this.f))
10263
10319
  A4 = O2 = 0, I3 = z2 = 1, m3 = this.a * S3, T3 = D2 = S3 / this._f1, g3 = this._b * Math.sin(T3), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3)), bt2.a12 = o3 / this._f1;
10264
- else if (!V2)
10265
- if (T3 = (L2 = this.InverseStart(p3, f3, x3, _3, y3, M3, S3, C3, P3, N2, R2)).sig12, I3 = L2.salp1, A4 = L2.calp1, T3 >= 0)
10266
- z2 = L2.salp2, O2 = L2.calp2, j2 = L2.dnm, m3 = T3 * this._b * j2, g3 = s3.sq(j2) * this._b * Math.sin(T3 / j2), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3 / j2)), bt2.a12 = T3 / s3.degree, D2 = S3 / (this._f1 * j2);
10320
+ else if (!$2)
10321
+ if (T3 = (V2 = this.InverseStart(p3, f3, x3, _3, y3, M3, S3, C3, P3, N2, R2)).sig12, I3 = V2.salp1, A4 = V2.calp1, T3 >= 0)
10322
+ z2 = V2.salp2, O2 = V2.calp2, j2 = V2.dnm, m3 = T3 * this._b * j2, g3 = s3.sq(j2) * this._b * Math.sin(T3 / j2), a3 & t5.GEODESICSCALE && (bt2.M12 = bt2.M21 = Math.cos(T3 / j2)), bt2.a12 = T3 / s3.degree, D2 = S3 / (this._f1 * j2);
10267
10323
  else {
10268
- for (U2 = 0, W2 = t5.tiny_, H2 = 1, X2 = t5.tiny_, Q2 = -1, Z2 = false, Y2 = false; K2 = (L2 = this.Lambda12(p3, f3, x3, _3, y3, M3, I3, A4, C3, P3, U2 < w2, N2, R2, G2)).lam12, z2 = L2.salp2, O2 = L2.calp2, T3 = L2.sig12, $2 = L2.ssig1, q2 = L2.csig1, k2 = L2.ssig2, B2 = L2.csig2, F2 = L2.eps, _t2 = L2.domg12, J2 = L2.dlam12, !Y2 && Math.abs(K2) >= (Z2 ? 8 : 1) * v2 && U2 != b2; ++U2)
10269
- K2 > 0 && (U2 < w2 || A4 / I3 > Q2 / X2) ? (X2 = I3, Q2 = A4) : K2 < 0 && (U2 < w2 || A4 / I3 < H2 / W2) && (W2 = I3, H2 = A4), U2 < w2 && J2 > 0 && (tt2 = -K2 / J2, Math.abs(tt2) < Math.PI && (et2 = Math.sin(tt2), (st2 = I3 * (it2 = Math.cos(tt2)) + A4 * et2) > 0)) ? (A4 = A4 * it2 - I3 * et2, I3 = st2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = Math.abs(K2) <= 16 * v2) : (I3 = (W2 + X2) / 2, A4 = (H2 + Q2) / 2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = false, Y2 = Math.abs(W2 - I3) + (H2 - A4) < E2 || Math.abs(I3 - X2) + (A4 - Q2) < E2);
10270
- rt2 = a3 | (a3 & (t5.REDUCEDLENGTH | t5.GEODESICSCALE) ? t5.DISTANCE : t5.NONE), m3 = (L2 = this.Lengths(F2, T3, $2, q2, x3, k2, B2, M3, f3, y3, rt2, N2, R2)).s12b, g3 = L2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = L2.M12, bt2.M21 = L2.M21), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree, a3 & t5.AREA && (Mt2 = Math.sin(_t2), pt2 = C3 * (wt2 = Math.cos(_t2)) - P3 * Mt2, ft2 = P3 * wt2 + C3 * Mt2);
10324
+ for (U2 = 0, W2 = t5.tiny_, H2 = 1, X2 = t5.tiny_, Q2 = -1, Z2 = false, Y2 = false; J2 = (V2 = this.Lambda12(p3, f3, x3, _3, y3, M3, I3, A4, C3, P3, U2 < w2, N2, R2, G2)).lam12, z2 = V2.salp2, O2 = V2.calp2, T3 = V2.sig12, q2 = V2.ssig1, L2 = V2.csig1, k2 = V2.ssig2, B2 = V2.csig2, F2 = V2.eps, _t2 = V2.domg12, K2 = V2.dlam12, !Y2 && Math.abs(J2) >= (Z2 ? 8 : 1) * v2 && U2 != b2; ++U2)
10325
+ J2 > 0 && (U2 < w2 || A4 / I3 > Q2 / X2) ? (X2 = I3, Q2 = A4) : J2 < 0 && (U2 < w2 || A4 / I3 < H2 / W2) && (W2 = I3, H2 = A4), U2 < w2 && K2 > 0 && (tt2 = -J2 / K2, Math.abs(tt2) < Math.PI && (et2 = Math.sin(tt2), (st2 = I3 * (it2 = Math.cos(tt2)) + A4 * et2) > 0)) ? (A4 = A4 * it2 - I3 * et2, I3 = st2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = Math.abs(J2) <= 16 * v2) : (I3 = (W2 + X2) / 2, A4 = (H2 + Q2) / 2, I3 /= c3 = s3.hypot(I3, A4), A4 /= c3, Z2 = false, Y2 = Math.abs(W2 - I3) + (H2 - A4) < E2 || Math.abs(I3 - X2) + (A4 - Q2) < E2);
10326
+ rt2 = a3 | (a3 & (t5.REDUCEDLENGTH | t5.GEODESICSCALE) ? t5.DISTANCE : t5.NONE), m3 = (V2 = this.Lengths(F2, T3, q2, L2, x3, k2, B2, M3, f3, y3, rt2, N2, R2)).s12b, g3 = V2.m12b, a3 & t5.GEODESICSCALE && (bt2.M12 = V2.M12, bt2.M21 = V2.M21), g3 *= this._b, m3 *= this._b, bt2.a12 = T3 / s3.degree, a3 & t5.AREA && (Mt2 = Math.sin(_t2), pt2 = C3 * (wt2 = Math.cos(_t2)) - P3 * Mt2, ft2 = P3 * wt2 + C3 * Mt2);
10271
10327
  }
10272
- return a3 & t5.DISTANCE && (bt2.s12 = 0 + m3), a3 & t5.REDUCEDLENGTH && (bt2.m12 = 0 + g3), a3 & t5.AREA && (nt2 = I3 * f3, 0 !== (at2 = s3.hypot(A4, I3 * p3)) && 0 !== nt2 ? ($2 = p3, q2 = A4 * f3, k2 = _3, B2 = O2 * y3, F2 = (ht2 = s3.sq(at2) * this._ep2) / (2 * (1 + Math.sqrt(1 + ht2)) + ht2), lt3 = s3.sq(this.a) * at2 * nt2 * this._e2, $2 /= c3 = s3.hypot($2, q2), q2 /= c3, k2 /= c3 = s3.hypot(k2, B2), B2 /= c3, ct2 = new Array(t5.nC4_), this.C4f(F2, ct2), ut2 = t5.SinCosSeries(false, $2, q2, ct2), dt2 = t5.SinCosSeries(false, k2, B2, ct2), bt2.S12 = lt3 * (dt2 - ut2)) : bt2.S12 = 0, V2 || 2 != pt2 || (pt2 = Math.sin(D2), ft2 = Math.cos(D2)), !V2 && ft2 > -0.7071 && _3 - p3 < 1.75 ? (_t2 = 1 + ft2, yt2 = 1 + f3, mt2 = 1 + y3, ot2 = 2 * Math.atan2(pt2 * (p3 * mt2 + _3 * yt2), _t2 * (p3 * _3 + yt2 * mt2))) : (xt2 = O2 * A4 + z2 * I3, 0 === (gt3 = z2 * A4 - O2 * I3) && xt2 < 0 && (gt3 = t5.tiny_ * A4, xt2 = -1), ot2 = Math.atan2(gt3, xt2)), bt2.S12 += this._c2 * ot2, bt2.S12 *= u3 * l3 * d3, bt2.S12 += 0), u3 < 0 && ([z2, I3] = [I3, z2], [O2, A4] = [A4, O2], a3 & t5.GEODESICSCALE && ([bt2.M21, bt2.M12] = [bt2.M12, bt2.M21])), { vals: bt2, salp1: I3 *= u3 * l3, calp1: A4 *= u3 * d3, salp2: z2 *= u3 * l3, calp2: O2 *= u3 * d3 };
10328
+ return a3 & t5.DISTANCE && (bt2.s12 = 0 + m3), a3 & t5.REDUCEDLENGTH && (bt2.m12 = 0 + g3), a3 & t5.AREA && (nt2 = I3 * f3, 0 !== (at2 = s3.hypot(A4, I3 * p3)) && 0 !== nt2 ? (q2 = p3, L2 = A4 * f3, k2 = _3, B2 = O2 * y3, F2 = (ht2 = s3.sq(at2) * this._ep2) / (2 * (1 + Math.sqrt(1 + ht2)) + ht2), lt3 = s3.sq(this.a) * at2 * nt2 * this._e2, q2 /= c3 = s3.hypot(q2, L2), L2 /= c3, k2 /= c3 = s3.hypot(k2, B2), B2 /= c3, ct2 = new Array(t5.nC4_), this.C4f(F2, ct2), ut2 = t5.SinCosSeries(false, q2, L2, ct2), dt2 = t5.SinCosSeries(false, k2, B2, ct2), bt2.S12 = lt3 * (dt2 - ut2)) : bt2.S12 = 0, $2 || 2 != pt2 || (pt2 = Math.sin(D2), ft2 = Math.cos(D2)), !$2 && ft2 > -0.7071 && _3 - p3 < 1.75 ? (_t2 = 1 + ft2, yt2 = 1 + f3, mt2 = 1 + y3, ot2 = 2 * Math.atan2(pt2 * (p3 * mt2 + _3 * yt2), _t2 * (p3 * _3 + yt2 * mt2))) : (xt2 = O2 * A4 + z2 * I3, 0 === (gt3 = z2 * A4 - O2 * I3) && xt2 < 0 && (gt3 = t5.tiny_ * A4, xt2 = -1), ot2 = Math.atan2(gt3, xt2)), bt2.S12 += this._c2 * ot2, bt2.S12 *= u3 * l3 * d3, bt2.S12 += 0), u3 < 0 && ([z2, I3] = [I3, z2], [O2, A4] = [A4, O2], a3 & t5.GEODESICSCALE && ([bt2.M21, bt2.M12] = [bt2.M12, bt2.M21])), { vals: bt2, salp1: I3 *= u3 * l3, calp1: A4 *= u3 * d3, salp2: z2 *= u3 * l3, calp2: O2 *= u3 * d3 };
10273
10329
  }, t5.Geodesic.prototype.GenDirect = function(i4, s4, r4, n3, a3, o3) {
10274
10330
  return o3 ? o3 === t5.LONG_UNROLL && (o3 |= t5.STANDARD) : o3 = t5.STANDARD, n3 || (o3 |= t5.DISTANCE_IN), new e3.GeodesicLine(this, i4, s4, r4, o3).GenPosition(n3, a3, o3);
10275
10331
  }, t5.Geodesic.prototype.Direct = function(t6, e4, i4, s4, r4) {
@@ -10367,18 +10423,18 @@ proj4Src.exports = function() {
10367
10423
  return h2 = ls(this.es), l2 = cs(this.es), u2 = us(this.es), d2 = ds(this.es), Math.abs(this.sin_p12 - 1) <= f ? (a2 = _s(((p2 = this.a * hs(h2, l2, u2, d2, c)) - (e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y))) / this.a, h2, l2, u2, d2), n2 = yt(this.long0 + Math.atan2(t4.x, -1 * t4.y)), t4.x = n2, t4.y = a2, t4) : Math.abs(this.sin_p12 + 1) <= f ? (p2 = this.a * hs(h2, l2, u2, d2, c), a2 = _s(((e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) - p2) / this.a, h2, l2, u2, d2), n2 = yt(this.long0 + Math.atan2(t4.x, t4.y)), t4.x = n2, t4.y = a2, t4) : (y2 = this.lat0 / _, m2 = this.long0 / _, g2 = Math.atan2(t4.x, t4.y) / _, x2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y), M2 = this.g.Direct(y2, m2, g2, x2, this.g.STANDARD), t4.x = M2.lon2 * _, t4.y = M2.lat2 * _, t4);
10368
10424
  }
10369
10425
  var Gr = { init: zr, forward: Nr, inverse: Rr, names: ["Azimuthal_Equidistant", "aeqd"] };
10370
- function Vr() {
10426
+ function $r() {
10371
10427
  this.sin_p14 = Math.sin(this.lat0), this.cos_p14 = Math.cos(this.lat0);
10372
10428
  }
10373
- function Lr(t4) {
10429
+ function Vr(t4) {
10374
10430
  var e2, i2, s2, r2, n2, a2, o2, h2, l2 = t4.x, c2 = t4.y;
10375
10431
  return s2 = yt(l2 - this.long0), e2 = Math.sin(c2), i2 = Math.cos(c2), r2 = Math.cos(s2), n2 = 1, ((a2 = this.sin_p14 * e2 + this.cos_p14 * i2 * r2) > 0 || Math.abs(a2) <= f) && (o2 = this.a * n2 * i2 * Math.sin(s2), h2 = this.y0 + this.a * n2 * (this.cos_p14 * e2 - this.sin_p14 * i2 * r2)), t4.x = o2, t4.y = h2, t4;
10376
10432
  }
10377
- function $r(t4) {
10433
+ function qr(t4) {
10378
10434
  var e2, i2, s2, r2, n2, a2, o2;
10379
10435
  return t4.x -= this.x0, t4.y -= this.y0, i2 = Ns((e2 = Math.sqrt(t4.x * t4.x + t4.y * t4.y)) / this.a), s2 = Math.sin(i2), r2 = Math.cos(i2), a2 = this.long0, Math.abs(e2) <= f ? (o2 = this.lat0, t4.x = a2, t4.y = o2, t4) : (o2 = Ns(r2 * this.sin_p14 + t4.y * s2 * this.cos_p14 / e2), n2 = Math.abs(this.lat0) - c, Math.abs(n2) <= f ? (a2 = this.lat0 >= 0 ? yt(this.long0 + Math.atan2(t4.x, -t4.y)) : yt(this.long0 - Math.atan2(-t4.x, t4.y)), t4.x = a2, t4.y = o2, t4) : (a2 = yt(this.long0 + Math.atan2(t4.x * s2, e2 * this.cos_p14 * r2 - t4.y * this.sin_p14 * s2)), t4.x = a2, t4.y = o2, t4));
10380
10436
  }
10381
- var qr = { init: Vr, forward: Lr, inverse: $r, names: ["ortho"] }, kr = { FRONT: 1, RIGHT: 2, BACK: 3, LEFT: 4, TOP: 5, BOTTOM: 6 }, Br = { AREA_0: 1, AREA_1: 2, AREA_2: 3, AREA_3: 4 };
10437
+ var Lr = { init: $r, forward: Vr, inverse: qr, names: ["ortho"] }, kr = { FRONT: 1, RIGHT: 2, BACK: 3, LEFT: 4, TOP: 5, BOTTOM: 6 }, Br = { AREA_0: 1, AREA_1: 2, AREA_2: 3, AREA_3: 4 };
10382
10438
  function Fr() {
10383
10439
  this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, this.lat0 = this.lat0 || 0, this.long0 = this.long0 || 0, this.lat_ts = this.lat_ts || 0, this.title = this.title || "Quadrilateralized Spherical Cube", this.lat0 >= c - m / 2 ? this.face = kr.TOP : this.lat0 <= -(c - m / 2) ? this.face = kr.BOTTOM : Math.abs(this.long0) <= m ? this.face = kr.FRONT : Math.abs(this.long0) <= c + m ? this.face = this.long0 > 0 ? kr.RIGHT : kr.LEFT : this.face = kr.BACK, 0 !== this.es && (this.one_minus_f = 1 - (this.a - this.b) / this.a, this.one_minus_f_squared = this.one_minus_f * this.one_minus_f);
10384
10440
  }
@@ -10414,7 +10470,7 @@ proj4Src.exports = function() {
10414
10470
  var i2 = t4 + e2;
10415
10471
  return i2 < -3.14159265359 ? i2 += g : i2 > 3.14159265359 && (i2 -= g), i2;
10416
10472
  }
10417
- var Hr = { init: Fr, forward: Dr, inverse: jr, names: ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cube", "qsc"] }, Xr = [[1, 22199e-21, -715515e-10, 31103e-10], [0.9986, -482243e-9, -24897e-9, -13309e-10], [0.9954, -83103e-8, -448605e-10, -986701e-12], [0.99, -135364e-8, -59661e-9, 36777e-10], [0.9822, -167442e-8, -449547e-11, -572411e-11], [0.973, -214868e-8, -903571e-10, 18736e-12], [0.96, -305085e-8, -900761e-10, 164917e-11], [0.9427, -382792e-8, -653386e-10, -26154e-10], [0.9216, -467746e-8, -10457e-8, 481243e-11], [0.8962, -536223e-8, -323831e-10, -543432e-11], [0.8679, -609363e-8, -113898e-9, 332484e-11], [0.835, -698325e-8, -640253e-10, 934959e-12], [0.7986, -755338e-8, -500009e-10, 935324e-12], [0.7597, -798324e-8, -35971e-9, -227626e-11], [0.7186, -851367e-8, -701149e-10, -86303e-10], [0.6732, -986209e-8, -199569e-9, 191974e-10], [0.6213, -0.010418, 883923e-10, 624051e-11], [0.5722, -906601e-8, 182e-6, 624051e-11], [0.5322, -677797e-8, 275608e-9, 624051e-11]], Qr = [[-520417e-23, 0.0124, 121431e-23, -845284e-16], [0.062, 0.0124, -126793e-14, 422642e-15], [0.124, 0.0124, 507171e-14, -160604e-14], [0.186, 0.0123999, -190189e-13, 600152e-14], [0.248, 0.0124002, 710039e-13, -224e-10], [0.31, 0.0123992, -264997e-12, 835986e-13], [0.372, 0.0124029, 988983e-12, -311994e-12], [0.434, 0.0123893, -369093e-11, -435621e-12], [0.4958, 0.0123198, -102252e-10, -345523e-12], [0.5571, 0.0121916, -154081e-10, -582288e-12], [0.6176, 0.0119938, -241424e-10, -525327e-12], [0.6769, 0.011713, -320223e-10, -516405e-12], [0.7346, 0.0113541, -397684e-10, -609052e-12], [0.7903, 0.0109107, -489042e-10, -104739e-11], [0.8435, 0.0103431, -64615e-9, -140374e-14], [0.8936, 969686e-8, -64636e-9, -8547e-9], [0.9394, 840947e-8, -192841e-9, -42106e-10], [0.9761, 616527e-8, -256e-6, -42106e-10], [1, 328947e-8, -319159e-9, -42106e-10]], Zr = 0.8487, Yr = 1.3523, Kr = y / 5, Jr = 1 / Kr, tn = 18, en = function(t4, e2) {
10473
+ var Hr = { init: Fr, forward: Dr, inverse: jr, names: ["Quadrilateralized Spherical Cube", "Quadrilateralized_Spherical_Cube", "qsc"] }, Xr = [[1, 22199e-21, -715515e-10, 31103e-10], [0.9986, -482243e-9, -24897e-9, -13309e-10], [0.9954, -83103e-8, -448605e-10, -986701e-12], [0.99, -135364e-8, -59661e-9, 36777e-10], [0.9822, -167442e-8, -449547e-11, -572411e-11], [0.973, -214868e-8, -903571e-10, 18736e-12], [0.96, -305085e-8, -900761e-10, 164917e-11], [0.9427, -382792e-8, -653386e-10, -26154e-10], [0.9216, -467746e-8, -10457e-8, 481243e-11], [0.8962, -536223e-8, -323831e-10, -543432e-11], [0.8679, -609363e-8, -113898e-9, 332484e-11], [0.835, -698325e-8, -640253e-10, 934959e-12], [0.7986, -755338e-8, -500009e-10, 935324e-12], [0.7597, -798324e-8, -35971e-9, -227626e-11], [0.7186, -851367e-8, -701149e-10, -86303e-10], [0.6732, -986209e-8, -199569e-9, 191974e-10], [0.6213, -0.010418, 883923e-10, 624051e-11], [0.5722, -906601e-8, 182e-6, 624051e-11], [0.5322, -677797e-8, 275608e-9, 624051e-11]], Qr = [[-520417e-23, 0.0124, 121431e-23, -845284e-16], [0.062, 0.0124, -126793e-14, 422642e-15], [0.124, 0.0124, 507171e-14, -160604e-14], [0.186, 0.0123999, -190189e-13, 600152e-14], [0.248, 0.0124002, 710039e-13, -224e-10], [0.31, 0.0123992, -264997e-12, 835986e-13], [0.372, 0.0124029, 988983e-12, -311994e-12], [0.434, 0.0123893, -369093e-11, -435621e-12], [0.4958, 0.0123198, -102252e-10, -345523e-12], [0.5571, 0.0121916, -154081e-10, -582288e-12], [0.6176, 0.0119938, -241424e-10, -525327e-12], [0.6769, 0.011713, -320223e-10, -516405e-12], [0.7346, 0.0113541, -397684e-10, -609052e-12], [0.7903, 0.0109107, -489042e-10, -104739e-11], [0.8435, 0.0103431, -64615e-9, -140374e-14], [0.8936, 969686e-8, -64636e-9, -8547e-9], [0.9394, 840947e-8, -192841e-9, -42106e-10], [0.9761, 616527e-8, -256e-6, -42106e-10], [1, 328947e-8, -319159e-9, -42106e-10]], Zr = 0.8487, Yr = 1.3523, Jr = y / 5, Kr = 1 / Jr, tn = 18, en = function(t4, e2) {
10418
10474
  return t4[0] + e2 * (t4[1] + e2 * (t4[2] + e2 * t4[3]));
10419
10475
  }, sn = function(t4, e2) {
10420
10476
  return t4[1] + e2 * (2 * t4[2] + 3 * e2 * t4[3]);
@@ -10431,8 +10487,8 @@ proj4Src.exports = function() {
10431
10487
  this.x0 = this.x0 || 0, this.y0 = this.y0 || 0, this.long0 = this.long0 || 0, this.es = 0, this.title = this.title || "Robinson";
10432
10488
  }
10433
10489
  function an(t4) {
10434
- var e2 = yt(t4.x - this.long0), i2 = Math.abs(t4.y), s2 = Math.floor(i2 * Kr);
10435
- s2 < 0 ? s2 = 0 : s2 >= tn && (s2 = tn - 1), i2 = y * (i2 - Jr * s2);
10490
+ var e2 = yt(t4.x - this.long0), i2 = Math.abs(t4.y), s2 = Math.floor(i2 * Jr);
10491
+ s2 < 0 ? s2 = 0 : s2 >= tn && (s2 = tn - 1), i2 = y * (i2 - Kr * s2);
10436
10492
  var r2 = { x: en(Xr[s2], i2) * e2, y: en(Qr[s2], i2) };
10437
10493
  return t4.y < 0 && (r2.y = -r2.y), r2.x = r2.x * this.a * Zr + this.x0, r2.y = r2.y * this.a * Yr + this.y0, r2;
10438
10494
  }
@@ -10599,7 +10655,7 @@ proj4Src.exports = function() {
10599
10655
  var t4;
10600
10656
  if (this.phi1 = this.lat1, Math.abs(this.phi1) < zn)
10601
10657
  throw new Error();
10602
- this.es ? (this.en = ai(this.es), this.m1 = oi(this.phi1, this.am1 = Math.sin(this.phi1), t4 = Math.cos(this.phi1), this.en), this.am1 = t4 / (Math.sqrt(1 - this.es * this.am1 * this.am1) * this.am1), this.inverse = Gn, this.forward = Rn) : (Math.abs(this.phi1) + zn >= c ? this.cphi1 = 0 : this.cphi1 = 1 / Math.tan(this.phi1), this.inverse = Ln, this.forward = Vn);
10658
+ this.es ? (this.en = ai(this.es), this.m1 = oi(this.phi1, this.am1 = Math.sin(this.phi1), t4 = Math.cos(this.phi1), this.en), this.am1 = t4 / (Math.sqrt(1 - this.es * this.am1 * this.am1) * this.am1), this.inverse = Gn, this.forward = Rn) : (Math.abs(this.phi1) + zn >= c ? this.cphi1 = 0 : this.cphi1 = 1 / Math.tan(this.phi1), this.inverse = Vn, this.forward = $n);
10603
10659
  }
10604
10660
  function Rn(t4) {
10605
10661
  var e2, i2, s2, r2 = yt(t4.x - (this.long0 || 0)), n2 = t4.y;
@@ -10616,11 +10672,11 @@ proj4Src.exports = function() {
10616
10672
  }
10617
10673
  return t4.x = yt(s2 + (this.long0 || 0)), t4.y = fs(r2), t4;
10618
10674
  }
10619
- function Vn(t4) {
10675
+ function $n(t4) {
10620
10676
  var e2, i2, s2 = yt(t4.x - (this.long0 || 0)), r2 = t4.y;
10621
10677
  return i2 = this.cphi1 + this.phi1 - r2, Math.abs(i2) > zn ? (t4.x = i2 * Math.sin(e2 = s2 * Math.cos(r2) / i2), t4.y = this.cphi1 - i2 * Math.cos(e2)) : t4.x = t4.y = 0, t4.x = this.a * t4.x + (this.x0 || 0), t4.y = this.a * t4.y + (this.y0 || 0), t4;
10622
10678
  }
10623
- function Ln(t4) {
10679
+ function Vn(t4) {
10624
10680
  var e2, i2;
10625
10681
  t4.x = (t4.x - (this.x0 || 0)) / this.a, t4.y = (t4.y - (this.y0 || 0)) / this.a;
10626
10682
  var s2 = _i(t4.x, t4.y = this.cphi1 - t4.y);
@@ -10628,11 +10684,11 @@ proj4Src.exports = function() {
10628
10684
  throw new Error();
10629
10685
  return e2 = Math.abs(Math.abs(i2) - c) <= zn ? 0 : s2 * Math.atan2(t4.x, t4.y) / Math.cos(i2), t4.x = yt(e2 + (this.long0 || 0)), t4.y = fs(i2), t4;
10630
10686
  }
10631
- var $n = { init: Nn, names: ["bonne", "Bonne (Werner lat_1=90)"] };
10632
- function qn(t4) {
10633
- t4.Proj.projections.add(pi), t4.Proj.projections.add(Ci), t4.Proj.projections.add(Ti), t4.Proj.projections.add($i), t4.Proj.projections.add(Di), t4.Proj.projections.add(Hi), t4.Proj.projections.add(Ji), t4.Proj.projections.add(ss), t4.Proj.projections.add(os), t4.Proj.projections.add(xs), t4.Proj.projections.add(zs), t4.Proj.projections.add($s), t4.Proj.projections.add(Fs), t4.Proj.projections.add(Hs), t4.Proj.projections.add(Ys), t4.Proj.projections.add(ir), t4.Proj.projections.add(ar), t4.Proj.projections.add(cr), t4.Proj.projections.add(_r), t4.Proj.projections.add(xr), t4.Proj.projections.add(vr), t4.Proj.projections.add(Tr), t4.Proj.projections.add(Gr), t4.Proj.projections.add(qr), t4.Proj.projections.add(Hr), t4.Proj.projections.add(hn), t4.Proj.projections.add(dn), t4.Proj.projections.add(gn), t4.Proj.projections.add(bn), t4.Proj.projections.add(On), t4.Proj.projections.add($n);
10687
+ var qn = { init: Nn, names: ["bonne", "Bonne (Werner lat_1=90)"] };
10688
+ function Ln(t4) {
10689
+ t4.Proj.projections.add(pi), t4.Proj.projections.add(Ci), t4.Proj.projections.add(Ti), t4.Proj.projections.add(qi), t4.Proj.projections.add(Di), t4.Proj.projections.add(Hi), t4.Proj.projections.add(Ki), t4.Proj.projections.add(ss), t4.Proj.projections.add(os), t4.Proj.projections.add(xs), t4.Proj.projections.add(zs), t4.Proj.projections.add(qs), t4.Proj.projections.add(Fs), t4.Proj.projections.add(Hs), t4.Proj.projections.add(Ys), t4.Proj.projections.add(ir), t4.Proj.projections.add(ar), t4.Proj.projections.add(cr), t4.Proj.projections.add(_r), t4.Proj.projections.add(xr), t4.Proj.projections.add(vr), t4.Proj.projections.add(Tr), t4.Proj.projections.add(Gr), t4.Proj.projections.add(Lr), t4.Proj.projections.add(Hr), t4.Proj.projections.add(hn), t4.Proj.projections.add(dn), t4.Proj.projections.add(gn), t4.Proj.projections.add(bn), t4.Proj.projections.add(On), t4.Proj.projections.add(qn);
10634
10690
  }
10635
- return we.defaultDatum = "WGS84", we.Proj = ee, we.WGS84 = new we.Proj("WGS84"), we.Point = He, we.toPoint = pe, we.defs = rt, we.nadgrid = Bt, we.transform = me, we.mgrs = Ie, we.version = "2.17.0", qn(we), we;
10691
+ return we.defaultDatum = "WGS84", we.Proj = ee, we.WGS84 = new we.Proj("WGS84"), we.Point = He, we.toPoint = pe, we.defs = rt, we.nadgrid = Bt, we.transform = me, we.mgrs = Ie, we.version = "2.17.0", Ln(we), we;
10636
10692
  }();
10637
10693
  var proj4 = proj4Src.exports;
10638
10694
  let globalId = 1;
@@ -10735,7 +10791,7 @@ self.abortControllers = /* @__PURE__ */ new Map(), self.addEventListener("messag
10735
10791
  const l2 = new VectorTile(new pbf(h2)), { styleJSON: p2, defaultStyleJSON: f2, spriteData: _ } = self, { displayOptions: y } = s, m = new MapboxStyle(p2, f2, _), g = new SourceLayer(l2.layers, 0, { x: a, y: o, z: n }), x = new Executer(g, m, y, t);
10736
10792
  x.execute();
10737
10793
  const M = { background: [], fill_opaque: [], fill_water: [], fill_wood: [], fill_translucent: [], fill_extrusion_opaque: [], fill_extrusion_translucent: [], line_opaque: [], line_translucent: [], line_dashed: [], symbol: [] };
10738
- d = x.getExecutedData(M), c = M, c.background && u.push(c.background.vertices.buffer, c.background.layerIndices.buffer, c.background.colors.buffer, c.background.normals.buffer, c.background.indices.buffer), c.fill_opaque && u.push(c.fill_opaque.vertices.buffer, c.fill_opaque.layerIndices.buffer, c.fill_opaque.colors.buffer, c.fill_opaque.normals.buffer, c.fill_opaque.uvs.buffer, c.fill_opaque.indices.buffer), c.fill_pattern && u.push(c.fill_pattern.vertices.buffer, c.fill_pattern.layerIndices.buffer, c.fill_pattern.colors.buffer, c.fill_pattern.normals.buffer, c.fill_pattern.uvs.buffer, c.fill_pattern.indices.buffer, c.fill_pattern.icons.buffer), c.fill_water && u.push(c.fill_water.vertices.buffer, c.fill_water.layerIndices.buffer, c.fill_water.colors.buffer, c.fill_water.normals.buffer, c.fill_water.uvs.buffer, c.fill_water.indices.buffer), c.fill_wood && u.push(c.fill_wood.vertices.buffer, c.fill_wood.layerIndices.buffer, c.fill_wood.colors.buffer, c.fill_wood.normals.buffer, c.fill_wood.uvs.buffer, c.fill_wood.indices.buffer), c.fill_translucent && u.push(c.fill_translucent.vertices.buffer, c.fill_translucent.layerIndices.buffer, c.fill_translucent.colors.buffer, c.fill_translucent.normals.buffer, c.fill_translucent.uvs.buffer, c.fill_translucent.indices.buffer), c.fill_extrusion_opaque && u.push(c.fill_extrusion_opaque.vertices.buffer, c.fill_extrusion_opaque.layerIndices.buffer, c.fill_extrusion_opaque.colors.buffer, c.fill_extrusion_opaque.normals.buffer, c.fill_extrusion_opaque.uvs.buffer, c.fill_extrusion_opaque.indices.buffer, c.fill_extrusion_opaque.indices_side.buffer), c.fill_extrusion_translucent && u.push(c.fill_extrusion_translucent.vertices.buffer, c.fill_extrusion_translucent.layerIndices.buffer, c.fill_extrusion_translucent.colors.buffer, c.fill_extrusion_translucent.normals.buffer, c.fill_extrusion_translucent.uvs.buffer, c.fill_extrusion_translucent.indices.buffer, c.fill_extrusion_translucent.indices_side.buffer), c.line_opaque && u.push(c.line_opaque.vertices.buffer, c.line_opaque.layerIndices.buffer, c.line_opaque.colors.buffer, c.line_opaque.normals.buffer, c.line_opaque.widths.buffer, c.line_opaque.extentVertices.buffer, c.line_opaque.indices.buffer), c.line_translucent && u.push(c.line_translucent.vertices.buffer, c.line_translucent.layerIndices.buffer, c.line_translucent.colors.buffer, c.line_translucent.normals.buffer, c.line_translucent.widths.buffer, c.line_translucent.extentVertices.buffer, c.line_translucent.indices.buffer), c.line_dashed && u.push(c.line_dashed.vertices.buffer, c.line_dashed.layerIndices.buffer, c.line_dashed.colors.buffer, c.line_dashed.normals.buffer, c.line_dashed.widths.buffer, c.line_dashed.extentVertices.buffer, c.line_dashed.indices.buffer), c.maxLayerIndex = d;
10794
+ d = x.getExecutedData(M), c = M, c.background && u.push(c.background.vertices.buffer, c.background.layerIndices.buffer, c.background.colors.buffer, c.background.normals.buffer, c.background.indices.buffer), c.fill_opaque && u.push(c.fill_opaque.vertices.buffer, c.fill_opaque.layerIndices.buffer, c.fill_opaque.colors.buffer, c.fill_opaque.normals.buffer, c.fill_opaque.uvs.buffer, c.fill_opaque.indices.buffer), c.fill_pattern && u.push(c.fill_pattern.vertices.buffer, c.fill_pattern.layerIndices.buffer, c.fill_pattern.colors.buffer, c.fill_pattern.normals.buffer, c.fill_pattern.uvs.buffer, c.fill_pattern.indices.buffer, c.fill_pattern.icons.buffer), c.fill_water && u.push(c.fill_water.vertices.buffer, c.fill_water.layerIndices.buffer, c.fill_water.colors.buffer, c.fill_water.normals.buffer, c.fill_water.uvs.buffer, c.fill_water.indices.buffer), c.fill_wood && u.push(c.fill_wood.vertices.buffer, c.fill_wood.layerIndices.buffer, c.fill_wood.colors.buffer, c.fill_wood.normals.buffer, c.fill_wood.uvs.buffer, c.fill_wood.indices.buffer), c.fill_translucent && u.push(c.fill_translucent.vertices.buffer, c.fill_translucent.layerIndices.buffer, c.fill_translucent.colors.buffer, c.fill_translucent.normals.buffer, c.fill_translucent.uvs.buffer, c.fill_translucent.indices.buffer), c.fill_extrusion_opaque && u.push(c.fill_extrusion_opaque.vertices.buffer, c.fill_extrusion_opaque.layerIndices.buffer, c.fill_extrusion_opaque.colors.buffer, c.fill_extrusion_opaque.normals.buffer, c.fill_extrusion_opaque.uvs.buffer, c.fill_extrusion_opaque.indices.buffer, c.fill_extrusion_opaque.indices_side.buffer), c.fill_extrusion_translucent && u.push(c.fill_extrusion_translucent.vertices.buffer, c.fill_extrusion_translucent.layerIndices.buffer, c.fill_extrusion_translucent.colors.buffer, c.fill_extrusion_translucent.normals.buffer, c.fill_extrusion_translucent.uvs.buffer, c.fill_extrusion_translucent.indices.buffer, c.fill_extrusion_translucent.indices_side.buffer), c.line_opaque && u.push(c.line_opaque.vertices.buffer, c.line_opaque.layerIndices.buffer, c.line_opaque.colors.buffer, c.line_opaque.normals.buffer, c.line_opaque.widths.buffer, c.line_opaque.extentVertices.buffer, c.line_opaque.indices.buffer), c.line_translucent && u.push(c.line_translucent.vertices.buffer, c.line_translucent.layerIndices.buffer, c.line_translucent.colors.buffer, c.line_translucent.normals.buffer, c.line_translucent.widths.buffer, c.line_translucent.extentVertices.buffer, c.line_translucent.indices.buffer), c.line_dashed && u.push(c.line_dashed.vertices.buffer, c.line_dashed.layerIndices.buffer, c.line_dashed.colors.buffer, c.line_dashed.normals.buffer, c.line_dashed.widths.buffer, c.line_dashed.extentVertices.buffer, c.line_dashed.indices.buffer);
10739
10795
  } catch (t4) {
10740
10796
  "AbortError" === t4.name ? (f = true, self.abortControllers.delete(e)) : console.warn(t4);
10741
10797
  }