@arcgis/core 4.28.0-next.20230621 → 4.28.0-next.20230622
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/05c0fdbfc82538f2f68d.js +1 -0
- package/assets/esri/core/workers/chunks/0bd95f46a0a9005a19f9.js +1 -0
- package/assets/esri/core/workers/chunks/19b4f02fb2392d964582.js +1 -0
- package/assets/esri/core/workers/chunks/26212a08ea383547335b.js +1 -0
- package/assets/esri/core/workers/chunks/{2420ec029236ab31d908.js → 2882a55a971af1f7858b.js} +1 -1
- package/assets/esri/core/workers/chunks/303238fc2fcdbb277981.js +1 -0
- package/assets/esri/core/workers/chunks/42dfebbe964f2b44ffab.js +1 -0
- package/assets/esri/core/workers/chunks/{4b235d1b6a72773cd4f4.js → 57bb8516fa998a0fba78.js} +1 -1
- package/assets/esri/core/workers/chunks/6208f2dfa9dfd3bca000.js +1 -0
- package/assets/esri/core/workers/chunks/64008bde5d3ffd9f2499.js +1 -0
- package/assets/esri/core/workers/chunks/{c1dfbda75abc748a6ca4.js → 6aa42f510969014db3f4.js} +1 -1
- package/assets/esri/core/workers/chunks/{cfe379a78a983373b3ac.js → 7304f45f5622a68253e4.js} +1 -1
- package/assets/esri/core/workers/chunks/733b70d6e5c466a67e9c.js +1 -0
- package/assets/esri/core/workers/chunks/7694521b44681d52b713.js +1 -0
- package/assets/esri/core/workers/chunks/80aa79040c0a7d039c3d.js +1 -0
- package/assets/esri/core/workers/chunks/91f957cd49a95a8a95f5.js +1 -0
- package/assets/esri/core/workers/chunks/{42b6315e21c4c1345ba5.js → 9f5337a80963e0b3c009.js} +1 -1
- package/assets/esri/core/workers/chunks/a16458b4653b284b4b80.js +1 -0
- package/assets/esri/core/workers/chunks/a54f361506012be46fdb.js +1 -0
- package/assets/esri/core/workers/chunks/{cfc3dcca2b69d20d5375.js → c0b9cc091efd5db827de.js} +1 -1
- package/assets/esri/core/workers/chunks/ce7f575a6c2053c7ca17.js +1 -0
- package/assets/esri/core/workers/chunks/d24f7ef6eca8c91b90b4.js +1 -0
- package/assets/esri/core/workers/chunks/dbd86e4b7983873cbe7c.js +1 -0
- package/assets/esri/core/workers/chunks/{3c3f65913006b84b2289.js → de20572d334abd4a7d82.js} +1 -1
- package/assets/esri/core/workers/chunks/{c8702e53a8ad6cf6ab85.js → dede2b4948f1f07a9859.js} +1 -1
- package/assets/esri/core/workers/chunks/e3f7d464f6d74523fc13.js +1 -0
- package/assets/esri/core/workers/chunks/f6040205c50e2795a1a0.js +1 -0
- package/assets/esri/core/workers/chunks/{915734255a79bff3ef0f.js → fcd54e9e64c2864f183c.js} +1 -1
- package/assets/esri/t9n/common.json +1 -1
- package/assets/esri/t9n/common_en.json +1 -1
- package/assets/esri/themes/base/_core.scss +6 -2
- package/assets/esri/themes/base/_mixins.scss +0 -147
- package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +0 -8
- package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +0 -8
- package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +0 -1
- package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +0 -1
- package/assets/esri/themes/base/widgets/_MeasurementWidgetContent.scss +58 -0
- package/assets/esri/themes/base/widgets/_UnitSelect.scss +14 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D.json +1 -1
- package/assets/esri/widgets/AreaMeasurement2D/t9n/AreaMeasurement2D_en.json +1 -1
- package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D.json +1 -1
- package/assets/esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D_en.json +1 -1
- package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D.json +1 -1
- package/assets/esri/widgets/DirectLineMeasurement3D/t9n/DirectLineMeasurement3D_en.json +1 -1
- package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D.json +1 -1
- package/assets/esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D_en.json +1 -1
- package/core/promiseUtils.js +1 -1
- package/geometry/projection.js +1 -1
- package/interfaces.d.ts +270 -5
- package/layers/LinkChartLayer.d.ts +4 -0
- package/layers/LinkChartLayer.js +1 -1
- package/layers/support/TileInfoTilemapCache.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/labelPlacement.js +1 -1
- package/views/3d/state/ViewState.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/terrain/OverlayFramebufferObject.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +0 -1
- package/views/3d/webgl-engine/lib/Highlight.js +1 -1
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/SmaaRenderPass.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/AreaMeasurement3D.js +1 -1
- package/widgets/DirectLineMeasurement3D.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/FeatureForm/FieldInput.js +1 -1
- package/widgets/support/MeasurementWidgetContent.js +5 -0
- package/widgets/support/UnitSelect.js +5 -0
- package/assets/esri/core/workers/chunks/07f16ea775b39a1a4a7b.js +0 -1
- package/assets/esri/core/workers/chunks/1bbc868d2430103951eb.js +0 -1
- package/assets/esri/core/workers/chunks/1d2ef88a8d028adef102.js +0 -1
- package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +0 -1
- package/assets/esri/core/workers/chunks/3b3d676b609c47a77164.js +0 -1
- package/assets/esri/core/workers/chunks/3d9a8cb638cf9b8ca4b3.js +0 -1
- package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +0 -1
- package/assets/esri/core/workers/chunks/642510b0371311ff8e16.js +0 -1
- package/assets/esri/core/workers/chunks/7e4013f8c31c9a9438c6.js +0 -1
- package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +0 -1
- package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +0 -1
- package/assets/esri/core/workers/chunks/a9e9297267614c4c4f3b.js +0 -1
- package/assets/esri/core/workers/chunks/b31974524932e638df8c.js +0 -1
- package/assets/esri/core/workers/chunks/b75b4b132dbd9cb9d372.js +0 -1
- package/assets/esri/core/workers/chunks/cad7a2092ea7f51dbd8b.js +0 -1
- package/assets/esri/core/workers/chunks/d2a127f7bb0e2ba14a13.js +0 -1
- package/assets/esri/core/workers/chunks/e097f41bbfac00250477.js +0 -1
- package/assets/esri/core/workers/chunks/e55f80b774e090a0aa04.js +0 -1
- package/assets/esri/core/workers/chunks/e668c7e2e61aae6ca6e0.js +0 -1
- package/assets/esri/core/workers/chunks/f0299d93a95f40ea7cf7.js +0 -1
|
@@ -631,7 +631,7 @@ return mat3(T, B, normal);
|
|
|
631
631
|
}`),t.textureCoordinateType!==i.N.None&&(e.include(o.i,t),r.uniforms.add(t.pbrTextureBindType===c.P.Pass?new l.A("normalTexture",(e=>e.textureNormal)):new s.R("normalTexture",(e=>e.textureNormal))),r.code.add(a.H`vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {
|
|
632
632
|
vec3 rawNormal = textureLookup(normalTexture, uv).rgb * 2.0 - 1.0;
|
|
633
633
|
return tangentSpace * rawNormal;
|
|
634
|
-
}`))}},72241:(e,t,r)=>{r.d(t,{K:()=>$});var i=r(74709),o=r(98069);r(4307),r(69801);var n=r(35371),a=(r(80442),r(92604)),s=r(70586),l=r(67676),c=r(1533),d=r(49300),u=r(7575);const h=a.Z.getLogger("esri.views.webgl.BufferObject");class m{static createIndex(e,t,r){return new m(e,n.w0.ELEMENT_ARRAY_BUFFER,t,r)}static createVertex(e,t,r){return new m(e,n.w0.ARRAY_BUFFER,t,r)}static createUniform(e,t,r){if(e.type!==u.zO.WEBGL2)throw new Error("Uniform buffers are supported in WebGL2 only!");return new m(e,n.w0.UNIFORM_BUFFER,t,r)}static createPixelPack(e,t=n.l1.STREAM_READ,r){if(e.type!==u.zO.WEBGL2)throw new Error("Pixel pack buffers are supported in WebGL2 only!");const i=new m(e,n.w0.PIXEL_PACK_BUFFER,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=n.l1.STREAM_DRAW,r){if(e.type!==u.zO.WEBGL2)throw new Error("Pixel unpack buffers are supported in WebGL2 only!");return new m(e,n.w0.PIXEL_UNPACK_BUFFER,t,r)}constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(n._g.BufferObject,this),this._glName=this._context.gl.createBuffer(),(0,d.zu)(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteLength(){return this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER?this._indexType===n.g.UNSIGNED_INT?4*this._size:2*this._size:this._size}get _isVAOAware(){return this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER||this.bufferType===n.w0.ARRAY_BUFFER}dispose(){this._context?.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(n._g.BufferObject,this),this._context=null):this._glName&&h.warn("Leaked WebGL buffer object")}setSize(e,t=null){if(e<=0&&h.error("Buffer size needs to be positive!"),this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER&&null!=t)switch(this._indexType=t,t){case n.g.UNSIGNED_SHORT:e*=2;break;case n.g.UNSIGNED_INT:e*=4}this._setBufferData(e)}setData(e){if(!e)return;let t=e.byteLength;this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER&&((0,c.Uc)(e)&&(t/=2,this._indexType=n.g.UNSIGNED_SHORT),(0,c.ZY)(e)&&(t/=4,this._indexType=n.g.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._size=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=t?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),(0,d.zu)(i),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t,r,i){if(!e)return;(t<0||t*e.BYTES_PER_ELEMENT>=this.byteLength)&&h.error("offset is out of range!"),r>=i&&h.error("end must be bigger than start!"),(t+(i-r))*e.BYTES_PER_ELEMENT>this.byteLength&&h.error("An attempt to write beyond the end of the buffer!");const o=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const n=this._context.gl;if(this._context.type===u.zO.WEBGL2)n.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r);else{const o=0===r&&i===e.length?e:e.subarray(r,i);n.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,o)}(0,d.zu)(n),this._isVAOAware&&this._context.bindVAO(o)}getSubData(e,t=0,r,i){if(this._context.type!==u.zO.WEBGL2)return void h.error("Get buffer subdata is supported in WebGL2 only!");if(r<0||i<0)return void h.error("Problem getting subdata: offset and length were less than zero!");const o=function(e){return(0,l.zG)(e)}(e)?e.BYTES_PER_ELEMENT:1;if(o*((r??0)+(i??0))>e.byteLength)return void h.error("Problem getting subdata: offset and length exceeded destination size!");t+o*(i??0)>this.byteLength&&h.warn("Potential problem getting subdata: requested data exceeds buffer size!");const a=this._context.gl;this._context.bindBuffer(this,n.w0.COPY_READ_BUFFER),a.getBufferSubData(n.w0.COPY_READ_BUFFER,t,e,r,i),this._context.unbindBuffer(n.w0.COPY_READ_BUFFER)}async getSubDataAsync(e,t=0,r,i){this._context.type===u.zO.WEBGL2?(await this._context.clientWaitAsync(),this.getSubData(e,t,r,i)):h.error("Get buffer subdata is supported in WebGL2 only!")}}var f=r(4375),p=r(45762);class g{constructor(e,t){this._context=e,this._descriptor=t,this.type=f.B.RenderBuffer,this._context.instanceCounter.increment(n._g.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:i,height:o,internalFormat:a,multisampled:s}=t;if(s){if(this._context.type!==u.zO.WEBGL2)throw new Error("Multisampled renderbuffers are not supported in WebGL1!");r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,a,i,o)}else r.renderbufferStorage(r.RENDERBUFFER,a,i,o)}get descriptor(){return this._descriptor}get samples(){const e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get gpuMemoryUsage(){return(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,p.RG)(e.internalFormat);var e}resize(e,t){const r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(n._g.Renderbuffer,this),this._context=null)}}var v=r(57088);const _=a.Z.getLogger("esri.views.webgl.FramebufferObject");class T{constructor(e,t,r=null){this._context=e,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,e.instanceCounter.increment(n._g.FramebufferObject,this);const i=x(t)?t:new v.x(this._context,t);if(this._colorAttachments.set(n.VY.COLOR_ATTACHMENT0,i),this._validateTextureDescriptor(i.descriptor),this._validateColorAttachmentPoint(n.VY.COLOR_ATTACHMENT0),null!=r)if(function(e){return x(e)||null!=e&&"pixelFormat"in e}(r))this._context.capabilities.depthTexture||console.error("Setting the depth/stencil texture as an attachment requires WEBGL_depth_texture or WebGL2"),this._depthStencilTexture=x(r)?r:new v.x(this._context,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const e=function(e){return null!=e&&"type"in e&&e.type===f.B.RenderBuffer}(r)?r:new g(this._context,r);this._depthStencilBuffer=e,this._validateRenderBufferDescriptor(e.descriptor)}}dispose(){if(0===this._colorAttachments.size&&!this._glName)return;const e=this._context.getBoundFramebufferObject();this._colorAttachments.forEach(((e,t)=>this.detachColorTexture(t)?.dispose())),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),this._glName&&(this._context.gl.deleteFramebuffer(this._glName),this._glName=null),this._context.bindFramebuffer(e),this._context.instanceCounter.decrement(n._g.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){return this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0)}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const e=this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0);return e?.descriptor?.width??0}get height(){const e=this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0);return e?.descriptor?.height??0}get gpuMemoryUsage(){return[...this._colorAttachments].reduce(((e,[t,r])=>e+r.gpuMemoryUsage),this.depthStencil?.gpuMemoryUsage??0)}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&x(t)?t:null}attachColorTexture(e,t=n.VY.COLOR_ATTACHMENT0){if(!e)return;this._validateColorAttachmentPoint(t);const r=e.descriptor;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t)),this._colorAttachments.set(t,e)}detachColorTexture(e=n.VY.COLOR_ATTACHMENT0){const t=this._colorAttachments.get(e);if(t)return this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e)),this._colorAttachments.delete(e),t}setColorTextureTarget(e,t=n.VY.COLOR_ATTACHMENT0){const r=this._colorAttachments.get(t);r&&this._framebufferTexture2D(r.glName,t,e)}attachDepthStencil(e){if(e)switch(e.type){case f.B.Texture:return this._attachDepthStencilTexture(e);case f.B.RenderBuffer:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;const t=e.descriptor;t.pixelFormat!==n.VI.DEPTH_STENCIL&&t.pixelFormat!==n.VI.DEPTH24_STENCIL8&&console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"),t.dataType!==n.Br.UNSIGNED_INT_24_8&&console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"),this._context.capabilities.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!"),this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,n.Lu)),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,n.Lu)),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;const t=e.descriptor;if(t.internalFormat!==n.Tg.DEPTH_STENCIL&&t.internalFormat!==n.Tg.DEPTH_COMPONENT16&&t.internalFormat!==n.Tg.DEPTH24_STENCIL8&&console.error("Depth/Stencil buffer must have correct internalFormat"),this._validateRenderBufferDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const r=this._context.gl,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(n.qi.FRAMEBUFFER,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer?.dispose(),this._depthStencilBuffer=e}detachDepthStencilBuffer(){const e=this._depthStencilBuffer;if(e&&this._initialized){this._context.bindFramebuffer(this);const t=this._context.gl,r=this._getGLAttachmentPoint(e.descriptor);t.framebufferRenderbuffer(n.qi.FRAMEBUFFER,r,t.RENDERBUFFER,null)}return this._depthStencilBuffer=null,e}copyToTexture(e,t,r,i,o,a,s){(e<0||t<0||o<0||a<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const l=s.descriptor;s.descriptor.target!==n.No.TEXTURE_2D&&console.error("Texture target must be TEXTURE_2D!"),(null==l?.width||null==l?.height||e+r>this.width||t+i>this.height||o+r>l.width||a+i>l.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,d=c.bindTexture(s,v.x.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(v.x.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(n.No.TEXTURE_2D,0,o,a,e,t,r,i),c.bindTexture(d,v.x.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,o,n,a){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),a||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,o,n,a)}async readPixelsAsync(e,t,r,i,o,a,s){if(this._context.type!==u.zO.WEBGL2)return(0,d.hZ)()&&console.warn("Attempting to read pixels using pixel buffer object without WebGL2"),void this.readPixels(e,t,r,i,o,a,s);const l=this._context.gl,c=m.createPixelPack(this._context,n.l1.STREAM_READ,s.byteLength);this._context.bindBuffer(c),this._context.bindFramebuffer(this),l.readPixels(e,t,r,i,o,a,0),this._context.unbindBuffer(n.w0.PIXEL_PACK_BUFFER),await c.getSubDataAsync(s),c.dispose()}resize(e,t){if(this.width===e&&this.height===t)return;const r={width:e,height:t};b(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach((e=>e.resize(r.width,r.height))),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(b(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1)}initializeAndBind(e=n.qi.FRAMEBUFFER){const t=this._context.gl;if(this._initialized)return void t.bindFramebuffer(e,this.glName);this._glName&&t.deleteFramebuffer(this._glName);const r=t.createFramebuffer();t.bindFramebuffer(e,r),this._colorAttachments.forEach(((t,r)=>this._framebufferTexture2D(t.glName,r,E(t),e)));const i=this._depthStencilBuffer;if(i){const r=this._getGLAttachmentPoint(i.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,i.glName)}else this._depthStencilTexture&&this._framebufferTexture2D(this._depthStencilTexture.glName,t.DEPTH_STENCIL_ATTACHMENT,E(this._depthStencilTexture),e);(0,d.hZ)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=r,this._initialized=!0}_framebufferTexture2D(e,t=n.VY.COLOR_ATTACHMENT0,r=n.No.TEXTURE_2D,i=n.qi.FRAMEBUFFER,o=0){this._context.gl.framebufferTexture2D(i,t,r,e,o)}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(n.qi.FRAMEBUFFER,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,s.M2)(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e.DEPTH_STENCIL_ATTACHMENT)),this._depthStencilTexture=(0,s.M2)(this._depthStencilTexture))}_validateTextureDescriptor(e){e.target!==n.No.TEXTURE_2D&&e.target!==n.No.TEXTURE_CUBE_MAP&&console.error("Texture type must be TEXTURE_2D or TEXTURE_CUBE_MAP!"),b(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderBufferDescriptor(e){b(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width===e.width&&this.height===e.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(e){switch(e.internalFormat){case n.Tg.DEPTH_COMPONENT16:case n.Tg.DEPTH_COMPONENT24:case n.Tg.DEPTH_COMPONENT32F:return this._context.gl.DEPTH_ATTACHMENT;case n.Tg.DEPTH24_STENCIL8:case n.Tg.DEPTH32F_STENCIL8:case n.Tg.DEPTH_STENCIL:return this._context.gl.DEPTH_STENCIL_ATTACHMENT;case n.Tg.STENCIL_INDEX8:return this._context.gl.STENCIL_ATTACHMENT}}_validateColorAttachmentPoint(e){if(-1===T._MAX_COLOR_ATTACHMENTS){const e=this._context.capabilities.drawBuffers;if(e){const t=this._context.gl;T._MAX_COLOR_ATTACHMENTS=t.getParameter(e.MAX_COLOR_ATTACHMENTS)}else T._MAX_COLOR_ATTACHMENTS=1}const t=e-n.VY.COLOR_ATTACHMENT0;t+1>T._MAX_COLOR_ATTACHMENTS&&a.Z.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${T._MAX_COLOR_ATTACHMENTS} color attachments`)}}function x(e){return null!=e&&"type"in e&&e.type===f.B.Texture}function b(e,t){const r=Math.max(e.width,e.height);if(r>t){_.warn(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);const i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function E(e){return e.descriptor.target===n.No.TEXTURE_CUBE_MAP?n.No.TEXTURE_CUBE_MAP_POSITIVE_X:n.No.TEXTURE_2D}T._MAX_COLOR_ATTACHMENTS=-1;var A,S,R=r(47859);(S=A||(A={}))[S.RG_CLAMPED=0]="RG_CLAMPED",S[S.RGBA_CLAMPED=1]="RGBA_CLAMPED",S[S.RGBA_CLAMPED_MIPMAP=2]="RGBA_CLAMPED_MIPMAP",S[S.R16F=3]="R16F",S[S.RGBA16F=4]="RGBA16F",S[S.RGBA4=5]="RGBA4";const w=new R.X;w.pixelFormat=n.VI.RG,w.internalFormat=n.lP.RG8,w.wrapMode=n.e8.CLAMP_TO_EDGE;(new R.X).wrapMode=n.e8.CLAMP_TO_EDGE;const C=new R.X;C.wrapMode=n.e8.CLAMP_TO_EDGE,C.samplingMode=n.cw.LINEAR_MIPMAP_LINEAR,C.hasMipmap=!0,C.maxAnisotropy=8;const O=new R.X;O.pixelFormat=n.VI.RED,O.dataType=n.Br.HALF_FLOAT,O.internalFormat=n.lP.R16F,O.samplingMode=n.cw.NEAREST;const y=new R.X;y.dataType=n.Br.HALF_FLOAT,y.internalFormat=n.lP.RGBA16F,y.samplingMode=n.cw.NEAREST;const M=new R.X;var P;M.internalFormat=n.lP.RGBA4,M.dataType=n.Br.UNSIGNED_SHORT_4_4_4_4,A.RG_CLAMPED,A.RGBA_CLAMPED,A.RGBA_CLAMPED_MIPMAP,A.R16F,A.RGBA16F,A.RGBA4,function(e){e[e.DEPTH_STENCIL_TEXTURE=0]="DEPTH_STENCIL_TEXTURE",e[e.DEPTH16_BUFFER=1]="DEPTH16_BUFFER"}(P||(P={}));const I=new R.X;I.pixelFormat=n.VI.DEPTH_STENCIL,I.dataType=n.Br.UNSIGNED_INT_24_8,I.samplingMode=n.cw.NEAREST,I.wrapMode=n.e8.CLAMP_TO_EDGE,P.DEPTH_STENCIL_TEXTURE,P.DEPTH16_BUFFER,new class{constructor(e,t,r=t){this.internalFormat=e,this.width=t,this.height=r,this.multisampled=!1,this.samples=1}}(n.Tg.DEPTH_COMPONENT16,4);var N=r(83475),L=r(35065),D=r(21968);new D.G(L.T.POSITION,3,n.g.FLOAT,0,12),new D.G(L.T.POSITION,3,n.g.FLOAT,0,20),new D.G(L.T.UV0,2,n.g.FLOAT,12,20),new D.G(L.T.POSITION,3,n.g.FLOAT,0,32),new D.G(L.T.NORMAL,3,n.g.FLOAT,12,32),new D.G(L.T.UV0,2,n.g.FLOAT,24,32),new D.G(L.T.POSITION,3,n.g.FLOAT,0,16),new D.G(L.T.COLOR,4,n.g.UNSIGNED_BYTE,12,16),new D.G(L.T.POSITION,2,n.g.FLOAT,0,8),new D.G(L.T.POSITION,2,n.g.FLOAT,0,16),new D.G(L.T.UV0,2,n.g.FLOAT,8,16),a.Z.getLogger("esri.views.webgl.VertexArrayObject");var F=r(78869),H=r(14589),B=r(59377),U=r(59915),G=r(27097);class V extends H.A{initializeProgram(e){return new B.$(e.rctx,V.shader.get().build(),N.i)}initializePipeline(){return(0,G.sm)({colorWrite:G.BK})}}V.shader=new F.J(U.S,(()=>r.e(8092).then(r.bind(r,88092))));var z=r(25377);class W extends H.A{initializeProgram(e){return new B.$(e.rctx,W.shader.get().build(),N.i)}initializePipeline(){return(0,G.sm)({colorWrite:G.BK})}}W.shader=new F.J(z.S,(()=>r.e(9243).then(r.bind(r,49243)))),r(97323);const k=2;function $(e,t){const r=e.fragment;t.receiveAmbientOcclusion?(r.uniforms.add(new o.A("ssaoTex",((e,t)=>t.ssaoHelper.colorTexture))),r.constants.add("blurSizePixelsInverse","float",1/k),r.code.add(i.H`float evaluateAmbientOcclusionInverse() {
|
|
634
|
+
}`))}},72241:(e,t,r)=>{r.d(t,{K:()=>$});var i=r(74709),o=r(98069);r(4307),r(69801);var n=r(35371),a=(r(80442),r(92604)),s=r(70586),l=r(67676),c=r(1533),d=r(49300),u=r(7575);const h=a.Z.getLogger("esri.views.webgl.BufferObject");class m{static createIndex(e,t,r){return new m(e,n.w0.ELEMENT_ARRAY_BUFFER,t,r)}static createVertex(e,t,r){return new m(e,n.w0.ARRAY_BUFFER,t,r)}static createUniform(e,t,r){if(e.type!==u.zO.WEBGL2)throw new Error("Uniform buffers are supported in WebGL2 only!");return new m(e,n.w0.UNIFORM_BUFFER,t,r)}static createPixelPack(e,t=n.l1.STREAM_READ,r){if(e.type!==u.zO.WEBGL2)throw new Error("Pixel pack buffers are supported in WebGL2 only!");const i=new m(e,n.w0.PIXEL_PACK_BUFFER,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=n.l1.STREAM_DRAW,r){if(e.type!==u.zO.WEBGL2)throw new Error("Pixel unpack buffers are supported in WebGL2 only!");return new m(e,n.w0.PIXEL_UNPACK_BUFFER,t,r)}constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(n._g.BufferObject,this),this._glName=this._context.gl.createBuffer(),(0,d.zu)(this._context.gl),i&&this.setData(i)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteLength(){return this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER?this._indexType===n.g.UNSIGNED_INT?4*this._size:2*this._size:this._size}get _isVAOAware(){return this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER||this.bufferType===n.w0.ARRAY_BUFFER}dispose(){this._context?.gl?(this._glName&&(this._context.gl.deleteBuffer(this._glName),this._glName=null),this._context.instanceCounter.decrement(n._g.BufferObject,this),this._context=null):this._glName&&h.warn("Leaked WebGL buffer object")}setSize(e,t=null){if(e<=0&&h.error("Buffer size needs to be positive!"),this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER&&null!=t)switch(this._indexType=t,t){case n.g.UNSIGNED_SHORT:e*=2;break;case n.g.UNSIGNED_INT:e*=4}this._setBufferData(e)}setData(e){if(!e)return;let t=e.byteLength;this.bufferType===n.w0.ELEMENT_ARRAY_BUFFER&&((0,c.Uc)(e)&&(t/=2,this._indexType=n.g.UNSIGNED_SHORT),(0,c.ZY)(e)&&(t/=4,this._indexType=n.g.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._size=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const i=this._context.gl;null!=t?i.bufferData(this.bufferType,t,this.usage):i.bufferData(this.bufferType,e,this.usage),(0,d.zu)(i),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t,r,i){if(!e)return;(t<0||t*e.BYTES_PER_ELEMENT>=this.byteLength)&&h.error("offset is out of range!"),r>=i&&h.error("end must be bigger than start!"),(t+(i-r))*e.BYTES_PER_ELEMENT>this.byteLength&&h.error("An attempt to write beyond the end of the buffer!");const o=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const n=this._context.gl;if(this._context.type===u.zO.WEBGL2)n.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r);else{const o=0===r&&i===e.length?e:e.subarray(r,i);n.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,o)}(0,d.zu)(n),this._isVAOAware&&this._context.bindVAO(o)}getSubData(e,t=0,r,i){if(this._context.type!==u.zO.WEBGL2)return void h.error("Get buffer subdata is supported in WebGL2 only!");if(r<0||i<0)return void h.error("Problem getting subdata: offset and length were less than zero!");const o=function(e){return(0,l.zG)(e)}(e)?e.BYTES_PER_ELEMENT:1;if(o*((r??0)+(i??0))>e.byteLength)return void h.error("Problem getting subdata: offset and length exceeded destination size!");t+o*(i??0)>this.byteLength&&h.warn("Potential problem getting subdata: requested data exceeds buffer size!");const a=this._context.gl;this._context.bindBuffer(this,n.w0.COPY_READ_BUFFER),a.getBufferSubData(n.w0.COPY_READ_BUFFER,t,e,r,i),this._context.unbindBuffer(n.w0.COPY_READ_BUFFER)}async getSubDataAsync(e,t=0,r,i){this._context.type===u.zO.WEBGL2?(await this._context.clientWaitAsync(),this.getSubData(e,t,r,i)):h.error("Get buffer subdata is supported in WebGL2 only!")}}var f=r(4375),p=r(45762);class g{constructor(e,t){this._context=e,this._descriptor=t,this.type=f.B.RenderBuffer,this._context.instanceCounter.increment(n._g.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:i,height:o,internalFormat:a,multisampled:s}=t;if(s){if(this._context.type!==u.zO.WEBGL2)throw new Error("Multisampled renderbuffers are not supported in WebGL1!");r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,a,i,o)}else r.renderbufferStorage(r.RENDERBUFFER,a,i,o)}get descriptor(){return this._descriptor}get samples(){const e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get gpuMemoryUsage(){return(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,p.RG)(e.internalFormat);var e}resize(e,t){const r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(n._g.Renderbuffer,this),this._context=null)}}var v=r(57088);const _=a.Z.getLogger("esri.views.webgl.FramebufferObject");class T{constructor(e,t,r=null){this._context=e,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,e.instanceCounter.increment(n._g.FramebufferObject,this);const i=x(t)?t:new v.x(this._context,t);if(this._colorAttachments.set(n.VY.COLOR_ATTACHMENT0,i),this._validateTextureDescriptor(i.descriptor),this._validateColorAttachmentPoint(n.VY.COLOR_ATTACHMENT0),null!=r)if(function(e){return x(e)||null!=e&&"pixelFormat"in e}(r))this._context.capabilities.depthTexture||console.error("Setting the depth/stencil texture as an attachment requires WEBGL_depth_texture or WebGL2"),this._depthStencilTexture=x(r)?r:new v.x(this._context,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const e=function(e){return null!=e&&"type"in e&&e.type===f.B.RenderBuffer}(r)?r:new g(this._context,r);this._depthStencilBuffer=e,this._validateRenderBufferDescriptor(e.descriptor)}}dispose(){if(0===this._colorAttachments.size&&!this._glName)return;const e=this._context.getBoundFramebufferObject();this._colorAttachments.forEach(((e,t)=>this.detachColorTexture(t)?.dispose())),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),this._glName&&(this._context.gl.deleteFramebuffer(this._glName),this._glName=null),this._context.bindFramebuffer(e),this._context.instanceCounter.decrement(n._g.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){return this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0)}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const e=this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0);return e?.descriptor?.width??0}get height(){const e=this._colorAttachments.get(n.VY.COLOR_ATTACHMENT0);return e?.descriptor?.height??0}get gpuMemoryUsage(){return[...this._colorAttachments].reduce(((e,[t,r])=>e+r.gpuMemoryUsage),this.depthStencil?.gpuMemoryUsage??0)}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&x(t)?t:null}attachColorTexture(e,t=n.VY.COLOR_ATTACHMENT0){if(!e)return;this._validateColorAttachmentPoint(t);const r=e.descriptor;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t)),this._colorAttachments.set(t,e)}detachColorTexture(e=n.VY.COLOR_ATTACHMENT0){const t=this._colorAttachments.get(e);if(t)return this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e)),this._colorAttachments.delete(e),t}setColorTextureTarget(e,t=n.VY.COLOR_ATTACHMENT0){const r=this._colorAttachments.get(t);r&&this._framebufferTexture2D(r.glName,t,e)}attachDepthStencil(e){if(e)switch(e.type){case f.B.Texture:return this._attachDepthStencilTexture(e);case f.B.RenderBuffer:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;const t=e.descriptor;t.pixelFormat!==n.VI.DEPTH_STENCIL&&t.pixelFormat!==n.VI.DEPTH24_STENCIL8&&console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!"),t.dataType!==n.Br.UNSIGNED_INT_24_8&&console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"),this._context.capabilities.depthTexture||console.error("Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!"),this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,n.Lu)),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,n.Lu)),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;const t=e.descriptor;if(t.internalFormat!==n.Tg.DEPTH_STENCIL&&t.internalFormat!==n.Tg.DEPTH_COMPONENT16&&t.internalFormat!==n.Tg.DEPTH24_STENCIL8&&console.error("Depth/Stencil buffer must have correct internalFormat"),this._validateRenderBufferDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const r=this._context.gl,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(n.qi.FRAMEBUFFER,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer?.dispose(),this._depthStencilBuffer=e}detachDepthStencilBuffer(){const e=this._depthStencilBuffer;if(e&&this._initialized){this._context.bindFramebuffer(this);const t=this._context.gl,r=this._getGLAttachmentPoint(e.descriptor);t.framebufferRenderbuffer(n.qi.FRAMEBUFFER,r,t.RENDERBUFFER,null)}return this._depthStencilBuffer=null,e}copyToTexture(e,t,r,i,o,a,s){(e<0||t<0||o<0||a<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const l=s.descriptor;s.descriptor.target!==n.No.TEXTURE_2D&&console.error("Texture target must be TEXTURE_2D!"),(null==l?.width||null==l?.height||e+r>this.width||t+i>this.height||o+r>l.width||a+i>l.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,d=c.bindTexture(s,v.x.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(v.x.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(n.No.TEXTURE_2D,0,o,a,e,t,r,i),c.bindTexture(d,v.x.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,o,n,a){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),a||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,o,n,a)}async readPixelsAsync(e,t,r,i,o,a,s){if(this._context.type!==u.zO.WEBGL2)return(0,d.hZ)()&&console.warn("Attempting to read pixels using pixel buffer object without WebGL2"),void this.readPixels(e,t,r,i,o,a,s);const l=this._context.gl,c=m.createPixelPack(this._context,n.l1.STREAM_READ,s.byteLength);this._context.bindBuffer(c),this._context.bindFramebuffer(this),l.readPixels(e,t,r,i,o,a,0),this._context.unbindBuffer(n.w0.PIXEL_PACK_BUFFER),await c.getSubDataAsync(s),c.dispose()}resize(e,t){if(this.width===e&&this.height===t)return;const r={width:e,height:t};b(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach((e=>e.resize(r.width,r.height))),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(b(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1)}initializeAndBind(e=n.qi.FRAMEBUFFER){const t=this._context.gl;if(this._initialized)return void t.bindFramebuffer(e,this.glName);this._glName&&t.deleteFramebuffer(this._glName);const r=t.createFramebuffer();t.bindFramebuffer(e,r),this._colorAttachments.forEach(((t,r)=>this._framebufferTexture2D(t.glName,r,E(t),e)));const i=this._depthStencilBuffer;if(i){const r=this._getGLAttachmentPoint(i.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,i.glName)}else this._depthStencilTexture&&this._framebufferTexture2D(this._depthStencilTexture.glName,t.DEPTH_STENCIL_ATTACHMENT,E(this._depthStencilTexture),e);(0,d.hZ)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=r,this._initialized=!0}_framebufferTexture2D(e,t=n.VY.COLOR_ATTACHMENT0,r=n.No.TEXTURE_2D,i=n.qi.FRAMEBUFFER,o=0){this._context.gl.framebufferTexture2D(i,t,r,e,o)}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(n.qi.FRAMEBUFFER,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,s.M2)(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,e.DEPTH_STENCIL_ATTACHMENT)),this._depthStencilTexture=(0,s.M2)(this._depthStencilTexture))}_validateTextureDescriptor(e){e.target!==n.No.TEXTURE_2D&&e.target!==n.No.TEXTURE_CUBE_MAP&&console.error("Texture type must be TEXTURE_2D or TEXTURE_CUBE_MAP!"),b(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderBufferDescriptor(e){b(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width===e.width&&this.height===e.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(e){switch(e.internalFormat){case n.Tg.DEPTH_COMPONENT16:case n.Tg.DEPTH_COMPONENT24:case n.Tg.DEPTH_COMPONENT32F:return this._context.gl.DEPTH_ATTACHMENT;case n.Tg.DEPTH24_STENCIL8:case n.Tg.DEPTH32F_STENCIL8:case n.Tg.DEPTH_STENCIL:return this._context.gl.DEPTH_STENCIL_ATTACHMENT;case n.Tg.STENCIL_INDEX8:return this._context.gl.STENCIL_ATTACHMENT}}_validateColorAttachmentPoint(e){if(-1===T._MAX_COLOR_ATTACHMENTS){const e=this._context.capabilities.drawBuffers;if(e){const t=this._context.gl;T._MAX_COLOR_ATTACHMENTS=t.getParameter(e.MAX_COLOR_ATTACHMENTS)}else T._MAX_COLOR_ATTACHMENTS=1}const t=e-n.VY.COLOR_ATTACHMENT0;t+1>T._MAX_COLOR_ATTACHMENTS&&a.Z.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${T._MAX_COLOR_ATTACHMENTS} color attachments`)}}function x(e){return null!=e&&"type"in e&&e.type===f.B.Texture}function b(e,t){const r=Math.max(e.width,e.height);if(r>t){_.warn(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);const i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function E(e){return e.descriptor.target===n.No.TEXTURE_CUBE_MAP?n.No.TEXTURE_CUBE_MAP_POSITIVE_X:n.No.TEXTURE_2D}T._MAX_COLOR_ATTACHMENTS=-1;var A,S,R=r(47859);(S=A||(A={}))[S.RG=0]="RG",S[S.RGBA4=1]="RGBA4",S[S.RGBA=2]="RGBA",S[S.RGBA_MIPMAP=3]="RGBA_MIPMAP",S[S.R16F=4]="R16F",S[S.RGBA16F=5]="RGBA16F";const w=new R.X;w.pixelFormat=n.VI.RG,w.internalFormat=n.lP.RG8,w.wrapMode=n.e8.CLAMP_TO_EDGE;const C=new R.X;C.internalFormat=n.lP.RGBA4,C.dataType=n.Br.UNSIGNED_SHORT_4_4_4_4,C.wrapMode=n.e8.CLAMP_TO_EDGE;(new R.X).wrapMode=n.e8.CLAMP_TO_EDGE;const O=new R.X;O.wrapMode=n.e8.CLAMP_TO_EDGE,O.samplingMode=n.cw.LINEAR_MIPMAP_LINEAR,O.hasMipmap=!0,O.maxAnisotropy=8;const y=new R.X;y.pixelFormat=n.VI.RED,y.dataType=n.Br.HALF_FLOAT,y.internalFormat=n.lP.R16F,y.samplingMode=n.cw.NEAREST;const M=new R.X;var P;M.dataType=n.Br.HALF_FLOAT,M.internalFormat=n.lP.RGBA16F,M.samplingMode=n.cw.NEAREST,A.RG,A.RGBA4,A.RGBA,A.RGBA_MIPMAP,A.R16F,A.RGBA16F,function(e){e[e.DEPTH_STENCIL_TEXTURE=0]="DEPTH_STENCIL_TEXTURE",e[e.DEPTH16_BUFFER=1]="DEPTH16_BUFFER"}(P||(P={}));const I=new R.X;I.pixelFormat=n.VI.DEPTH_STENCIL,I.dataType=n.Br.UNSIGNED_INT_24_8,I.samplingMode=n.cw.NEAREST,I.wrapMode=n.e8.CLAMP_TO_EDGE,P.DEPTH_STENCIL_TEXTURE,P.DEPTH16_BUFFER,new class{constructor(e,t,r=t){this.internalFormat=e,this.width=t,this.height=r,this.multisampled=!1,this.samples=1}}(n.Tg.DEPTH_COMPONENT16,4);var N=r(83475),L=r(35065),D=r(21968);new D.G(L.T.POSITION,3,n.g.FLOAT,0,12),new D.G(L.T.POSITION,3,n.g.FLOAT,0,20),new D.G(L.T.UV0,2,n.g.FLOAT,12,20),new D.G(L.T.POSITION,3,n.g.FLOAT,0,32),new D.G(L.T.NORMAL,3,n.g.FLOAT,12,32),new D.G(L.T.UV0,2,n.g.FLOAT,24,32),new D.G(L.T.POSITION,3,n.g.FLOAT,0,16),new D.G(L.T.COLOR,4,n.g.UNSIGNED_BYTE,12,16),new D.G(L.T.POSITION,2,n.g.FLOAT,0,8),new D.G(L.T.POSITION,2,n.g.FLOAT,0,16),new D.G(L.T.UV0,2,n.g.FLOAT,8,16),a.Z.getLogger("esri.views.webgl.VertexArrayObject");var F=r(78869),H=r(14589),B=r(59377),U=r(59915),G=r(27097);class V extends H.A{initializeProgram(e){return new B.$(e.rctx,V.shader.get().build(),N.i)}initializePipeline(){return(0,G.sm)({colorWrite:G.BK})}}V.shader=new F.J(U.S,(()=>r.e(8092).then(r.bind(r,88092))));var z=r(25377);class W extends H.A{initializeProgram(e){return new B.$(e.rctx,W.shader.get().build(),N.i)}initializePipeline(){return(0,G.sm)({colorWrite:G.BK})}}W.shader=new F.J(z.S,(()=>r.e(9243).then(r.bind(r,49243)))),r(97323);const k=2;function $(e,t){const r=e.fragment;t.receiveAmbientOcclusion?(r.uniforms.add(new o.A("ssaoTex",((e,t)=>t.ssaoHelper.colorTexture))),r.constants.add("blurSizePixelsInverse","float",1/k),r.code.add(i.H`float evaluateAmbientOcclusionInverse() {
|
|
635
635
|
vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
|
|
636
636
|
return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).a;
|
|
637
637
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[265,3172,5732,1900,4727,9880],{22303:(e,t,r)=>{r.d(t,{Z:()=>d});var n,o,a=r(35270),s=r(22021),i=r(75215);function l(e){return(0,s.uZ)((0,i.vU)(e),0,255)}function u(e,t,r){return e=Number(e),isNaN(e)?r:e<t?t:e>r?r:e}class c{static blendColors(e,t,r,n=new c){return n.r=Math.round(e.r+(t.r-e.r)*r),n.g=Math.round(e.g+(t.g-e.g)*r),n.b=Math.round(e.b+(t.b-e.b)*r),n.a=e.a+(t.a-e.a)*r,n._sanitize()}static fromRgb(e,t){const r=e.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(r){const e=r[2].split(/\s*,\s*/),n=r[1];if("rgb"===n&&3===e.length||"rgba"===n&&4===e.length){const r=e[0];if("%"===r.charAt(r.length-1)){const r=e.map((e=>2.56*parseFloat(e)));return 4===e.length&&(r[3]=parseFloat(e[3])),c.fromArray(r,t)}return c.fromArray(e.map((e=>parseFloat(e))),t)}if("hsl"===n&&3===e.length||"hsla"===n&&4===e.length)return c.fromArray((0,a.B7)(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100,parseFloat(e[3])),t)}return null}static fromHex(e,t=new c){if(4!==e.length&&7!==e.length||"#"!==e[0])return null;const r=4===e.length?4:8,n=(1<<r)-1;let o=Number("0x"+e.substr(1));return isNaN(o)?null:(["b","g","r"].forEach((e=>{const a=o&n;o>>=r,t[e]=4===r?17*a:a})),t.a=1,t)}static fromArray(e,t=new c){return t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()}static fromString(e,t){const r=(0,a.St)(e)?(0,a.h$)(e):null;return r&&c.fromArray(r,t)||c.fromRgb(e,t)||c.fromHex(e,t)}static fromJSON(e){return e&&new c([e[0],e[1],e[2],e[3]/255])}static toUnitRGB(e){return null!=e?[e.r/255,e.g/255,e.b/255]:null}static toUnitRGBA(e){return null!=e?[e.r/255,e.g/255,e.b/255,null!=e.a?e.a:1]:null}constructor(e){this.r=255,this.g=255,this.b=255,this.a=1,e&&this.setColor(e)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(e){return"string"==typeof e?c.fromString(e,this):Array.isArray(e)?c.fromArray(e,this):(this._set(e.r??0,e.g??0,e.b??0,e.a??1),e instanceof c||this._sanitize()),this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(){const e=this.r.toString(16),t=this.g.toString(16),r=this.b.toString(16);return`#${e.length<2?"0"+e:e}${t.length<2?"0"+t:t}${r.length<2?"0"+r:r}`}toCss(e=!1){const t=this.r+", "+this.g+", "+this.b;return e?`rgba(${t}, ${this.a})`:`rgb(${t})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(e=c.AlphaMode.ALWAYS){const t=l(this.r),r=l(this.g),n=l(this.b);return e===c.AlphaMode.ALWAYS||1!==this.a?[t,r,n,l(255*this.a)]:[t,r,n]}clone(){return new c(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(e){return null!=e&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a}_sanitize(){return this.r=Math.round(u(this.r,0,255)),this.g=Math.round(u(this.g,0,255)),this.b=Math.round(u(this.b,0,255)),this.a=u(this.a,0,1),this}_set(e,t,r,n){this.r=e,this.g=t,this.b=r,this.a=n}}c.prototype.declaredClass="esri.Color",n=c||(c={}),(o=n.AlphaMode||(n.AlphaMode={}))[o.ALWAYS=0]="ALWAYS",o[o.UNLESS_OPAQUE=1]="UNLESS_OPAQUE";const d=c},99880:(e,t,r)=>{r.d(t,{V:()=>l});var n=r(68773),o=(r(3172),r(20102)),a=r(92604),s=r(81271);const i=a.Z.getLogger("esri.assets");function l(e){if(!n.default.assetsPath)throw i.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new o.Z("assets:path-not-set","config.assetsPath is not set");return(0,s.v_)(n.default.assetsPath,e)}},5732:(e,t,r)=>{r.d(t,{c:()=>n,g:()=>o});var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}},52138:(e,t,r)=>{r.d(t,{A:()=>f,a:()=>l,d:()=>m,e:()=>h,f:()=>p,g:()=>b,h:()=>M,i:()=>s,j:()=>v,k:()=>d,m:()=>u,s:()=>a,t:()=>i,w:()=>c,y:()=>x,z:()=>S});var n=r(65617),o=r(46851);function a(e,t,r,n,o,a,s,i,l,u,c,d,h,p,m,f,y){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=a,e[5]=s,e[6]=i,e[7]=l,e[8]=u,e[9]=c,e[10]=d,e[11]=h,e[12]=p,e[13]=m,e[14]=f,e[15]=y,e}function s(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function i(e,t){if(e===t){const r=t[1],n=t[2],o=t[3],a=t[6],s=t[7],i=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=o,e[13]=s,e[14]=i}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function l(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],s=t[4],i=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],m=t[12],f=t[13],y=t[14],g=t[15],b=r*i-n*s,w=r*l-o*s,M=r*u-a*s,v=n*l-o*i,S=n*u-a*i,x=o*u-a*l,T=c*f-d*m,O=c*y-h*m,k=c*g-p*m,C=d*y-h*f,N=d*g-p*f,q=h*g-p*y;let _=b*q-w*N+M*C+v*k-S*O+x*T;return _?(_=1/_,e[0]=(i*q-l*N+u*C)*_,e[1]=(o*N-n*q-a*C)*_,e[2]=(f*x-y*S+g*v)*_,e[3]=(h*S-d*x-p*v)*_,e[4]=(l*k-s*q-u*O)*_,e[5]=(r*q-o*k+a*O)*_,e[6]=(y*M-m*x-g*w)*_,e[7]=(c*x-h*M+p*w)*_,e[8]=(s*N-i*k+u*T)*_,e[9]=(n*k-r*N-a*T)*_,e[10]=(m*S-f*M+g*b)*_,e[11]=(d*M-c*S-p*b)*_,e[12]=(i*O-s*C-l*T)*_,e[13]=(r*C-n*O+o*T)*_,e[14]=(f*w-m*v-y*b)*_,e[15]=(c*v-d*w+h*b)*_,e):null}function u(e,t,r){const n=t[0],o=t[1],a=t[2],s=t[3],i=t[4],l=t[5],u=t[6],c=t[7],d=t[8],h=t[9],p=t[10],m=t[11],f=t[12],y=t[13],g=t[14],b=t[15];let w=r[0],M=r[1],v=r[2],S=r[3];return e[0]=w*n+M*i+v*d+S*f,e[1]=w*o+M*l+v*h+S*y,e[2]=w*a+M*u+v*p+S*g,e[3]=w*s+M*c+v*m+S*b,w=r[4],M=r[5],v=r[6],S=r[7],e[4]=w*n+M*i+v*d+S*f,e[5]=w*o+M*l+v*h+S*y,e[6]=w*a+M*u+v*p+S*g,e[7]=w*s+M*c+v*m+S*b,w=r[8],M=r[9],v=r[10],S=r[11],e[8]=w*n+M*i+v*d+S*f,e[9]=w*o+M*l+v*h+S*y,e[10]=w*a+M*u+v*p+S*g,e[11]=w*s+M*c+v*m+S*b,w=r[12],M=r[13],v=r[14],S=r[15],e[12]=w*n+M*i+v*d+S*f,e[13]=w*o+M*l+v*h+S*y,e[14]=w*a+M*u+v*p+S*g,e[15]=w*s+M*c+v*m+S*b,e}function c(e,t,r){const n=r[0],o=r[1],a=r[2];if(t===e)e[12]=t[0]*n+t[4]*o+t[8]*a+t[12],e[13]=t[1]*n+t[5]*o+t[9]*a+t[13],e[14]=t[2]*n+t[6]*o+t[10]*a+t[14],e[15]=t[3]*n+t[7]*o+t[11]*a+t[15];else{const r=t[0],s=t[1],i=t[2],l=t[3],u=t[4],c=t[5],d=t[6],h=t[7],p=t[8],m=t[9],f=t[10],y=t[11];e[0]=r,e[1]=s,e[2]=i,e[3]=l,e[4]=u,e[5]=c,e[6]=d,e[7]=h,e[8]=p,e[9]=m,e[10]=f,e[11]=y,e[12]=r*n+u*o+p*a+t[12],e[13]=s*n+c*o+m*a+t[13],e[14]=i*n+d*o+f*a+t[14],e[15]=l*n+h*o+y*a+t[15]}return e}function d(e,t,r){const n=r[0],o=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function h(e,t,r,n){let a,s,i,l,u,c,d,h,p,m,f,y,g,b,w,M,v,S,x,T,O,k,C,N,q=n[0],_=n[1],P=n[2],j=Math.sqrt(q*q+_*_+P*P);return j<(0,o.g)()?null:(j=1/j,q*=j,_*=j,P*=j,a=Math.sin(r),s=Math.cos(r),i=1-s,l=t[0],u=t[1],c=t[2],d=t[3],h=t[4],p=t[5],m=t[6],f=t[7],y=t[8],g=t[9],b=t[10],w=t[11],M=q*q*i+s,v=_*q*i+P*a,S=P*q*i-_*a,x=q*_*i-P*a,T=_*_*i+s,O=P*_*i+q*a,k=q*P*i+_*a,C=_*P*i-q*a,N=P*P*i+s,e[0]=l*M+h*v+y*S,e[1]=u*M+p*v+g*S,e[2]=c*M+m*v+b*S,e[3]=d*M+f*v+w*S,e[4]=l*x+h*T+y*O,e[5]=u*x+p*T+g*O,e[6]=c*x+m*T+b*O,e[7]=d*x+f*T+w*O,e[8]=l*k+h*C+y*N,e[9]=u*k+p*C+g*N,e[10]=c*k+m*C+b*N,e[11]=d*k+f*C+w*N,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function p(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function m(e,t,r){if(0===t)return s(e);let n,a,i,l=r[0],u=r[1],c=r[2],d=Math.sqrt(l*l+u*u+c*c);return d<(0,o.g)()?null:(d=1/d,l*=d,u*=d,c*=d,n=Math.sin(t),a=Math.cos(t),i=1-a,e[0]=l*l*i+a,e[1]=u*l*i+c*n,e[2]=c*l*i-u*n,e[3]=0,e[4]=l*u*i-c*n,e[5]=u*u*i+a,e[6]=c*u*i+l*n,e[7]=0,e[8]=l*c*i+u*n,e[9]=u*c*i-l*n,e[10]=c*c*i+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function f(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function y(e,t,r){const n=t[0],o=t[1],a=t[2],s=t[3],i=n+n,l=o+o,u=a+a,c=n*i,d=n*l,h=n*u,p=o*l,m=o*u,f=a*u,y=s*i,g=s*l,b=s*u;return e[0]=1-(p+f),e[1]=d+b,e[2]=h-g,e[3]=0,e[4]=d-b,e[5]=1-(c+f),e[6]=m+y,e[7]=0,e[8]=h+g,e[9]=m-y,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const g=(0,n.c)();function b(e,t,r,n){const o=t[0],a=t[1],s=t[2],i=t[3],l=o+o,u=a+a,c=s+s,d=o*l,h=o*u,p=o*c,m=a*u,f=a*c,y=s*c,g=i*l,b=i*u,w=i*c,M=n[0],v=n[1],S=n[2];return e[0]=(1-(m+y))*M,e[1]=(h+w)*M,e[2]=(p-b)*M,e[3]=0,e[4]=(h-w)*v,e[5]=(1-(d+y))*v,e[6]=(f+g)*v,e[7]=0,e[8]=(p+b)*S,e[9]=(f-g)*S,e[10]=(1-(d+m))*S,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function M(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function v(e,t){if(e===t)return!0;const r=e[0],n=e[1],a=e[2],s=e[3],i=e[4],l=e[5],u=e[6],c=e[7],d=e[8],h=e[9],p=e[10],m=e[11],f=e[12],y=e[13],g=e[14],b=e[15],w=t[0],M=t[1],v=t[2],S=t[3],x=t[4],T=t[5],O=t[6],k=t[7],C=t[8],N=t[9],q=t[10],_=t[11],P=t[12],j=t[13],A=t[14],E=t[15],L=(0,o.g)();return Math.abs(r-w)<=L*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-M)<=L*Math.max(1,Math.abs(n),Math.abs(M))&&Math.abs(a-v)<=L*Math.max(1,Math.abs(a),Math.abs(v))&&Math.abs(s-S)<=L*Math.max(1,Math.abs(s),Math.abs(S))&&Math.abs(i-x)<=L*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(l-T)<=L*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(u-O)<=L*Math.max(1,Math.abs(u),Math.abs(O))&&Math.abs(c-k)<=L*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(d-C)<=L*Math.max(1,Math.abs(d),Math.abs(C))&&Math.abs(h-N)<=L*Math.max(1,Math.abs(h),Math.abs(N))&&Math.abs(p-q)<=L*Math.max(1,Math.abs(p),Math.abs(q))&&Math.abs(m-_)<=L*Math.max(1,Math.abs(m),Math.abs(_))&&Math.abs(f-P)<=L*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(y-j)<=L*Math.max(1,Math.abs(y),Math.abs(j))&&Math.abs(g-A)<=L*Math.max(1,Math.abs(g),Math.abs(A))&&Math.abs(b-E)<=L*Math.max(1,Math.abs(b),Math.abs(E))}function S(e){const t=(0,o.g)(),r=e[0],n=e[1],a=e[2],s=e[4],i=e[5],l=e[6],u=e[8],c=e[9],d=e[10];return Math.abs(1-(r*r+s*s+u*u))<=t&&Math.abs(1-(n*n+i*i+c*c))<=t&&Math.abs(1-(a*a+l*l+d*d))<=t}function x(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[8]&&0===e[9]&&1===e[10]}const T=u,O=w;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},adjoint:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],s=t[4],i=t[5],l=t[6],u=t[7],c=t[8],d=t[9],h=t[10],p=t[11],m=t[12],f=t[13],y=t[14],g=t[15];return e[0]=i*(h*g-p*y)-d*(l*g-u*y)+f*(l*p-u*h),e[1]=-(n*(h*g-p*y)-d*(o*g-a*y)+f*(o*p-a*h)),e[2]=n*(l*g-u*y)-i*(o*g-a*y)+f*(o*u-a*l),e[3]=-(n*(l*p-u*h)-i*(o*p-a*h)+d*(o*u-a*l)),e[4]=-(s*(h*g-p*y)-c*(l*g-u*y)+m*(l*p-u*h)),e[5]=r*(h*g-p*y)-c*(o*g-a*y)+m*(o*p-a*h),e[6]=-(r*(l*g-u*y)-s*(o*g-a*y)+m*(o*u-a*l)),e[7]=r*(l*p-u*h)-s*(o*p-a*h)+c*(o*u-a*l),e[8]=s*(d*g-p*f)-c*(i*g-u*f)+m*(i*p-u*d),e[9]=-(r*(d*g-p*f)-c*(n*g-a*f)+m*(n*p-a*d)),e[10]=r*(i*g-u*f)-s*(n*g-a*f)+m*(n*u-a*i),e[11]=-(r*(i*p-u*d)-s*(n*p-a*d)+c*(n*u-a*i)),e[12]=-(s*(d*y-h*f)-c*(i*y-l*f)+m*(i*h-l*d)),e[13]=r*(d*y-h*f)-c*(n*y-o*f)+m*(n*h-o*d),e[14]=-(r*(i*y-l*f)-s*(n*y-o*f)+m*(n*l-o*i)),e[15]=r*(i*h-l*d)-s*(n*h-o*d)+c*(n*l-o*i),e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},determinant:function(e){const t=e[0],r=e[1],n=e[2],o=e[3],a=e[4],s=e[5],i=e[6],l=e[7],u=e[8],c=e[9],d=e[10],h=e[11],p=e[12],m=e[13],f=e[14],y=e[15];return(t*s-r*a)*(d*y-h*f)-(t*i-n*a)*(c*y-h*m)+(t*l-o*a)*(c*f-d*m)+(r*i-n*s)*(u*y-h*p)-(r*l-o*s)*(u*f-d*p)+(n*l-o*i)*(u*m-c*p)},equals:v,exactEquals:M,frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},fromQuat:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],s=r+r,i=n+n,l=o+o,u=r*s,c=n*s,d=n*i,h=o*s,p=o*i,m=o*l,f=a*s,y=a*i,g=a*l;return e[0]=1-d-m,e[1]=c+g,e[2]=h-y,e[3]=0,e[4]=c-g,e[5]=1-u-m,e[6]=p+f,e[7]=0,e[8]=h+y,e[9]=p-f,e[10]=1-u-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromQuat2:function(e,t){const r=g,n=-t[0],o=-t[1],a=-t[2],s=t[3],i=t[4],l=t[5],u=t[6],c=t[7],d=n*n+o*o+a*a+s*s;return d>0?(r[0]=2*(i*s+c*n+l*a-u*o)/d,r[1]=2*(l*s+c*o+u*n-i*a)/d,r[2]=2*(u*s+c*a+i*o-l*n)/d):(r[0]=2*(i*s+c*n+l*a-u*o),r[1]=2*(l*s+c*o+u*n-i*a),r[2]=2*(u*s+c*a+i*o-l*n)),y(e,t,r),e},fromRotation:m,fromRotationTranslation:y,fromRotationTranslationScale:b,fromRotationTranslationScaleOrigin:function(e,t,r,n,o){const a=t[0],s=t[1],i=t[2],l=t[3],u=a+a,c=s+s,d=i+i,h=a*u,p=a*c,m=a*d,f=s*c,y=s*d,g=i*d,b=l*u,w=l*c,M=l*d,v=n[0],S=n[1],x=n[2],T=o[0],O=o[1],k=o[2],C=(1-(f+g))*v,N=(p+M)*v,q=(m-w)*v,_=(p-M)*S,P=(1-(h+g))*S,j=(y+b)*S,A=(m+w)*x,E=(y-b)*x,L=(1-(h+f))*x;return e[0]=C,e[1]=N,e[2]=q,e[3]=0,e[4]=_,e[5]=P,e[6]=j,e[7]=0,e[8]=A,e[9]=E,e[10]=L,e[11]=0,e[12]=r[0]+T-(C*T+_*O+A*k),e[13]=r[1]+O-(N*T+P*O+E*k),e[14]=r[2]+k-(q*T+j*O+L*k),e[15]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromTranslation:p,fromXRotation:f,fromYRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,o,a,s){const i=1/(r-t),l=1/(o-n),u=1/(a-s);return e[0]=2*a*i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*l,e[6]=0,e[7]=0,e[8]=(r+t)*i,e[9]=(o+n)*l,e[10]=(s+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*a*2*u,e[15]=0,e},getRotation:function(e,t){const r=t[0]+t[5]+t[10];let n=0;return r>0?(n=2*Math.sqrt(r+1),e[3]=.25*n,e[0]=(t[6]-t[9])/n,e[1]=(t[8]-t[2])/n,e[2]=(t[1]-t[4])/n):t[0]>t[5]&&t[0]>t[10]?(n=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/n,e[0]=.25*n,e[1]=(t[1]+t[4])/n,e[2]=(t[8]+t[2])/n):t[5]>t[10]?(n=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/n,e[0]=(t[1]+t[4])/n,e[1]=.25*n,e[2]=(t[6]+t[9])/n):(n=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/n,e[0]=(t[8]+t[2])/n,e[1]=(t[6]+t[9])/n,e[2]=.25*n),e},getScaling:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[4],s=t[5],i=t[6],l=t[8],u=t[9],c=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(a*a+s*s+i*i),e[2]=Math.sqrt(l*l+u*u+c*c),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},hasIdentityRotation:x,identity:s,invert:l,invertOrIdentity:function(e,t){return l(e,t)||s(e),e},isOrthoNormal:S,lookAt:function(e,t,r,n){const a=t[0],i=t[1],l=t[2];let u=a-r[0],c=i-r[1],d=l-r[2];const h=(0,o.g)();if(Math.abs(u)<h&&Math.abs(c)<h&&Math.abs(d)<h)return void s(e);let p=1/Math.sqrt(u*u+c*c+d*d);u*=p,c*=p,d*=p;const m=n[0],f=n[1],y=n[2];let g=f*d-y*c,b=y*u-m*d,w=m*c-f*u;p=Math.sqrt(g*g+b*b+w*w),p?(p=1/p,g*=p,b*=p,w*=p):(g=0,b=0,w=0);let M=c*w-d*b,v=d*g-u*w,S=u*b-c*g;p=Math.sqrt(M*M+v*v+S*S),p?(p=1/p,M*=p,v*=p,S*=p):(M=0,v=0,S=0),e[0]=g,e[1]=M,e[2]=u,e[3]=0,e[4]=b,e[5]=v,e[6]=c,e[7]=0,e[8]=w,e[9]=S,e[10]=d,e[11]=0,e[12]=-(g*a+b*i+w*l),e[13]=-(M*a+v*i+S*l),e[14]=-(u*a+c*i+d*l),e[15]=1},mul:T,multiply:u,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},ortho:function(e,t,r,n,o,a,s){const i=1/(t-r),l=1/(n-o),u=1/(a-s);return e[0]=-2*i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*i,e[13]=(o+n)*l,e[14]=(s+a)*u,e[15]=1,e},perspective:function(e,t,r,n,o){const a=1/Math.tan(t/2);let s;return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(s=1/(n-o),e[10]=(o+n)*s,e[14]=2*o*n*s):(e[10]=-1,e[14]=-2*n),e},perspectiveFromFieldOfView:function(e,t,r,n){const o=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),i=Math.tan(t.rightDegrees*Math.PI/180),l=2/(s+i),u=2/(o+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(s-i)*l*.5,e[9]=(o-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},rotate:h,rotateX:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[4],s=t[5],i=t[6],l=t[7],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*o+u*n,e[5]=s*o+c*n,e[6]=i*o+d*n,e[7]=l*o+h*n,e[8]=u*o-a*n,e[9]=c*o-s*n,e[10]=d*o-i*n,e[11]=h*o-l*n,e},rotateY:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[0],s=t[1],i=t[2],l=t[3],u=t[8],c=t[9],d=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o-u*n,e[1]=s*o-c*n,e[2]=i*o-d*n,e[3]=l*o-h*n,e[8]=a*n+u*o,e[9]=s*n+c*o,e[10]=i*n+d*o,e[11]=l*n+h*o,e},rotateZ:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[0],s=t[1],i=t[2],l=t[3],u=t[4],c=t[5],d=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o+u*n,e[1]=s*o+c*n,e[2]=i*o+d*n,e[3]=l*o+h*n,e[4]=u*o-a*n,e[5]=c*o-s*n,e[6]=d*o-i*n,e[7]=h*o-l*n,e},scale:d,set:a,str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},sub:O,subtract:w,targetTo:function(e,t,r,n){const o=t[0],a=t[1],s=t[2],i=n[0],l=n[1],u=n[2];let c=o-r[0],d=a-r[1],h=s-r[2],p=c*c+d*d+h*h;p>0&&(p=1/Math.sqrt(p),c*=p,d*=p,h*=p);let m=l*h-u*d,f=u*c-i*h,y=i*d-l*c;return p=m*m+f*f+y*y,p>0&&(p=1/Math.sqrt(p),m*=p,f*=p,y*=p),e[0]=m,e[1]=f,e[2]=y,e[3]=0,e[4]=d*y-h*f,e[5]=h*m-c*y,e[6]=c*f-d*m,e[7]=0,e[8]=c,e[9]=d,e[10]=h,e[11]=0,e[12]=o,e[13]=a,e[14]=s,e[15]=1,e},translate:c,transpose:i},Symbol.toStringTag,{value:"Module"}))},35270:(e,t,r)=>{r.d(t,{B7:()=>l,St:()=>o,VL:()=>s,h$:()=>a,rW:()=>u});const n={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function o(e){return!!n[e]||!!n[e.toLowerCase()]}function a(e){return n[e]??n[e.toLowerCase()]}function s(e){return[...a(e)]}function i(e,t,r){r<0&&++r,r>1&&--r;const n=6*r;return n<1?e+(t-e)*n:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function l(e,t,r,n=1){const o=(e%360+360)%360/360,a=r<=.5?r*(t+1):r+t-r*t,s=2*r-a;return[Math.round(255*i(s,a,o+1/3)),Math.round(255*i(s,a,o)),Math.round(255*i(s,a,o-1/3)),n]}function u(e){const t=e.length>5,r=t?8:4,n=(1<<r)-1,o=t?1:17,a=t?9===e.length:5===e.length;let s=Number("0x"+e.substr(1));if(isNaN(s))return null;const i=[0,0,0,1];let l;return a&&(l=s&n,s>>=r,i[3]=o*l/255),l=s&n,s>>=r,i[2]=o*l,l=s&n,s>>=r,i[1]=o*l,l=s&n,s>>=r,i[0]=o*l,i}},10661:(e,t,r)=>{r.d(t,{s:()=>o});var n=r(42100);class o extends n.s{notify(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onInvalidated(),e.onCommitted()}}}},66577:(e,t,r)=>{r.d(t,{qM:()=>c});var n=r(75215),o=r(6570),a=r(9361),s=r(65091),i=r(94139),l=r(38913),u=r(58901);r(82971),r(86973),r(33955);const c={base:a.Z,key:"type",typeMap:{extent:o.Z,multipoint:s.Z,point:i.Z,polyline:u.Z,polygon:l.Z}};(0,n.N7)(c)},60437:(e,t,r)=>{r.d(t,{Gv:()=>b,HH:()=>s,JR:()=>m,TC:()=>i,Tn:()=>d,Ue:()=>o,al:()=>a,bZ:()=>f,cS:()=>p,dp:()=>u,fS:()=>g,is:()=>y,op:()=>c,pp:()=>l,t8:()=>h});var n=r(6570);function o(e=w){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function a(e,t,r,n,a,s,i=o()){return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i[4]=a,i[5]=s,i}function s(e,t){const r=isFinite(e[2])||isFinite(e[5]);return new n.Z(r?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function i(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function l(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function u(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function c(e,t,r=e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r!==e&&(r[3]=e[3],r[4]=e[4],r[5]=e[5]),r}function d(e,t,r=e){return r[3]=t[0],r[4]=t[1],r[5]=t[2],r!==e&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),e}function h(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function p(e){return e?h(e,b):o(b)}function m(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function f(e,t,r,n,o){return e[0]=t,e[1]=r,e[2]=Number.NEGATIVE_INFINITY,e[3]=n,e[4]=o,e[5]=Number.POSITIVE_INFINITY,e}function y(e){return 6===e.length}function g(e,t,r){if(null==e||null==t)return e===t;if(!y(e)||!y(t))return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}r(24470);const b=[1/0,1/0,1/0,-1/0,-1/0,-1/0],w=[0,0,0,0,0,0];o()},1231:(e,t,r)=>{r.d(t,{Z:()=>y});var n,o=r(43697),a=r(35454),s=r(96674),i=r(5600),l=r(75215),u=(r(67676),r(80442),r(36030)),c=r(71715),d=r(52011),h=r(72729),p=r(86719);const m=new a.X({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let f=n=class extends s.wq{constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=-1,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?m.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain&&this.domain.clone()||null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,o._)([(0,i.Cb)({type:String,json:{write:!0}})],f.prototype,"alias",void 0),(0,o._)([(0,i.Cb)({type:[String,Number],json:{write:{allowNull:!0}}})],f.prototype,"defaultValue",void 0),(0,o._)([(0,i.Cb)()],f.prototype,"description",void 0),(0,o._)([(0,c.r)("description")],f.prototype,"readDescription",null),(0,o._)([(0,i.Cb)({types:h.V5,json:{read:{reader:h.im},write:!0}})],f.prototype,"domain",void 0),(0,o._)([(0,i.Cb)({type:Boolean,json:{write:!0}})],f.prototype,"editable",void 0),(0,o._)([(0,i.Cb)({type:l.z8,json:{write:!0}})],f.prototype,"length",void 0),(0,o._)([(0,i.Cb)({type:String,json:{write:!0}})],f.prototype,"name",void 0),(0,o._)([(0,i.Cb)({type:Boolean,json:{write:!0}})],f.prototype,"nullable",void 0),(0,o._)([(0,u.J)(p.v)],f.prototype,"type",void 0),(0,o._)([(0,i.Cb)()],f.prototype,"valueType",void 0),(0,o._)([(0,c.r)("valueType",["description"])],f.prototype,"readValueType",null),(0,o._)([(0,i.Cb)({type:Boolean,json:{read:!1}})],f.prototype,"visible",void 0),f=n=(0,o._)([(0,d.j)("esri.layers.support.Field")],f);const y=f},61576:(e,t,r)=>{r.r(t),r.d(t,{default:()=>y}),r(66577);var n=r(18571),o=r(5847),a=r(75993),s=r(55914),i=r(40932),l=r(73506),u=r(15612),c=r(80676),d=r(87521),h=r(72758),p=r(23808),m=r(6570),f=r(94139);class y{convertVectorFieldData(e){const t=o.Z.fromJSON(e.pixelBlock),r=(0,c.KC)(t,e.type);return Promise.resolve(null!=r?r.toJSON():null)}computeStatisticsHistograms(e){const t=o.Z.fromJSON(e.pixelBlock),r=(0,u.js)(t);return Promise.resolve(r)}async decode(e){const t=await(0,a.J)(e.data,e.options);return t&&t.toJSON()}symbolize(e){e.pixelBlock=o.Z.fromJSON(e.pixelBlock),e.extent=e.extent?m.Z.fromJSON(e.extent):null;const t=this.symbolizer.symbolize(e);return Promise.resolve(null!=t?t.toJSON():null)}async updateSymbolizer(e){this.symbolizer=h.Z.fromJSON(e.symbolizerJSON),e.histograms&&"rasterStretch"===this.symbolizer?.rendererJSON.type&&(this.symbolizer.rendererJSON.histograms=e.histograms)}async updateRasterFunction(e){this.rasterFunction=(0,i.Ue)(e.rasterFunctionJSON)}async process(e){const t=this.rasterFunction.process({extent:m.Z.fromJSON(e.extent),primaryPixelBlocks:e.primaryPixelBlocks.map((e=>null!=e?o.Z.fromJSON(e):null)),primaryPixelSizes:e.primaryPixelSizes?.map((e=>null!=e?f.Z.fromJSON(e):null)),primaryRasterIds:e.primaryRasterIds});return null!=t?t.toJSON():null}stretch(e){const t=this.symbolizer.simpleStretch(o.Z.fromJSON(e.srcPixelBlock),e.stretchParams);return Promise.resolve(null!=t&&t.toJSON())}estimateStatisticsHistograms(e){const t=(0,u.Hv)(o.Z.fromJSON(e.srcPixelBlock));return Promise.resolve(t)}split(e){const t=(0,s.Vl)(o.Z.fromJSON(e.srcPixelBlock),e.tileSize,e.maximumPyramidLevel);return t&&t.forEach(((e,r)=>{t.set(r,e?.toJSON())})),Promise.resolve(t)}async mosaicAndTransform(e){const t=e.srcPixelBlocks.map((e=>e?new o.Z(e):null)),r=(0,s.us)(t,e.srcMosaicSize,{blockWidths:e.blockWidths,alignmentInfo:e.alignmentInfo,clipOffset:e.clipOffset,clipSize:e.clipSize});let n,a=r;return e.coefs&&(a=(0,s.Uk)(r,e.destDimension,e.coefs,e.sampleSpacing,e.interpolation)),e.projectDirections&&e.gcsGrid&&(n=(0,s.Qh)(e.destDimension,e.gcsGrid),a=(0,c.xQ)(a,e.isUV?"vector-uv":"vector-magdir",n)),{pixelBlock:a?.toJSON(),localNorthDirections:n}}async createFlowMesh(e,t){const r={data:new Float32Array(e.flowData.buffer),mask:new Uint8Array(e.flowData.maskBuffer),width:e.flowData.width,height:e.flowData.height},{vertexData:n,indexData:o}=await(0,p.GE)(e.meshType,e.simulationSettings,r,t.signal);return{result:{vertexBuffer:n.buffer,indexBuffer:o.buffer},transferList:[n.buffer,o.buffer]}}async getProjectionOffsetGrid(e){const t=m.Z.fromJSON(e.projectedExtent),r=m.Z.fromJSON(e.srcBufferExtent);let o=null;e.datumTransformationSteps&&(o=new n.Z({steps:e.datumTransformationSteps})),(e.includeGCSGrid||(0,l.Mk)(t.spatialReference,r.spatialReference,o))&&await(0,l.zD)();const a=e.rasterTransform?(0,d.c)(e.rasterTransform):null;return(0,l.Qp)({...e,projectedExtent:t,srcBufferExtent:r,datumTransformation:o,rasterTransform:a})}}},72729:(e,t,r)=>{r.d(t,{im:()=>T,V5:()=>x}),r(80442);var n,o=r(43697),a=r(22974),s=r(5600),i=(r(75215),r(36030)),l=r(52011),u=r(96674);r(67676);let c=n=class extends u.wq{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,o._)([(0,s.Cb)({type:String,json:{write:!0}})],c.prototype,"name",void 0),(0,o._)([(0,s.Cb)({type:[String,Number],json:{write:!0}})],c.prototype,"code",void 0),c=n=(0,o._)([(0,l.j)("esri.layers.support.CodedValue")],c);const d=new(r(35454).X)({inherited:"inherited",codedValue:"coded-value",range:"range"});let h=class extends u.wq{constructor(e){super(e),this.name=null,this.type=null}};(0,o._)([(0,s.Cb)({type:String,json:{write:!0}})],h.prototype,"name",void 0),(0,o._)([(0,i.J)(d)],h.prototype,"type",void 0),h=(0,o._)([(0,l.j)("esri.layers.support.Domain")],h);const p=h;var m;let f=m=class extends p{constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new m({codedValues:(0,a.d9)(this.codedValues),name:this.name})}};(0,o._)([(0,s.Cb)({type:[c],json:{write:!0}})],f.prototype,"codedValues",void 0),(0,o._)([(0,i.J)({codedValue:"coded-value"})],f.prototype,"type",void 0),f=m=(0,o._)([(0,l.j)("esri.layers.support.CodedValueDomain")],f);const y=f;var g;r(92604),r(20102);let b=g=class extends p{constructor(e){super(e),this.type="inherited"}clone(){return new g}};(0,o._)([(0,i.J)({inherited:"inherited"})],b.prototype,"type",void 0),b=g=(0,o._)([(0,l.j)("esri.layers.support.InheritedDomain")],b);const w=b;var M;let v=M=class extends p{constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new M({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o._)([(0,s.Cb)({type:Number,json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range&&t.range[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]}}}})],v.prototype,"maxValue",void 0),(0,o._)([(0,s.Cb)({type:Number,json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range&&t.range[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]}}}})],v.prototype,"minValue",void 0),(0,o._)([(0,i.J)({range:"range"})],v.prototype,"type",void 0),v=M=(0,o._)([(0,l.j)("esri.layers.support.RangeDomain")],v);const S=v,x={key:"type",base:p,typeMap:{range:v,"coded-value":y,inherited:w}};function T(e){if(!e||!e.type)return null;switch(e.type){case"range":return S.fromJSON(e);case"codedValue":return y.fromJSON(e);case"inherited":return w.fromJSON(e)}return null}},86719:(e,t,r)=>{r.d(t,{v:()=>n});const n=new(r(35454).X)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>p});var n=r(68773),o=r(40330),a=r(20102),s=r(80442),i=r(22974),l=r(95330),u=r(81271),c=r(19745),d=r(71058),h=r(85958);async function p(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,u.u0)(t.query.toString().replaceAll("+"," ")));const i=(0,u.HK)(e),c=(0,u.jc)(e);c||i||(e=(0,u.Fv)(e));const g={url:e,requestOptions:{...t}};let b=(0,u.oh)(e);if(b){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=x("request:interceptor",e,t)}if((n instanceof Error||n instanceof a.Z)&&(r=x("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(b,g);if(null!=e)return{data:e,getHeader:M,httpStatus:200,requestOptions:g.requestOptions,url:g.url};b.after||b.error||(b=null)}if(e=g.url,"image"===(t=g.requestOptions).responseType&&((0,s.Z)("host-webworker")||(0,s.Z)("host-node")))throw x("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),g);if("head"===t.method){if(t.body)throw x("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),g);if(i||c)throw x("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),g)}if(await async function(){(0,s.Z)("host-webworker")?m||(m=await r.e(9884).then(r.bind(r,29884))):p._abortableFetch||(p._abortableFetch=globalThis.fetch.bind(globalThis))}(),m)return m.execute(e,t);const w=new AbortController;(0,l.fu)(t,(()=>w.abort()));const v={controller:w,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:b,params:g,redoRequest:!1,useIdentity:f.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=await async function(e){let t,r;await async function(e){const t=e.params.url,r=e.params.requestOptions,a=e.controller.signal,s=r.body;let i=null,u=null;if(y&&"HTMLFormElement"in globalThis&&(s instanceof FormData?i=s:s instanceof HTMLFormElement&&(i=new FormData(s))),"string"==typeof s&&(u=s),e.fetchOptions={cache:r.cacheBust&&!("polyfill"in p._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:f.priority,redirect:"follow",signal:a},(i||u)&&(e.fetchOptions.body=i||u),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||i?.get("token")),!e.hasToken&&n.default.apiKey&&(0,d.r)(t)&&(r.query||(r.query={}),r.query.token=n.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!O(t)&&!(0,l.Hc)(a)){let n;"immediate"===r.authMode?(await T(),n=await o.id.getCredential(t,{signal:a}),e.credential=n):"no-prompt"===r.authMode?(await T(),n=await o.id.getCredential(t,{prompt:!1,signal:a}).catch((()=>{})),e.credential=n):o.id&&(n=o.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[t,r]=await k(e)}while(!await N(e,t,r))}catch(r){const n=x("request:server",r,e.params,t);throw n.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(n),n}const a=e.params.url;if(r&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,u.kl)(a)){const e=(0,u.P$)(a,!0);e&&f.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&(0,h.Hu)(r.authorizedCrossOriginNoCorsDomains)}const s=e.credential;if(s&&o.id){const e=o.id.findServerInfo(s.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=o.id.findCredential(t,s.userId);e&&-1===o.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getHeader:t?e=>t?.headers.get(e):M,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(v);return b?.after?.(S),S}let m;const f=n.default.request,y="FormData"in globalThis,g=[499,498,403,401],b=["COM_0056","COM_0057","SB_0008"],w=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],M=()=>null,v=Symbol();function S(e){const t=(0,u.P$)(e);return!t||t.endsWith(".arcgis.com")||p._corsServers.includes(t)||(0,u.kl)(t)}function x(e,t,r,n){let o="Error";const s={url:r.url,requestOptions:r.requestOptions,getHeader:M,ssl:!1};if(t instanceof a.Z)return t.details?(t.details=(0,i.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=s,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n?.status,a=t.message;a&&(o=a),e&&(s.getHeader=e),s.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,s.subCode=t.subcode,s.messageCode=t.messageCode,"string"==typeof t.details?s.messages=[t.details]:s.messages=t.details,s.raw=v in t?t[v]:t}return(0,l.D_)(t)?(0,l.zE)():new a.Z(e,o,s)}async function T(){o.id||await Promise.all([r.e(7126),r.e(6261),r.e(9255),r.e(1400),r.e(450)]).then(r.bind(r,73660))}function O(e){return w.some((t=>t.test(e)))}async function k(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions??{},a=(0,u.jc)(t)||(0,u.HK)(t),i=r.responseType||"json",d=a?0:null!=r.timeout?r.timeout:f.timeout;let m=!1;if(!a){e.useSSL&&(t=(0,u.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,u.ZN)(t,"request.preventCache",Date.now()));let a={...r.query};e.credentialToken&&(a.token=e.credentialToken);let i=(0,u.B7)(a);(0,s.Z)("esri-url-encodes-apostrophe")&&(i=i.replaceAll("'","%27"));const l=t.length+1+i.length;let d;m="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||l>f.maxUrlLength;const p=r.useProxy||!!(0,u.ed)(t);if(p){const e=(0,u.b7)(t);d=e.path,!m&&d.length+1+l>f.maxUrlLength&&(m=!0),e.query&&(a={...e.query,...a})}if("HEAD"===n.method&&(m||p)){if(m){if(l>f.maxUrlLength)throw x("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw x("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(p)throw x("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(m?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,u.fl)(t,a):(n.body=(0,u.B7)(a),n.headers||(n.headers={}),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.fl)(t,a),p&&(e.useProxy=!0,t=`${d}?${t}`),a.token&&y&&n.body instanceof FormData&&!(0,c.P)(t)&&n.body.set("token",a.token),r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,u.D6)(t,(0,u.TI)()))if((0,u.kl)(t))e.withCredentials=!0;else if(o.id){const r=o.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include",(0,h.jH)(t)&&await(0,h.jz)(m?(0,u.fl)(t,a):t))}let g,b,w=0,M=!1;d>0&&(w=setTimeout((()=>{M=!0,e.controller.abort()}),d));try{if("native-request-init"===r.responseType)b=n,b.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||m||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!a&&!e.useProxy&&f.proxyUrl&&!S(t)){if(g=await p._abortableFetch(t,n),e.useProxy||function(e){const t=(0,u.P$)(e);t&&!p._corsServers.includes(t)&&p._corsServers.push(t)}(t),"native"===r.responseType)b=g;else if("HEAD"!==n.method)if(g.ok){switch(i){case"array-buffer":b=await g.arrayBuffer();break;case"blob":case"image":b=await g.blob();break;default:b=await g.text()}if(w&&(clearTimeout(w),w=0),"json"===i||"xml"===i||"document"===i)if(b)switch(i){case"json":b=JSON.parse(b);break;case"xml":b=C(b,"application/xml");break;case"document":b=C(b,"text/html")}else b=null;if(b){if("array-buffer"===i||"blob"===i){const e=g.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&b["blob"===i?"size":"byteLength"]<=750)try{const e=await new Response(b).json();e.error&&(b=e)}catch{}}"image"===i&&b instanceof Blob&&(b=await q(URL.createObjectURL(b),e,!0))}}else{b=await g.text();try{b=JSON.parse(b)}catch{}}}else b=await q(t,e)}catch(n){if("AbortError"===n.name){if(M)throw(0,h.Tf)();throw(0,l.zE)("Request canceled")}if(!(!g&&n instanceof TypeError&&f.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||S(t))throw n;e.redoRequest=!0,(0,u.tD)({proxyUrl:f.proxyUrl,urlPrefix:(0,u.P$)(t)??""})}finally{w&&clearTimeout(w)}return[g,b]}function C(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function N(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let a,s;if(r&&(r.error?a=r.error:"error"===r.status&&Array.isArray(r.messages)&&(a={...r},a[v]=r,a.details=r.messages)),!a&&!t.ok)throw a=new Error(`Unable to load ${t.url} status: ${t.status}`),a[v]=r,a;let i,l=null;a&&(s=Number(a.code),l=a.hasOwnProperty("subcode")?Number(a.subcode):null,i=a.messageCode,i=i?.toUpperCase());const u=n.authMode;if(403===s&&(4===l||a.message?.toLowerCase().includes("ssl")&&!a.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===s)&&void 0!==s&&g.includes(s)&&!O(e.params.url)&&(403!==s||i&&!b.includes(i)&&(null==l||2===l&&e.credentialToken))){await T();try{const t=await o.id.getCredential(e.params.url,{error:x("request:server",a,e.params),prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;a=t}}if(a)throw a;return!0}function q(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=f.priority,o.src=e,(0,h.fY)(o,e,r,n)}p._abortableFetch=null,p._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},98046:(e,t,r)=>{r.d(t,{Z:()=>p});var n,o=r(43697),a=r(22303),s=r(22974),i=r(5600),l=r(75215),u=r(36030),c=r(52011),d=r(899);let h=n=class extends d.Z{constructor(e){super(e),this.algorithm=null,this.fromColor=null,this.toColor=null,this.type="algorithmic"}clone(){return new n({fromColor:(0,s.d9)(this.fromColor),toColor:(0,s.d9)(this.toColor),algorithm:this.algorithm})}};(0,o._)([(0,u.J)({esriCIELabAlgorithm:"cie-lab",esriHSVAlgorithm:"hsv",esriLabLChAlgorithm:"lab-lch"})],h.prototype,"algorithm",void 0),(0,o._)([(0,i.Cb)({type:a.Z,json:{type:[l.z8],write:!0}})],h.prototype,"fromColor",void 0),(0,o._)([(0,i.Cb)({type:a.Z,json:{type:[l.z8],write:!0}})],h.prototype,"toColor",void 0),(0,o._)([(0,i.Cb)({type:["algorithmic"]})],h.prototype,"type",void 0),h=n=(0,o._)([(0,c.j)("esri.rest.support.AlgorithmicColorRamp")],h);const p=h},899:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(43697),o=r(96674),a=r(5600),s=(r(75215),r(67676),r(80442),r(52011));let i=class extends o.wq{constructor(e){super(e),this.type=null}};(0,n._)([(0,a.Cb)({readOnly:!0,json:{read:!1,write:!0}})],i.prototype,"type",void 0),i=(0,n._)([(0,s.j)("esri.rest.support.ColorRamp")],i);const l=i},1515:(e,t,r)=>{r.d(t,{Z:()=>d});var n,o=r(43697),a=r(22974),s=r(5600),i=(r(75215),r(52011)),l=r(98046),u=r(899);let c=n=class extends u.Z{constructor(e){super(e),this.colorRamps=null,this.type="multipart"}clone(){return new n({colorRamps:(0,a.d9)(this.colorRamps)})}};(0,o._)([(0,s.Cb)({type:[l.Z],json:{write:!0}})],c.prototype,"colorRamps",void 0),(0,o._)([(0,s.Cb)({type:["multipart"]})],c.prototype,"type",void 0),c=n=(0,o._)([(0,i.j)("esri.rest.support.MultipartColorRamp")],c);const d=c},94593:(e,t,r)=>{r.d(t,{V:()=>s,i:()=>i});var n=r(98046),o=r(899),a=r(1515);const s={key:"type",base:o.Z,typeMap:{algorithmic:n.Z,multipart:a.Z}};function i(e){return e&&e.type?"algorithmic"===e.type?n.Z.fromJSON(e):"multipart"===e.type?a.Z.fromJSON(e):null:null}},71058:(e,t,r)=>{r.d(t,{r:()=>a});var n=r(81271);const o=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function a(e){const t=(0,n.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!o.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{Hu:()=>d,Tf:()=>c,fY:()=>i,jH:()=>h,jz:()=>p});var n=r(68773),o=r(80442),a=r(95330),s=r(81271);function i(e,t,r=!1,n){return new Promise(((s,i)=>{if((0,a.Hc)(n))return void i(l());let u=()=>{h(),i(new Error(`Unable to load ${t}`))},c=()=>{const t=e;h(),s(t)},d=()=>{if(!e)return;const t=e;h(),t.src="",i(l())};const h=()=>{(0,o.Z)("esri-image-decode")||(e.removeEventListener("error",u),e.removeEventListener("load",c)),u=null,c=null,e=null,null!=n&&n.removeEventListener("abort",d),d=null,r&&URL.revokeObjectURL(t)};null!=n&&n.addEventListener("abort",d),(0,o.Z)("esri-image-decode")?e.decode().then(c,u):(e.addEventListener("error",u),e.addEventListener("load",c))}))}function l(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const u="Timeout exceeded";function c(){return new Error(u)}function d(e){n.default.request.crossOriginNoCorsDomains||(n.default.request.crossOriginNoCorsDomains={});const t=n.default.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,s.P$)(r)??""]=0:(t[(0,s.P$)("http://"+r)??""]=0,t[(0,s.P$)("https://"+r)??""]=0)}function h(e){const t=n.default.request.crossOriginNoCorsDomains;if(t){let r=(0,s.P$)(e);if(r)return r=r.toLowerCase(),!(0,s.D6)(r,(0,s.TI)())&&t[r]<Date.now()-36e5}return!1}async function p(e){const t=n.default.request.crossOriginNoCorsDomains,r=(0,s.P$)(e);t&&r&&(t[r.toLowerCase()]=Date.now());const o=(0,s.mN)(e);e=o.path,"json"===o.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6122,3172,1900,4727,9880],{99880:(e,t,r)=>{r.d(t,{V:()=>u});var n=r(68773),o=(r(3172),r(20102)),a=r(92604),i=r(81271);const s=a.Z.getLogger("esri.assets");function u(e){if(!n.default.assetsPath)throw s.errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new o.Z("assets:path-not-set","config.assetsPath is not set");return(0,i.v_)(n.default.assetsPath,e)}},46521:(e,t,r)=>{function n(){return[1,0,0,0,1,0,0,0,1]}function o(e,t,r,n,o,a,i,s,u){return[e,t,r,n,o,a,i,s,u]}function a(e,t){return new Float64Array(e,t,9)}r.d(t,{a:()=>a,c:()=>n,f:()=>o}),Object.freeze(Object.defineProperty({__proto__:null,clone:function(e){return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},create:n,createView:a,fromValues:o},Symbol.toStringTag,{value:"Module"}))},52138:(e,t,r)=>{r.d(t,{A:()=>m,a:()=>u,d:()=>p,e:()=>d,f:()=>h,g:()=>g,h:()=>M,i:()=>i,j:()=>T,k:()=>f,m:()=>l,s:()=>a,t:()=>s,w:()=>c,y:()=>v,z:()=>O});var n=r(65617),o=r(46851);function a(e,t,r,n,o,a,i,s,u,l,c,f,d,h,p,m,b){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=a,e[5]=i,e[6]=s,e[7]=u,e[8]=l,e[9]=c,e[10]=f,e[11]=d,e[12]=h,e[13]=p,e[14]=m,e[15]=b,e}function i(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s(e,t){if(e===t){const r=t[1],n=t[2],o=t[3],a=t[6],i=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=o,e[13]=i,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function u(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],i=t[4],s=t[5],u=t[6],l=t[7],c=t[8],f=t[9],d=t[10],h=t[11],p=t[12],m=t[13],b=t[14],y=t[15],g=r*s-n*i,w=r*u-o*i,M=r*l-a*i,T=n*u-o*s,O=n*l-a*s,v=o*l-a*u,I=c*m-f*p,C=c*b-d*p,A=c*y-h*p,S=f*b-d*m,E=f*y-h*m,U=d*y-h*b;let N=g*U-w*E+M*S+T*A-O*C+v*I;return N?(N=1/N,e[0]=(s*U-u*E+l*S)*N,e[1]=(o*E-n*U-a*S)*N,e[2]=(m*v-b*O+y*T)*N,e[3]=(d*O-f*v-h*T)*N,e[4]=(u*A-i*U-l*C)*N,e[5]=(r*U-o*A+a*C)*N,e[6]=(b*M-p*v-y*w)*N,e[7]=(c*v-d*M+h*w)*N,e[8]=(i*E-s*A+l*I)*N,e[9]=(n*A-r*E-a*I)*N,e[10]=(p*O-m*M+y*g)*N,e[11]=(f*M-c*O-h*g)*N,e[12]=(s*C-i*S-u*I)*N,e[13]=(r*S-n*C+o*I)*N,e[14]=(m*w-p*T-b*g)*N,e[15]=(c*T-f*w+d*g)*N,e):null}function l(e,t,r){const n=t[0],o=t[1],a=t[2],i=t[3],s=t[4],u=t[5],l=t[6],c=t[7],f=t[8],d=t[9],h=t[10],p=t[11],m=t[12],b=t[13],y=t[14],g=t[15];let w=r[0],M=r[1],T=r[2],O=r[3];return e[0]=w*n+M*s+T*f+O*m,e[1]=w*o+M*u+T*d+O*b,e[2]=w*a+M*l+T*h+O*y,e[3]=w*i+M*c+T*p+O*g,w=r[4],M=r[5],T=r[6],O=r[7],e[4]=w*n+M*s+T*f+O*m,e[5]=w*o+M*u+T*d+O*b,e[6]=w*a+M*l+T*h+O*y,e[7]=w*i+M*c+T*p+O*g,w=r[8],M=r[9],T=r[10],O=r[11],e[8]=w*n+M*s+T*f+O*m,e[9]=w*o+M*u+T*d+O*b,e[10]=w*a+M*l+T*h+O*y,e[11]=w*i+M*c+T*p+O*g,w=r[12],M=r[13],T=r[14],O=r[15],e[12]=w*n+M*s+T*f+O*m,e[13]=w*o+M*u+T*d+O*b,e[14]=w*a+M*l+T*h+O*y,e[15]=w*i+M*c+T*p+O*g,e}function c(e,t,r){const n=r[0],o=r[1],a=r[2];if(t===e)e[12]=t[0]*n+t[4]*o+t[8]*a+t[12],e[13]=t[1]*n+t[5]*o+t[9]*a+t[13],e[14]=t[2]*n+t[6]*o+t[10]*a+t[14],e[15]=t[3]*n+t[7]*o+t[11]*a+t[15];else{const r=t[0],i=t[1],s=t[2],u=t[3],l=t[4],c=t[5],f=t[6],d=t[7],h=t[8],p=t[9],m=t[10],b=t[11];e[0]=r,e[1]=i,e[2]=s,e[3]=u,e[4]=l,e[5]=c,e[6]=f,e[7]=d,e[8]=h,e[9]=p,e[10]=m,e[11]=b,e[12]=r*n+l*o+h*a+t[12],e[13]=i*n+c*o+p*a+t[13],e[14]=s*n+f*o+m*a+t[14],e[15]=u*n+d*o+b*a+t[15]}return e}function f(e,t,r){const n=r[0],o=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function d(e,t,r,n){let a,i,s,u,l,c,f,d,h,p,m,b,y,g,w,M,T,O,v,I,C,A,S,E,U=n[0],N=n[1],x=n[2],L=Math.sqrt(U*U+N*N+x*x);return L<(0,o.g)()?null:(L=1/L,U*=L,N*=L,x*=L,a=Math.sin(r),i=Math.cos(r),s=1-i,u=t[0],l=t[1],c=t[2],f=t[3],d=t[4],h=t[5],p=t[6],m=t[7],b=t[8],y=t[9],g=t[10],w=t[11],M=U*U*s+i,T=N*U*s+x*a,O=x*U*s-N*a,v=U*N*s-x*a,I=N*N*s+i,C=x*N*s+U*a,A=U*x*s+N*a,S=N*x*s-U*a,E=x*x*s+i,e[0]=u*M+d*T+b*O,e[1]=l*M+h*T+y*O,e[2]=c*M+p*T+g*O,e[3]=f*M+m*T+w*O,e[4]=u*v+d*I+b*C,e[5]=l*v+h*I+y*C,e[6]=c*v+p*I+g*C,e[7]=f*v+m*I+w*C,e[8]=u*A+d*S+b*E,e[9]=l*A+h*S+y*E,e[10]=c*A+p*S+g*E,e[11]=f*A+m*S+w*E,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function h(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function p(e,t,r){if(0===t)return i(e);let n,a,s,u=r[0],l=r[1],c=r[2],f=Math.sqrt(u*u+l*l+c*c);return f<(0,o.g)()?null:(f=1/f,u*=f,l*=f,c*=f,n=Math.sin(t),a=Math.cos(t),s=1-a,e[0]=u*u*s+a,e[1]=l*u*s+c*n,e[2]=c*u*s-l*n,e[3]=0,e[4]=u*l*s-c*n,e[5]=l*l*s+a,e[6]=c*l*s+u*n,e[7]=0,e[8]=u*c*s+l*n,e[9]=l*c*s-u*n,e[10]=c*c*s+a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function m(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function b(e,t,r){const n=t[0],o=t[1],a=t[2],i=t[3],s=n+n,u=o+o,l=a+a,c=n*s,f=n*u,d=n*l,h=o*u,p=o*l,m=a*l,b=i*s,y=i*u,g=i*l;return e[0]=1-(h+m),e[1]=f+g,e[2]=d-y,e[3]=0,e[4]=f-g,e[5]=1-(c+m),e[6]=p+b,e[7]=0,e[8]=d+y,e[9]=p-b,e[10]=1-(c+h),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}const y=(0,n.c)();function g(e,t,r,n){const o=t[0],a=t[1],i=t[2],s=t[3],u=o+o,l=a+a,c=i+i,f=o*u,d=o*l,h=o*c,p=a*l,m=a*c,b=i*c,y=s*u,g=s*l,w=s*c,M=n[0],T=n[1],O=n[2];return e[0]=(1-(p+b))*M,e[1]=(d+w)*M,e[2]=(h-g)*M,e[3]=0,e[4]=(d-w)*T,e[5]=(1-(f+b))*T,e[6]=(m+y)*T,e[7]=0,e[8]=(h+g)*O,e[9]=(m-y)*O,e[10]=(1-(f+p))*O,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function w(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function M(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function T(e,t){if(e===t)return!0;const r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],u=e[5],l=e[6],c=e[7],f=e[8],d=e[9],h=e[10],p=e[11],m=e[12],b=e[13],y=e[14],g=e[15],w=t[0],M=t[1],T=t[2],O=t[3],v=t[4],I=t[5],C=t[6],A=t[7],S=t[8],E=t[9],U=t[10],N=t[11],x=t[12],L=t[13],F=t[14],R=t[15],q=(0,o.g)();return Math.abs(r-w)<=q*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(n-M)<=q*Math.max(1,Math.abs(n),Math.abs(M))&&Math.abs(a-T)<=q*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(i-O)<=q*Math.max(1,Math.abs(i),Math.abs(O))&&Math.abs(s-v)<=q*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(u-I)<=q*Math.max(1,Math.abs(u),Math.abs(I))&&Math.abs(l-C)<=q*Math.max(1,Math.abs(l),Math.abs(C))&&Math.abs(c-A)<=q*Math.max(1,Math.abs(c),Math.abs(A))&&Math.abs(f-S)<=q*Math.max(1,Math.abs(f),Math.abs(S))&&Math.abs(d-E)<=q*Math.max(1,Math.abs(d),Math.abs(E))&&Math.abs(h-U)<=q*Math.max(1,Math.abs(h),Math.abs(U))&&Math.abs(p-N)<=q*Math.max(1,Math.abs(p),Math.abs(N))&&Math.abs(m-x)<=q*Math.max(1,Math.abs(m),Math.abs(x))&&Math.abs(b-L)<=q*Math.max(1,Math.abs(b),Math.abs(L))&&Math.abs(y-F)<=q*Math.max(1,Math.abs(y),Math.abs(F))&&Math.abs(g-R)<=q*Math.max(1,Math.abs(g),Math.abs(R))}function O(e){const t=(0,o.g)(),r=e[0],n=e[1],a=e[2],i=e[4],s=e[5],u=e[6],l=e[8],c=e[9],f=e[10];return Math.abs(1-(r*r+i*i+l*l))<=t&&Math.abs(1-(n*n+s*s+c*c))<=t&&Math.abs(1-(a*a+u*u+f*f))<=t}function v(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[8]&&0===e[9]&&1===e[10]}const I=l,C=w;Object.freeze(Object.defineProperty({__proto__:null,add:function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e},adjoint:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],i=t[4],s=t[5],u=t[6],l=t[7],c=t[8],f=t[9],d=t[10],h=t[11],p=t[12],m=t[13],b=t[14],y=t[15];return e[0]=s*(d*y-h*b)-f*(u*y-l*b)+m*(u*h-l*d),e[1]=-(n*(d*y-h*b)-f*(o*y-a*b)+m*(o*h-a*d)),e[2]=n*(u*y-l*b)-s*(o*y-a*b)+m*(o*l-a*u),e[3]=-(n*(u*h-l*d)-s*(o*h-a*d)+f*(o*l-a*u)),e[4]=-(i*(d*y-h*b)-c*(u*y-l*b)+p*(u*h-l*d)),e[5]=r*(d*y-h*b)-c*(o*y-a*b)+p*(o*h-a*d),e[6]=-(r*(u*y-l*b)-i*(o*y-a*b)+p*(o*l-a*u)),e[7]=r*(u*h-l*d)-i*(o*h-a*d)+c*(o*l-a*u),e[8]=i*(f*y-h*m)-c*(s*y-l*m)+p*(s*h-l*f),e[9]=-(r*(f*y-h*m)-c*(n*y-a*m)+p*(n*h-a*f)),e[10]=r*(s*y-l*m)-i*(n*y-a*m)+p*(n*l-a*s),e[11]=-(r*(s*h-l*f)-i*(n*h-a*f)+c*(n*l-a*s)),e[12]=-(i*(f*b-d*m)-c*(s*b-u*m)+p*(s*d-u*f)),e[13]=r*(f*b-d*m)-c*(n*b-o*m)+p*(n*d-o*f),e[14]=-(r*(s*b-u*m)-i*(n*b-o*m)+p*(n*u-o*s)),e[15]=r*(s*d-u*f)-i*(n*d-o*f)+c*(n*u-o*s),e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},determinant:function(e){const t=e[0],r=e[1],n=e[2],o=e[3],a=e[4],i=e[5],s=e[6],u=e[7],l=e[8],c=e[9],f=e[10],d=e[11],h=e[12],p=e[13],m=e[14],b=e[15];return(t*i-r*a)*(f*b-d*m)-(t*s-n*a)*(c*b-d*p)+(t*u-o*a)*(c*m-f*p)+(r*s-n*i)*(l*b-d*h)-(r*u-o*i)*(l*m-f*h)+(n*u-o*s)*(l*p-c*h)},equals:T,exactEquals:M,frob:function(e){return Math.sqrt(e[0]**2+e[1]**2+e[2]**2+e[3]**2+e[4]**2+e[5]**2+e[6]**2+e[7]**2+e[8]**2+e[9]**2+e[10]**2+e[11]**2+e[12]**2+e[13]**2+e[14]**2+e[15]**2)},fromQuat:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],i=r+r,s=n+n,u=o+o,l=r*i,c=n*i,f=n*s,d=o*i,h=o*s,p=o*u,m=a*i,b=a*s,y=a*u;return e[0]=1-f-p,e[1]=c+y,e[2]=d-b,e[3]=0,e[4]=c-y,e[5]=1-l-p,e[6]=h+m,e[7]=0,e[8]=d+b,e[9]=h-m,e[10]=1-l-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromQuat2:function(e,t){const r=y,n=-t[0],o=-t[1],a=-t[2],i=t[3],s=t[4],u=t[5],l=t[6],c=t[7],f=n*n+o*o+a*a+i*i;return f>0?(r[0]=2*(s*i+c*n+u*a-l*o)/f,r[1]=2*(u*i+c*o+l*n-s*a)/f,r[2]=2*(l*i+c*a+s*o-u*n)/f):(r[0]=2*(s*i+c*n+u*a-l*o),r[1]=2*(u*i+c*o+l*n-s*a),r[2]=2*(l*i+c*a+s*o-u*n)),b(e,t,r),e},fromRotation:p,fromRotationTranslation:b,fromRotationTranslationScale:g,fromRotationTranslationScaleOrigin:function(e,t,r,n,o){const a=t[0],i=t[1],s=t[2],u=t[3],l=a+a,c=i+i,f=s+s,d=a*l,h=a*c,p=a*f,m=i*c,b=i*f,y=s*f,g=u*l,w=u*c,M=u*f,T=n[0],O=n[1],v=n[2],I=o[0],C=o[1],A=o[2],S=(1-(m+y))*T,E=(h+M)*T,U=(p-w)*T,N=(h-M)*O,x=(1-(d+y))*O,L=(b+g)*O,F=(p+w)*v,R=(b-g)*v,q=(1-(d+m))*v;return e[0]=S,e[1]=E,e[2]=U,e[3]=0,e[4]=N,e[5]=x,e[6]=L,e[7]=0,e[8]=F,e[9]=R,e[10]=q,e[11]=0,e[12]=r[0]+I-(S*I+N*C+F*A),e[13]=r[1]+C-(E*I+x*C+R*A),e[14]=r[2]+A-(U*I+L*C+q*A),e[15]=1,e},fromScaling:function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromTranslation:h,fromXRotation:m,fromYRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},fromZRotation:function(e,t){const r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},frustum:function(e,t,r,n,o,a,i){const s=1/(r-t),u=1/(o-n),l=1/(a-i);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(o+n)*u,e[10]=(i+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=i*a*2*l,e[15]=0,e},getRotation:function(e,t){const r=t[0]+t[5]+t[10];let n=0;return r>0?(n=2*Math.sqrt(r+1),e[3]=.25*n,e[0]=(t[6]-t[9])/n,e[1]=(t[8]-t[2])/n,e[2]=(t[1]-t[4])/n):t[0]>t[5]&&t[0]>t[10]?(n=2*Math.sqrt(1+t[0]-t[5]-t[10]),e[3]=(t[6]-t[9])/n,e[0]=.25*n,e[1]=(t[1]+t[4])/n,e[2]=(t[8]+t[2])/n):t[5]>t[10]?(n=2*Math.sqrt(1+t[5]-t[0]-t[10]),e[3]=(t[8]-t[2])/n,e[0]=(t[1]+t[4])/n,e[1]=.25*n,e[2]=(t[6]+t[9])/n):(n=2*Math.sqrt(1+t[10]-t[0]-t[5]),e[3]=(t[1]-t[4])/n,e[0]=(t[8]+t[2])/n,e[1]=(t[6]+t[9])/n,e[2]=.25*n),e},getScaling:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[4],i=t[5],s=t[6],u=t[8],l=t[9],c=t[10];return e[0]=Math.sqrt(r*r+n*n+o*o),e[1]=Math.sqrt(a*a+i*i+s*s),e[2]=Math.sqrt(u*u+l*l+c*c),e},getTranslation:function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},hasIdentityRotation:v,identity:i,invert:u,invertOrIdentity:function(e,t){return u(e,t)||i(e),e},isOrthoNormal:O,lookAt:function(e,t,r,n){const a=t[0],s=t[1],u=t[2];let l=a-r[0],c=s-r[1],f=u-r[2];const d=(0,o.g)();if(Math.abs(l)<d&&Math.abs(c)<d&&Math.abs(f)<d)return void i(e);let h=1/Math.sqrt(l*l+c*c+f*f);l*=h,c*=h,f*=h;const p=n[0],m=n[1],b=n[2];let y=m*f-b*c,g=b*l-p*f,w=p*c-m*l;h=Math.sqrt(y*y+g*g+w*w),h?(h=1/h,y*=h,g*=h,w*=h):(y=0,g=0,w=0);let M=c*w-f*g,T=f*y-l*w,O=l*g-c*y;h=Math.sqrt(M*M+T*T+O*O),h?(h=1/h,M*=h,T*=h,O*=h):(M=0,T=0,O=0),e[0]=y,e[1]=M,e[2]=l,e[3]=0,e[4]=g,e[5]=T,e[6]=c,e[7]=0,e[8]=w,e[9]=O,e[10]=f,e[11]=0,e[12]=-(y*a+g*s+w*u),e[13]=-(M*a+T*s+O*u),e[14]=-(l*a+c*s+f*u),e[15]=1},mul:I,multiply:l,multiplyScalar:function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e},multiplyScalarAndAdd:function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e},ortho:function(e,t,r,n,o,a,i){const s=1/(t-r),u=1/(n-o),l=1/(a-i);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*u,e[14]=(i+a)*l,e[15]=1,e},perspective:function(e,t,r,n,o){const a=1/Math.tan(t/2);let i;return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=(o+n)*i,e[14]=2*o*n*i):(e[10]=-1,e[14]=-2*n),e},perspectiveFromFieldOfView:function(e,t,r,n){const o=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),i=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),u=2/(i+s),l=2/(o+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=l,e[6]=0,e[7]=0,e[8]=-(i-s)*u*.5,e[9]=(o-a)*l*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e},rotate:d,rotateX:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[4],i=t[5],s=t[6],u=t[7],l=t[8],c=t[9],f=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*o+l*n,e[5]=i*o+c*n,e[6]=s*o+f*n,e[7]=u*o+d*n,e[8]=l*o-a*n,e[9]=c*o-i*n,e[10]=f*o-s*n,e[11]=d*o-u*n,e},rotateY:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[0],i=t[1],s=t[2],u=t[3],l=t[8],c=t[9],f=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o-l*n,e[1]=i*o-c*n,e[2]=s*o-f*n,e[3]=u*o-d*n,e[8]=a*n+l*o,e[9]=i*n+c*o,e[10]=s*n+f*o,e[11]=u*n+d*o,e},rotateZ:function(e,t,r){const n=Math.sin(r),o=Math.cos(r),a=t[0],i=t[1],s=t[2],u=t[3],l=t[4],c=t[5],f=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*o+l*n,e[1]=i*o+c*n,e[2]=s*o+f*n,e[3]=u*o+d*n,e[4]=l*o-a*n,e[5]=c*o-i*n,e[6]=f*o-s*n,e[7]=d*o-u*n,e},scale:f,set:a,str:function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},sub:C,subtract:w,targetTo:function(e,t,r,n){const o=t[0],a=t[1],i=t[2],s=n[0],u=n[1],l=n[2];let c=o-r[0],f=a-r[1],d=i-r[2],h=c*c+f*f+d*d;h>0&&(h=1/Math.sqrt(h),c*=h,f*=h,d*=h);let p=u*d-l*f,m=l*c-s*d,b=s*f-u*c;return h=p*p+m*m+b*b,h>0&&(h=1/Math.sqrt(h),p*=h,m*=h,b*=h),e[0]=p,e[1]=m,e[2]=b,e[3]=0,e[4]=f*b-d*m,e[5]=d*p-c*b,e[6]=c*m-f*p,e[7]=0,e[8]=c,e[9]=f,e[10]=d,e[11]=0,e[12]=o,e[13]=a,e[14]=i,e[15]=1,e},translate:c,transpose:s},Symbol.toStringTag,{value:"Module"}))},51305:(e,t,r)=>{r.d(t,{a:()=>h,c:()=>b,g:()=>c,j:()=>E,k:()=>m,m:()=>f,s:()=>l});var n=r(46521),o=r(94961),a=r(65617),i=r(46851),s=r(17896),u=r(98766);function l(e,t,r){r*=.5;const n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e}function c(e,t){const r=2*Math.acos(t[3]),n=Math.sin(r/2);return n>(0,i.g)()?(e[0]=t[0]/n,e[1]=t[1]/n,e[2]=t[2]/n):(e[0]=1,e[1]=0,e[2]=0),r}function f(e,t,r){const n=t[0],o=t[1],a=t[2],i=t[3],s=r[0],u=r[1],l=r[2],c=r[3];return e[0]=n*c+i*s+o*l-a*u,e[1]=o*c+i*u+a*s-n*l,e[2]=a*c+i*l+n*u-o*s,e[3]=i*c-n*s-o*u-a*l,e}function d(e,t,r,n){const o=t[0],a=t[1],s=t[2],u=t[3];let l,c,f,d,h,p=r[0],m=r[1],b=r[2],y=r[3];return c=o*p+a*m+s*b+u*y,c<0&&(c=-c,p=-p,m=-m,b=-b,y=-y),1-c>(0,i.g)()?(l=Math.acos(c),f=Math.sin(l),d=Math.sin((1-n)*l)/f,h=Math.sin(n*l)/f):(d=1-n,h=n),e[0]=d*o+h*p,e[1]=d*a+h*m,e[2]=d*s+h*b,e[3]=d*u+h*y,e}function h(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function p(e,t){const r=t[0]+t[4]+t[8];let n;if(r>0)n=Math.sqrt(r+1),e[3]=.5*n,n=.5/n,e[0]=(t[5]-t[7])*n,e[1]=(t[6]-t[2])*n,e[2]=(t[1]-t[3])*n;else{let r=0;t[4]>t[0]&&(r=1),t[8]>t[3*r+r]&&(r=2);const o=(r+1)%3,a=(r+2)%3;n=Math.sqrt(t[3*r+r]-t[3*o+o]-t[3*a+a]+1),e[r]=.5*n,n=.5/n,e[3]=(t[3*o+a]-t[3*a+o])*n,e[o]=(t[3*o+r]+t[3*r+o])*n,e[a]=(t[3*a+r]+t[3*r+a])*n}return e}function m(e,t,r,n){const o=.5*Math.PI/180;t*=o,r*=o,n*=o;const a=Math.sin(t),i=Math.cos(t),s=Math.sin(r),u=Math.cos(r),l=Math.sin(n),c=Math.cos(n);return e[0]=a*u*c-i*s*l,e[1]=i*s*c+a*u*l,e[2]=i*u*l-a*s*c,e[3]=i*u*c+a*s*l,e}const b=u.c,y=u.s,g=u.a,w=f,M=u.b,T=u.d,O=u.l,v=u.e,I=v,C=u.f,A=C,S=u.n,E=u.g,U=u.h,N=(0,a.c)(),x=(0,a.f)(1,0,0),L=(0,a.f)(0,1,0),F=(0,o.a)(),R=(0,o.a)(),q=(0,n.c)();Object.freeze(Object.defineProperty({__proto__:null,add:g,calculateW:function(e,t){const r=t[0],n=t[1],o=t[2];return e[0]=r,e[1]=n,e[2]=o,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-o*o)),e},conjugate:h,copy:b,dot:T,equals:U,exactEquals:E,fromEuler:m,fromMat3:p,getAxisAngle:c,identity:function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},invert:function(e,t){const r=t[0],n=t[1],o=t[2],a=t[3],i=r*r+n*n+o*o+a*a,s=i?1/i:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-o*s,e[3]=a*s,e},len:I,length:v,lerp:O,mul:w,multiply:f,normalize:S,random:function(e){const t=i.R,r=t(),n=t(),o=t(),a=Math.sqrt(1-r),s=Math.sqrt(r);return e[0]=a*Math.sin(2*Math.PI*n),e[1]=a*Math.cos(2*Math.PI*n),e[2]=s*Math.sin(2*Math.PI*o),e[3]=s*Math.cos(2*Math.PI*o),e},rotateX:function(e,t,r){r*=.5;const n=t[0],o=t[1],a=t[2],i=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=o*u+a*s,e[2]=a*u-o*s,e[3]=i*u-n*s,e},rotateY:function(e,t,r){r*=.5;const n=t[0],o=t[1],a=t[2],i=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=o*u+i*s,e[2]=a*u+n*s,e[3]=i*u-o*s,e},rotateZ:function(e,t,r){r*=.5;const n=t[0],o=t[1],a=t[2],i=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=o*u-n*s,e[2]=a*u+i*s,e[3]=i*u-a*s,e},rotationTo:function(e,t,r){const n=(0,s.e)(t,r);return n<-.999999?((0,s.f)(N,x,t),(0,s.B)(N)<1e-6&&(0,s.f)(N,L,t),(0,s.n)(N,N),l(e,N,Math.PI),e):n>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):((0,s.f)(N,t,r),e[0]=N[0],e[1]=N[1],e[2]=N[2],e[3]=1+n,S(e,e))},scale:M,set:y,setAxes:function(e,t,r,n){const o=q;return o[0]=r[0],o[3]=r[1],o[6]=r[2],o[1]=n[0],o[4]=n[1],o[7]=n[2],o[2]=-t[0],o[5]=-t[1],o[8]=-t[2],S(e,p(e,o))},setAxisAngle:l,slerp:d,sqlerp:function(e,t,r,n,o,a){return d(F,t,o,a),d(R,r,n,a),d(e,F,R,2*a*(1-a)),e},sqrLen:A,squaredLength:C,str:function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}},Symbol.toStringTag,{value:"Module"}))},37140:(e,t,r)=>{function n(){const e=new Float32Array(4);return e[3]=1,e}function o(e){const t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}r.d(t,{a:()=>o,b:()=>n}),Object.freeze(Object.defineProperty({__proto__:null,clone:o,create:n,createView:function(e,t){return new Float32Array(e,t,4)},fromValues:function(e,t,r,n){const o=new Float32Array(4);return o[0]=e,o[1]=t,o[2]=r,o[3]=n,o}},Symbol.toStringTag,{value:"Module"}))},94961:(e,t,r)=>{function n(){return[0,0,0,1]}function o(e){return[e[0],e[1],e[2],e[3]]}function a(e,t){return new Float64Array(e,t,4)}r.d(t,{I:()=>i,a:()=>n,b:()=>o,c:()=>a});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,createView:a,fromValues:function(e,t,r,n){return[e,t,r,n]}},Symbol.toStringTag,{value:"Module"}))},72119:(e,t,r)=>{function n(){return new Float32Array(3)}function o(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function a(e,t,r){const n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function i(){return n()}function s(){return a(1,1,1)}function u(){return a(1,0,0)}function l(){return a(0,1,0)}function c(){return a(0,0,1)}r.d(t,{a:()=>o,b:()=>n,f:()=>a});const f=i(),d=s(),h=u(),p=l(),m=c();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:h,UNIT_Y:p,UNIT_Z:m,ZEROS:f,clone:o,create:n,createView:function(e,t){return new Float32Array(e,t,3)},fromValues:a,ones:s,unitX:u,unitY:l,unitZ:c,zeros:i},Symbol.toStringTag,{value:"Module"}))},10661:(e,t,r)=>{r.d(t,{s:()=>o});var n=r(42100);class o extends n.s{notify(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onInvalidated(),e.onCommitted()}}}},60437:(e,t,r)=>{r.d(t,{Gv:()=>g,HH:()=>i,JR:()=>p,TC:()=>s,Tn:()=>f,Ue:()=>o,al:()=>a,bZ:()=>m,cS:()=>h,dp:()=>l,fS:()=>y,is:()=>b,op:()=>c,pp:()=>u,t8:()=>d});var n=r(6570);function o(e=w){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function a(e,t,r,n,a,i,s=o()){return s[0]=e,s[1]=t,s[2]=r,s[3]=n,s[4]=a,s[5]=i,s}function i(e,t){const r=isFinite(e[2])||isFinite(e[5]);return new n.Z(r?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function s(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[3]),e[4]=Math.max(e[4],t[4]),e[5]=Math.max(e[5],t[5])}function u(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function l(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function c(e,t,r=e){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r!==e&&(r[3]=e[3],r[4]=e[4],r[5]=e[5]),r}function f(e,t,r=e){return r[3]=t[0],r[4]=t[1],r[5]=t[2],r!==e&&(r[0]=e[0],r[1]=e[1],r[2]=e[2]),e}function d(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function h(e){return e?d(e,g):o(g)}function p(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function m(e,t,r,n,o){return e[0]=t,e[1]=r,e[2]=Number.NEGATIVE_INFINITY,e[3]=n,e[4]=o,e[5]=Number.POSITIVE_INFINITY,e}function b(e){return 6===e.length}function y(e,t,r){if(null==e||null==t)return e===t;if(!b(e)||!b(t))return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}r(24470);const g=[1/0,1/0,1/0,-1/0,-1/0,-1/0],w=[0,0,0,0,0,0];o()},1231:(e,t,r)=>{r.d(t,{Z:()=>b});var n,o=r(43697),a=r(35454),i=r(96674),s=r(5600),u=r(75215),l=(r(67676),r(80442),r(36030)),c=r(71715),f=r(52011),d=r(72729),h=r(86719);const p=new a.X({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=n=class extends i.wq{constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=-1,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?p.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain&&this.domain.clone()||null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,o._)([(0,s.Cb)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,o._)([(0,s.Cb)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,o._)([(0,s.Cb)()],m.prototype,"description",void 0),(0,o._)([(0,c.r)("description")],m.prototype,"readDescription",null),(0,o._)([(0,s.Cb)({types:d.V5,json:{read:{reader:d.im},write:!0}})],m.prototype,"domain",void 0),(0,o._)([(0,s.Cb)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,o._)([(0,s.Cb)({type:u.z8,json:{write:!0}})],m.prototype,"length",void 0),(0,o._)([(0,s.Cb)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,o._)([(0,s.Cb)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,o._)([(0,l.J)(h.v)],m.prototype,"type",void 0),(0,o._)([(0,s.Cb)()],m.prototype,"valueType",void 0),(0,o._)([(0,c.r)("valueType",["description"])],m.prototype,"readValueType",null),(0,o._)([(0,s.Cb)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=n=(0,o._)([(0,f.j)("esri.layers.support.Field")],m);const b=m},72729:(e,t,r)=>{r.d(t,{im:()=>I,V5:()=>v}),r(80442);var n,o=r(43697),a=r(22974),i=r(5600),s=(r(75215),r(36030)),u=r(52011),l=r(96674);r(67676);let c=n=class extends l.wq{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,o._)([(0,i.Cb)({type:String,json:{write:!0}})],c.prototype,"name",void 0),(0,o._)([(0,i.Cb)({type:[String,Number],json:{write:!0}})],c.prototype,"code",void 0),c=n=(0,o._)([(0,u.j)("esri.layers.support.CodedValue")],c);const f=new(r(35454).X)({inherited:"inherited",codedValue:"coded-value",range:"range"});let d=class extends l.wq{constructor(e){super(e),this.name=null,this.type=null}};(0,o._)([(0,i.Cb)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,o._)([(0,s.J)(f)],d.prototype,"type",void 0),d=(0,o._)([(0,u.j)("esri.layers.support.Domain")],d);const h=d;var p;let m=p=class extends h{constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new p({codedValues:(0,a.d9)(this.codedValues),name:this.name})}};(0,o._)([(0,i.Cb)({type:[c],json:{write:!0}})],m.prototype,"codedValues",void 0),(0,o._)([(0,s.J)({codedValue:"coded-value"})],m.prototype,"type",void 0),m=p=(0,o._)([(0,u.j)("esri.layers.support.CodedValueDomain")],m);const b=m;var y;r(92604),r(20102);let g=y=class extends h{constructor(e){super(e),this.type="inherited"}clone(){return new y}};(0,o._)([(0,s.J)({inherited:"inherited"})],g.prototype,"type",void 0),g=y=(0,o._)([(0,u.j)("esri.layers.support.InheritedDomain")],g);const w=g;var M;let T=M=class extends h{constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new M({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,o._)([(0,i.Cb)({type:Number,json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range&&t.range[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]}}}})],T.prototype,"maxValue",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range&&t.range[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]}}}})],T.prototype,"minValue",void 0),(0,o._)([(0,s.J)({range:"range"})],T.prototype,"type",void 0),T=M=(0,o._)([(0,u.j)("esri.layers.support.RangeDomain")],T);const O=T,v={key:"type",base:h,typeMap:{range:T,"coded-value":b,inherited:w}};function I(e){if(!e||!e.type)return null;switch(e.type){case"range":return O.fromJSON(e);case"codedValue":return b.fromJSON(e);case"inherited":return w.fromJSON(e)}return null}},86719:(e,t,r)=>{r.d(t,{v:()=>n});const n=new(r(35454).X)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},3172:(e,t,r)=>{r.r(t),r.d(t,{default:()=>h});var n=r(68773),o=r(40330),a=r(20102),i=r(80442),s=r(22974),u=r(95330),l=r(81271),c=r(19745),f=r(71058),d=r(85958);async function h(e,t){e instanceof URL&&(e=e.toString()),t?.query instanceof URLSearchParams&&(t.query=(0,l.u0)(t.query.toString().replaceAll("+"," ")));const s=(0,l.HK)(e),c=(0,l.jc)(e);c||s||(e=(0,l.Fv)(e));const y={url:e,requestOptions:{...t}};let g=(0,l.oh)(e);if(g){const e=await async function(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,n;try{n=await e.before(t)}catch(e){r=v("request:interceptor",e,t)}if((n instanceof Error||n instanceof a.Z)&&(r=v("request:interceptor",n,t)),r)throw e.error&&e.error(r),r;return n}}(g,y);if(null!=e)return{data:e,getHeader:M,httpStatus:200,requestOptions:y.requestOptions,url:y.url};g.after||g.error||(g=null)}if(e=y.url,"image"===(t=y.requestOptions).responseType&&((0,i.Z)("host-webworker")||(0,i.Z)("host-node")))throw v("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),y);if("head"===t.method){if(t.body)throw v("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),y);if(s||c)throw v("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),y)}if(await async function(){(0,i.Z)("host-webworker")?p||(p=await r.e(9884).then(r.bind(r,29884))):h._abortableFetch||(h._abortableFetch=globalThis.fetch.bind(globalThis))}(),p)return p.execute(e,t);const w=new AbortController;(0,u.fu)(t,(()=>w.abort()));const T={controller:w,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:g,params:y,redoRequest:!1,useIdentity:m.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},O=await async function(e){let t,r;await async function(e){const t=e.params.url,r=e.params.requestOptions,a=e.controller.signal,i=r.body;let s=null,l=null;if(b&&"HTMLFormElement"in globalThis&&(i instanceof FormData?s=i:i instanceof HTMLFormElement&&(s=new FormData(i))),"string"==typeof i&&(l=i),e.fetchOptions={cache:r.cacheBust&&!("polyfill"in h._abortableFetch)?"no-cache":"default",credentials:"same-origin",headers:r.headers||{},method:"head"===r.method?"HEAD":"GET",mode:"cors",priority:m.priority,redirect:"follow",signal:a},(s||l)&&(e.fetchOptions.body=s||l),"anonymous"===r.authMode&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||r.query?.token||s?.get("token")),!e.hasToken&&n.default.apiKey&&(0,f.r)(t)&&(r.query||(r.query={}),r.query.token=n.default.apiKey,e.hasToken=!0),e.useIdentity&&!e.hasToken&&!e.credentialToken&&!C(t)&&!(0,u.Hc)(a)){let n;"immediate"===r.authMode?(await I(),n=await o.id.getCredential(t,{signal:a}),e.credential=n):"no-prompt"===r.authMode?(await I(),n=await o.id.getCredential(t,{prompt:!1,signal:a}).catch((()=>{})),e.credential=n):o.id&&(n=o.id.findCredential(t)),n&&(e.credentialToken=n.token,e.useSSL=!!n.ssl)}}(e);try{do{[t,r]=await A(e)}while(!await E(e,t,r))}catch(r){const n=v("request:server",r,e.params,t);throw n.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(n),n}const a=e.params.url;if(r&&/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&r.user?.username&&!(0,l.kl)(a)){const e=(0,l.P$)(a,!0);e&&m.trustedServers.push(e)}Array.isArray(r.authorizedCrossOriginNoCorsDomains)&&(0,d.Hu)(r.authorizedCrossOriginNoCorsDomains)}const i=e.credential;if(i&&o.id){const e=o.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=o.id.findCredential(t,i.userId);e&&-1===o.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:r,getHeader:t?e=>t?.headers.get(e):M,httpStatus:t?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}(T);return g?.after?.(O),O}let p;const m=n.default.request,b="FormData"in globalThis,y=[499,498,403,401],g=["COM_0056","COM_0057","SB_0008"],w=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i],M=()=>null,T=Symbol();function O(e){const t=(0,l.P$)(e);return!t||t.endsWith(".arcgis.com")||h._corsServers.includes(t)||(0,l.kl)(t)}function v(e,t,r,n){let o="Error";const i={url:r.url,requestOptions:r.requestOptions,getHeader:M,ssl:!1};if(t instanceof a.Z)return t.details?(t.details=(0,s.d9)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=i,t;if(t){const e=n&&(e=>n.headers.get(e)),r=n?.status,a=t.message;a&&(o=a),e&&(i.getHeader=e),i.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||r||0,i.subCode=t.subcode,i.messageCode=t.messageCode,"string"==typeof t.details?i.messages=[t.details]:i.messages=t.details,i.raw=T in t?t[T]:t}return(0,u.D_)(t)?(0,u.zE)():new a.Z(e,o,i)}async function I(){o.id||await Promise.all([r.e(7126),r.e(6261),r.e(9255),r.e(1400),r.e(450)]).then(r.bind(r,73660))}function C(e){return w.some((t=>t.test(e)))}async function A(e){let t=e.params.url;const r=e.params.requestOptions,n=e.fetchOptions??{},a=(0,l.jc)(t)||(0,l.HK)(t),s=r.responseType||"json",f=a?0:null!=r.timeout?r.timeout:m.timeout;let p=!1;if(!a){e.useSSL&&(t=(0,l.hO)(t)),r.cacheBust&&"default"===n.cache&&(t=(0,l.ZN)(t,"request.preventCache",Date.now()));let a={...r.query};e.credentialToken&&(a.token=e.credentialToken);let s=(0,l.B7)(a);(0,i.Z)("esri-url-encodes-apostrophe")&&(s=s.replaceAll("'","%27"));const u=t.length+1+s.length;let f;p="delete"===r.method||"post"===r.method||"put"===r.method||!!r.body||u>m.maxUrlLength;const h=r.useProxy||!!(0,l.ed)(t);if(h){const e=(0,l.b7)(t);f=e.path,!p&&f.length+1+u>m.maxUrlLength&&(p=!0),e.query&&(a={...e.query,...a})}if("HEAD"===n.method&&(p||h)){if(p){if(u>m.maxUrlLength)throw v("request:invalid-parameters",new Error("URL exceeds maximum length"),e.params);throw v("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.params)}if(h)throw v("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.params)}if(p?(n.method="delete"===r.method?"DELETE":"put"===r.method?"PUT":"POST",r.body?t=(0,l.fl)(t,a):(n.body=(0,l.B7)(a),n.headers||(n.headers={}),n.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,l.fl)(t,a),h&&(e.useProxy=!0,t=`${f}?${t}`),a.token&&b&&n.body instanceof FormData&&!(0,c.P)(t)&&n.body.set("token",a.token),r.hasOwnProperty("withCredentials"))e.withCredentials=r.withCredentials;else if(!(0,l.D6)(t,(0,l.TI)()))if((0,l.kl)(t))e.withCredentials=!0;else if(o.id){const r=o.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(n.credentials="include",(0,d.jH)(t)&&await(0,d.jz)(p?(0,l.fl)(t,a):t))}let y,g,w=0,M=!1;f>0&&(w=setTimeout((()=>{M=!0,e.controller.abort()}),f));try{if("native-request-init"===r.responseType)g=n,g.url=t;else if("image"!==r.responseType||"default"!==n.cache||"GET"!==n.method||p||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(r.headers)||!a&&!e.useProxy&&m.proxyUrl&&!O(t)){if(y=await h._abortableFetch(t,n),e.useProxy||function(e){const t=(0,l.P$)(e);t&&!h._corsServers.includes(t)&&h._corsServers.push(t)}(t),"native"===r.responseType)g=y;else if("HEAD"!==n.method)if(y.ok){switch(s){case"array-buffer":g=await y.arrayBuffer();break;case"blob":case"image":g=await y.blob();break;default:g=await y.text()}if(w&&(clearTimeout(w),w=0),"json"===s||"xml"===s||"document"===s)if(g)switch(s){case"json":g=JSON.parse(g);break;case"xml":g=S(g,"application/xml");break;case"document":g=S(g,"text/html")}else g=null;if(g){if("array-buffer"===s||"blob"===s){const e=y.headers.get("Content-Type");if(e&&/application\/json|text\/plain/i.test(e)&&g["blob"===s?"size":"byteLength"]<=750)try{const e=await new Response(g).json();e.error&&(g=e)}catch{}}"image"===s&&g instanceof Blob&&(g=await U(URL.createObjectURL(g),e,!0))}}else{g=await y.text();try{g=JSON.parse(g)}catch{}}}else g=await U(t,e)}catch(n){if("AbortError"===n.name){if(M)throw(0,d.Tf)();throw(0,u.zE)("Request canceled")}if(!(!y&&n instanceof TypeError&&m.proxyUrl)||r.body||"delete"===r.method||"head"===r.method||"post"===r.method||"put"===r.method||e.useProxy||O(t))throw n;e.redoRequest=!0,(0,l.tD)({proxyUrl:m.proxyUrl,urlPrefix:(0,l.P$)(t)??""})}finally{w&&clearTimeout(w)}return[y,g]}function S(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function E(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const n=e.params.requestOptions;if(!t||"native"===n.responseType||"native-request-init"===n.responseType)return!0;let a,i;if(r&&(r.error?a=r.error:"error"===r.status&&Array.isArray(r.messages)&&(a={...r},a[T]=r,a.details=r.messages)),!a&&!t.ok)throw a=new Error(`Unable to load ${t.url} status: ${t.status}`),a[T]=r,a;let s,u=null;a&&(i=Number(a.code),u=a.hasOwnProperty("subcode")?Number(a.subcode):null,s=a.messageCode,s=s?.toUpperCase());const l=n.authMode;if(403===i&&(4===u||a.message?.toLowerCase().includes("ssl")&&!a.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==l||498===i)&&void 0!==i&&y.includes(i)&&!C(e.params.url)&&(403!==i||s&&!g.includes(s)&&(null==u||2===u&&e.credentialToken))){await I();try{const t=await o.id.getCredential(e.params.url,{error:v("request:server",a,e.params),prompt:"no-prompt"!==l,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===l)return e.credential=void 0,e.credentialToken=void 0,!1;a=t}}if(a)throw a;return!0}function U(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=m.priority,o.src=e,(0,d.fY)(o,e,r,n)}h._abortableFetch=null,h._corsServers=["https://server.arcgisonline.com","https://services.arcgisonline.com"]},71058:(e,t,r)=>{r.d(t,{r:()=>a});var n=r(81271);const o=["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"];function a(e){const t=(0,n.P$)(e,!0);return!!t&&t.endsWith(".arcgis.com")&&!o.includes(t)&&!e.endsWith("/sharing/rest/generateToken")}},85958:(e,t,r)=>{r.d(t,{Hu:()=>f,Tf:()=>c,fY:()=>s,jH:()=>d,jz:()=>h});var n=r(68773),o=r(80442),a=r(95330),i=r(81271);function s(e,t,r=!1,n){return new Promise(((i,s)=>{if((0,a.Hc)(n))return void s(u());let l=()=>{d(),s(new Error(`Unable to load ${t}`))},c=()=>{const t=e;d(),i(t)},f=()=>{if(!e)return;const t=e;d(),t.src="",s(u())};const d=()=>{(0,o.Z)("esri-image-decode")||(e.removeEventListener("error",l),e.removeEventListener("load",c)),l=null,c=null,e=null,null!=n&&n.removeEventListener("abort",f),f=null,r&&URL.revokeObjectURL(t)};null!=n&&n.addEventListener("abort",f),(0,o.Z)("esri-image-decode")?e.decode().then(c,l):(e.addEventListener("error",l),e.addEventListener("load",c))}))}function u(){try{return new DOMException("Aborted","AbortError")}catch{const e=new Error;return e.name="AbortError",e}}const l="Timeout exceeded";function c(){return new Error(l)}function f(e){n.default.request.crossOriginNoCorsDomains||(n.default.request.crossOriginNoCorsDomains={});const t=n.default.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,i.P$)(r)??""]=0:(t[(0,i.P$)("http://"+r)??""]=0,t[(0,i.P$)("https://"+r)??""]=0)}function d(e){const t=n.default.request.crossOriginNoCorsDomains;if(t){let r=(0,i.P$)(e);if(r)return r=r.toLowerCase(),!(0,i.D6)(r,(0,i.TI)())&&t[r]<Date.now()-36e5}return!1}async function h(e){const t=n.default.request.crossOriginNoCorsDomains,r=(0,i.P$)(e);t&&r&&(t[r.toLowerCase()]=Date.now());const o=(0,i.mN)(e);e=o.path,"json"===o.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}}},90447:(e,t,r)=>{r.r(t),r.d(t,{default:()=>O});var n=r(67676),o=r(1533),a=r(51305),i=r(37140),s=r(17896),u=r(72119),l=r(44547),c=r(82971),f=(r(80442),r(23030)),d=r(14008),h=r(46329),p=r(91891),m=r(25683);function b(e,t,r){return null!=e&&e.attributeInfo.useElevation?t?function(e,t){const r=new Float64Array(t);for(let n=0;n<t;n++)r[n]=e[3*n+2];return r}(t,r):null:null!=e&&e.attributeInfo.storageInfo?(0,p.qM)(e.attributeInfo.storageInfo,e.buffer,r):null}function y(e,t,r,n,o){const a=e.length/3;let i=0;for(let s=0;s<a;s++){let a=!0;for(let e=0;e<n.length&&a;e++){const{filterJSON:t}=n[e],r=o[e].values[s];switch(t.type){case"pointCloudValueFilter":{const e="exclude"===t.mode;t.values.includes(r)===e&&(a=!1);break}case"pointCloudBitfieldFilter":{const e=w(t.requiredSetBits),n=w(t.requiredClearBits);(r&e)===e&&0==(r&n)||(a=!1);break}case"pointCloudReturnFilter":{const e=15&r,n=r>>>4&15,o=n>1,i=1===e,s=e===n;let u=!1;for(const e of t.includedReturns)if("last"===e&&s||"firstOfMany"===e&&i&&o||"lastOfMany"===e&&s&&o||"single"===e&&!o){u=!0;break}u||(a=!1);break}}}a&&(r[i]=s,e[3*i]=e[3*s],e[3*i+1]=e[3*s+1],e[3*i+2]=e[3*s+2],t[3*i]=t[3*s],t[3*i+1]=t[3*s+1],t[3*i+2]=t[3*s+2],i++)}return i}function g(e){switch(e){default:case null:case"none":return e=>e;case"low-four-bit":return e=>15&e;case"high-four-bit":return e=>(240&e)>>4;case"absolute-value":return e=>Math.abs(e);case"modulo-ten":return e=>e%10}}function w(e){let t=0;for(const r of e||[])t|=1<<r;return t}class M{transform(e){const t=this._transform(e),r=[t.points.buffer,t.rgb.buffer];null!=t.pointIdFilterMap&&r.push(t.pointIdFilterMap.buffer);for(const e of t.attributes)"buffer"in e.values&&(0,o.eP)(e.values.buffer)&&e.values.buffer!==t.rgb.buffer&&r.push(e.values.buffer);return Promise.resolve({result:t,transferList:r})}_transform(e){const t=function(e,t){if(null==e.encoding||""===e.encoding){const r=(0,p.W7)(t,e);if(null==r.vertexAttributes.position)return;const n=(0,p.I_)(t,r.vertexAttributes.position),o=r.header.fields,a=[o.offsetX,o.offsetY,o.offsetZ],i=[o.scaleX,o.scaleY,o.scaleZ],s=n.length/3,u=new Float64Array(3*s);for(let e=0;e<s;e++)u[3*e]=n[3*e]*i[0]+a[0],u[3*e+1]=n[3*e+1]*i[1]+a[1],u[3*e+2]=n[3*e+2]*i[2]+a[2];return u}if("lepcc-xyz"===e.encoding)return(0,m.Gi)(t).result}(e.schema,e.geometryBuffer);let r=t.length/3,o=null;const a=new Array,i=b(e.primaryAttributeData,t,r);null!=e.primaryAttributeData&&i&&a.push({attributeInfo:e.primaryAttributeData.attributeInfo,values:i});const s=b(e.modulationAttributeData,t,r);null!=e.modulationAttributeData&&s&&a.push({attributeInfo:e.modulationAttributeData.attributeInfo,values:s});let u=function(e,t,r,n){const{rendererJSON:o,isRGBRenderer:a}=e;let i=null,s=null;if(t&&a)i=t;else if(t&&"pointCloudUniqueValueRenderer"===o?.type){s=h.Z.fromJSON(o);const e=s.colorUniqueValueInfos;i=new Uint8Array(3*n);const r=g(s.fieldTransformType);for(let o=0;o<n;o++){const n=(r?r(t[o]):t[o])+"";for(let t=0;t<e.length;t++)if(e[t].values.includes(n)){i[3*o]=e[t].color.r,i[3*o+1]=e[t].color.g,i[3*o+2]=e[t].color.b;break}}}else if(t&&"pointCloudStretchRenderer"===o?.type){s=d.Z.fromJSON(o);const e=s.stops;i=new Uint8Array(3*n);const r=g(s.fieldTransformType);for(let o=0;o<n;o++){const n=r?r(t[o]):t[o],a=e.length-1;if(n<e[0].value)i[3*o]=e[0].color.r,i[3*o+1]=e[0].color.g,i[3*o+2]=e[0].color.b;else if(n>=e[a].value)i[3*o]=e[a].color.r,i[3*o+1]=e[a].color.g,i[3*o+2]=e[a].color.b;else for(let t=1;t<e.length;t++)if(n<e[t].value){const r=(n-e[t-1].value)/(e[t].value-e[t-1].value);i[3*o]=e[t].color.r*r+e[t-1].color.r*(1-r),i[3*o+1]=e[t].color.g*r+e[t-1].color.g*(1-r),i[3*o+2]=e[t].color.b*r+e[t-1].color.b*(1-r);break}}}else if(t&&"pointCloudClassBreaksRenderer"===o?.type){s=f.Z.fromJSON(o);const e=s.colorClassBreakInfos;i=new Uint8Array(3*n);const r=g(s.fieldTransformType);for(let o=0;o<n;o++){const n=r?r(t[o]):t[o];for(let t=0;t<e.length;t++)if(n>=e[t].minValue&&n<=e[t].maxValue){i[3*o]=e[t].color.r,i[3*o+1]=e[t].color.g,i[3*o+2]=e[t].color.b;break}}}else i=new Uint8Array(3*n).fill(255);if(r&&s&&s.colorModulation){const e=s.colorModulation.minValue,t=s.colorModulation.maxValue,o=.3;for(let a=0;a<n;a++){const n=r[a],s=n>=t?1:n<=e?o:o+(1-o)*(n-e)/(t-e);i[3*a]=s*i[3*a],i[3*a+1]=s*i[3*a+1],i[3*a+2]=s*i[3*a+2]}}return i}(e.rendererInfo,i,s,r);if(e.filterInfo&&e.filterInfo.length>0&&null!=e.filterAttributesData){const i=e.filterAttributesData.filter(n.pC).map((e=>{const n=b(e,t,r),o={attributeInfo:e.attributeInfo,values:n};return a.push(o),o}));o=new Uint32Array(r),r=y(t,u,o,e.filterInfo,i)}for(const n of e.userAttributesData){const e=b(n,t,r);a.push({attributeInfo:n.attributeInfo,values:e})}3*r<u.length&&(u=new Uint8Array(u.buffer.slice(0,3*r))),this._applyElevationOffsetInPlace(t,r,e.elevationOffset);const l=this._transformCoordinates(t,r,e.obb,c.Z.fromJSON(e.inSR),c.Z.fromJSON(e.outSR));return{obb:e.obb,points:l,rgb:u,attributes:a,pointIdFilterMap:o}}_transformCoordinates(e,t,r,n,o){if(!(0,l.projectBuffer)(e,n,0,e,o,0,t))throw new Error("Can't reproject");const i=(0,u.f)(r.center[0],r.center[1],r.center[2]),c=(0,u.b)(),f=(0,u.b)();(0,a.a)(T,r.quaternion);const d=new Float32Array(3*t);for(let n=0;n<t;n++)c[0]=e[3*n]-i[0],c[1]=e[3*n+1]-i[1],c[2]=e[3*n+2]-i[2],(0,s.y)(f,c,T),r.halfSize[0]=Math.max(r.halfSize[0],Math.abs(f[0])),r.halfSize[1]=Math.max(r.halfSize[1],Math.abs(f[1])),r.halfSize[2]=Math.max(r.halfSize[2],Math.abs(f[2])),d[3*n]=c[0],d[3*n+1]=c[1],d[3*n+2]=c[2];return d}_applyElevationOffsetInPlace(e,t,r){if(0!==r)for(let n=0;n<t;n++)e[3*n+2]+=r}}const T=(0,i.b)();function O(){return new M}},91891:(e,t,r)=>{r.d(t,{I_:()=>d,W7:()=>m,qM:()=>y});var n=r(20102),o=r(22974),a=r(92604),i=r(25683),s=r(35065);const u=a.Z.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function l(e,t,r){let o="",a=0;for(;a<r;){const i=e[t+a];if(i<128)o+=String.fromCharCode(i),a++;else if(i>=192&&i<224){if(a+1>=r)throw new n.Z("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const s=(31&i)<<6|63&e[t+a+1];o+=String.fromCharCode(s),a+=2}else if(i>=224&&i<240){if(a+2>=r)throw new n.Z("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(15&i)<<12|(63&e[t+a+1])<<6|63&e[t+a+2];o+=String.fromCharCode(s),a+=3}else{if(!(i>=240&&i<248))throw new n.Z("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(a+3>=r)throw new n.Z("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const s=(7&i)<<18|(63&e[t+a+1])<<12|(63&e[t+a+2])<<6|63&e[t+a+3];if(s>=65536){const e=55296+(s-65536>>10),t=56320+(1023&s);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(s);a+=4}}}return o}function c(e,t){const r={byteOffset:0,byteCount:0,fields:Object.create(null)};let n=0;for(let o=0;o<t.length;o++){const a=t[o],i=a.valueType||a.type,s=w[i];r.fields[a.property]=s(e,n),n+=g[i].BYTES_PER_ELEMENT}return r.byteCount=n,r}function f(e,t,r){const o=[];let a,i,s=0;for(i=0;i<e;i+=1){if(a=t[i],a>0){if(o.push(l(r,s,a-1)),0!==r[s+a-1])throw new n.Z("string-array-error","Invalid string array: missing null termination.")}else o.push(null);s+=a}return o}function d(e,t){return new(0,g[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function h(e,t,r){const a=null!=t.header?c(e,t.header):{byteOffset:0,byteCount:0,fields:{count:r}},i={header:a,byteOffset:a.byteCount,byteCount:0,entries:Object.create(null)};let s=a.byteCount;for(let e=0;e<t.ordering.length;e++){const r=t.ordering[e],u=(0,o.d9)(t[r]);if(u.count=a.fields.count??0,"String"===u.valueType){if(u.byteOffset=s,u.byteCount=a.fields[r+"ByteCount"],"UTF-8"!==u.encoding)throw new n.Z("unsupported-encoding","Unsupported String encoding.",{encoding:u.encoding});if(u.timeEncoding&&"ECMA_ISO8601"!==u.timeEncoding)throw new n.Z("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:u.timeEncoding})}else{if(!M(u.valueType))throw new n.Z("unsupported-value-type","Unsupported binary valueType",{valueType:u.valueType});{const e=T(u.valueType);s+=s%e!=0?e-s%e:0,u.byteOffset=s,u.byteCount=e*u.valuesPerElement*u.count}}s+=u.byteCount??0,i.entries[r]=u}return i.byteCount=s-i.byteOffset,i}function p(e,t,r){if(t!==e&&u.error(`Invalid ${r} buffer size\n expected: ${e}, actual: ${t})`),t<e)throw new n.Z("buffer-too-small","Binary buffer is too small",{expectedSize:e,actualSize:t})}function m(e,t){const r=c(e,t&&t.header);let n=r.byteCount;const o={isDraco:!1,header:r,byteOffset:r.byteCount,byteCount:0,vertexAttributes:{}},a=r.fields,i=null!=a.vertexCount?a.vertexCount:a.count;for(const e of t.ordering){if(!t.vertexAttributes[e])continue;const r={...t.vertexAttributes[e],byteOffset:n,count:i},a=b[e]||"_"+e;o.vertexAttributes[a]=r,n+=T(r.valueType)*r.valuesPerElement*i}const s=a.faceCount;if(t.faces&&s){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const r={...t.faces[e],byteOffset:n,count:s};o.faces[e]=r,n+=T(r.valueType)*r.valuesPerElement*s}}const u=a.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&u){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const r={...t.featureAttributes[e],byteOffset:n,count:u};o.featureAttributes[e]=r,n+=("UInt64"===r.valueType?8:T(r.valueType))*r.valuesPerElement*u}}return p(n,e.byteLength,"geometry"),o.byteCount=n-o.byteOffset,o}const b={position:s.T.POSITION,normal:s.T.NORMAL,color:s.T.COLOR,uv0:s.T.UV0,region:s.T.UVREGION};function y(e,t,r){if("lepcc-rgb"===e.encoding)return(0,i.IT)(t);if("lepcc-intensity"===e.encoding)return(0,i.ti)(t);if(null!=e.encoding&&""!==e.encoding)throw new n.Z("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");e["attributeByteCounts "]&&!e.attributeByteCounts&&(u.warn("Warning: Trailing space in 'attributeByteCounts '."),e.attributeByteCounts=e["attributeByteCounts "]),"ObjectIds"===e.ordering[0]&&e.hasOwnProperty("objectIds")&&(u.warn("Warning: Case error in objectIds"),e.ordering[0]="objectIds");const o=h(t,e,r);p(o.byteOffset+o.byteCount,t.byteLength,"attribute");const a=o.entries.attributeValues||o.entries.objectIds;if(a){if("String"===a.valueType){const e=o.entries.attributeByteCounts,r=d(t,e),n=function(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}(t,a);return a.timeEncoding?function(e,t,r){return f(e,t,r).map((e=>{const t=e?Date.parse(e):null;return t&&!Number.isNaN(t)?t:null}))}(e.count,r,n):f(e.count,r,n)}return d(t,a)}throw new n.Z("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const g={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},w={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function M(e){return g.hasOwnProperty(e)}function T(e){return M(e)?g[e].BYTES_PER_ELEMENT:0}},25683:(e,t,r)=>{r.d(t,{Gi:()=>l,IT:()=>p,ti:()=>y});var n=r(20102);const o=!0,a={identifierOffset:0,identifierLength:10,versionOffset:10,checksumOffset:12,byteCount:16};function i(e,t,r){return{identifier:String.fromCharCode.apply(null,new Uint8Array(e,r+a.identifierOffset,a.identifierLength)),version:t.getUint16(r+a.versionOffset,o),checksum:t.getUint32(r+a.checksumOffset,o)}}const s={sizeLo:0,sizeHi:4,minX:8,minY:16,minZ:24,maxX:32,maxY:40,maxZ:48,errorX:56,errorY:64,errorZ:72,count:80,reserved:84,byteCount:88};function u(e,t){return{sizeLo:e.getUint32(t+s.sizeLo,o),sizeHi:e.getUint32(t+s.sizeHi,o),minX:e.getFloat64(t+s.minX,o),minY:e.getFloat64(t+s.minY,o),minZ:e.getFloat64(t+s.minZ,o),maxX:e.getFloat64(t+s.maxX,o),maxY:e.getFloat64(t+s.maxY,o),maxZ:e.getFloat64(t+s.maxZ,o),errorX:e.getFloat64(t+s.errorX,o),errorY:e.getFloat64(t+s.errorY,o),errorZ:e.getFloat64(t+s.errorZ,o),count:e.getUint32(t+s.count,o),reserved:e.getUint32(t+s.reserved,o)}}function l(e){const t=new DataView(e,0);let r=0;const{identifier:o,version:l}=i(e,t,r);if(r+=a.byteCount,"LEPCC "!==o)throw new n.Z("lepcc-decode-error","Bad identifier");if(l>1)throw new n.Z("lepcc-decode-error","Unknown version");const f=u(t,r);if(r+=s.byteCount,f.sizeHi*2**32+f.sizeLo!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");const d=new Float64Array(3*f.count),h=[],p=[],m=[],b=[];if(r=c(e,r,h),r=c(e,r,p),r=c(e,r,m),r=c(e,r,b),r!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad length");let y=0,g=0;for(let e=0;e<h.length;e++){g+=h[e];let t=0;for(let r=0;r<p[e];r++){t+=m[y];const e=b[y];d[3*y]=Math.min(f.maxX,f.minX+2*f.errorX*t),d[3*y+1]=Math.min(f.maxY,f.minY+2*f.errorY*g),d[3*y+2]=Math.min(f.maxZ,f.minZ+2*f.errorZ*e),y++}}return{errorX:f.errorX,errorY:f.errorY,errorZ:f.errorZ,result:d}}function c(e,t,r){const n=[];t=f(e,t,n);const o=[];for(let a=0;a<n.length;a++){o.length=0,t=f(e,t,o);for(let e=0;e<o.length;e++)r.push(o[e]+n[a])}return t}function f(e,t,r){const a=new DataView(e,t),i=a.getUint8(0),s=31&i,u=!!(32&i),l=(192&i)>>6;let c=0;if(0===l)c=a.getUint32(1,o),t+=5;else if(1===l)c=a.getUint16(1,o),t+=3;else{if(2!==l)throw new n.Z("lepcc-decode-error","Bad count type");c=a.getUint8(1),t+=2}if(u)throw new n.Z("lepcc-decode-error","LUT not implemented");const f=Math.ceil(c*s/8),d=new Uint8Array(e,t,f);let h=0,p=0,m=0;const b=-1>>>32-s;for(let e=0;e<c;e++){for(;p<s;)h|=d[m]<<p,p+=8,m+=1;r[e]=h&b,h>>>=s,p-=s,p+s>32&&(h|=d[m-1]>>8-p)}return t+m}const d={sizeLo:0,sizeHi:4,count:8,colorMapCount:12,lookupMethod:14,compressionMethod:15,byteCount:16};function h(e,t){return{sizeLo:e.getUint32(t+d.sizeLo,o),sizeHi:e.getUint32(t+d.sizeHi,o),count:e.getUint32(t+d.count,o),colorMapCount:e.getUint16(t+d.colorMapCount,o),lookupMethod:e.getUint8(t+d.lookupMethod),compressionMethod:e.getUint8(t+d.compressionMethod)}}function p(e){const t=new DataView(e,0);let r=0;const{identifier:o,version:s}=i(e,t,r);if(r+=a.byteCount,"ClusterRGB"!==o)throw new n.Z("lepcc-decode-error","Bad identifier");if(s>1)throw new n.Z("lepcc-decode-error","Unknown version");const u=h(t,r);if(r+=d.byteCount,u.sizeHi*2**32+u.sizeLo!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");if((2===u.lookupMethod||1===u.lookupMethod)&&0===u.compressionMethod){if(3*u.colorMapCount+u.count+r!==e.byteLength||u.colorMapCount>256)throw new n.Z("lepcc-decode-error","Bad count");const t=new Uint8Array(e,r,3*u.colorMapCount),o=new Uint8Array(e,r+3*u.colorMapCount,u.count),a=new Uint8Array(3*u.count);for(let e=0;e<u.count;e++){const r=o[e];a[3*e]=t[3*r],a[3*e+1]=t[3*r+1],a[3*e+2]=t[3*r+2]}return a}if(0===u.lookupMethod&&0===u.compressionMethod){if(3*u.count+r!==e.byteLength||0!==u.colorMapCount)throw new n.Z("lepcc-decode-error","Bad count");return new Uint8Array(e,r).slice()}if(u.lookupMethod<=2&&1===u.compressionMethod){if(r+3!==e.byteLength||1!==u.colorMapCount)throw new n.Z("lepcc-decode-error","Bad count");const o=t.getUint8(r),a=t.getUint8(r+1),i=t.getUint8(r+2),s=new Uint8Array(3*u.count);for(let e=0;e<u.count;e++)s[3*e]=o,s[3*e+1]=a,s[3*e+2]=i;return s}throw new n.Z("lepcc-decode-error","Bad method "+u.lookupMethod+","+u.compressionMethod)}const m={sizeLo:0,sizeHi:4,count:8,scaleFactor:12,bitsPerPoint:14,reserved:15,byteCount:16};function b(e,t){return{sizeLo:e.getUint32(t+m.sizeLo,o),sizeHi:e.getUint32(t+m.sizeHi,o),count:e.getUint32(t+m.count,o),scaleFactor:e.getUint16(t+m.scaleFactor,o),bitsPerPoint:e.getUint8(t+m.bitsPerPoint),reserved:e.getUint8(t+m.reserved)}}function y(e){const t=new DataView(e,0);let r=0;const{identifier:o,version:s}=i(e,t,r);if(r+=a.byteCount,"Intensity "!==o)throw new n.Z("lepcc-decode-error","Bad identifier");if(s>1)throw new n.Z("lepcc-decode-error","Unknown version");const u=b(t,r);if(r+=m.byteCount,u.sizeHi*2**32+u.sizeLo!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");const l=new Uint16Array(u.count);if(8===u.bitsPerPoint){if(u.count+r!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");const t=new Uint8Array(e,r,u.count);for(let e=0;e<u.count;e++)l[e]=t[e]*u.scaleFactor}else if(16===u.bitsPerPoint){if(2*u.count+r!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");const t=new Uint16Array(e,r,u.count);for(let e=0;e<u.count;e++)l[e]=t[e]*u.scaleFactor}else{const t=[];if(f(e,r,t)!==e.byteLength)throw new n.Z("lepcc-decode-error","Bad size");for(let e=0;e<u.count;e++)l[e]=t[e]*u.scaleFactor}return l}},35065:(e,t,r)=>{var n;r.d(t,{T:()=>n}),function(e){e.POSITION="position",e.NORMAL="normal",e.NORMALCOMPRESSED="normalCompressed",e.UV0="uv0",e.AUXPOS1="auxpos1",e.AUXPOS2="auxpos2",e.COLOR="color",e.SYMBOLCOLOR="symbolColor",e.SIZE="size",e.TANGENT="tangent",e.OFFSET="offset",e.SUBDIVISIONFACTOR="subdivisionFactor",e.COLORFEATUREATTRIBUTE="colorFeatureAttribute",e.SIZEFEATUREATTRIBUTE="sizeFeatureAttribute",e.OPACITYFEATUREATTRIBUTE="opacityFeatureAttribute",e.DISTANCETOSTART="distanceToStart",e.UVMAPSPACE="uvMapSpace",e.BOUNDINGRECT="boundingRect",e.UVREGION="uvRegion",e.PROFILERIGHT="profileRight",e.PROFILEUP="profileUp",e.PROFILEVERTEXANDNORMAL="profileVertexAndNormal",e.FEATUREVALUE="featureValue",e.INSTANCEMODELORIGINHI="instanceModelOriginHi",e.INSTANCEMODELORIGINLO="instanceModelOriginLo",e.INSTANCEMODEL="instanceModel",e.INSTANCEMODELNORMAL="instanceModelNormal",e.INSTANCECOLOR="instanceColor",e.INSTANCEFEATUREATTRIBUTE="instanceFeatureAttribute",e.LOCALTRANSFORM="localTransform",e.GLOBALTRANSFORM="globalTransform",e.BOUNDINGSPHERE="boundingSphere",e.MODELORIGIN="modelOrigin",e.MODELSCALEFACTORS="modelScaleFactors",e.FEATUREATTRIBUTE="featureAttribute",e.STATE="state",e.LODLEVEL="lodLevel",e.POSITION0="position0",e.POSITION1="position1",e.NORMALA="normalA",e.NORMALB="normalB",e.COMPONENTINDEX="componentIndex",e.VARIANTOFFSET="variantOffset",e.VARIANTSTROKE="variantStroke",e.VARIANTEXTENSION="variantExtension",e.U8PADDING="u8padding",e.U16PADDING="u16padding",e.SIDENESS="sideness",e.START="start",e.END="end",e.UP="up",e.EXTRUDE="extrude",e.OBJECTANDLAYERIDCOLOR="objectAndLayerIdColor",e.INSTANCEOBJECTANDLAYERIDCOLOR="instanceObjectAndLayerIdColor"}(n||(n={}))}}]);
|