@arcgis/core 5.2.0-next.93 → 5.2.0-next.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/arcade/arcadeAsyncRuntime.js +1 -1
  2. package/arcade/arcadeCompiler.js +1 -1
  3. package/arcade/functions/portal.js +2 -0
  4. package/arcade/treeAnalysis.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/0be98adfef79fc5036f0.js +1 -0
  7. package/assets/esri/core/workers/chunks/5d6733dcee9c2ef00072.js +1 -0
  8. package/assets/esri/core/workers/chunks/{aed7b80145b22c246098.js → 6cbc30b31f0bb39c73ca.js} +1 -1
  9. package/assets/esri/core/workers/chunks/6cc03ef97d7731153b9a.js +1 -0
  10. package/assets/esri/core/workers/chunks/7eae9053065d3d38e54e.js +1 -0
  11. package/assets/esri/core/workers/chunks/87e9f7e85221bc7e6709.js +1 -0
  12. package/assets/esri/core/workers/chunks/909ee7d2a0eec773037a.js +1 -0
  13. package/assets/esri/core/workers/chunks/a0eb882a5a81d25b9153.js +1 -0
  14. package/assets/esri/core/workers/chunks/{6fd0d9431b141f2a3252.js → cefb70d633c220cbedf9.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{69c9a12c97ead8963817.js → d1304d414b1fa725168a.js} +1 -1
  16. package/assets/esri/core/workers/chunks/d453627894e6e5b02023.js +1 -0
  17. package/assets/esri/core/workers/chunks/e4380706b629729f2212.js +1 -0
  18. package/assets/esri/core/workers/chunks/{5d9c92c4e60a4696fdad.js → e488e5c62cb375c87a39.js} +1 -1
  19. package/assets/esri/core/workers/chunks/ea1877ce00da3b585a30.js +1 -0
  20. package/assets/esri/core/workers/chunks/ec77222776f755dc372c.js +1 -0
  21. package/assets/esri/core/workers/chunks/f5867d8ba73c67ac27d2.js +1 -0
  22. package/assets/esri/core/workers/chunks/{b7ed5f130661e9ca00b9.js → f5a058a0ce006bce2a2a.js} +1 -1
  23. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  24. package/chunks/Fog.glsl.js +5 -5
  25. package/chunks/GlowBlur.glsl.js +3 -3
  26. package/chunks/GlowComposite.glsl.js +1 -36
  27. package/chunks/bundle.js +1 -1
  28. package/chunks/portal.js +2 -0
  29. package/config.js +1 -1
  30. package/kernel.js +1 -1
  31. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  32. package/layers/support/AnnotationFeatureSublayer.js +1 -1
  33. package/libs/parquet/parquet.js +1 -1
  34. package/package.json +3 -3
  35. package/support/revision.js +1 -1
  36. package/views/2d/engine/Stage.js +1 -1
  37. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  38. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  39. package/views/2d/engine/webgl/Painter.js +1 -1
  40. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  41. package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
  42. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  43. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  44. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  45. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  46. package/views/2d/layers/AnnotationFeatureLayerView2D.js +1 -1
  47. package/views/2d/layers/features/FeatureContainer.js +1 -1
  48. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  49. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  50. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  51. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  52. package/views/3d/environment/CloudyWeather.js +1 -1
  53. package/views/3d/environment/SunnyWeather.js +1 -1
  54. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  55. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  56. package/views/3d/terrain/TileCompositor.js +1 -1
  57. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  58. package/views/3d/webgl-engine/effects/clouds/CloudsParameters.js +1 -1
  59. package/views/3d/webgl-engine/effects/clouds/CloudsPresets.js +1 -1
  60. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  61. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  62. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  63. package/views/3d/webgl-engine/effects/glow/GlowComposite.glsl.js +1 -1
  64. package/views/3d/webgl-engine/effects/glow/GlowCompositeTechnique.js +1 -1
  65. package/views/3d/webgl-engine/effects/glow/blurEmission.glsl.js +38 -0
  66. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +1 -1
  67. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  68. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  69. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  70. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  71. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  72. package/views/popupAdapter.js +1 -1
  73. package/assets/esri/core/workers/chunks/0846855843f85661e974.js +0 -1
  74. package/assets/esri/core/workers/chunks/30376f00cda1165a2504.js +0 -1
  75. package/assets/esri/core/workers/chunks/423c2692df662b3dddd4.js +0 -1
  76. package/assets/esri/core/workers/chunks/46f8c7ae7fb356c3410d.js +0 -1
  77. package/assets/esri/core/workers/chunks/4bf7c0c874d30b1c0760.js +0 -1
  78. package/assets/esri/core/workers/chunks/7253a439c98200e3e748.js +0 -1
  79. package/assets/esri/core/workers/chunks/848a9f0e5373bbf289a5.js +0 -1
  80. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +0 -1
  81. package/assets/esri/core/workers/chunks/bb23e670736bcace8b6f.js +0 -1
  82. package/assets/esri/core/workers/chunks/ec69dd546c312ba97110.js +0 -1
  83. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +0 -1
  84. package/assets/esri/core/workers/chunks/f4d351b4cd9d1aa10632.js +0 -1
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{update as t}from"../../../../core/arrayUtils.js";import{createTask as s}from"../../../../core/asyncUtils.js";import has from"../../../../core/has.js";import{removeMaybe as i,abortMaybe as r,destroyMaybe as a,releaseMaybe as n,releaseReferencedMaybe as h}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{watch as d,syncAndInitial as l,initial as u,sync as _}from"../../../../core/reactiveUtils.js";import{signal as m}from"../../../../core/signal.js";import{property as p,subclass as c}from"../../../../core/accessorSupport/decorators.js";import{equals as b,invert as f,multiply as g,copy as P}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as A,create as I}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as w}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as E,ZEROS as C}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{pruneIndexArrays as S}from"../../../../geometry/support/Indices.js";import{RenderNodeOutput as T,InternalRenderCategory as D,AllRenderNodeOutputs as O,AllInternalRenderNodeOutputs as R}from"../../webgl.js";import{minNearDistanceInMeters as N}from"../../state/NearFarHeuristic.js";import{debugFlags as G}from"../../support/debugFlags.js";import{FBOCache as F}from"../core/FBOCache.js";import{RenderPassManager as H}from"../core/renderPasses/RenderPassManager.js";import{isColor as x}from"../core/shaderLibrary/ShaderOutput.js";import{distanceFadeEnd as y}from"../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{RenderNodes as v}from"../effects/RenderNodes.js";import{RenderPluginManager as M}from"../effects/RenderPluginManager.js";import{WeatherFader as L}from"../effects/WeatherFader.js";import{innerAtmosphereFadeStart as U}from"../effects/atmosphere/atmosphereUtils.js";import{Blit as q}from"../effects/blit/Blit.js";import{maxHighlightsPerChannel as j,renderHighlightBuffer as B}from"../effects/highlight/Highlight.js";import{OITBlend as V}from"../effects/transparency/OITBlend.js";import{AnimationTimer as k}from"./AnimationTimer.js";import{AnimationTimeStep as W}from"./AnimationTimeStep.js";import{BoundingInfo as Q}from"./BoundingInfo.js";import{Compositor as z}from"./Compositor.js";import{DepthRange as Y}from"./DepthRange.js";import{depthRangeFromScene as K}from"./depthRangeUtils.js";import{MainFramebuffer as J}from"./MainFramebuffer.js";import{NavigationDepthCache as X}from"./NavigationDepthCache.js";import{blendingColorAlphaClear as $}from"./OrderIndependentTransparency.js";import{RenderContext as Z,defaultRenderOccludedMask as ee}from"./RenderContext.js";import{RendererBase as te}from"./RendererBase.js";import{setupFeatureDefaults as se}from"./RenderFeature.js";import{RenderPluginInput as ie}from"./RenderPluginInput.js";import{ShadowMap as re}from"./ShadowMap.js";import ae from"./SliceHelper.js";import{MergedRenderer as ne}from"../materials/renderers/MergedRenderer.js";import{RenderSceneResult as he}from"../parts/renderUtils.js";import{RendererPerformanceInfo as oe,PerformanceCategory as de}from"../statistics/RendererPerformanceInfo.js";import{ColorAttachment1 as le,PixelType as ue,ColorAttachment2 as _e,ColorAttachment0 as me,DrawBufferNone as pe}from"../../../webgl/enums.js";const ce=has("disable-feature:async-navigation-3d-depth-readback");let be=class extends te{constructor(e,t,s,i,r){super({stage:e}),this._techniques=s,this._rctx=i,this._requestRender=r,this._pluginsHas={occludedHudElements:!1,hudElements:!1,water:!1},this.renderPassManager=new H,this._isRendering=!1,this._inGlobeView=!1,this._backgroundColor=E(0,0,0,1),this._sliceHelper=new ae,this._shadowAccumulator=null,this._shadowCastOptions=null,this.sceneDepthRange=m(Y.Infinite),this._state=m(2),this._hasGlobalIlluminationFlag=!!has("enable-feature:global-illumination"),this._hasAnimations=!1,this._animationTimestep=new W,this._loadEdgeViewTask=null,this._edgeViewCallbacks=[],this._reprojectionMatrixVersion=m(0),this._renderHiddenTransparentEdges=()=>{},this._pluginInput=new ie,this._hasTransparentGeometry=!1,this._releaseNodeInputs=e=>{for(const t of Oe)e.some(({name:e})=>e===t)&&this._pluginInput.release(t)},this._testsNeedsDepth=!1,this._fboCache=new F(i),this._compositor=new z(i,s),this._renderStateFeatures=m(se(e.view.qualityProfile));const a=new re(this._fboCache,e.viewingMode);this._renderContext=new Z(this._rctx,a,s),this._framebuffer=new J(this._fboCache,this._bindParameters),this._performanceInfo=new oe(this._rctx),this._blit=new q(s),this.navigationDepthCache=new X(this._rctx,this._fboCache,s,()=>this._requestRender(0)),this._nodes=new v(this._renderContext),this._plugins=new M({renderContext:this._renderContext,techniques:s,materials:t,requestRender:r,controller:e}),this._plugins.add(this.renderPassManager),this.weatherFader=new L({view:e.view,context:this._renderContext}),this.addHandles([d(()=>e.view.state.camera,()=>r(),l),d(()=>G.EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES,e=>{this._renderHiddenTransparentEdges=e?()=>this._renderEdges(0):()=>{},r()},u),d(()=>e.view.environment.background?.color,e=>{const t=e?e.toUnitRGBA():C;w(this._backgroundColor,t[0]*t[3],t[1]*t[3],t[2]*t[3],t[3]),r()},l),d(()=>e.view.environmentManager.shadowsAvailable,e=>{this._bindParameters.shadowMap.enabled=e,this._requestRender(1)},l),d(()=>e.view.state.camera.relativeElevation,e=>this._inGlobeView=(e??1/0)>=y,l),d(()=>this._bindParameters.clouds.fadeFactor,()=>{this._bindParameters.fadeLighting(),this._requestRender(2)},_),d(()=>this._bindParameters.clouds.data?.state,()=>r(),_),d(()=>e.view.state.highlights,e=>{this._bindParameters.highlights=e,r()},u),d(()=>"sun"===e.view.environment.lighting?.type,e=>{this._bindParameters.enableFillLights=e,this._requestRender()},l)])}destroy(){this._gpuTimerHandle=i(this._gpuTimerHandle),this._nodes.destroy(),this._framebuffer.dispose(),this._shadowAccumulator=null,this._shadowCastOptions=null,this._loadEdgeViewTask=r(this._loadEdgeViewTask),this._edgeView=a(this._edgeView),this.renderPassManager.dispose(),this.weatherFader=a(this.weatherFader),this._releaseFBOs(),this._disposeOffscreenBuffers(),this.navigationDepthCache.destroy(),this._fboCache.destroy(),this._fboCache=null,this._renderContext.destroy(),this._plugins.destroy(),this._pluginInput=null,this._oitBlendOrNil=null,this._nodes=null,this._framebuffer=null,this._performanceInfo=null,Q.prune(),ne.prune(),S()}get renderContext(){return this._renderContext}get _bindParameters(){return this._renderContext.bind}get _oitBlend(){return this._oitBlendOrNil??=new V(this._techniques),this._oitBlendOrNil}get performanceInfo(){return this._performanceInfo}updateRenderFeatures(e){this._renderStateFeatures.value=se(e),this._requestRender()}isFeatureEnabled(e,t=this._state.value){return this._renderStateFeatures.value.get(t,e)??!1}setFeatureEnabled(e,t,s){this._renderStateFeatures.mutate(i=>i.set(t,e,s)),this._requestRender()}setTime(e){this._renderContext.time=e}get hasReflections(){return this._bindParameters.screenSpaceReflections.enabled=this._pluginsHas.water&&this.isFeatureEnabled(4),this._bindParameters.screenSpaceReflections.enabled}get _hasHighlights(){return this._plugins.produces(10,2,4,18,12,13,14)}hasHighlight(e){return this._plugins.hasHighlight(e)}get _hasHUDHighlights(){return this._plugins.produces(10,12,13,14)}get hasAmbientIllumination(){return this.isFeatureEnabled(3)&&!this._inGlobeView}get hasGlobalIllumination(){return this._hasGlobalIlluminationFlag&&this.hasAmbientIllumination}get hasGlobalIlluminationHighQuality(){return this.hasGlobalIllumination&&this.isFeatureEnabled(10)}get _keepGlobalIlluminationShadingAlive(){return this._hasGlobalIlluminationFlag&&!this._inGlobeView}get hasSMAA(){return this.isFeatureEnabled(0)}get _emissions(){const e=this._plugins.emissions;return this._hasTransparentGeometry?e:1===e||3===e?1:0}get hasFloatBlend(){return this._rctx.driverTest.floatBufferBlend.result&&this.isFeatureEnabled(9)}get highResolutionAtmosphere(){return this.isFeatureEnabled(2)}get fboCache(){return this._fboCache}setShadowAccumulator(e){this._shadowAccumulator=e,this._shadowCastOptions&&e.setParameters(this._shadowCastOptions)}_releaseFBOs(){this._bindParameters.hudOcclusion=n(this._bindParameters.hudOcclusion),this._bindParameters.depth=null}_disposeOffscreenBuffers(){this._framebuffer.dispose(),this._bindParameters.globalIllumination=n(this._bindParameters.globalIllumination),this._bindParameters.reprojection.lastFrameDepth=n(this._bindParameters.reprojection.lastFrameDepth),this._bindParameters.reprojection.lastFrameEmission=n(this._bindParameters.reprojection.lastFrameEmission),this._disposeBindBuffers()}_disposeBindBuffers(){this._bindParameters.shadowMap.disposeOutputs()}get updating(){return this._loadEdgeViewTask&&!this._loadEdgeViewTask.finished||this._edgeView?.updating||this._plugins.updating||this.weatherFader?.readyToRun||!this.isCameraFinal}loadEdgeView(){return this._loadEdgeViewTask||(this._loadEdgeViewTask=s(async e=>{const{EdgeView:t}=await(import("./edgeRendering/EdgeView.js"));o(e);const s=this._edgeView=new t({rctx:this._rctx,renderSR:this.stage.view.renderSpatialReference,viewingMode:this.stage.view.stage.viewingMode,techniques:this._techniques,setNeedsRender:()=>this._requestRender(),schedule:He(this.stage.view.resourceController)});return this.addHandles(d(()=>s.updating,()=>this._requestRender(),_)),this._requestRender(),this._edgeViewCallbacks.forEach(e=>e(s)),this._edgeViewCallbacks.length=0,s})),this._loadEdgeViewTask.promise}withEdgeView(e){this.loadEdgeView(),null==this._edgeView?this._edgeViewCallbacks.push(e):e(this._edgeView)}get edgeView(){return this._edgeView}get isCameraFinal(){return this._reprojectionMatrixVersion.value>=0&&b(this._bindParameters.reprojection.matrix,A)}set _reprojectionMatrix(e){t(this._bindParameters.reprojection.matrix,e)&&this._reprojectionMatrixVersion.value++}get shadowsEnabled(){return!!this._bindParameters.shadowMap.enabled}setParameters(e){e.shadowCast&&(this._shadowCastOptions={...this._shadowCastOptions,...e.shadowCast},this._shadowAccumulator?.setParameters(e.shadowCast))}set slice(e){this._sliceHelper.update(e)&&this._requestRender()}get plugins(){return this._plugins}commit(e,t){return this._isRendering&&console.warn("Renderer.modify called while rendering"),!!super.commit(e,t,this._plugins.context)&&(this.updateHasFlags(),!0)}addRenderer(e){this._plugins.add(e)}removeRenderer(e){this._plugins.remove(e)}get occludedRequiresStencil(){return this._occludedRequiresOccludeeStencil||this.occludedRequiresIntegratedMeshStencil}get _occludedRequiresOccludeeStencil(){return this._bindParameters.hasOccludees&&!!(8&this.plugins.renderOccludedFlags)}get occludedRequiresIntegratedMeshStencil(){return this._plugins.produces(0,0)&&this._plugins.produces(0,9)}updateHasFlags(){const has=this._pluginsHas;has.occludedHudElements=this._plugins.produces(0,13),has.hudElements=has.occludedHudElements||this._plugins.produces(0,...Ee),has.water=this._plugins.produces(4,19),this._bindParameters.hasOccludees=this._plugins.hasOccludees,this._requestRender()}updateAnimation(e,t){this._animationTimer??=new k(e.camera,t),this._animationTimer.advance(e.camera,t,this._animationTimeDilation);const s=this._hasAnimations;return this._hasAnimations=this._plugins.updateAnimation(this._animationTimer),this._hasAnimations=this._nodes.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations!==s&&(this._gpuTimerHandle=s?i(this._gpuTimerHandle):this.performanceInfo.enableGPUPerformanceInfo()),this._hasAnimations}get animationTimestep(){return this._animationTimestep.value}get _animationTimeDilation(){return this._animationTimestep.timeDilation}resetAnimation(){this._animationTimestep.clear()}tick(){this.fboCache.clean()}render(e,t,s=!1){try{return this._isRendering=!0,this._render(e,t,s)}catch(i){console.error(`Exception during rendering: ${i}:\n${i.stack}`)}finally{this._isRendering=!1}return new he(this._pluginInput.get(T.FINAL),null)}_render(e,t,s){const i=0===t;this.performanceInfo.startFrame(),this.fboCache.frameStart(),this.fboCache.interactive=i,this._disposeBindBuffers();const{camera:r,contentCamera:a,mode:o,alignPixelEnabled:d}=e;this._state.value=o,this._bindParameters.frameRendererTarget=t,this._bindParameters.output=0,this._bindParameters.emissions=this._emissions,this._bindParameters.alignPixelEnabled=d,this._bindParameters.decorations=!s,this._bindParameters.mainDepth=null,this._bindParameters.useFloatBlend.value=this.hasFloatBlend;const l=!s||!this._sliceHelper.isDecoration;this._bindParameters.slicePlane=l?this._sliceHelper.plane:null,this._bindParameters.viewshedEnabled=this._nodes.produces(D.VIEWSHED),this._bindParameters.cutFillComputationEnabled=this._nodes.produces(D.CUTFILL_COMPUTATION),this._bindParameters.cutFillVisualizationEnabled=this._nodes.produces(D.CUTFILL),this._ensureBindParameters(r,a),this._plugins.sortTestsTransparentOrderedSlots(Se),this._plugins.prepareRender(),this._hasTransparentGeometry=this._plugins.produces(1,...ge),this._renderOverlay(),r.setGLViewport(this._rctx);const u=this._framebuffer,_=u.initialize(r.fullWidth,r.fullHeight,this._backgroundColor),m=this._needsLastFrameColor;m?(_?.retain(m-1),_?.setName("last frame color"),this._bindParameters.reprojection.lastFrameColor?.release(),this._bindParameters.reprojection.lastFrameColor=_):_?.release(),this._bindParameters.hasShadowHighlights=this._needsShadowHighlight&&!s,this._precompilePrepasses(),this.performanceInfo.advance(de.PREPARE);const p=this._computeShadowDepthRange(r);this._pluginInput.set("normals",this._renderNormals()),this._renderAmbientIlluminationAndDepth(),this._renderShadowMap(r,a,this._bindParameters.lighting.mainLight.direction,p),this._renderShadowAccumulation(p),u.bind(),this._bindParameters.mainDepth=u.depth.attachment,this._precompileShaders(i),this._bindParameters.output=0,this._renderOpaque(),this._renderPreTransparent(),this._renderTransparent(),this.hasReflections&&(this._bindParameters.depth=h(this._bindParameters.depth),this._bindParameters.reprojection.lastFrameColor=h(this._bindParameters.reprojection.lastFrameColor)),this._bindParameters.shadowMap.disposeOutput(5),u.update(e=>this._renderNodes(D.CUTFILL_COMPUTATION,e)),this._pluginInput.set(D.FOCUSAREA_MASK,this._renderFocusAreaMask()),u.update(e=>this._renderNodes(D.TRANSPARENT_ENVIRONMENT,e)),u.update(e=>this._renderNodes(D.VIEWSHED,e)),u.update(e=>this._renderNodes(D.LASERLINES,e)),this._nodes.requireGeometryDepth&&(this._bindParameters.depth=h(this._bindParameters.depth)),u.update(e=>this._renderNodes(D.FOCUSAREA,e)),this._pluginInput.release(D.FOCUSAREA_MASK),u.update(e=>this._renderNodes(D.CUTFILL,e)),this._pluginInput.release(D.GROUND_DEPTH),u.update(e=>this._renderNodes(D.OCCLUDED,e)),this._pluginInput.set("highlights",this._renderHighlightPrepass());const c=2===t?this._renderObjectAndLayerIdColor():null;u.update(e=>this._renderNodes(T.COMPOSITE,e)),this._bindParameters.shadowMap.disposeOutputs(),this._bindParameters.shadowHighlight=n(this._bindParameters.shadowHighlight),u.update(e=>this._renderNodes(D.ANTIALIASING,e));const b=this._hasTransparentGeometry?2:1,f=this._bindParameters.emissions;let g;return this._bindParameters.emissions=0,this._hasHUDHighlights&&u.update(e=>this._renderHUD(b,e)),u.update(e=>this._renderNodes(D.HIGHLIGHT,e)),this._hasHUDHighlights||u.update(e=>this._renderHUD(b,e)),this._bindParameters.emissions=f,u.update(e=>this._renderNodes(D.MAGNIFIER,e)),u.update(e=>this._renderNodes(T.FINAL,e)),i&&(this._blit.toFramebuffer(u.color,this._bindParameters),ce||2!==o&&0!==o||this.navigationDepthCache.update(this._bindParameters,u.depth.attachment,this._renderContext.time)),this._bindParameters.reprojection.lastFrameDepth?.release(),this._bindParameters.reprojection.lastFrameEmission?.release(),this.hasGlobalIllumination&&(this._bindParameters.reprojection.lastFrameDepth?.release(),this._bindParameters.reprojection.lastFrameDepth=this._bindParameters.depth,0!==this._emissions&&(this._bindParameters.reprojection.lastFrameEmission?.release(),this._bindParameters.reprojection.lastFrameEmission=u.color.obtainAttachment(le))),this._testsNeedsDepth&&(this._bindParameters.depth=h(this._bindParameters.depth)),this._releaseFBOs(),u.releaseDepth(),this._bindParameters.reprojection.lastFrameCamera.copyFrom(this._bindParameters.camera),this.fboCache.frameEnd(),i||(g=u.color,g.retain(),this._releaseFBOs(),this._disposeOffscreenBuffers()),this.performanceInfo.finishFrame(),new he(g,c)}_precompileShaders(e){++this._plugins.context.techniques.precompiling;const t=this._bindParameters;t.output=0;const s=t.emissions;if(this._precompileOpaqueGeometry(),this._nodes.precompile(D.OPAQUE_ENVIRONMENT,D.GAUSSIAN_SPLAT,D.OPAQUE_OCCLUSION_QUERY,D.VOXEL),this._precompileOpaqueGeometry(),t.output=3,this._plugins.precompile(...Pe),t.output=0,this._plugins.precompile(...Pe),this._hasTransparentGeometry){const e=this._pluginsHas.occludedHudElements;this._oitBlend.precompile(t,e,0),this._pluginsHas.hudElements&&this._oitBlend.precompile(t,!1,1),this._precompileTransparentGeometry(),t.hasTransparentEmission&&(t.emissions=3)}this._nodes.precompile(D.FOCUSAREA_MASK),this._compositor.precompile(this._usesPremultipliedAlphaBlit,!!this._needsEdges,t),this._hasTransparentGeometry||this._plugins.precompile(15),this._nodes.precompile(D.TRANSPARENT_ENVIRONMENT,D.VIEWSHED,D.CUTFILL_COMPUTATION,D.CUTFILL,D.LASERLINES,D.FOCUSAREA,D.OCCLUDED,D.ANTIALIASING),t.highlightMixTexture=t.highlights.length>1?this._rctx.emptyTexture:null,this._precompileHUD(0),t.emissions=0,this._precompileHUD(0),this._precompileHUD(1),t.emissions=s,this._hasHighlights&&(t.highlights.forEach((e,s)=>{t.highlightLevel=s,this._precompileAllGeometry(10),this._hasHUDHighlights&&this._plugins.precompile(13,12)}),t.highlightLevel=null,this._nodes.precompile(D.HIGHLIGHT)),t.highlightMixTexture=null,this._nodes.precompile(T.COMPOSITE,D.MAGNIFIER),this._nodes.precompile(D.TRANSPARENT_NO_DEPTH),this._plugins.precompile(8),t.hasOpaqueEmission&&(t.transparentWithoutDepthEmissionDimmingPass=!0,this._plugins.precompile(8),t.transparentWithoutDepthEmissionDimmingPass=!1),e&&this._blit.precompile(),--this._plugins.context.techniques.precompiling}_renderFocusAreaMask(){const e=this._nodes.produce(D.FOCUSAREA_MASK,this._pluginInput);return e&&this.performanceInfo.advance(de.FOCUS_AREA_MASK),e}_renderObjectAndLayerIdColor(){if(!this._nodes.produces(D.OBJECT_AND_LAYER_ID_COLOR))return null;const e=this._bindParameters.output;++this._techniques.precompiling;const{width:t,height:s}=this._framebuffer.size;let i=this.fboCache.acquire(t,s,D.OBJECT_AND_LAYER_ID_COLOR).acquireDepth(14);return i=this._renderNodes(D.OBJECT_AND_LAYER_ID_COLOR,i),--this._techniques.precompiling,this._bindParameters.output=e,i}finish(e){this._hasAnimations||this._animationTimestep.clear();const t=this.performanceInfo.gpuSamplingEnabled,s=0===e;if(s||t){const e=s?this.performanceInfo.elapsedTime:0;let i=0;t?i=this.performanceInfo.totalGPUTimeSampler.last:this._rctx.gl.finish();const r=Math.max(e,i);this._animationTimestep.frame(r,s)}}readAccumulatedShadow(e){return this._shadowAccumulator?.readAccumulatedShadow(e[0],e[1])??0}readMainDepth(e,t){const{mainDepth:s,camera:i}=this._bindParameters;if(!s)return;const r=this.fboCache.acquire(this._framebuffer.size.width,this._framebuffer.size.height,"linear depth");this._rctx.bindFramebuffer(r.fbo),i.setGLViewport(this._rctx),this._rctx.setScissorRect(e[0],e[1],e[2],e[3]),this._rctx.setScissorTestEnabled(!0),this._rctx.clearFramebuffer(C),this._compositor.blitDepthToLinearDepth(this._bindParameters,s),this._rctx.setScissorTestEnabled(!1),this._rctx.setScissorRect(0,0,this._rctx.gl.canvas.width,this._rctx.gl.canvas.width),r.fbo?.readPixels(e[0],e[1],e[2],e[3],6408,ue.UNSIGNED_BYTE,t),r.release()}get _needsEdges(){return this._edgeView?.shouldRender()?this._edgeView:null}_renderEdges(e){const t=this._needsEdges;if(!t)return;const{width:s,height:i}=this._framebuffer.size,r=this.fboCache.acquire(s,i,"edges");r.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer(C),t.render(this._bindParameters,e),r.detachDepth(),this._framebuffer.bind(),this._compositor.composite(this._bindParameters,r.getTexture()),r.release(),this.performanceInfo.advance(1===e?de.OPAQUE_EDGES:de.TRANSPARENT_EDGES)}_renderOverlay(){this._bindParameters.overlay=this.overlay?.render(this._renderContext.time),this._bindParameters.overlay&&this.performanceInfo.advance(de.OVERLAY)}_renderShadowMap(e,t,s,i){if(!this.shadowsEnabled)return;const r=this._bindParameters.shadowMap;if(r.start(e,s,i,this.isFeatureEnabled(5),this.stage.view.qualitySettings.maximumPixelRatio),this._needsShadowHighlight){this._renderShadowCascades(6,r),e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,t);const s=this._bindParameters.output;this._bindParameters.output=0,this._bindParameters.shadowHighlight=this._nodes.produce(D.SHADOW_HIGHLIGHT,this._pluginInput),this._bindParameters.output=s,r.disposeOutput(6),r.clear(),this._renderShadowCascades(7,r)}else this._renderShadowCascades(5);e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,this._bindParameters.contentCamera),this._needsShadowHighlight&&(this._bindParameters.depth=h(this._bindParameters.depth)),this.performanceInfo.advance(D.SHADOWMAP)}_precompileShadowCascades(e){0!==this._bindParameters.shadowMap.cascades.length&&this._precompileAllGeometry(e)}_renderShadowCascades(e,t=this._bindParameters.shadowMap){const s=this._bindParameters.output,i=6!==e;t.bindFramebuffer();for(const r of t.cascades)r.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(r.camera,r.camera),this.renderAllGeometry(e),i&&this._renderShadowNodes(t.renderTarget);t.finish(e),this._bindParameters.output=s}_renderShadowNodes(e){this._renderInternalNodeCategory(D.SHADOWMAP,e)}get _needsLastFrameColor(){return+this.hasReflections+ +this.hasGlobalIllumination}get _needsDepth(){return+this._nodes.requireGeometryDepth+ +this.hasReflections+ +this.hasGlobalIllumination+ +this._testsNeedsDepth+ +this._needsShadowHighlight}get _usesPremultipliedAlphaBlit(){return this._pluginsHas.hudElements}_renderAmbientIlluminationAndDepth(){this._bindParameters.depth=n(this._bindParameters.depth);const e=this._pluginInput.get("normals");if(e){this._pluginInput.set(D.AMBIENT_ILLUMINATION,this._hasGlobalIlluminationFlag?this._renderGlobalIllumination():this._renderSSAO());const t=this._needsDepth;t?(this._rctx.bindFramebuffer(e.fbo),this._rctx.clear(1024),this._renderGeometryWithoutNormals(3),this._bindParameters.depth=e.obtainDepthTexture(),this._bindParameters.depth?.retain(t-1),this.performanceInfo.advance(de.DEPTH)):e.detachDepth(),this.hasAmbientIllumination&&this._pluginInput.release("normals")}else this._hasGlobalIlluminationFlag&&(this._releaseGlobalIlluminationBuffers(),this._bindParameters.globalIlluminationEnabled=this._keepGlobalIlluminationShadingAlive),this._renderAllGeometryDepth()}_renderAllGeometryDepth(){const e=this._needsDepth;if(0===e)return;const{width:t,height:s}=this._framebuffer.size,i=this.fboCache.acquire(t,s,"geometry depth",14);this._rctx.bindFramebuffer(i.fbo),this._rctx.clear(1280),this.renderAllGeometry(3),this._renderGaussianSplatPrepassDepth(i),this._bindParameters.depth=i.obtainDepthTexture(),this._bindParameters.depth?.retain(e-1),i.release(),this.performanceInfo.advance(de.DEPTH)}_renderGaussianSplatPrepassDepth(e){const t=this._shadowAccumulator;if(!t?.active||!t.requireGeometryDepth)return;const s=this._bindParameters.output;this._bindParameters.output=3,this._renderInternalNodeCategory(D.GAUSSIAN_SPLAT_DEPTH,e),this._bindParameters.output=s}_renderGaussianSplatDepthAndNormals(e){const t=this._bindParameters.output;this._bindParameters.output=4,this._renderInternalNodeCategory(D.GAUSSIAN_SPLAT_DEPTH,e),this._bindParameters.output=t}get _needsShadowDepthRange(){return this._bindParameters.shadowMap.enabled||!!this._shadowAccumulator?.active}_computeShadowDepthRange(e){if(!this._needsShadowDepthRange)return Y.Zero;const t=K(e,this._plugins.plugins,this.stage.layers,0);return t.union(this._plugins.queryDepthRange(e)),t.union(this._nodes.queryDepthRange(D.SHADOWMAP,e)),t.near=Math.max(e.near,t.near),t.far=Math.min(e.far,t.far),t}updateSceneDepthRange(e){if(!this.stage.view.state.isGlobal)return void(this.sceneDepthRange.value=Y.Infinite);if((this.stage.view.renderCoordsHelper?.getAltitude(e.eye)??0)<U)return void(this.sceneDepthRange.value=Y.Infinite);const t=e.clone();t.near=N,t.far=1e10;const s=K(t,this._plugins.plugins,this.stage.layers,1);s.union(this._plugins.queryDepthRange(t)),this.sceneDepthRange.value.equals(s)||(this.sceneDepthRange.value=s)}get _normalsRequired(){return this._nodes.require("normals",...O,D.VIEWSHED,D.LASERLINES)+(this.hasAmbientIllumination?1:0)}_precompilePrepasses(){const e=!!this._normalsRequired;if(e?(this._precompilePlugins(4,Ae),this._needsDepth&&this._precompilePlugins(3,Ie)):this._needsDepth&&this._precompileAllGeometry(3),this.shadowsEnabled&&(this._needsShadowHighlight?(this._nodes.precompile(D.SHADOW_HIGHLIGHT),this._precompileShadowCascades(6),this._precompileShadowCascades(7)):this._precompileShadowCascades(5)),this._shadowAccumulator?.active&&(this._nodes.precompile(D.SHADOW_ACCUMULATION),this._precompileAllGeometry(5)),this._shadowAccumulator?.active||e){const t=this._bindParameters.output;this._bindParameters.output=e?4:3,this._nodes.precompile(D.GAUSSIAN_SPLAT_DEPTH),this._bindParameters.output=t}(this.shadowsEnabled||this._shadowAccumulator?.active)&&this._nodes.precompile(D.SHADOWMAP),this.hasAmbientIllumination&&e&&this._nodes.precompile(D.AMBIENT_ILLUMINATION)}_renderNormals(){const e=this._normalsRequired;if(0===e)return;const{width:t,height:s}=this._framebuffer.size,i=this.fboCache.acquire(t,s,"normals");i.acquireDepth(14),this._rctx.bindFramebuffer(i.fbo),this._rctx.clearFramebuffer(C,!0,!0),this._bindParameters.output=4,this._plugins.render(...Ae),this._renderGaussianSplatDepthAndNormals(i);const r=this._nodes.optional("normals",...O,D.VIEWSHED);return i.retain(e+r-1),this.performanceInfo.advance(de.NORMALS),i}_renderSSAO(){this._bindParameters.globalIlluminationEnabled=!1;const e=this._pluginInput.get("normals");return this.hasAmbientIllumination&&e?(this._bindParameters.ssao=this._nodes.produce(D.AMBIENT_ILLUMINATION,this._pluginInput),this._bindParameters.ssao&&this.performanceInfo.advance(de.AMBIENT_ILLUMINATION),this._bindParameters.ssao):null}_renderGlobalIllumination(){const e=this._bindParameters;if(!this.hasGlobalIllumination)return this._releaseGlobalIlluminationBuffers(),e.globalIlluminationEnabled=this._keepGlobalIlluminationShadingAlive,null;const t=this._nodes.produce(D.AMBIENT_ILLUMINATION,this._pluginInput);return this._releaseGlobalIlluminationBuffers(),this._bindParameters.globalIllumination=t,this._bindParameters.globalIlluminationEnabled=!0,this.performanceInfo.advance(this.hasGlobalIlluminationHighQuality?de.AMBIENT_ILLUMINATION_HIGH_QUALITY:de.AMBIENT_ILLUMINATION),e.globalIllumination}_releaseGlobalIlluminationBuffers(){const e=this._bindParameters;e.reprojection.lastFrameColor=h(e.reprojection.lastFrameColor),e.reprojection.lastFrameDepth=n(e.reprojection.lastFrameDepth),e.reprojection.lastFrameEmission=n(e.reprojection.lastFrameEmission),e.globalIllumination=h(e.globalIllumination),e.globalIlluminationEnabled=!1}_precompileAllGeometry(e){const t=this._bindParameters.output;this._bindParameters.output=e,this._precompileOpaqueGeometry(),this._precompileTransparentGeometry(),this._plugins.precompile(...Pe),this._bindParameters.output=t}renderAllGeometry(e){this._bindParameters.output=e,this._renderOpaqueAndTransparentGeometry(e),this._renderTransparentGround()}precompileSlots(e,...t){for(const s of t)this._bindParameters.slot=s,e.precompile(this._renderContext)}precompileOccludedSlots(e,t){for(const s of t)this._renderContext.renderOccludedMask=s,this.precompileSlots(e,...we);this._renderContext.renderOccludedMask=ee}renderSlots(e,...t){for(const s of t)this._bindParameters.slot=s,e.forAll(e=>{const t=e.acquireTechniques(this._renderContext);t&&e.render(this._renderContext,t)})}renderOccludedSlots(e,t){this._renderContext.renderOccludedMask=t,this.plugins.renderOccludedFlags>1&&this._plugins.render(9),this.renderSlots(e,...we),this._renderContext.renderOccludedMask=ee}renderHUD(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(...Te[e])}_renderHUDElements(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(16),this.renderHUD(e),this._bindParameters.hudRenderStyle=e,this._plugins.render(14)}precompileViewshedShadowMap(){const e=this._bindParameters.output;this._bindParameters.output=8,this._precompileAllGeometry(8),this._nodes.precompile(D.SHADOWMAP),this._bindParameters.output=e}precompileCutFillDepth(){this._precompilePlugins(9,De)}_precompilePlugins(e,t){const s=this._bindParameters.output;this._bindParameters.output=e,this._plugins.precompile(...t),this._bindParameters.output=s}renderViewshedShadowMap(e,t){const{camera:s,contentCamera:i}=this._bindParameters,r=this._bindParameters.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this.renderAllGeometry(8),this._renderShadowNodes(t),this._ensureBindParametersCamera(s,i),this._bindParameters.camera.setGLViewport(this._rctx),this._bindParameters.output=r}renderCutFillDepth(e){const{camera:t,contentCamera:s}=this._bindParameters,i=this._bindParameters.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this._bindParameters.output=9,this._plugins.render(...De),this._ensureBindParametersCamera(t,s),t.setGLViewport(this._rctx),this._bindParameters.output=i}get _needsGroundDepth(){return this._bindParameters.cutFillVisualizationEnabled}_blitGroundDepth(){if(!this._needsGroundDepth)return null;const{width:e,height:t}=this._framebuffer.size,s=this.fboCache.acquire(e,t,D.GROUND_DEPTH,14);return this._rctx.blitFramebuffer(this._framebuffer.color.fbo,s.fbo,256),this._framebuffer.bind(),s}_renderOpaqueAndTransparentGeometry(e){this._bindParameters.output=e,this._renderOpaqueGeometry(),this._renderTransparentGeometry()}_renderGeometryWithoutNormals(e){this._bindParameters.output=e,this._plugins.render(...Ie)}_precompileOpaqueGeometry(){this._needsOpaquePass&&(this._plugins.precompile(...fe),this._nodes.precompile("opaque-color"))}_renderOpaqueGeometry(){this._plugins.render(...fe)}_renderTransparentGeometry(){this._plugins.render(...ge),this._hasTransparentGeometry&&this._plugins.render(15)}_renderTransparentGround(){this._plugins.render(...Pe)}_precompileHUD(e){if(!this._pluginsHas.hudElements)return;const t=this._bindParameters.output,s=this._bindParameters.hudRenderStyle,i=this._bindParameters.emissions;this._bindParameters.emissions=0,this._bindParameters.hudRenderStyle=e,this._bindParameters.output=1,this._plugins.precompile(...Ee),this._bindParameters.output=2,this._plugins.precompile(...Ee),this._bindParameters.output=0,this._oitBlend.precompile(this._bindParameters,!1,1),this._hasHighlights&&(this._bindParameters.output=10,this._plugins.precompile(...Ee)),this._bindParameters.emissions=i,this._bindParameters.output=t,this._bindParameters.hudRenderStyle=s}_renderHUD(e,t){if(!this._pluginsHas.hudElements)return t;const s=this._renderOIT(1,e);this._rctx.bindFramebuffer(t.fbo);const i=!!t.getTexture(le);return this._compositor.compositePreMultipliedAlpha(this._bindParameters,s.getTexture(),i),s.release(),this.performanceInfo.advance(0===e?de.HUD_OCCLUDED:de.HUD),t}get _needsShadowHighlight(){return this.shadowsEnabled&&this._plugins.produces(6,2)}_renderHighlightPrepass(){if(!this._hasHighlights)return;const{fboCache:e,_rctx:t,_bindParameters:s}=this,{width:i,height:r}=this._framebuffer.size,{highlights:a}=s,n=a.length>j?3:1,h=e.acquire(i,r,"highlights",n);h.acquireDepth(14);const o=this._plugins.produces(10,0);return o&&this._framebuffer.color.fbo&&h.fbo&&t.blitFramebuffer(this._framebuffer.color.fbo,h.fbo,1024),t.bindFramebuffer(h.fbo),t.gl.clearBufferuiv(6144,0,[0,0,0,0]),o||t.clear(1024),this._bindParameters.output=10,t.bindFramebuffer(h.fbo),B(t,e,i,r,s,()=>this._renderHighlightGeometries()),h.detachDepth(),this.performanceInfo.advance(de.HIGHLIGHTS),h.retain(this._nodes.require("highlights",...R)+this._nodes.optional("highlights",...R)-1),h}_renderHighlightGeometries(){this._plugins.render(...Ce),this._rctx.clear(256),this._renderHUDElements(2)}_renderShadowAccumulation(e){const t=this._shadowAccumulator;if(!t)return;t.updateDepthRange(e);const s=t.requireGeometryDepth;this._bindParameters.output=0;const i=this._nodes.produce(D.SHADOW_ACCUMULATION,this._pluginInput);t.didAccumulate&&this.performanceInfo.advance(de.ACCUMULATED_SHADOWS),this._pluginInput.set(D.SHADOW_ACCUMULATION,null),i?.release(),s&&(this._bindParameters.depth=h(this._bindParameters.depth))}renderShadowAccumulationShadowMap(e,t,s,i,r){const a=this.stage.view.qualitySettings.maximumPixelRatio;this._bindParameters.renderingShadowAnalysisMap=!0;try{s.start(e,i,r,!0,a),this._renderShadowCascades(5,s),e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,t)}finally{this._bindParameters.renderingShadowAnalysisMap=!1}}_precompileTransparentGeometry(){x(this._bindParameters.output)?(this._bindParameters.output=1,this._plugins.precompile(...ge),this._hasTransparentGeometry&&this._plugins.precompile(15),this._bindParameters.output=2,this._plugins.precompile(...ge),this._hasTransparentGeometry&&this._plugins.precompile(15),this._bindParameters.output=0):this._plugins.precompile(...ge)}_renderOIT(e,t=2){const s=1===e,{width:i,height:r}=this._framebuffer.size,a=s?()=>this._renderHUDElements(t):()=>this._renderTransparentGeometry(),h=this._bindParameters,o=h.useFloatBlend.value?8:5,d=h.output;h.output=1;const l=s?"oit hud":"oit",u=this.fboCache.acquire(i,r,l,o).acquireColor(le,this.hasFloatBlend?7:0,"oit alpha"),_=h.hasEmission&&(0===e||1!==t);_&&u.acquireColor(_e,o,"oit emissive"),s||u.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(u.fbo),this._rctx.clearFramebuffer($),_&&this._rctx.clearBuffer(2,$),a(),u.detachDepth(),h.output=2;const m=this.fboCache.acquire(i,r,s?"oit front hud":"oit front");_&&m.acquireColor(le,o,"oit front emissive"),s?m.acquireDepth(this._hudDepthFormat):m.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(m.fbo),this._rctx.clearFramebuffer(C,s),a(),m.detachDepth();const p=this._pluginsHas.occludedHudElements&&!s,c=p&&0!==h.emissions?_e:le;let b;return h.hudOcclusion=n(this._bindParameters.hudOcclusion),h.output=0,s?(b=this.fboCache.acquire(i,r,"oit composite hud"),this._rctx.bindFramebuffer(b.fbo),this._rctx.setClearColor(0,0,0,1e-13),this._rctx.clear(16384)):(0!==h.emissions&&this._framebuffer.ensureEmissionAttachment(),p&&(this._framebuffer.color.acquireColor(c,0,"hud occlusion"),this._rctx.clearBuffer(c-me,C)),this._framebuffer.bind()),this._oitBlend.blend(this._rctx,u,m,h,p,e,this._fboCache.debugCallback),b?.detachDepth(),s||(_&&(this._bindParameters.emissions=3),p&&(h.hudOcclusion=this._framebuffer.color.obtainAttachment(c))),m.release(),u.release(),h.output=d,b}get _hudDepthFormat(){return this.isFeatureEnabled(7)?14:13}get _needsOpaquePass(){return this.plugins.produces(0,...fe)||this.plugins.produces(5,...fe)||this.plugins.produces(3,3)}_renderOpaque(){const e=this._needsOpaquePass;e&&(this._plugins.render(0,1),this._pluginInput.set(D.GROUND_DEPTH,this._blitGroundDepth()),this._plugins.render(2,3));const t=this._framebuffer;t.update(t=>this._renderNodes(T.OPAQUE,t,e)),this.fboCache.debugCallback?.(T.OPAQUE,t.color.fbo),t.update(e=>this._renderNodes(D.OPAQUE_ENVIRONMENT,e)),this.fboCache.debugCallback?.(D.OPAQUE_ENVIRONMENT,t.color.fbo),this._renderEdges(1)}_renderPreTransparent(){this._framebuffer.update(e=>this._renderNodes(D.GAUSSIAN_SPLAT,e)),this.fboCache.debugCallback?.(D.GAUSSIAN_SPLAT,this._framebuffer.color.fbo),this._framebuffer.update(e=>this._renderNodes(D.OPAQUE_OCCLUSION_QUERY,e)),this.fboCache.debugCallback?.(D.OPAQUE_OCCLUSION_QUERY,this._framebuffer.color.fbo),this._framebuffer.update(e=>this._renderNodes(D.VOXEL,e)),this.fboCache.debugCallback?.(D.VOXEL,this._framebuffer.color.fbo)}_renderTransparent(){const e=this._framebuffer;if(this._renderHiddenTransparentEdges(),this._hasTransparentGeometry&&this._renderOIT(0),e.update(e=>this._renderNodes(T.TRANSPARENT,e,this._hasTransparentGeometry)),this.fboCache.debugCallback?.(T.TRANSPARENT,e.color.fbo),this._hasTransparentGeometry||this._plugins.render(15),this._renderEdges(0),this._bindParameters.ssao=n(this._bindParameters.ssao),e.update(e=>this._renderNodes(D.TRANSPARENT_NO_DEPTH,e)),this.fboCache.debugCallback?.(D.TRANSPARENT_NO_DEPTH,e.color.fbo),this._framebuffer.bind(),this._plugins.render(8),this._bindParameters.hasEmission){const e=this._rctx.setDrawBuffers([pe,le]);this._bindParameters.transparentWithoutDepthEmissionDimmingPass=!0,this._plugins.render(8),this._bindParameters.transparentWithoutDepthEmissionDimmingPass=!1,this._rctx.setDrawBuffers(e)}this.performanceInfo.advance(de.TRANSPARENT_MATERIAL_WITHOUT_DEPTH)}_renderNodes(e,t,s=!1){if(t.setName(e),this._pluginInput.set(e,t),!this._nodes.produces(e))return s&&this.performanceInfo.advance(e),t;const i=this._nodes.render(t,this._pluginInput,this._releaseNodeInputs);return this.performanceInfo.advance(e),this._fboCache.debugCallback?.(e,i.fbo),i}_renderInternalNodeCategory(e,t){if(!t)return;const s=t.name;try{this._renderNodes(e,t)}finally{this._pluginInput.set(e,null),t.setName(s)}}_ensureBindParameters(e,t){this._ensureBindParametersCamera(e,t),this._ensureBindParametersWeatherFader(),this._ensureBindParametersScreenSpaceReflections(),this._ensureBindParametersReprojection()}_ensureBindParametersCamera(e,t){this._bindParameters.camera=e,this._bindParameters.contentCamera=t}_ensureBindParametersWeatherFader(){1===this.stage.viewingMode&&(this._bindParameters.clouds.data&&(this._bindParameters.clouds.fade(this._bindParameters.camera,this.renderContext.time,this.stage.view.qualitySettings.fadeDuration,this.stage.view.state.stationary),this.weatherFader?.cleanupCubemap()),this._bindParameters.snowCover=this.weatherFader?.snowCover??0)}_ensureBindParametersScreenSpaceReflections(){const{time:e}=this.renderContext,{screenSpaceReflections:t}=this._bindParameters;if(this.hasReflections){null==this._ssrEnableTime&&(this._ssrEnableTime=e);const s=this.stage.view.qualitySettings.fadeDuration;t.fadeFactor=s>0?Math.min(s,e-this._ssrEnableTime)/s:1,t.fadeFactor<1&&this._requestRender()}else this._ssrEnableTime=null}_ensureBindParametersReprojection(){if(!(this.hasReflections||this.hasGlobalIllumination))return void(this._reprojectionMatrix=A);const{reprojection:e,camera:t}=this._bindParameters,{lastFrameCamera:s}=e,i=!s.equals(t);if(i?(f(Ne,t.viewMatrix),f(Re,t.projectionMatrix),g(Ge,Ne,Re),g(Ge,s.viewMatrix,Ge),g(Ge,s.projectionMatrix,Ge),this._reprojectionMatrix=Ge):this._reprojectionMatrix=A,this.hasGlobalIllumination){const{viewMatrix:t}=e;i?(g(Fe,s.viewMatrix,Ne),P(t,Fe)):P(t,A)}}addRenderNode(e){this._nodes.add(e),this._requestRender()}removeRenderNode(e){this._nodes.remove(e),this._requestRender()}updateLighting(e,t,s,i){this._bindParameters.updateLighting(e,t,s,i),this._requestRender(1)}get usedMemory(){return{fbos:this.fboCache.usedMemory,plugins:this._plugins.usedMemory,edges:this.edgeView?.usedMemory??0,clouds:this.weatherFader?.usedMemory??0}}get test(){}};e([p()],be.prototype,"_inGlobeView",void 0),e([p({readOnly:!0})],be.prototype,"highResolutionAtmosphere",null),e([p()],be.prototype,"_edgeView",void 0),e([p()],be.prototype,"updating",null),be=e([c("esri.views.3d.webgl-engine.lib.Renderer")],be);const fe=[0,1,2,3],ge=[7,6,4,5],Pe=[7,6],Ae=[0,1,2,4,...Pe],Ie=[3,5],we=[2,4,8],Ee=[16,12,14,13],Ce=[4,5,2,3,0,1,...Pe],Se=[4,8,5,11],Te={0:[13],1:[12],2:[13,12],3:[13,12]},De=[0,1,...Pe],Oe=["normals","highlights"],Re=I(),Ne=I(),Ge=I(),Fe=I();function He(e){return t=>e.immediate.schedule(t)}export{be as Renderer};
2
+ import{__decorate as e}from"tslib";import{update as t}from"../../../../core/arrayUtils.js";import{createTask as s}from"../../../../core/asyncUtils.js";import has from"../../../../core/has.js";import{removeMaybe as i,abortMaybe as r,destroyMaybe as a,releaseMaybe as n,releaseReferencedMaybe as h}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{watch as d,syncAndInitial as l,initial as u,sync as _}from"../../../../core/reactiveUtils.js";import{signal as m}from"../../../../core/signal.js";import{property as p,subclass as c}from"../../../../core/accessorSupport/decorators.js";import{equals as b,invert as f,multiply as g,copy as P}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as A,create as I}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as w}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as E,ZEROS as C}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{pruneIndexArrays as S}from"../../../../geometry/support/Indices.js";import{RenderNodeOutput as T,InternalRenderCategory as D,AllRenderNodeOutputs as O,AllInternalRenderNodeOutputs as R}from"../../webgl.js";import{minNearDistanceInMeters as N}from"../../state/NearFarHeuristic.js";import{debugFlags as G}from"../../support/debugFlags.js";import{FBOCache as F}from"../core/FBOCache.js";import{RenderPassManager as H}from"../core/renderPasses/RenderPassManager.js";import{isColor as x}from"../core/shaderLibrary/ShaderOutput.js";import{distanceFadeEnd as y}from"../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{RenderNodes as v}from"../effects/RenderNodes.js";import{RenderPluginManager as M}from"../effects/RenderPluginManager.js";import{WeatherFader as L}from"../effects/WeatherFader.js";import{innerAtmosphereFadeStart as U}from"../effects/atmosphere/atmosphereUtils.js";import{Blit as q}from"../effects/blit/Blit.js";import{maxHighlightsPerChannel as j,renderHighlightBuffer as B}from"../effects/highlight/Highlight.js";import{OITBlend as V}from"../effects/transparency/OITBlend.js";import{AnimationTimer as k}from"./AnimationTimer.js";import{AnimationTimeStep as W}from"./AnimationTimeStep.js";import{BoundingInfo as Q}from"./BoundingInfo.js";import{Compositor as z}from"./Compositor.js";import{DepthRange as Y}from"./DepthRange.js";import{depthRangeFromScene as K}from"./depthRangeUtils.js";import{MainFramebuffer as J}from"./MainFramebuffer.js";import{NavigationDepthCache as X}from"./NavigationDepthCache.js";import{blendingColorAlphaClear as $}from"./OrderIndependentTransparency.js";import{RenderContext as Z,defaultRenderOccludedMask as ee}from"./RenderContext.js";import{RendererBase as te}from"./RendererBase.js";import{setupFeatureDefaults as se}from"./RenderFeature.js";import{RenderPluginInput as ie}from"./RenderPluginInput.js";import{ShadowMap as re}from"./ShadowMap.js";import ae from"./SliceHelper.js";import{MergedRenderer as ne}from"../materials/renderers/MergedRenderer.js";import{RenderSceneResult as he}from"../parts/renderUtils.js";import{RendererPerformanceInfo as oe,PerformanceCategory as de}from"../statistics/RendererPerformanceInfo.js";import{ColorAttachment1 as le,PixelType as ue,ColorAttachment0 as _e,ColorAttachment2 as me,DrawBufferNone as pe}from"../../../webgl/enums.js";const ce=has("disable-feature:async-navigation-3d-depth-readback");let be=class extends te{constructor(e,t,s,i,r){super({stage:e}),this._techniques=s,this._rctx=i,this._requestRender=r,this._pluginsHas={occludedHudElements:!1,hudElements:!1,water:!1},this.renderPassManager=new H,this._isRendering=!1,this._inGlobeView=!1,this._backgroundColor=E(0,0,0,1),this._sliceHelper=new ae,this._shadowAccumulator=null,this._shadowCastOptions=null,this.sceneDepthRange=m(Y.Infinite),this._state=m(2),this._hasGlobalIlluminationFlag=!!has("enable-feature:global-illumination"),this._hasAnimations=!1,this._animationTimestep=new W,this._loadEdgeViewTask=null,this._edgeViewCallbacks=[],this._reprojectionMatrixVersion=m(0),this._renderHiddenTransparentEdges=()=>{},this._pluginInput=new ie,this._hasTransparentGeometry=!1,this._releaseNodeInputs=e=>{for(const t of Oe)e.some(({name:e})=>e===t)&&this._pluginInput.release(t)},this._testsNeedsDepth=!1,this._fboCache=new F(i),this._compositor=new z(i,s),this._renderStateFeatures=m(se(e.view.qualityProfile));const a=new re(this._fboCache,e.viewingMode);this._renderContext=new Z(this._rctx,a,s),this._framebuffer=new J(this._fboCache,this._bindParameters),this._performanceInfo=new oe(this._rctx),this._blit=new q(s),this.navigationDepthCache=new X(this._rctx,this._fboCache,s,()=>this._requestRender(0)),this._nodes=new v(this._renderContext),this._plugins=new M({renderContext:this._renderContext,techniques:s,materials:t,requestRender:r,controller:e}),this._plugins.add(this.renderPassManager),this.weatherFader=new L({view:e.view,context:this._renderContext}),this.addHandles([d(()=>e.view.state.camera,()=>r(),l),d(()=>G.EDGES_SHOW_HIDDEN_TRANSPARENT_EDGES,e=>{this._renderHiddenTransparentEdges=e?()=>this._renderEdges(0):()=>{},r()},u),d(()=>e.view.environment.background?.color,e=>{const t=e?e.toUnitRGBA():C;w(this._backgroundColor,t[0]*t[3],t[1]*t[3],t[2]*t[3],t[3]),r()},l),d(()=>e.view.environmentManager.shadowsAvailable,e=>{this._bindParameters.shadowMap.enabled=e,this._requestRender(1)},l),d(()=>e.view.state.camera.relativeElevation,e=>this._inGlobeView=(e??1/0)>=y,l),d(()=>this._bindParameters.clouds.fadeFactor,()=>{this._bindParameters.fadeLighting(),this._requestRender(2)},_),d(()=>this._bindParameters.clouds.data?.state,()=>r(),_),d(()=>e.view.state.highlights,e=>{this._bindParameters.highlights=e,r()},u),d(()=>"sun"===e.view.environment.lighting?.type,e=>{this._bindParameters.enableFillLights=e,this._requestRender()},l)])}destroy(){this._gpuTimerHandle=i(this._gpuTimerHandle),this._nodes.destroy(),this._framebuffer.dispose(),this._shadowAccumulator=null,this._shadowCastOptions=null,this._loadEdgeViewTask=r(this._loadEdgeViewTask),this._edgeView=a(this._edgeView),this.renderPassManager.dispose(),this.weatherFader=a(this.weatherFader),this._releaseFBOs(),this._disposeOffscreenBuffers(),this.navigationDepthCache.destroy(),this._fboCache.destroy(),this._fboCache=null,this._renderContext.destroy(),this._plugins.destroy(),this._pluginInput=null,this._oitBlendOrNil=null,this._nodes=null,this._framebuffer=null,this._performanceInfo=null,Q.prune(),ne.prune(),S()}get renderContext(){return this._renderContext}get _bindParameters(){return this._renderContext.bind}get _oitBlend(){return this._oitBlendOrNil??=new V(this._techniques),this._oitBlendOrNil}get performanceInfo(){return this._performanceInfo}updateRenderFeatures(e){this._renderStateFeatures.value=se(e),this._requestRender()}isFeatureEnabled(e,t=this._state.value){return this._renderStateFeatures.value.get(t,e)??!1}setFeatureEnabled(e,t,s){this._renderStateFeatures.mutate(i=>i.set(t,e,s)),this._requestRender()}setTime(e){this._renderContext.time=e}get hasReflections(){return this._bindParameters.screenSpaceReflections.enabled=this._pluginsHas.water&&this.isFeatureEnabled(4),this._bindParameters.screenSpaceReflections.enabled}get _hasHighlights(){return this._plugins.produces(10,2,4,18,12,13,14)}hasHighlight(e){return this._plugins.hasHighlight(e)}get _hasHUDHighlights(){return this._plugins.produces(10,12,13,14)}get hasAmbientIllumination(){return this.isFeatureEnabled(3)&&!this._inGlobeView}get hasGlobalIllumination(){return this._hasGlobalIlluminationFlag&&this.hasAmbientIllumination}get hasGlobalIlluminationHighQuality(){return this.hasGlobalIllumination&&this.isFeatureEnabled(10)}get _keepGlobalIlluminationShadingAlive(){return this._hasGlobalIlluminationFlag&&!this._inGlobeView}get hasSMAA(){return this.isFeatureEnabled(0)}get _emissions(){const e=this._plugins.emissions;return this._hasTransparentGeometry?e:1===e||3===e?1:0}get hasFloatBlend(){return this._rctx.driverTest.floatBufferBlend.result&&this.isFeatureEnabled(9)}get highResolutionAtmosphere(){return this.isFeatureEnabled(2)}get fboCache(){return this._fboCache}setShadowAccumulator(e){this._shadowAccumulator=e,this._shadowCastOptions&&e.setParameters(this._shadowCastOptions)}_releaseFBOs(){this._bindParameters.hudOcclusion=n(this._bindParameters.hudOcclusion),this._bindParameters.depth=null}_disposeOffscreenBuffers(){this._framebuffer.dispose(),this._bindParameters.globalIllumination=n(this._bindParameters.globalIllumination),this._bindParameters.reprojection.lastFrameDepth=n(this._bindParameters.reprojection.lastFrameDepth),this._bindParameters.reprojection.lastFrameEmission=n(this._bindParameters.reprojection.lastFrameEmission),this._disposeBindBuffers()}_disposeBindBuffers(){this._bindParameters.shadowMap.disposeOutputs()}get updating(){return this._loadEdgeViewTask&&!this._loadEdgeViewTask.finished||this._edgeView?.updating||this._plugins.updating||this.weatherFader?.readyToRun||!this.isCameraFinal}loadEdgeView(){return this._loadEdgeViewTask||(this._loadEdgeViewTask=s(async e=>{const{EdgeView:t}=await(import("./edgeRendering/EdgeView.js"));o(e);const s=this._edgeView=new t({rctx:this._rctx,renderSR:this.stage.view.renderSpatialReference,viewingMode:this.stage.view.stage.viewingMode,techniques:this._techniques,setNeedsRender:()=>this._requestRender(),schedule:He(this.stage.view.resourceController)});return this.addHandles(d(()=>s.updating,()=>this._requestRender(),_)),this._requestRender(),this._edgeViewCallbacks.forEach(e=>e(s)),this._edgeViewCallbacks.length=0,s})),this._loadEdgeViewTask.promise}withEdgeView(e){this.loadEdgeView(),null==this._edgeView?this._edgeViewCallbacks.push(e):e(this._edgeView)}get edgeView(){return this._edgeView}get isCameraFinal(){return this._reprojectionMatrixVersion.value>=0&&b(this._bindParameters.reprojection.matrix,A)}set _reprojectionMatrix(e){t(this._bindParameters.reprojection.matrix,e)&&this._reprojectionMatrixVersion.value++}get shadowsEnabled(){return!!this._bindParameters.shadowMap.enabled}setParameters(e){e.shadowCast&&(this._shadowCastOptions={...this._shadowCastOptions,...e.shadowCast},this._shadowAccumulator?.setParameters(e.shadowCast))}set slice(e){this._sliceHelper.update(e)&&this._requestRender()}get plugins(){return this._plugins}commit(e,t){return this._isRendering&&console.warn("Renderer.modify called while rendering"),!!super.commit(e,t,this._plugins.context)&&(this.updateHasFlags(),!0)}addRenderer(e){this._plugins.add(e)}removeRenderer(e){this._plugins.remove(e)}get occludedRequiresStencil(){return this._occludedRequiresOccludeeStencil||this.occludedRequiresIntegratedMeshStencil}get _occludedRequiresOccludeeStencil(){return this._bindParameters.hasOccludees&&!!(8&this.plugins.renderOccludedFlags)}get occludedRequiresIntegratedMeshStencil(){return this._plugins.produces(0,0)&&this._plugins.produces(0,9)}updateHasFlags(){const has=this._pluginsHas;has.occludedHudElements=this._plugins.produces(0,13),has.hudElements=has.occludedHudElements||this._plugins.produces(0,...Ee),has.water=this._plugins.produces(4,19),this._bindParameters.hasOccludees=this._plugins.hasOccludees,this._requestRender()}updateAnimation(e,t){this._animationTimer??=new k(e.camera,t),this._animationTimer.advance(e.camera,t,this._animationTimeDilation);const s=this._hasAnimations;return this._hasAnimations=this._plugins.updateAnimation(this._animationTimer),this._hasAnimations=this._nodes.updateAnimation(this._animationTimer)||this._hasAnimations,this._hasAnimations!==s&&(this._gpuTimerHandle=s?i(this._gpuTimerHandle):this.performanceInfo.enableGPUPerformanceInfo()),this._hasAnimations}get animationTimestep(){return this._animationTimestep.value}get _animationTimeDilation(){return this._animationTimestep.timeDilation}resetAnimation(){this._animationTimestep.clear()}tick(){this.fboCache.clean()}render(e,t,s=!1){try{return this._isRendering=!0,this._render(e,t,s)}catch(i){console.error(`Exception during rendering: ${i}:\n${i.stack}`)}finally{this._isRendering=!1}return new he(this._pluginInput.get(T.FINAL),null)}_render(e,t,s){const i=0===t;this.performanceInfo.startFrame(),this.fboCache.frameStart(),this.fboCache.interactive=i,this._disposeBindBuffers();const{camera:r,contentCamera:a,mode:o,alignPixelEnabled:d}=e;this._state.value=o,this._bindParameters.frameRendererTarget=t,this._bindParameters.output=0,this._bindParameters.emissions=this._emissions,this._bindParameters.alignPixelEnabled=d,this._bindParameters.decorations=!s,this._bindParameters.mainDepth=null,this._bindParameters.useFloatBlend.value=this.hasFloatBlend;const l=!s||!this._sliceHelper.isDecoration;this._bindParameters.slicePlane=l?this._sliceHelper.plane:null,this._bindParameters.viewshedEnabled=this._nodes.produces(D.VIEWSHED),this._bindParameters.cutFillComputationEnabled=this._nodes.produces(D.CUTFILL_COMPUTATION),this._bindParameters.cutFillVisualizationEnabled=this._nodes.produces(D.CUTFILL),this._ensureBindParameters(r,a),this._plugins.sortTestsTransparentOrderedSlots(Se),this._plugins.prepareRender(),this._hasTransparentGeometry=this._plugins.produces(1,...ge),this._renderOverlay(),r.setGLViewport(this._rctx);const u=this._framebuffer,_=u.initialize(r.fullWidth,r.fullHeight,this._backgroundColor),m=this._needsLastFrameColor;m?(_?.retain(m-1),_?.setName("last frame color"),this._bindParameters.reprojection.lastFrameColor?.release(),this._bindParameters.reprojection.lastFrameColor=_):_?.release(),this._bindParameters.hasShadowHighlights=this._needsShadowHighlight&&!s,this._precompilePrepasses(),this.performanceInfo.advance(de.PREPARE);const p=this._computeShadowDepthRange(r);this._pluginInput.set("normals",this._renderNormals()),this._renderAmbientIlluminationAndDepth(),this._renderShadowMap(r,a,this._bindParameters.lighting.mainLight.direction,p),this._renderShadowAccumulation(p),u.bind(),this._bindParameters.mainDepth=u.depth.attachment,this._precompileShaders(i),this._bindParameters.output=0,this._renderOpaque(),this._renderPreTransparent(),this._renderTransparent(),this.hasReflections&&(this._bindParameters.depth=h(this._bindParameters.depth),this._bindParameters.reprojection.lastFrameColor=h(this._bindParameters.reprojection.lastFrameColor)),this._bindParameters.shadowMap.disposeOutput(5),u.update(e=>this._renderNodes(D.CUTFILL_COMPUTATION,e)),this._pluginInput.set(D.FOCUSAREA_MASK,this._renderFocusAreaMask()),u.update(e=>this._renderNodes(D.TRANSPARENT_ENVIRONMENT,e)),u.update(e=>this._renderNodes(D.VIEWSHED,e)),u.update(e=>this._renderNodes(D.LASERLINES,e)),this._nodes.requireGeometryDepth&&(this._bindParameters.depth=h(this._bindParameters.depth)),u.update(e=>this._renderNodes(D.FOCUSAREA,e)),this._pluginInput.release(D.FOCUSAREA_MASK),u.update(e=>this._renderNodes(D.CUTFILL,e)),this._pluginInput.release(D.GROUND_DEPTH),u.update(e=>this._renderNodes(D.OCCLUDED,e)),this._pluginInput.set("highlights",this._renderHighlightPrepass());const c=2===t?this._renderObjectAndLayerIdColor():null;u.update(e=>this._renderNodes(T.COMPOSITE,e)),this._bindParameters.shadowMap.disposeOutputs(),this._bindParameters.shadowHighlight=n(this._bindParameters.shadowHighlight),u.update(e=>this._renderNodes(D.ANTIALIASING,e));const b=this._hasTransparentGeometry?2:1,f=this._bindParameters.emissions;let g;return this._bindParameters.emissions=0,this._hasHUDHighlights&&u.update(e=>this._renderHUD(b,e)),u.update(e=>this._renderNodes(D.HIGHLIGHT,e)),this._hasHUDHighlights||u.update(e=>this._renderHUD(b,e)),this._bindParameters.emissions=f,u.update(e=>this._renderNodes(D.MAGNIFIER,e)),u.update(e=>this._renderNodes(T.FINAL,e)),i&&(this._blit.toFramebuffer(u.color,this._bindParameters),ce||2!==o&&0!==o||this.navigationDepthCache.update(this._bindParameters,u.depth.attachment,this._renderContext.time)),this._bindParameters.reprojection.lastFrameDepth?.release(),this._bindParameters.reprojection.lastFrameEmission?.release(),this.hasGlobalIllumination&&(this._bindParameters.reprojection.lastFrameDepth?.release(),this._bindParameters.reprojection.lastFrameDepth=this._bindParameters.depth,0!==this._emissions&&(this._bindParameters.reprojection.lastFrameEmission?.release(),this._bindParameters.reprojection.lastFrameEmission=u.color.obtainAttachment(le))),this._testsNeedsDepth&&(this._bindParameters.depth=h(this._bindParameters.depth)),this._releaseFBOs(),u.releaseDepth(),this._bindParameters.reprojection.lastFrameCamera.copyFrom(this._bindParameters.camera),this.fboCache.frameEnd(),i||(g=u.color,g.retain(),this._releaseFBOs(),this._disposeOffscreenBuffers()),this.performanceInfo.finishFrame(),new he(g,c)}_precompileShaders(e){++this._plugins.context.techniques.precompiling;const t=this._bindParameters;t.output=0;const s=t.emissions;if(this._precompileOpaqueGeometry(),this._nodes.precompile(D.OPAQUE_ENVIRONMENT,D.GAUSSIAN_SPLAT,D.OPAQUE_OCCLUSION_QUERY,D.VOXEL),this._precompileOpaqueGeometry(),t.output=3,this._plugins.precompile(...Pe),t.output=0,this._plugins.precompile(...Pe),this._hasTransparentGeometry){const e=this._pluginsHas.occludedHudElements;this._oitBlend.precompile(t,e,0),this._pluginsHas.hudElements&&this._oitBlend.precompile(t,!1,1),this._precompileTransparentGeometry(),t.hasTransparentEmission&&(t.emissions=3)}this._nodes.precompile(D.FOCUSAREA_MASK),this._compositor.precompile(this._usesPremultipliedAlphaBlit,!!this._needsEdges,t),this._hasTransparentGeometry||this._plugins.precompile(15),this._nodes.precompile(D.TRANSPARENT_ENVIRONMENT,D.VIEWSHED,D.CUTFILL_COMPUTATION,D.CUTFILL,D.LASERLINES,D.FOCUSAREA,D.OCCLUDED,D.ANTIALIASING),t.highlightMixTexture=t.highlights.length>1?this._rctx.emptyTexture:null,this._precompileHUD(0),t.emissions=0,this._precompileHUD(0),this._precompileHUD(1),t.emissions=s,this._hasHighlights&&(t.highlights.forEach((e,s)=>{t.highlightLevel=s,this._precompileAllGeometry(10),this._hasHUDHighlights&&this._plugins.precompile(13,12)}),t.highlightLevel=null,this._nodes.precompile(D.HIGHLIGHT)),t.highlightMixTexture=null,this._nodes.precompile(T.COMPOSITE,D.MAGNIFIER),this._nodes.precompile(D.TRANSPARENT_NO_DEPTH),this._plugins.precompile(8),t.hasOpaqueEmission&&(t.transparentWithoutDepthEmissionDimmingPass=!0,this._plugins.precompile(8),t.transparentWithoutDepthEmissionDimmingPass=!1),e&&this._blit.precompile(),--this._plugins.context.techniques.precompiling}_renderFocusAreaMask(){const e=this._nodes.produce(D.FOCUSAREA_MASK,this._pluginInput);return e&&this.performanceInfo.advance(de.FOCUS_AREA_MASK),e}_renderObjectAndLayerIdColor(){if(!this._nodes.produces(D.OBJECT_AND_LAYER_ID_COLOR))return null;const e=this._bindParameters.output;++this._techniques.precompiling;const{width:t,height:s}=this._framebuffer.size;let i=this.fboCache.acquire(t,s,D.OBJECT_AND_LAYER_ID_COLOR).acquireDepth(14);return i=this._renderNodes(D.OBJECT_AND_LAYER_ID_COLOR,i),--this._techniques.precompiling,this._bindParameters.output=e,i}finish(e){this._hasAnimations||this._animationTimestep.clear();const t=this.performanceInfo.gpuSamplingEnabled,s=0===e;if(s||t){const e=s?this.performanceInfo.elapsedTime:0;let i=0;t?i=this.performanceInfo.totalGPUTimeSampler.last:this._rctx.gl.finish();const r=Math.max(e,i);this._animationTimestep.frame(r,s)}}readAccumulatedShadow(e){return this._shadowAccumulator?.readAccumulatedShadow(e[0],e[1])??0}readMainDepth(e,t){const{mainDepth:s,camera:i}=this._bindParameters;if(!s)return;const r=this.fboCache.acquire(this._framebuffer.size.width,this._framebuffer.size.height,"linear depth");this._rctx.bindFramebuffer(r.fbo),i.setGLViewport(this._rctx),this._rctx.setScissorRect(e[0],e[1],e[2],e[3]),this._rctx.setScissorTestEnabled(!0),this._rctx.clearFramebuffer(C),this._compositor.blitDepthToLinearDepth(this._bindParameters,s),this._rctx.setScissorTestEnabled(!1),this._rctx.setScissorRect(0,0,this._rctx.gl.canvas.width,this._rctx.gl.canvas.width),r.fbo?.readPixels(e[0],e[1],e[2],e[3],6408,ue.UNSIGNED_BYTE,t),r.release()}get _needsEdges(){return this._edgeView?.shouldRender()?this._edgeView:null}_renderEdges(e){const t=this._needsEdges;if(!t)return;const{width:s,height:i}=this._framebuffer.size,r=this.fboCache.acquire(s,i,"edges");r.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(r.fbo),this._rctx.clearFramebuffer(C),t.render(this._bindParameters,e),r.detachDepth(),this._framebuffer.bind(),this._compositor.composite(this._bindParameters,r.getTexture()),r.release(),this.performanceInfo.advance(1===e?de.OPAQUE_EDGES:de.TRANSPARENT_EDGES)}_renderOverlay(){this._bindParameters.overlay=this.overlay?.render(this._renderContext.time),this._bindParameters.overlay&&this.performanceInfo.advance(de.OVERLAY)}_renderShadowMap(e,t,s,i){if(!this.shadowsEnabled)return;const r=this._bindParameters.shadowMap;if(r.start(e,s,i,this.isFeatureEnabled(5),this.stage.view.qualitySettings.maximumPixelRatio),this._needsShadowHighlight){this._renderShadowCascades(6,r),e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,t);const s=this._bindParameters.output;this._bindParameters.output=0,this._bindParameters.shadowHighlight=this._nodes.produce(D.SHADOW_HIGHLIGHT,this._pluginInput),this._bindParameters.output=s,r.disposeOutput(6),r.clear(),this._renderShadowCascades(7,r)}else this._renderShadowCascades(5);e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,this._bindParameters.contentCamera),this._needsShadowHighlight&&(this._bindParameters.depth=h(this._bindParameters.depth)),this.performanceInfo.advance(D.SHADOWMAP)}_precompileShadowCascades(e){0!==this._bindParameters.shadowMap.cascades.length&&this._precompileAllGeometry(e)}_renderShadowCascades(e,t=this._bindParameters.shadowMap){const s=this._bindParameters.output,i=6!==e;t.bindFramebuffer();for(const r of t.cascades)r.camera.setGLViewport(this._rctx),this._ensureBindParametersCamera(r.camera,r.camera),this.renderAllGeometry(e),i&&this._renderShadowNodes(t.renderTarget);t.finish(e),this._bindParameters.output=s}_renderShadowNodes(e){this._renderInternalNodeCategory(D.SHADOWMAP,e)}get _needsLastFrameColor(){return+this.hasReflections+ +this.hasGlobalIllumination}get _needsDepth(){return+this._nodes.requireGeometryDepth+ +this.hasReflections+ +this.hasGlobalIllumination+ +this._testsNeedsDepth+ +this._needsShadowHighlight}get _usesPremultipliedAlphaBlit(){return this._pluginsHas.hudElements}_renderAmbientIlluminationAndDepth(){this._bindParameters.depth=n(this._bindParameters.depth);const e=this._pluginInput.get("normals");if(e){this._pluginInput.set(D.AMBIENT_ILLUMINATION,this._hasGlobalIlluminationFlag?this._renderGlobalIllumination():this._renderSSAO());const t=this._needsDepth;if(t){const s=e.obtainAttachment(_e);this._rctx.bindFramebuffer(e.fbo),this._rctx.clear(1024),this._renderGeometryWithoutNormals(3),this._bindParameters.depth=e.obtainDepthTexture(),this._bindParameters.depth?.retain(t-1),e.attachColor(s,_e),s?.release(),this.performanceInfo.advance(de.DEPTH)}else e.detachDepth();this.hasAmbientIllumination&&this._pluginInput.release("normals")}else this._hasGlobalIlluminationFlag&&(this._releaseGlobalIlluminationBuffers(),this._bindParameters.globalIlluminationEnabled=this._keepGlobalIlluminationShadingAlive),this._renderAllGeometryDepth()}_renderAllGeometryDepth(){const e=this._needsDepth;if(0===e)return;const{width:t,height:s}=this._framebuffer.size,i=this.fboCache.acquire(t,s,"geometry depth",14);this._rctx.bindFramebuffer(i.fbo),this._rctx.clear(1280),this.renderAllGeometry(3),this._renderGaussianSplatPrepassDepth(i),this._bindParameters.depth=i.obtainDepthTexture(),this._bindParameters.depth?.retain(e-1),i.release(),this.performanceInfo.advance(de.DEPTH)}_renderGaussianSplatPrepassDepth(e){const t=this._shadowAccumulator;if(!t?.active||!t.requireGeometryDepth)return;const s=this._bindParameters.output;this._bindParameters.output=3,this._renderInternalNodeCategory(D.GAUSSIAN_SPLAT_DEPTH,e),this._bindParameters.output=s}_renderGaussianSplatDepthAndNormals(e){const t=this._bindParameters.output;this._bindParameters.output=4,this._renderInternalNodeCategory(D.GAUSSIAN_SPLAT_DEPTH,e),this._bindParameters.output=t}get _needsShadowDepthRange(){return this._bindParameters.shadowMap.enabled||!!this._shadowAccumulator?.active}_computeShadowDepthRange(e){if(!this._needsShadowDepthRange)return Y.Zero;const t=K(e,this._plugins.plugins,this.stage.layers,0);return t.union(this._plugins.queryDepthRange(e)),t.union(this._nodes.queryDepthRange(D.SHADOWMAP,e)),t.near=Math.max(e.near,t.near),t.far=Math.min(e.far,t.far),t}updateSceneDepthRange(e){if(!this.stage.view.state.isGlobal)return void(this.sceneDepthRange.value=Y.Infinite);if((this.stage.view.renderCoordsHelper?.getAltitude(e.eye)??0)<U)return void(this.sceneDepthRange.value=Y.Infinite);const t=e.clone();t.near=N,t.far=1e10;const s=K(t,this._plugins.plugins,this.stage.layers,1);s.union(this._plugins.queryDepthRange(t)),this.sceneDepthRange.value.equals(s)||(this.sceneDepthRange.value=s)}get _normalsRequired(){return this._nodes.require("normals",...O,D.VIEWSHED,D.LASERLINES)+(this.hasAmbientIllumination?1:0)}_precompilePrepasses(){const e=!!this._normalsRequired;if(e?(this._precompilePlugins(4,Ae),this._needsDepth&&this._precompilePlugins(3,Ie)):this._needsDepth&&this._precompileAllGeometry(3),this.shadowsEnabled&&(this._needsShadowHighlight?(this._nodes.precompile(D.SHADOW_HIGHLIGHT),this._precompileShadowCascades(6),this._precompileShadowCascades(7)):this._precompileShadowCascades(5)),this._shadowAccumulator?.active&&(this._nodes.precompile(D.SHADOW_ACCUMULATION),this._precompileAllGeometry(5)),this._shadowAccumulator?.active||e){const t=this._bindParameters.output;this._bindParameters.output=e?4:3,this._nodes.precompile(D.GAUSSIAN_SPLAT_DEPTH),this._bindParameters.output=t}(this.shadowsEnabled||this._shadowAccumulator?.active)&&this._nodes.precompile(D.SHADOWMAP),this.hasAmbientIllumination&&e&&this._nodes.precompile(D.AMBIENT_ILLUMINATION)}_renderNormals(){const e=this._normalsRequired;if(0===e)return;const{width:t,height:s}=this._framebuffer.size,i=this.fboCache.acquire(t,s,"normals");i.acquireDepth(14),this._rctx.bindFramebuffer(i.fbo),this._rctx.clearFramebuffer(C,!0,!0),this._bindParameters.output=4,this._plugins.render(...Ae),this._renderGaussianSplatDepthAndNormals(i);const r=this._nodes.optional("normals",...O,D.VIEWSHED);return i.retain(e+r-1),this.performanceInfo.advance(de.NORMALS),i}_renderSSAO(){this._bindParameters.globalIlluminationEnabled=!1;const e=this._pluginInput.get("normals");return this.hasAmbientIllumination&&e?(this._bindParameters.ssao=this._nodes.produce(D.AMBIENT_ILLUMINATION,this._pluginInput),this._bindParameters.ssao&&this.performanceInfo.advance(de.AMBIENT_ILLUMINATION),this._bindParameters.ssao):null}_renderGlobalIllumination(){const e=this._bindParameters;if(!this.hasGlobalIllumination)return this._releaseGlobalIlluminationBuffers(),e.globalIlluminationEnabled=this._keepGlobalIlluminationShadingAlive,null;const t=this._nodes.produce(D.AMBIENT_ILLUMINATION,this._pluginInput);return this._releaseGlobalIlluminationBuffers(),this._bindParameters.globalIllumination=t,this._bindParameters.globalIlluminationEnabled=!0,this.performanceInfo.advance(this.hasGlobalIlluminationHighQuality?de.AMBIENT_ILLUMINATION_HIGH_QUALITY:de.AMBIENT_ILLUMINATION),e.globalIllumination}_releaseGlobalIlluminationBuffers(){const e=this._bindParameters;e.reprojection.lastFrameColor=h(e.reprojection.lastFrameColor),e.reprojection.lastFrameDepth=n(e.reprojection.lastFrameDepth),e.reprojection.lastFrameEmission=n(e.reprojection.lastFrameEmission),e.globalIllumination=h(e.globalIllumination),e.globalIlluminationEnabled=!1}_precompileAllGeometry(e){const t=this._bindParameters.output;this._bindParameters.output=e,this._precompileOpaqueGeometry(),this._precompileTransparentGeometry(),this._plugins.precompile(...Pe),this._bindParameters.output=t}renderAllGeometry(e){this._bindParameters.output=e,this._renderOpaqueAndTransparentGeometry(e),this._renderTransparentGround()}precompileSlots(e,...t){for(const s of t)this._bindParameters.slot=s,e.precompile(this._renderContext)}precompileOccludedSlots(e,t){for(const s of t)this._renderContext.renderOccludedMask=s,this.precompileSlots(e,...we);this._renderContext.renderOccludedMask=ee}renderSlots(e,...t){for(const s of t)this._bindParameters.slot=s,e.forAll(e=>{const t=e.acquireTechniques(this._renderContext);t&&e.render(this._renderContext,t)})}renderOccludedSlots(e,t){this._renderContext.renderOccludedMask=t,this.plugins.renderOccludedFlags>1&&this._plugins.render(9),this.renderSlots(e,...we),this._renderContext.renderOccludedMask=ee}renderHUD(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(...Te[e])}_renderHUDElements(e){this._bindParameters.hudRenderStyle=e,this._plugins.render(16),this.renderHUD(e),this._bindParameters.hudRenderStyle=e,this._plugins.render(14)}precompileViewshedShadowMap(){const e=this._bindParameters.output;this._bindParameters.output=8,this._precompileAllGeometry(8),this._nodes.precompile(D.SHADOWMAP),this._bindParameters.output=e}precompileCutFillDepth(){this._precompilePlugins(9,De)}_precompilePlugins(e,t){const s=this._bindParameters.output;this._bindParameters.output=e,this._plugins.precompile(...t),this._bindParameters.output=s}renderViewshedShadowMap(e,t){const{camera:s,contentCamera:i}=this._bindParameters,r=this._bindParameters.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this.renderAllGeometry(8),this._renderShadowNodes(t),this._ensureBindParametersCamera(s,i),this._bindParameters.camera.setGLViewport(this._rctx),this._bindParameters.output=r}renderCutFillDepth(e){const{camera:t,contentCamera:s}=this._bindParameters,i=this._bindParameters.output;e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,e),this._bindParameters.output=9,this._plugins.render(...De),this._ensureBindParametersCamera(t,s),t.setGLViewport(this._rctx),this._bindParameters.output=i}get _needsGroundDepth(){return this._bindParameters.cutFillVisualizationEnabled}_blitGroundDepth(){if(!this._needsGroundDepth)return null;const{width:e,height:t}=this._framebuffer.size,s=this.fboCache.acquire(e,t,D.GROUND_DEPTH,14);return this._rctx.blitFramebuffer(this._framebuffer.color.fbo,s.fbo,256),this._framebuffer.bind(),s}_renderOpaqueAndTransparentGeometry(e){this._bindParameters.output=e,this._renderOpaqueGeometry(),this._renderTransparentGeometry()}_renderGeometryWithoutNormals(e){this._bindParameters.output=e,this._plugins.render(...Ie)}_precompileOpaqueGeometry(){this._needsOpaquePass&&(this._plugins.precompile(...fe),this._nodes.precompile("opaque-color"))}_renderOpaqueGeometry(){this._plugins.render(...fe)}_renderTransparentGeometry(){this._plugins.render(...ge),this._hasTransparentGeometry&&this._plugins.render(15)}_renderTransparentGround(){this._plugins.render(...Pe)}_precompileHUD(e){if(!this._pluginsHas.hudElements)return;const t=this._bindParameters.output,s=this._bindParameters.hudRenderStyle,i=this._bindParameters.emissions;this._bindParameters.emissions=0,this._bindParameters.hudRenderStyle=e,this._bindParameters.output=1,this._plugins.precompile(...Ee),this._bindParameters.output=2,this._plugins.precompile(...Ee),this._bindParameters.output=0,this._oitBlend.precompile(this._bindParameters,!1,1),this._hasHighlights&&(this._bindParameters.output=10,this._plugins.precompile(...Ee)),this._bindParameters.emissions=i,this._bindParameters.output=t,this._bindParameters.hudRenderStyle=s}_renderHUD(e,t){if(!this._pluginsHas.hudElements)return t;const s=this._renderOIT(1,e);this._rctx.bindFramebuffer(t.fbo);const i=!!t.getTexture(le);return this._compositor.compositePreMultipliedAlpha(this._bindParameters,s.getTexture(),i),s.release(),this.performanceInfo.advance(0===e?de.HUD_OCCLUDED:de.HUD),t}get _needsShadowHighlight(){return this.shadowsEnabled&&this._plugins.produces(6,2)}_renderHighlightPrepass(){if(!this._hasHighlights)return;const{fboCache:e,_rctx:t,_bindParameters:s}=this,{width:i,height:r}=this._framebuffer.size,{highlights:a}=s,n=a.length>j?3:1,h=e.acquire(i,r,"highlights",n);h.acquireDepth(14);const o=this._plugins.produces(10,0);return o&&this._framebuffer.color.fbo&&h.fbo&&t.blitFramebuffer(this._framebuffer.color.fbo,h.fbo,1024),t.bindFramebuffer(h.fbo),t.gl.clearBufferuiv(6144,0,[0,0,0,0]),o||t.clear(1024),this._bindParameters.output=10,t.bindFramebuffer(h.fbo),B(t,e,i,r,s,()=>this._renderHighlightGeometries()),h.detachDepth(),this.performanceInfo.advance(de.HIGHLIGHTS),h.retain(this._nodes.require("highlights",...R)+this._nodes.optional("highlights",...R)-1),h}_renderHighlightGeometries(){this._plugins.render(...Ce),this._rctx.clear(256),this._renderHUDElements(2)}_renderShadowAccumulation(e){const t=this._shadowAccumulator;if(!t)return;t.updateDepthRange(e);const s=t.requireGeometryDepth;this._bindParameters.output=0;const i=this._nodes.produce(D.SHADOW_ACCUMULATION,this._pluginInput);t.didAccumulate&&this.performanceInfo.advance(de.ACCUMULATED_SHADOWS),this._pluginInput.set(D.SHADOW_ACCUMULATION,null),i?.release(),s&&(this._bindParameters.depth=h(this._bindParameters.depth))}renderShadowAccumulationShadowMap(e,t,s,i,r){const a=this.stage.view.qualitySettings.maximumPixelRatio;this._bindParameters.renderingShadowAnalysisMap=!0;try{s.start(e,i,r,!0,a),this._renderShadowCascades(5,s),e.setGLViewport(this._rctx),this._ensureBindParametersCamera(e,t)}finally{this._bindParameters.renderingShadowAnalysisMap=!1}}_precompileTransparentGeometry(){x(this._bindParameters.output)?(this._bindParameters.output=1,this._plugins.precompile(...ge),this._hasTransparentGeometry&&this._plugins.precompile(15),this._bindParameters.output=2,this._plugins.precompile(...ge),this._hasTransparentGeometry&&this._plugins.precompile(15),this._bindParameters.output=0):this._plugins.precompile(...ge)}_renderOIT(e,t=2){const s=1===e,{width:i,height:r}=this._framebuffer.size,a=s?()=>this._renderHUDElements(t):()=>this._renderTransparentGeometry(),h=this._bindParameters,o=h.useFloatBlend.value?8:5,d=h.output;h.output=1;const l=s?"oit hud":"oit",u=this.fboCache.acquire(i,r,l,o).acquireColor(le,this.hasFloatBlend?7:0,"oit alpha"),_=h.hasEmission&&(0===e||1!==t);_&&u.acquireColor(me,o,"oit emissive"),s||u.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(u.fbo),this._rctx.clearFramebuffer($),_&&this._rctx.clearBuffer(2,$),a(),u.detachDepth(),h.output=2;const m=this.fboCache.acquire(i,r,s?"oit front hud":"oit front");_&&m.acquireColor(le,o,"oit front emissive"),s?m.acquireDepth(this._hudDepthFormat):m.attachDepth(this._framebuffer.depth),this._rctx.bindFramebuffer(m.fbo),this._rctx.clearFramebuffer(C,s),a(),m.detachDepth();const p=this._pluginsHas.occludedHudElements&&!s,c=p&&0!==h.emissions?me:le;let b;return h.hudOcclusion=n(this._bindParameters.hudOcclusion),h.output=0,s?(b=this.fboCache.acquire(i,r,"oit composite hud"),this._rctx.bindFramebuffer(b.fbo),this._rctx.setClearColor(0,0,0,1e-13),this._rctx.clear(16384)):(0!==h.emissions&&this._framebuffer.ensureEmissionAttachment(),p&&(this._framebuffer.color.acquireColor(c,0,"hud occlusion"),this._rctx.clearBuffer(c-_e,C)),this._framebuffer.bind()),this._oitBlend.blend(this._rctx,u,m,h,p,e,this._fboCache.debugCallback),b?.detachDepth(),s||(_&&(this._bindParameters.emissions=3),p&&(h.hudOcclusion=this._framebuffer.color.obtainAttachment(c))),m.release(),u.release(),h.output=d,b}get _hudDepthFormat(){return this.isFeatureEnabled(7)?14:13}get _needsOpaquePass(){return this.plugins.produces(0,...fe)||this.plugins.produces(5,...fe)||this.plugins.produces(3,3)}_renderOpaque(){const e=this._needsOpaquePass;e&&(this._plugins.render(0,1),this._pluginInput.set(D.GROUND_DEPTH,this._blitGroundDepth()),this._plugins.render(2,3));const t=this._framebuffer;t.update(t=>this._renderNodes(T.OPAQUE,t,e)),this.fboCache.debugCallback?.(T.OPAQUE,t.color.fbo),t.update(e=>this._renderNodes(D.OPAQUE_ENVIRONMENT,e)),this.fboCache.debugCallback?.(D.OPAQUE_ENVIRONMENT,t.color.fbo),this._renderEdges(1)}_renderPreTransparent(){this._framebuffer.update(e=>this._renderNodes(D.GAUSSIAN_SPLAT,e)),this.fboCache.debugCallback?.(D.GAUSSIAN_SPLAT,this._framebuffer.color.fbo),this._framebuffer.update(e=>this._renderNodes(D.OPAQUE_OCCLUSION_QUERY,e)),this.fboCache.debugCallback?.(D.OPAQUE_OCCLUSION_QUERY,this._framebuffer.color.fbo),this._framebuffer.update(e=>this._renderNodes(D.VOXEL,e)),this.fboCache.debugCallback?.(D.VOXEL,this._framebuffer.color.fbo)}_renderTransparent(){const e=this._framebuffer;if(this._renderHiddenTransparentEdges(),this._hasTransparentGeometry&&this._renderOIT(0),e.update(e=>this._renderNodes(T.TRANSPARENT,e,this._hasTransparentGeometry)),this.fboCache.debugCallback?.(T.TRANSPARENT,e.color.fbo),this._hasTransparentGeometry||this._plugins.render(15),this._renderEdges(0),this._bindParameters.ssao=n(this._bindParameters.ssao),e.update(e=>this._renderNodes(D.TRANSPARENT_NO_DEPTH,e)),this.fboCache.debugCallback?.(D.TRANSPARENT_NO_DEPTH,e.color.fbo),this._framebuffer.bind(),this._plugins.render(8),this._bindParameters.hasEmission){const e=this._rctx.setDrawBuffers([pe,le]);this._bindParameters.transparentWithoutDepthEmissionDimmingPass=!0,this._plugins.render(8),this._bindParameters.transparentWithoutDepthEmissionDimmingPass=!1,this._rctx.setDrawBuffers(e)}this.performanceInfo.advance(de.TRANSPARENT_MATERIAL_WITHOUT_DEPTH)}_renderNodes(e,t,s=!1){if(t.setName(e),this._pluginInput.set(e,t),!this._nodes.produces(e))return s&&this.performanceInfo.advance(e),t;const i=this._nodes.render(t,this._pluginInput,this._releaseNodeInputs);return this.performanceInfo.advance(e),this._fboCache.debugCallback?.(e,i.fbo),i}_renderInternalNodeCategory(e,t){if(!t)return;const s=t.name;try{this._renderNodes(e,t)}finally{this._pluginInput.set(e,null),t.setName(s)}}_ensureBindParameters(e,t){this._ensureBindParametersCamera(e,t),this._ensureBindParametersWeatherFader(),this._ensureBindParametersScreenSpaceReflections(),this._ensureBindParametersReprojection()}_ensureBindParametersCamera(e,t){this._bindParameters.camera=e,this._bindParameters.contentCamera=t}_ensureBindParametersWeatherFader(){1===this.stage.viewingMode&&(this._bindParameters.clouds.data&&(this._bindParameters.clouds.fade(this._bindParameters.camera,this.renderContext.time,this.stage.view.qualitySettings.fadeDuration,this.stage.view.state.stationary),this.weatherFader?.cleanupCubemap()),this._bindParameters.snowCover=this.weatherFader?.snowCover??0)}_ensureBindParametersScreenSpaceReflections(){const{time:e}=this.renderContext,{screenSpaceReflections:t}=this._bindParameters;if(this.hasReflections){null==this._ssrEnableTime&&(this._ssrEnableTime=e);const s=this.stage.view.qualitySettings.fadeDuration;t.fadeFactor=s>0?Math.min(s,e-this._ssrEnableTime)/s:1,t.fadeFactor<1&&this._requestRender()}else this._ssrEnableTime=null}_ensureBindParametersReprojection(){if(!(this.hasReflections||this.hasGlobalIllumination))return void(this._reprojectionMatrix=A);const{reprojection:e,camera:t}=this._bindParameters,{lastFrameCamera:s}=e,i=!s.equals(t);if(i?(f(Ne,t.viewMatrix),f(Re,t.projectionMatrix),g(Ge,Ne,Re),g(Ge,s.viewMatrix,Ge),g(Ge,s.projectionMatrix,Ge),this._reprojectionMatrix=Ge):this._reprojectionMatrix=A,this.hasGlobalIllumination){const{viewMatrix:t}=e;i?(g(Fe,s.viewMatrix,Ne),P(t,Fe)):P(t,A)}}addRenderNode(e){this._nodes.add(e),this._requestRender()}removeRenderNode(e){this._nodes.remove(e),this._requestRender()}updateLighting(e,t,s,i){this._bindParameters.updateLighting(e,t,s,i),this._requestRender(1)}get usedMemory(){return{fbos:this.fboCache.usedMemory,plugins:this._plugins.usedMemory,edges:this.edgeView?.usedMemory??0,clouds:this.weatherFader?.usedMemory??0}}get test(){}};e([p()],be.prototype,"_inGlobeView",void 0),e([p({readOnly:!0})],be.prototype,"highResolutionAtmosphere",null),e([p()],be.prototype,"_edgeView",void 0),e([p()],be.prototype,"updating",null),be=e([c("esri.views.3d.webgl-engine.lib.Renderer")],be);const fe=[0,1,2,3],ge=[7,6,4,5],Pe=[7,6],Ae=[0,1,2,4,...Pe],Ie=[3,5],we=[2,4,8],Ee=[16,12,14,13],Ce=[4,5,2,3,0,1,...Pe],Se=[4,8,5,11],Te={0:[13],1:[12],2:[13,12],3:[13,12]},De=[0,1,...Pe],Oe=["normals","highlights"],Re=I(),Ne=I(),Ge=I(),Fe=I();function He(e){return t=>e.immediate.schedule(t)}export{be as Renderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"../../../../core/has.js";import{disposeMaybe as e}from"../../../../core/maybe.js";import{isDepthOrShadowLike as s}from"../core/shaderLibrary/ShaderOutput.js";import{ScreenSpaceGeometry as r}from"../effects/ScreenSpaceGeometry.js";import{createEmptyTexture as t}from"./glUtil3D.js";import{IndexBufferCache as i}from"../materials/renderers/IndexBufferCache.js";import{TextureBufferCache as h}from"../materials/renderers/TextureBufferCache.js";import{VaoCache as a}from"../materials/renderers/VaoCache.js";import{VboCache as o}from"../materials/renderers/VboCache.js";import{DrawBufferNone as n}from"../../../webgl/enums.js";import{RenderingContext as u,getFramebufferDrawBuffers as c}from"../../../webgl/RenderingContext.js";class f extends u{constructor(e,s){super(e,s),this.emptyTexture=t(this),this._vaoCaches=new Map,this._vboCaches=new Map,this._indexBufferCache=null,this._textureBufferCaches=new Map,this._output=0,this.debugBoundTechnique="",this._refCount=1,this._newCache=s.newCache,this._screen=new r(this)}configure(e){super.configure(e),this._newCache=e.newCache}destroy(){this._vaoCaches.forEach(e=>e.dispose()),this._vaoCaches.clear(),this._vboCaches.forEach(e=>e.dispose()),this._vboCaches.clear(),this._indexBufferCache=e(this._indexBufferCache),this._textureBufferCaches.forEach(e=>e.dispose()),this._textureBufferCaches.clear(),--this._refCount>0||this.dispose()}ref(){++this._refCount}get refCount(){return this._refCount}dispose(){this.emptyTexture.dispose(),this._screen.destroy(),this._screen=null,super.dispose(),this._vaoCaches.forEach(e=>e.dispose()),this._vaoCaches.clear(),this._vboCaches.forEach(e=>e.dispose()),this._vboCaches.clear(),this._indexBufferCache?.dispose(),this._indexBufferCache=null,this._textureBufferCaches.forEach(e=>e.dispose()),this._textureBufferCaches.clear()}get newCache(){return this._newCache}get screen(){return this._screen}getVaoCache(e){const s=JSON.stringify(e),r=this._vaoCaches.get(s);if(r)return r;const t=new a(this,e);return this._vaoCaches.set(s,t),t}getVboCache(e){const s=JSON.stringify(e),r=this._vboCaches.get(s);if(r)return r;const t=new o(this,e);return this._vboCaches.set(s,t),t}get indexBufferCache(){return this._indexBufferCache??=new i(this),this._indexBufferCache}getTextureBufferCache(e){const s=JSON.stringify(e),r=this._textureBufferCaches.get(s);if(r)return r;const t=new h(this,e);return this._textureBufferCaches.set(s,t),t}resetDrawBuffers(e){this._output=e,this.setDrawBuffers(c(this._state.drawFramebuffer))}setDrawBuffers(e){return s(this._output)?super.setDrawBuffers([n]):super.setDrawBuffers(e)}bindTechnique(e,s,r,t){return this.debugBoundTechnique=e.declaredClass,this.useProgram(e.program),this.setPipelineState(e.getPipeline(s,r)),e.program.bind(s),e.program.bindPass(s,r),t&&e.program.bindDraw(s,r,t),e.program}get isAssumedMetalDriver(){if(null==this._isAssumedMetalDriver&&(this._isAssumedMetalDriver=!!has("ios")||!!has("safari"),!this._isAssumedMetalDriver&&has("mac")&&has("chrome"))){const e=this.capabilities.rendererInfo?.getUnmaskedRenderer().toLowerCase(),s=e?.includes("apple")&&e?.includes("angle")&&e?.includes("metal");this._isAssumedMetalDriver=s??!0}return this._isAssumedMetalDriver}get test(){}}export{f as RenderingContext};
2
+ import has from"../../../../core/has.js";import{disposeMaybe as e}from"../../../../core/maybe.js";import{ScreenSpaceGeometry as s}from"../effects/ScreenSpaceGeometry.js";import{createEmptyTexture as r}from"./glUtil3D.js";import{IndexBufferCache as t}from"../materials/renderers/IndexBufferCache.js";import{TextureBufferCache as i}from"../materials/renderers/TextureBufferCache.js";import{VaoCache as h}from"../materials/renderers/VaoCache.js";import{VboCache as a}from"../materials/renderers/VboCache.js";import{RenderingContext as n}from"../../../webgl/RenderingContext.js";class o extends n{constructor(e,t){super(e,t),this.emptyTexture=r(this),this._vaoCaches=new Map,this._vboCaches=new Map,this._indexBufferCache=null,this._textureBufferCaches=new Map,this.debugBoundTechnique="",this._refCount=1,this._newCache=t.newCache,this._screen=new s(this)}configure(e){super.configure(e),this._newCache=e.newCache}destroy(){this._vaoCaches.forEach(e=>e.dispose()),this._vaoCaches.clear(),this._vboCaches.forEach(e=>e.dispose()),this._vboCaches.clear(),this._indexBufferCache=e(this._indexBufferCache),this._textureBufferCaches.forEach(e=>e.dispose()),this._textureBufferCaches.clear(),--this._refCount>0||this.dispose()}ref(){++this._refCount}get refCount(){return this._refCount}dispose(){this.emptyTexture.dispose(),this._screen.destroy(),this._screen=null,super.dispose(),this._vaoCaches.forEach(e=>e.dispose()),this._vaoCaches.clear(),this._vboCaches.forEach(e=>e.dispose()),this._vboCaches.clear(),this._indexBufferCache?.dispose(),this._indexBufferCache=null,this._textureBufferCaches.forEach(e=>e.dispose()),this._textureBufferCaches.clear()}get newCache(){return this._newCache}get screen(){return this._screen}getVaoCache(e){const s=JSON.stringify(e),r=this._vaoCaches.get(s);if(r)return r;const t=new h(this,e);return this._vaoCaches.set(s,t),t}getVboCache(e){const s=JSON.stringify(e),r=this._vboCaches.get(s);if(r)return r;const t=new a(this,e);return this._vboCaches.set(s,t),t}get indexBufferCache(){return this._indexBufferCache??=new t(this),this._indexBufferCache}getTextureBufferCache(e){const s=JSON.stringify(e),r=this._textureBufferCaches.get(s);if(r)return r;const t=new i(this,e);return this._textureBufferCaches.set(s,t),t}bindTechnique(e,s,r,t){return this.debugBoundTechnique=e.declaredClass,this.useProgram(e.program),this.setPipelineState(e.getPipeline(s,r)),e.program.bind(s),e.program.bindPass(s,r),t&&e.program.bindDraw(s,r,t),e.program}get isAssumedMetalDriver(){if(null==this._isAssumedMetalDriver&&(this._isAssumedMetalDriver=!!has("ios")||!!has("safari"),!this._isAssumedMetalDriver&&has("mac")&&has("chrome"))){const e=this.capabilities.rendererInfo?.getUnmaskedRenderer().toLowerCase(),s=e?.includes("apple")&&e?.includes("angle")&&e?.includes("metal");this._isAssumedMetalDriver=s??!0}return this._isAssumedMetalDriver}get test(){}}export{o as RenderingContext};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- const e="popup",n="manual";function t(e){const{popupElement:n,popup:t}=e||{};return n??t??null}function o(e){return null!=e&&"open"in e&&"declaredClass"in e}function i(e){return!!e&&"arcgis-popup"===e.tagName.toLowerCase()&&"open"in e}function p(t,p,a){const[u,l,c]=p;if(a){const[n,t,p]=a;n&&o(t)&&(t.view=null,n.remove(t,e),t!==l&&l&&t.destroy()),n&&p&&i(p)&&(p.view=null,n.remove(p,e),p!==c&&c&&p.remove())}u&&o(l)&&(l.view=t,u.add(l,{key:e,position:n,internal:!0})),u&&c&&i(c)&&(c.view=t,u.add(c,{key:e,position:n,internal:!0}))}async function a(e,n){const{popup:t,popupElement:p}=e;o(t)?await s(e,t,null,n):p&&i(p)?await s(e,null,p,n):n?.defer(async()=>{await e.setupPopup();const{popup:t,popupElement:p}=e;o(t)&&!e.destroyed&&e.ready&&e.popupEnabled?await s(e,t,null,n):p&&i(p)&&await s(e,null,p,n)}).catch(()=>{})}function u(e,n){const{popup:t,popupElement:p}=e;if(o(t))return t.open(n);if(p&&i(p)){if(n){const{fetchFeatures:e,title:t,...o}=n;delete n.fetchFeatures,Object.assign(p,o),void 0!==t&&(p.heading=t)}p.open=!0}}function l(e,n){o(e)&&e.close(),n&&i(n)&&(n.visible=!1)}async function c(e,n,t,o){const i=e.fetchPopupFeatures(t.screenPoint,{pointerType:t.pointerType});o?await o.open({location:t.mapPoint??void 0,featureStream:i}):(n.location=t.mapPoint??null,n.featureStream=i,n.open=!0)}async function s(e,n,t,p){if(o(n)){const e=await n.viewModel.handleViewClick(p);return void(e?.promises?.length?n.open(e):n.visible&&n.close())}t&&i(t)&&await c(e,t,p)}export{p as addPopup,l as closePopup,c as handlePopupElementClick,o as isPopup,i as isPopupElement,u as openPopupWithOptions,a as openPopupWithViewClick,t as popupFromView};
2
+ const e="popup",n="manual";function t(e){const{popupElement:n,popup:t}=e||{};return n??t??null}function o(e){return null!=e&&"open"in e&&"declaredClass"in e}function p(e){return!!e&&"arcgis-popup"===e.tagName.toLowerCase()&&"open"in e}function i(t,i,a){const[u,l,c]=i;if(a){const[n,t,i]=a;n&&o(t)&&(t.view=null,n.remove(t,e),t!==l&&l&&t.destroy()),n&&i&&p(i)&&(i.view=null,n.remove(i,e),i!==c&&c&&i.remove())}u&&o(l)&&(l.view=t,u.add(l,{key:e,position:n,internal:!0})),u&&c&&p(c)&&(c.view=t,u.add(c,{key:e,position:n,internal:!0}))}async function a(e,n){const{popup:t,popupElement:i}=e;o(t)?await s(e,t,null,n):i&&p(i)?await s(e,null,i,n):n?.defer(async()=>{await e.setupPopup();const{popup:t,popupElement:i}=e;o(t)&&!e.destroyed&&e.ready&&e.popupEnabled?await s(e,t,null,n):i&&p(i)&&await s(e,null,i,n)}).catch(()=>{})}function u(e,n){const{popup:t,popupElement:i}=e;if(o(t))return t.open(n);if(i&&p(i)){if(n){const{fetchFeatures:e,title:t,...o}=n;delete n.fetchFeatures,Object.assign(i,o),void 0!==t&&(i.heading=t)}i.open=!0}}function l(e,n){o(e)&&e.close(),n&&p(n)&&(n.visible=!1)}function c(e,n,t){return e.fetchPopupFeatures(t.screenPoint,{pointerType:t.pointerType,defaultPopupTemplateEnabled:n.defaultPopupTemplateEnabled})}async function r(e,n,t,o){const p=c(e,n,t);o?await o.open({location:t.mapPoint??void 0,featureStream:p}):(n.location=t.mapPoint??null,n.featureStream=p,n.open=!0)}async function s(e,n,t,i){if(o(n)){const e=await n.viewModel.handleViewClick(i);return void(e?.promises?.length?n.open(e):n.visible&&n.close())}t&&p(t)&&await r(e,t,i)}export{i as addPopup,l as closePopup,c as fetchPopupFeaturesForPopupElementClick,r as handlePopupElementClick,o as isPopup,p as isPopupElement,u as openPopupWithOptions,a as openPopupWithViewClick,t as popupFromView};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7733],{57733(e,t,_){_.r(t),_.d(t,{ColumnDescriptor:()=>r,ColumnId:()=>n,DisplayOptimizationXZBuilder:()=>s,DisplayOptimizationZBuilder:()=>o,Extent:()=>a,FieldMetadata:()=>u,GeometryField:()=>c,GeometryInfo:()=>l,MultiscaleGeometryField:()=>p,PageEncodingDescriptor:()=>b,ParquetChunk:()=>w,ParquetFile:()=>d,ParquetPatchChunk:()=>f,QuantizedGeometryBuffer:()=>y,Query:()=>h,QueryStream:()=>m,RangeProviderJs:()=>z,RowGroup:()=>F,RowGroupId:()=>q,default:()=>Oe,enableTracing:()=>x,getXZCodeRanges:()=>S,initSync:()=>Ce,queryIntersectsXYStatistics:()=>R,queryIntersectsXZStatistics:()=>v});class r{static __wrap(e){e>>>=0;const t=Object.create(r.prototype);return t.__wbg_ptr=e,T.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_columndescriptor_free(e,0)}compressedSize(){return Re.columndescriptor_compressedSize(this.__wbg_ptr)}compression(){let e,t;try{const _=Re.columndescriptor_compression(this.__wbg_ptr);return e=_[0],t=_[1],ue(_[0],_[1])}finally{Re.__wbindgen_free(e,t,1)}}distinctCount(){const e=Re.columndescriptor_distinctCount(this.__wbg_ptr);return 0===e[0]?void 0:e[1]}encodings(){return Re.columndescriptor_encodings(this.__wbg_ptr)}logicalType(){const e=Re.columndescriptor_logicalType(this.__wbg_ptr);let t;return 0!==e[0]&&(t=ue(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],1*e[1],1)),t}maxValue(){return Re.columndescriptor_maxValue(this.__wbg_ptr)}minValue(){return Re.columndescriptor_minValue(this.__wbg_ptr)}name(){let e,t;try{const _=Re.columndescriptor_name(this.__wbg_ptr);return e=_[0],t=_[1],ue(_[0],_[1])}finally{Re.__wbindgen_free(e,t,1)}}nullCount(){const e=Re.columndescriptor_nullCount(this.__wbg_ptr);return 0===e[0]?void 0:e[1]}numValues(){return Re.columndescriptor_numValues(this.__wbg_ptr)}pageEncodings(){const e=Re.columndescriptor_pageEncodings(this.__wbg_ptr);let t;return 0!==e[0]&&(t=_e(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],4*e[1],4)),t}physicalType(){const e=Re.columndescriptor_physicalType(this.__wbg_ptr);return O[e]}uncompressedSize(){return Re.columndescriptor_uncompressedSize(this.__wbg_ptr)}}Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free);class n{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,P.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_columnid_free(e,0)}}Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);const i=Object.freeze({PBF:0,0:"PBF"});class s{static __wrap(e){e>>>=0;const t=Object.create(s.prototype);return t.__wbg_ptr=e,M.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,M.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_displayoptimizationxzbuilder_free(e,0)}addLevel(e){$(e,p);var t=e.__destroy_into_raw();Re.displayoptimizationxzbuilder_addLevel(this.__wbg_ptr,t)}static new(){const e=Re.displayoptimizationxzbuilder_new();return s.__wrap(e)}setCodeField(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationxzbuilder_setCodeField(this.__wbg_ptr,t,_)}setEncoding(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve,r=Re.displayoptimizationxzbuilder_setEncoding(this.__wbg_ptr,t,_);if(r[1])throw ze(r[0])}setFullExtent(e){Re.displayoptimizationxzbuilder_setFullExtent(this.__wbg_ptr,e)}setGeometryType(e){Re.displayoptimizationxzbuilder_setGeometryType(this.__wbg_ptr,e)}setHasM(e){Re.displayoptimizationxzbuilder_setHasM(this.__wbg_ptr,e)}setHasZ(e){Re.displayoptimizationxzbuilder_setHasZ(this.__wbg_ptr,e)}setMaxLevel(e){Re.displayoptimizationxzbuilder_setMaxLevel(this.__wbg_ptr,e)}setSpatialReference(e,t){var _=we(t)?0:me(t,Re.__wbindgen_malloc,Re.__wbindgen_realloc),r=ve;const n=Re.displayoptimizationxzbuilder_setSpatialReference(this.__wbg_ptr,we(e)?4294967297:e>>>0,_,r);if(n[1])throw ze(n[0])}}Symbol.dispose&&(s.prototype[Symbol.dispose]=s.prototype.free);class o{static __wrap(e){e>>>=0;const t=Object.create(o.prototype);return t.__wbg_ptr=e,j.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_displayoptimizationzbuilder_free(e,0)}static new(){const e=Re.displayoptimizationzbuilder_new();return o.__wrap(e)}setCodeField(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationzbuilder_setCodeField(this.__wbg_ptr,t,_)}setCooordinatePrecision(e){Re.displayoptimizationzbuilder_setCooordinatePrecision(this.__wbg_ptr,e)}setFullExtent(e){Re.displayoptimizationzbuilder_setFullExtent(this.__wbg_ptr,e)}setHasM(e){Re.displayoptimizationzbuilder_setHasM(this.__wbg_ptr,e)}setHasZ(e){Re.displayoptimizationzbuilder_setHasZ(this.__wbg_ptr,e)}setMColumn(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationzbuilder_setMColumn(this.__wbg_ptr,t,_)}setSpatialReference(e,t){var _=we(t)?0:me(t,Re.__wbindgen_malloc,Re.__wbindgen_realloc),r=ve;const n=Re.displayoptimizationzbuilder_setSpatialReference(this.__wbg_ptr,we(e)?4294967297:e>>>0,_,r);if(n[1])throw ze(n[0])}setXColumn(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationzbuilder_setXColumn(this.__wbg_ptr,t,_)}setYColumn(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationzbuilder_setYColumn(this.__wbg_ptr,t,_)}setZColumn(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.displayoptimizationzbuilder_setZColumn(this.__wbg_ptr,t,_)}}Symbol.dispose&&(o.prototype[Symbol.dispose]=o.prototype.free);class a{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,A.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_extent_free(e,0)}get xmax(){return Re.__wbg_get_extent_xmax(this.__wbg_ptr)}get xmin(){return Re.__wbg_get_extent_xmin(this.__wbg_ptr)}get ymax(){return Re.__wbg_get_extent_ymax(this.__wbg_ptr)}get ymin(){return Re.__wbg_get_extent_ymin(this.__wbg_ptr)}set xmax(e){Re.__wbg_set_extent_xmax(this.__wbg_ptr,e)}set xmin(e){Re.__wbg_set_extent_xmin(this.__wbg_ptr,e)}set ymax(e){Re.__wbg_set_extent_ymax(this.__wbg_ptr,e)}set ymin(e){Re.__wbg_set_extent_ymin(this.__wbg_ptr,e)}}Symbol.dispose&&(a.prototype[Symbol.dispose]=a.prototype.free);class u{static __wrap(e){e>>>=0;const t=Object.create(u.prototype);return t.__wbg_ptr=e,U.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,U.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_fieldmetadata_free(e,0)}get type(){const e=Re.fieldmetadata_esri_type(this.__wbg_ptr);return I[e]}get logicalType(){const e=Re.fieldmetadata_logical_type(this.__wbg_ptr);let t;return 0!==e[0]&&(t=ue(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],1*e[1],1)),t}get name(){let e,t;try{const _=Re.fieldmetadata_name(this.__wbg_ptr);return e=_[0],t=_[1],ue(_[0],_[1])}finally{Re.__wbindgen_free(e,t,1)}}get physicalType(){const e=Re.fieldmetadata_physical_type(this.__wbg_ptr);let t;return 0!==e[0]&&(t=ue(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],1*e[1],1)),t}get is_nested(){return 0!==Re.__wbg_get_fieldmetadata_is_nested(this.__wbg_ptr)}set is_nested(e){Re.__wbg_set_fieldmetadata_is_nested(this.__wbg_ptr,e)}}Symbol.dispose&&(u.prototype[Symbol.dispose]=u.prototype.free);class c{static __wrap(e){e>>>=0;const t=Object.create(c.prototype);return t.__wbg_ptr=e,L.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,L.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_geometryfield_free(e,0)}static fromLocation(e,t,_,r){const n=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),i=ve,s=me(t,Re.__wbindgen_malloc,Re.__wbindgen_realloc),o=ve,a=Re.geometryfield_fromLocation(n,i,s,o,_,r);if(a[2])throw ze(a[1]);return c.__wrap(a[0])}static fromWkb(e,t,_){const r=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),n=ve,i=Re.geometryfield_fromWkb(r,n,t,_);if(i[2])throw ze(i[1]);return c.__wrap(i[0])}}Symbol.dispose&&(c.prototype[Symbol.dispose]=c.prototype.free);class l{static __wrap(e){e>>>=0;const t=Object.create(l.prototype);return t.__wbg_ptr=e,G.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,G.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_geometryinfo_free(e,0)}static new(){const e=Re.geometryinfo_new();if(e[2])throw ze(e[1]);return l.__wrap(e[0])}setGeometry(e){$(e,c);var t=e.__destroy_into_raw();Re.geometryinfo_setGeometry(this.__wbg_ptr,t)}setOptmizationXZ(e){$(e,s);var t=e.__destroy_into_raw();const _=Re.geometryinfo_setOptmizationXZ(this.__wbg_ptr,t);if(_[1])throw ze(_[0])}setOptmizationZ(e){$(e,o);var t=e.__destroy_into_raw();const _=Re.geometryinfo_setOptmizationZ(this.__wbg_ptr,t);if(_[1])throw ze(_[0])}}Symbol.dispose&&(l.prototype[Symbol.dispose]=l.prototype.free);const g=Object.freeze({Point:0,0:"Point",Polygon:1,1:"Polygon",Polyline:2,2:"Polyline",Multipoint:3,3:"Multipoint"});class p{static __wrap(e){e>>>=0;const t=Object.create(p.prototype);return t.__wbg_ptr=e,E.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_multiscalegeometryfield_free(e,0)}get level(){return Re.__wbg_get_multiscalegeometryfield_level(this.__wbg_ptr)}get resolution(){return Re.__wbg_get_multiscalegeometryfield_resolution(this.__wbg_ptr)}has_field(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;return 0!==Re.multiscalegeometryfield_has_field(this.__wbg_ptr,t,_)}static new(e,t,_,r,n){const i=me(_,Re.__wbindgen_malloc,Re.__wbindgen_realloc),s=ve,o=ye(r,Re.__wbindgen_malloc),a=ve,u=ye(n,Re.__wbindgen_malloc),c=ve,l=Re.multiscalegeometryfield_new(e,t,i,s,o,a,u,c);return p.__wrap(l)}set level(e){Re.__wbg_set_multiscalegeometryfield_level(this.__wbg_ptr,e)}set resolution(e){Re.__wbg_set_multiscalegeometryfield_resolution(this.__wbg_ptr,e)}}Symbol.dispose&&(p.prototype[Symbol.dispose]=p.prototype.free);class b{static __wrap(e){e>>>=0;const t=Object.create(b.prototype);return t.__wbg_ptr=e,D.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,D.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_pageencodingdescriptor_free(e,0)}count(){return Re.pageencodingdescriptor_count(this.__wbg_ptr)}encoding(){let e,t;try{const _=Re.pageencodingdescriptor_encoding(this.__wbg_ptr);return e=_[0],t=_[1],ue(_[0],_[1])}finally{Re.__wbindgen_free(e,t,1)}}pageType(){let e,t;try{const _=Re.pageencodingdescriptor_pageType(this.__wbg_ptr);return e=_[0],t=_[1],ue(_[0],_[1])}finally{Re.__wbindgen_free(e,t,1)}}}Symbol.dispose&&(b.prototype[Symbol.dispose]=b.prototype.free);class w{static __wrap(e){e>>>=0;const t=Object.create(w.prototype);return t.__wbg_ptr=e,W.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,W.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_parquetchunk_free(e,0)}boundsXMax(e){const t=Re.parquetchunk_boundsXMax(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsXMin(e){const t=Re.parquetchunk_boundsXMin(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsYMax(e){const t=Re.parquetchunk_boundsYMax(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}boundsYMin(e){const t=Re.parquetchunk_boundsYMin(this.__wbg_ptr,e);return 0===t[0]?void 0:t[1]}coordinateStride(){return Re.parquetchunk_coordinateStride(this.__wbg_ptr)>>>0}static deserialize(e){const t=fe(e,Re.__wbindgen_malloc),_=ve,r=Re.parquetchunk_deserialize(t,_);return w.__wrap(r)}hasColumn(e){return 0!==Re.parquetchunk_hasColumn(this.__wbg_ptr,e)}hasM(){return 0!==Re.parquetchunk_hasM(this.__wbg_ptr)}hasZ(){return 0!==Re.parquetchunk_hasZ(this.__wbg_ptr)}insertPatch(e){$(e,f);var t=e.__destroy_into_raw();Re.parquetchunk_insertPatch(this.__wbg_ptr,t)}insertPatchBytes(e){const t=fe(e,Re.__wbindgen_malloc),_=ve;Re.parquetchunk_insertPatchBytes(this.__wbg_ptr,t,_)}readAttribute(e,t){return Re.parquetchunk_readAttribute(this.__wbg_ptr,e,t)}readCoordsUnsafe(e){return Re.parquetchunk_readCoordsUnsafe(this.__wbg_ptr,e)}readIdsUnsafe(){return Re.parquetchunk_readIdsUnsafe(this.__wbg_ptr)}readLengthsUnsafe(e){return Re.parquetchunk_readLengthsUnsafe(this.__wbg_ptr,e)}readPointCoordsQuantizedUnsafe(){return Re.parquetchunk_readPointCoordsQuantizedUnsafe(this.__wbg_ptr)}readPointCoordsUnsafe(){return Re.parquetchunk_readPointCoordsUnsafe(this.__wbg_ptr)}rowGroup(){return Re.parquetchunk_rowGroup(this.__wbg_ptr)>>>0}rowId(e){return Re.parquetchunk_rowId(this.__wbg_ptr,e)}serialize(){const e=Re.parquetchunk_serialize(this.__wbg_ptr);var t=re(e[0],e[1]).slice();return Re.__wbindgen_free(e[0],1*e[1],1),t}size(){return Re.parquetchunk_size(this.__wbg_ptr)>>>0}transformGeometry(e,t,_,r,n,i){$(e,y);const s=Re.parquetchunk_transformGeometry(this.__wbg_ptr,e.__wbg_ptr,t,_,r,n,i);return 16777215===s?void 0:0!==s}}Symbol.dispose&&(w.prototype[Symbol.dispose]=w.prototype.free);class d{static __wrap(e){e>>>=0;const t=Object.create(d.prototype);return t.__wbg_ptr=e,Z.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Z.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_parquetfile_free(e,0)}byteLength(){return Re.parquetfile_byteLength(this.__wbg_ptr)}columnIndex(e,t){return Re.parquetfile_columnIndex(this.__wbg_ptr,e,t)}compressionCodecs(){const e=Re.parquetfile_compressionCodecs(this.__wbg_ptr);var t=_e(e[0],e[1]).slice();return Re.__wbindgen_free(e[0],4*e[1],4),t}createChunkPatch(e,t,_,r){const n=de(t,Re.__wbindgen_malloc),i=ve,s=he(_,Re.__wbindgen_malloc),o=ve;return Re.parquetfile_createChunkPatch(this.__wbg_ptr,e,n,i,s,o,we(r)?0:N(r))}createdBy(){const e=Re.parquetfile_createdBy(this.__wbg_ptr);let t;return 0!==e[0]&&(t=ue(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],1*e[1],1)),t}diagnosticsSnapshot(){const e=Re.parquetfile_diagnosticsSnapshot(this.__wbg_ptr);if(e[2])throw ze(e[1]);return ze(e[0])}executeQuery(e,t,_){return $(e,h),Re.parquetfile_executeQuery(this.__wbg_ptr,e.__wbg_ptr,t,we(_)?0:N(_))}fields(e){const t=Re.parquetfile_fields(this.__wbg_ptr,e);var _=_e(t[0],t[1]).slice();return Re.__wbindgen_free(t[0],4*t[1],4),_}static fromBinary(e,t){const _=fe(e,Re.__wbindgen_malloc),r=ve;let n=0;return we(t)||($(t,l),n=t.__destroy_into_raw()),Re.parquetfile_fromBinary(_,r,n)}static fromUrl(e,t,_,r){const n=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),i=ve;let s=0;return we(r)||($(r,l),s=r.__destroy_into_raw()),Re.parquetfile_fromUrl(n,i,t,_,s)}getColumnDescriptor(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve,n=Re.parquetfile_getColumnDescriptor(this.__wbg_ptr,t,_);return r.__wrap(n)}getColumnDescriptors(){const e=Re.parquetfile_getColumnDescriptors(this.__wbg_ptr);var t=_e(e[0],e[1]).slice();return Re.__wbindgen_free(e[0],4*e[1],4),t}getColumnId(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve,r=Re.parquetfile_getColumnId(this.__wbg_ptr,t,_);return 4294967297===r?void 0:r}keyValueMetadata(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve,r=Re.parquetfile_keyValueMetadata(this.__wbg_ptr,t,_);let n;return 0!==r[0]&&(n=ue(r[0],r[1]).slice(),Re.__wbindgen_free(r[0],1*r[1],1)),n}keys(){const e=Re.parquetfile_keys(this.__wbg_ptr);let t;return 0!==e[0]&&(t=_e(e[0],e[1]).slice(),Re.__wbindgen_free(e[0],4*e[1],4)),t}numColumns(){return Re.parquetfile_numColumns(this.__wbg_ptr)>>>0}numFields(){return Re.parquetfile_numFields(this.__wbg_ptr)>>>0}numRows(){return Re.parquetfile_numRows(this.__wbg_ptr)>>>0}offsetIndex(e,t){return Re.parquetfile_offsetIndex(this.__wbg_ptr,e,t)}readAttribute(e,t,_){return Re.parquetfile_readAttribute(this.__wbg_ptr,e,t,_)}rowGroups(){const e=Re.parquetfile_rowGroups(this.__wbg_ptr);var t=_e(e[0],e[1]).slice();return Re.__wbindgen_free(e[0],4*e[1],4),t}updateChunkFields(e,t,_){$(e,w);const r=he(t,Re.__wbindgen_malloc),n=ve;return Re.parquetfile_updateChunkFields(this.__wbg_ptr,e.__wbg_ptr,r,n,we(_)?0:N(_))}version(){return Re.parquetfile_version(this.__wbg_ptr)}}Symbol.dispose&&(d.prototype[Symbol.dispose]=d.prototype.free);class f{static __wrap(e){e>>>=0;const t=Object.create(f.prototype);return t.__wbg_ptr=e,B.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,B.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_parquetpatchchunk_free(e,0)}static deserialize(e){const t=fe(e,Re.__wbindgen_malloc),_=ve,r=Re.parquetpatchchunk_deserialize(t,_);return f.__wrap(r)}serialize(){const e=Re.parquetpatchchunk_serialize(this.__wbg_ptr);var t=re(e[0],e[1]).slice();return Re.__wbindgen_free(e[0],1*e[1],1),t}}Symbol.dispose&&(f.prototype[Symbol.dispose]=f.prototype.free);class y{static __wrap(e){e>>>=0;const t=Object.create(y.prototype);return t.__wbg_ptr=e,X.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,X.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_quantizedgeometrybuffer_free(e,0)}static new(){const e=Re.quantizedgeometrybuffer_new();return y.__wrap(e)}readCoordsUnsafe(){return Re.quantizedgeometrybuffer_readCoordsUnsafe(this.__wbg_ptr)}readLengthsUnsafe(){return Re.quantizedgeometrybuffer_readLengthsUnsafe(this.__wbg_ptr)}}Symbol.dispose&&(y.prototype[Symbol.dispose]=y.prototype.free);class h{static __wrap(e){e>>>=0;const t=Object.create(h.prototype);return t.__wbg_ptr=e,H.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,H.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_query_free(e,0)}static new(){const e=Re.query_new();return h.__wrap(e)}setExtent(e){Re.query_setExtent(this.__wbg_ptr,e)}setIds(e){const t=de(e,Re.__wbindgen_malloc),_=ve;Re.query_setIds(this.__wbg_ptr,t,_)}setOutFields(e){const t=he(e,Re.__wbindgen_malloc),_=ve;Re.query_setOutFields(this.__wbg_ptr,t,_)}setOutSpatialReference(e){const t=Re.query_setOutSpatialReference(this.__wbg_ptr,e);if(t[1])throw ze(t[0])}setPostFilterCount(e){Re.query_setPostFilterCount(this.__wbg_ptr,e)}setPostFilterStart(e){Re.query_setPostFilterStart(this.__wbg_ptr,e)}setPreFilterCount(e){Re.query_setPreFilterCount(this.__wbg_ptr,e)}setPreFilterStart(e){Re.query_setPreFilterStart(this.__wbg_ptr,e)}setQuantizationTransform(e){Re.query_setQuantizationTransform(this.__wbg_ptr,e)}setReturnGeometry(e){Re.query_setReturnGeometry(this.__wbg_ptr,e)}setReturnM(e){Re.query_setReturnM(this.__wbg_ptr,e)}setReturnZ(e){Re.query_setReturnZ(this.__wbg_ptr,e)}setSourceResolution(e){Re.query_setSourceResolution(this.__wbg_ptr,e)}setWhere(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve;Re.query_setWhere(this.__wbg_ptr,t,_)}setWhereEvaluator(e){Re.query_setWhereEvaluator(this.__wbg_ptr,e)}setWhereFields(e){const t=he(e,Re.__wbindgen_malloc),_=ve;Re.query_setWhereFields(this.__wbg_ptr,t,_)}}Symbol.dispose&&(h.prototype[Symbol.dispose]=h.prototype.free);class m{static __wrap(e){e>>>=0;const t=Object.create(m.prototype);return t.__wbg_ptr=e,Q.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Q.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_querystream_free(e,0)}next(e){return Re.querystream_next(this.__wbg_ptr,we(e)?0:N(e))}}Symbol.dispose&&(m.prototype[Symbol.dispose]=m.prototype.free);class z{static __wrap(e){e>>>=0;const t=Object.create(z.prototype);return t.__wbg_ptr=e,V.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,V.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_rangeproviderjs_free(e,0)}static new(e,t){const _=Re.rangeproviderjs_new(e,t);return z.__wrap(_)}static withFetch(){const e=Re.rangeproviderjs_withFetch();return z.__wrap(e)}}Symbol.dispose&&(z.prototype[Symbol.dispose]=z.prototype.free);class F{static __wrap(e){e>>>=0;const t=Object.create(F.prototype);return t.__wbg_ptr=e,Y.register(t,t.__wbg_ptr,t),t}__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Y.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_rowgroup_free(e,0)}columnDescriptorForAttribute(e){const t=me(e,Re.__wbindgen_malloc,Re.__wbindgen_realloc),_=ve,n=Re.rowgroup_columnDescriptorForAttribute(this.__wbg_ptr,t,_);return r.__wrap(n)}}Symbol.dispose&&(F.prototype[Symbol.dispose]=F.prototype.free);class q{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,J.unregister(this),e}free(){const e=this.__destroy_into_raw();Re.__wbg_rowgroupid_free(e,0)}}function x(){Re.enableTracing()}function S(e,t,_,r,n){const i=Re.getXZCodeRanges(e,t,_,r,n);if(i[2])throw ze(i[1]);return ze(i[0])}function R(e,t,_,r,n,i,s){const o=Re.queryIntersectsXYStatistics(e,t,_,r,n,i,s);if(o[2])throw ze(o[1]);return 0!==o[0]}function v(e,t,_,r,n,i,s){const o=Re.queryIntersectsXZStatistics(e,t,_,r,n,i,s);if(o[2])throw ze(o[1]);return 0!==o[0]}function k(){const e={__proto__:null,__wbg_String_8564e559799eccda:function(e,t){const _=me(String(t),Re.__wbindgen_malloc,Re.__wbindgen_realloc),r=ve;ie().setInt32(e+4,r,!0),ie().setInt32(e+0,_,!0)},__wbg___wbindgen_is_function_3baa9db1a987f47d:function(e){return"function"==typeof e},__wbg___wbindgen_is_undefined_29a43b4d42920abd:function(e){return void 0===e},__wbg___wbindgen_number_get_c7f42aed0525c451:function(e,t){const _="number"==typeof t?t:void 0;ie().setFloat64(e+8,we(_)?0:_,!0),ie().setInt32(e+0,!we(_),!0)},__wbg___wbindgen_string_get_7ed5322991caaec5:function(e,t){const _="string"==typeof t?t:void 0;var r=we(_)?0:me(_,Re.__wbindgen_malloc,Re.__wbindgen_realloc),n=ve;ie().setInt32(e+4,n,!0),ie().setInt32(e+0,r,!0)},__wbg___wbindgen_throw_6b64449b9b9ed33c:function(e,t){throw new Error(ue(e,t))},__wbg__wbg_cb_unref_b46c9b5a9f08ec37:function(e){e._wbg_cb_unref()},__wbg_aborted_072e5543dce0fc05:function(e){return e.aborted},__wbg_apply_4c35bd236dda9c14:function(){return be(function(e,t,_){return e.apply(t,_)},arguments)},__wbg_call_86e39d65afc3d9db:function(){return be(function(e,t,_,r,n){return e.call(t,_,r,n)},arguments)},__wbg_call_a24592a6f349a97e:function(){return be(function(e,t,_){return e.call(t,_)},arguments)},__wbg_columndescriptor_new:function(e){return r.__wrap(e)},__wbg_error_a6fa202b58aa1cd3:function(e,t){let _,r;try{_=e,r=t,console.error(ue(e,t))}finally{Re.__wbindgen_free(_,r,1)}},__wbg_fieldmetadata_new:function(e){return u.__wrap(e)},__wbg_get_6011fa3a58f61074:function(){return be(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_17f53dad852b9588:function(e,t){return e[t>>>0]},__wbg_length_3d4ecd04bd8d22f1:function(e){return e.length},__wbg_length_9f1775224cf1d815:function(e){return e.length},__wbg_new_0c7403db6e782f19:function(e){return new Uint8Array(e)},__wbg_new_227d7c05414eb861:function(){return new Error},__wbg_new_5e360d2ff7b9e1c3:function(e,t){return new Error(ue(e,t))},__wbg_new_682678e2f47e32bc:function(){return new Array},__wbg_new_8bc2b540bbfdbb81:function(e){return new Uint32Array(e)},__wbg_new_aa8d0fa9762c29bd:function(){return new Object},__wbg_new_from_slice_158b7b5c2056cc2c:function(e,t){return new Int16Array(te(e,t))},__wbg_new_from_slice_3115b094b1002246:function(e,t){return new Float64Array(ee(e,t))},__wbg_new_no_args_a5300b4b3ea60351:function(e,t){return new Function(ue(e,t))},__wbg_new_typed_323f37fd55ab048d:function(e,t){try{var _={a:e,b:t};return new Promise((e,t)=>{const r=_.a;_.a=0;try{return function(e,t,_,r){Re.wasm_bindgen__convert__closures_____invoke__h40273f30e88f7d49(e,t,_,r)}(r,_.b,e,t)}finally{_.a=r}})}finally{_.a=0}},__wbg_new_with_length_223c4ea248649e55:function(e){return new Array(e>>>0)},__wbg_pageencodingdescriptor_new:function(e){return b.__wrap(e)},__wbg_parquetchunk_new:function(e){return w.__wrap(e)},__wbg_parquetfile_new:function(e){return d.__wrap(e)},__wbg_parquetpatchchunk_new:function(e){return f.__wrap(e)},__wbg_prototypesetcall_a6b02eb00b0f4ce2:function(e,t,_){Uint8Array.prototype.set.call(re(e,t),_)},__wbg_push_471a5b068a5295f6:function(e,t){return e.push(t)},__wbg_querystream_new:function(e){return m.__wrap(e)},__wbg_queueMicrotask_5d15a957e6aa920e:function(e){queueMicrotask(e)},__wbg_queueMicrotask_f8819e5ffc402f36:function(e){return e.queueMicrotask},__wbg_resolve_e6c466bc1052f16c:function(e){return Promise.resolve(e)},__wbg_rowgroup_new:function(e){return F.__wrap(e)},__wbg_set_3bf1de9fab0cd644:function(e,t,_){e[t>>>0]=_},__wbg_set_6be42768c690e380:function(e,t,_){e[t]=_},__wbg_set_name_f49c6e6bbfc8a63b:function(e,t,_){e.name=ue(t,_)},__wbg_stack_3b0d974bbf31e44f:function(e,t){const _=me(t.stack,Re.__wbindgen_malloc,Re.__wbindgen_realloc),r=ve;ie().setInt32(e+4,r,!0),ie().setInt32(e+0,_,!0)},__wbg_static_accessor_GLOBAL_8cfadc87a297ca02:function(){const e=void 0===_.g?null:_.g;return we(e)?0:N(e)},__wbg_static_accessor_GLOBAL_THIS_602256ae5c8f42cf:function(){const e="undefined"==typeof globalThis?null:globalThis;return we(e)?0:N(e)},__wbg_static_accessor_SELF_e445c1c7484aecc3:function(){const e="undefined"==typeof self?null:self;return we(e)?0:N(e)},__wbg_static_accessor_WINDOW_f20e8576ef1e0f17:function(){const e="undefined"==typeof window?null:window;return we(e)?0:N(e)},__wbg_then_792e0c862b060889:function(e,t,_){return e.then(t,_)},__wbg_then_8e16ee11f05e4827:function(e,t){return e.then(t)},__wbg_valueOf_25e11684e38026ef:function(e){return e.valueOf()},__wbg_valueOf_91a54faf8ce0976a:function(e){return e.valueOf()},__wbindgen_cast_0000000000000001:function(e,t){return function(e,t,_){const r={a:e,b:t,cnt:1},n=(...e)=>{r.cnt++;const t=r.a;r.a=0;try{return _(t,r.b,...e)}finally{r.a=t,n._wbg_cb_unref()}};return n._wbg_cb_unref=()=>{0===--r.cnt&&(Re.__wbindgen_destroy_closure(r.a,r.b),r.a=0,K.unregister(r))},K.register(n,r,r),n}(e,t,C)},__wbindgen_cast_0000000000000002:function(e){return e},__wbindgen_cast_0000000000000003:function(e){return e},__wbindgen_cast_0000000000000004:function(e,t){return ee(e,t)},__wbindgen_cast_0000000000000005:function(e,t){return te(e,t)},__wbindgen_cast_0000000000000006:function(e,t){return function(e,t){return e>>>=0,le().subarray(e/4,e/4+t)}(e,t)},__wbindgen_cast_0000000000000007:function(e,t){return re(e,t)},__wbindgen_cast_0000000000000008:function(e,t){return ue(e,t)},__wbindgen_cast_0000000000000009:function(e,t){var _=re(e,t).slice();return Re.__wbindgen_free(e,1*t,1),_},__wbindgen_init_externref_table:function(){const e=Re.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}};return{__proto__:null,"./bundle_bg.js":e}}function C(e,t,_){const r=Re.wasm_bindgen__convert__closures_____invoke__h0f8118aa5481cebe(e,t,_);if(r[1])throw ze(r[0])}Symbol.dispose&&(q.prototype[Symbol.dispose]=q.prototype.free);const O=["boolean","int32","int64","int96","float","double","byte-array","fixed-byte-array"],I=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeBigInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],T="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_columndescriptor_free(e>>>0,1)),P="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_columnid_free(e>>>0,1)),M="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_displayoptimizationxzbuilder_free(e>>>0,1)),j="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_displayoptimizationzbuilder_free(e>>>0,1)),A="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_extent_free(e>>>0,1)),U="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_fieldmetadata_free(e>>>0,1)),L="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_geometryfield_free(e>>>0,1)),G="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_geometryinfo_free(e>>>0,1)),E="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_multiscalegeometryfield_free(e>>>0,1)),D="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_pageencodingdescriptor_free(e>>>0,1)),W="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_parquetchunk_free(e>>>0,1)),Z="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_parquetfile_free(e>>>0,1)),B="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_parquetpatchchunk_free(e>>>0,1)),X="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_quantizedgeometrybuffer_free(e>>>0,1)),H="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_query_free(e>>>0,1)),Q="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_querystream_free(e>>>0,1)),V="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_rangeproviderjs_free(e>>>0,1)),Y="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_rowgroup_free(e>>>0,1)),J="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbg_rowgroupid_free(e>>>0,1));function N(e){const t=Re.__externref_table_alloc();return Re.__wbindgen_externrefs.set(t,e),t}function $(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`)}const K="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Re.__wbindgen_destroy_closure(e.a,e.b));function ee(e,t){return e>>>=0,oe().subarray(e/8,e/8+t)}function te(e,t){return e>>>=0,(null!==ae&&0!==ae.byteLength||(ae=new Int16Array(Re.memory.buffer)),ae).subarray(e/2,e/2+t)}function _e(e,t){e>>>=0;const _=ie(),r=[];for(let n=e;n<e+4*t;n+=4)r.push(Re.__wbindgen_externrefs.get(_.getUint32(n,!0)));return Re.__externref_drop_slice(e,t),r}function re(e,t){return e>>>=0,pe().subarray(e/1,e/1+t)}let ne=null;function ie(){return(null===ne||!0===ne.buffer.detached||void 0===ne.buffer.detached&&ne.buffer!==Re.memory.buffer)&&(ne=new DataView(Re.memory.buffer)),ne}let se=null;function oe(){return null!==se&&0!==se.byteLength||(se=new Float64Array(Re.memory.buffer)),se}let ae=null;function ue(e,t){return function(e,t){return xe+=t,xe>=qe&&(Fe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Fe.decode(),xe=t),Fe.decode(pe().subarray(e,e+t))}(e>>>=0,t)}let ce=null;function le(){return null!==ce&&0!==ce.byteLength||(ce=new Uint32Array(Re.memory.buffer)),ce}let ge=null;function pe(){return null!==ge&&0!==ge.byteLength||(ge=new Uint8Array(Re.memory.buffer)),ge}function be(e,t){try{return e.apply(this,t)}catch(e){const t=N(e);Re.__wbindgen_exn_store(t)}}function we(e){return null==e}function de(e,t){const _=t(4*e.length,4)>>>0;return le().set(e,_/4),ve=e.length,_}function fe(e,t){const _=t(1*e.length,1)>>>0;return pe().set(e,_/1),ve=e.length,_}function ye(e,t){const _=t(8*e.length,8)>>>0;return oe().set(e,_/8),ve=e.length,_}function he(e,t){const _=t(4*e.length,4)>>>0;for(let t=0;t<e.length;t++){const r=N(e[t]);ie().setUint32(_+4*t,r,!0)}return ve=e.length,_}function me(e,t,_){if(void 0===_){const _=Se.encode(e),r=t(_.length,1)>>>0;return pe().subarray(r,r+_.length).set(_),ve=_.length,r}let r=e.length,n=t(r,1)>>>0;const i=pe();let s=0;for(;s<r;s++){const t=e.charCodeAt(s);if(t>127)break;i[n+s]=t}if(s!==r){0!==s&&(e=e.slice(s)),n=_(n,r,r=s+3*e.length,1)>>>0;const t=pe().subarray(n+s,n+r);s+=Se.encodeInto(e,t).written,n=_(n,r,s,1)>>>0}return ve=s,n}function ze(e){const t=Re.__wbindgen_externrefs.get(e);return Re.__externref_table_dealloc(e),t}let Fe=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Fe.decode();const qe=2146435072;let xe=0;const Se=new TextEncoder;"encodeInto"in Se||(Se.encodeInto=function(e,t){const _=Se.encode(e);return t.set(_),{read:e.length,written:_.length}});let Re,ve=0;function ke(e,t){return Re=e.exports,ne=null,se=null,ae=null,ce=null,ge=null,Re.__wbindgen_start(),Re}function Ce(e){if(void 0!==Re)return Re;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module:e}=e):console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const t=k();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),ke(new WebAssembly.Instance(e,t))}async function Oe(e){if(void 0!==Re)return Re;void 0!==e&&(Object.getPrototypeOf(e)===Object.prototype?({module_or_path:e}=e):console.warn("using deprecated parameters for the initialization function; pass a single object instead"));const t=k();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:_,module:r}=await async function(e,t){if("function"==typeof Response&&e instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(!e.ok||!function(e){switch(e){case"basic":case"cors":case"default":return!0}return!1}(e.type)||"application/wasm"===e.headers.get("Content-Type"))throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}const _=await e.arrayBuffer();return await WebAssembly.instantiate(_,t)}{const _=await WebAssembly.instantiate(e,t);return _ instanceof WebAssembly.Instance?{instance:_,module:e}:_}}(await e,t);return ke(_)}_.d(t,["DisplayEncoding",0,i,"GeometryType",0,g])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3819],{563(e,t,n){n.d(t,{QueueProcessor:()=>u,SharedConcurrency:()=>h});var r=n(97768),s=n(17676),i=n(9775),o=n(32587),a=n(76030),l=n(44794);class u{constructor(e){this._schedule=null,this._deferreds=new o.A,this._controllers=new o.A,this._processingItems=new o.A,this._pausedSignal=(0,l.v)(!1),this.process=e.process,this.concurrency=e.concurrency,this.sharedConcurrency=e.sharedConcurrency??d,this._queue=new i.A(e.peeker)}destroy(){this.clear(),this._schedule=(0,r.xt)(this._schedule)}get updating(){return this.running}get length(){return this._processingItems.size+this._queue.length}get running(){return!this._pausedSignal.value&&this._queue.length>0&&!this.full}get full(){return this._processingItems.size>=this.concurrency||this.sharedConcurrency.full}abort(e){const t=this._controllers.get(e);t?.abort()}clear(){this._queue.clear();const e=Array.from(this._controllers.values());this._controllers.clear(),e.forEach(e=>e.abort()),this.sharedConcurrency.current.value-=this._processingItems.size,this._processingItems.clear(),this._cancelNext()}forEach(e){this._deferreds.forEach((t,n)=>e(n))}_get(e){const t=this._deferreds.get(e);return t?.promise}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(e,t){const n=this._get(e);if(n)return n;const r=new AbortController,i=Promise.withResolvers(),o=t?(0,s.u7)(t,()=>r.abort()):null,a=(0,s.NY)(r.signal,()=>{const t=this._processingItems.get(e);t&&t.controller.abort(),l(),i.reject((0,s.NK)())}),l=()=>{a.remove(),o?.remove(),this._removeItem(e),this._queue.remove(e),this._scheduleNext()};return this._deferreds.set(e,i),this._controllers.set(e,r),i.promise.then(l,l),this._queue.push(e),this._scheduleNext(),i.promise}last(){return this._queue.last()}reset(){const e=Array.from(this._processingItems.values());this.sharedConcurrency.current.value-=this._processingItems.size,this._processingItems.clear();for(const t of e)this._queue.push(t.item),t.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const e=[];for(;this._queue.length;)e.push(this._queue.pop());return this.clear(),e}_removeItem(e){this._deferreds.delete(e),this._controllers.delete(e),this._processingItems.has(e)&&(this._processingItems.delete(e),this.sharedConcurrency.current.value-=1)}_scheduleNext(){this._pausedSignal.value||this._schedule||(this._schedule=(0,a._)(()=>{this._schedule=null,this._next()}))}_next(){for(;this._queue.length>0&&this._processingItems.size<this.concurrency&&!this.sharedConcurrency.full;)this._process(this._queue.pop())}_cancelNext(){this._schedule&&(this._schedule.remove(),this._schedule=null)}_processResult(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).resolve(t))}_processError(e,t){this._canProcessFulfillment(e)&&(this._scheduleNext(),this._deferreds.get(e.item).reject(t))}_canProcessFulfillment(e){return!!this._deferreds.get(e.item)&&this._processingItems.get(e.item)===e}_process(e){if(null==e)return;let t;const n=new AbortController,r=new c(e,n);this._processingItems.set(e,r),this.sharedConcurrency.current.value+=1;try{t=this.process(e,n.signal)}catch(e){this._processError(r,e)}(0,s.$X)(t)?(r.promise=t,t.then(e=>this._processResult(r,e),e=>this._processError(r,e))):this._processResult(r,t)}}class c{constructor(e,t){this.item=e,this.controller=t,this.promise=null}}class h{constructor(e){this.limit=e,this.current=(0,l.v)(0)}get full(){return this.current.value>=this.limit}}const d=new h(1/0)},32587(e,t,n){n.d(t,{A:()=>i});var r=n(62788),s=n(95488);class i{constructor(e){this._observable=new s.I,this._notifyPending=!1,this._batchDepth=0,this._map=new Map(e)}get size(){return(0,r.gc)(this._observable),this._map.size}batch(e){try{this._batchDepth++,e()}finally{this._batchDepth--,this._notifyPending&&0===this._batchDepth&&(this._notifyPending=!1,this._notify())}}clear(){this._map.size>0&&(this._map.clear(),this._notify())}delete(e){const t=this._map.delete(e);return t&&this._notify(),t}entries(){return(0,r.gc)(this._observable),this._map.entries()}forEach(e,t){(0,r.gc)(this._observable),this._map.forEach((n,r)=>e.call(t,n,r,this),t)}get(e){return(0,r.gc)(this._observable),this._map.get(e)}has(e){return(0,r.gc)(this._observable),this._map.has(e)}keys(){return(0,r.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._notify(),this}transformValues(e,t=this._map.keys()){this.batch(()=>{for(const n of t){if(!this._map.has(n))continue;const t=this._map.get(n),r=e(t,n);r!==t&&this.set(n,r)}})}values(){return(0,r.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,r.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}_notify(){this._batchDepth>0?this._notifyPending=!0:this._observable.notify()}}},24460(e,t,n){function r(e){const{minValue:t,maxValue:n,numValues:r,nullCount:s,distinctCount:i}=e;return null!=r&&s===r?{type:"null-only",nullCount:s,distinctCount:i}:"number"==typeof t&&Number.isFinite(t)&&"number"==typeof n&&Number.isFinite(n)&&t<=n?{type:"bounds",minValue:t,maxValue:n,nullCount:s,distinctCount:i}:null!=t||null!=n||null!=i||null!=s?{type:"unknown",nullCount:s,distinctCount:i}:null}function s(e){const t=new Map;for(const n of e.files){const e=i(n);t.set(n.name,e)}return t}function i(e){const t=new Map;for(const n of e.statistics??[]){const e=n.column.at(-1);if(null==e)continue;const s=r({minValue:n.minValue,maxValue:n.maxValue,numValues:null,nullCount:n.nullCount??0,distinctCount:n.distinctCount??null});null!=s&&t.set(e,s)}return new a(0,0,t)}function o(e){const t=e.minValue(),n=e.maxValue(),s=e.numValues(),i=e.distinctCount()??null;return r({minValue:t,maxValue:n,numValues:s,nullCount:e.nullCount()??null,distinctCount:i})}n.d(t,{Hk:()=>o,MB:()=>a,t8:()=>s});class a{static fromFile(e){const t=e.numRows(),n=e.byteLength(),r=new Map;for(const t of e.getColumnDescriptors()){const e=o(t);null!=e&&r.set(t.name(),e),t.free()}return new a(t,n,r)}constructor(e,t,n){this.rowCount=e,this.byteSize=t,this.statistics=n}}},95031(e,t,n){n.d(t,{M:()=>x});var r=n(11254),s=n(32198),i=n(49186),o=n(65529),a=n(44208),l=n(563),u=n(84952),c=n(24460),h=n(63892);class d{static async create(e,t,n,r,s){if(!s){const s=await(0,h.DV)(n,{geometryInfo:e,provider:t}),i=c.MB.fromFile(s);return new d(e,t,n,r,i,Promise.resolve(s))}return new d(e,t,n,r,s,null)}constructor(e,t,n,r,s,i){this._geometryInfo=e,this._provider=t,this.url=n,this.id=r,this.statistics=s,this._file=i}destroy(){null!=this._file&&this._file.then(e=>e.free())}get file(){return null==this._file&&(this._file=(0,h.DV)(this.url,{geometryInfo:this._geometryInfo,provider:this._provider})),this._file}async getDiagnosticsSnapshot(){return{...(await this.file).diagnosticsSnapshot(),fileId:this.id,fileName:this.url}}async getColumnIndex(e,t){return(await this.file).columnIndex(e,t)}async getOffsetIndex(e,t){return(await this.file).offsetIndex(e,t)}}const m="_spatial.json",p=new l.QueueProcessor({concurrency:12,process:async e=>{const{data:t}=await(0,r.A)(e.url,e.options);return t}});let y=1;class f{constructor(e,t=()=>{}){this._geometryInfo=e,this._getCustomParameters=t,this.events=new o.bk}async destroy(){await this.clear()}async clear(){if(this._infos){const e=await this._infos;for(const t of e.values())t.destroy();e.clear(),this._infos=null}}async getMetadata(){const e={stack:[],error:void 0,hasError:!1};try{const t=(await this._getParquetFileNames()).at(0);if(!t)return null;const n=(0,s.mS)(e,await(0,h.DV)(t,{provider:this}),!1);return(0,h._6)(n)}catch(t){e.error=t,e.hasError=!0}finally{(0,s.hk)(e)}}getGeometryInfo(){return this._geometryInfo}async getFiles(){const e=await this._getInfoMap();return Array.from(e.values())}async updateGeometryInfo(e){if(this._geometryInfo)throw new Error("GeometryInfo already set");await this.clear(),this._geometryInfo=e}async fetchLength(e){const{byteLength:t,cacheTag:n}=await this._fetchLengthAndTag(e);if(!(0,a.A)("parquetlayer-cache-enabled"))return t;try{await this._createOrResetCache(e,n)}catch(e){}return t}async fetchRange(e,t,n,r){const s={fileId:e,requestId:y++,range:{start:t,end:n+1}};this.events.emit("rangeRead",{...s,phase:"start"});try{const i=await this._fetchRangeWithCache(e,t,n,r);return this.events.emit("rangeRead",{...s,phase:"complete"}),i}catch(e){throw this.events.emit("rangeRead",{...s,phase:"error"}),e}}_getCacheFileName(e){return e}async _requestStatistics(e){const{data:t}=await(0,r.A)(e,{responseType:"json",query:this._getCustomParameters()});return t}async _fetchRange(e,t,n,r){const s={url:e,options:{responseType:"array-buffer",query:this._getCustomParameters()??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${t}-${n}`}}},o=await p.push(s),a=n-t+1;if(o.byteLength!==a)throw new i.A("InvalidRangeRequest",`request returned ${o.byteLength} bytes for range ${t}-${n}, expected ${a}.`);return o}async _fetchLengthAndTag(e){if((0,u.w8)(e)){const{data:t}=await(0,r.A)(e,{responseType:"blob"});return{byteLength:t.size,cacheTag:null}}const t=await this._requestHead(e),n=t.headers.get("Content-Length");if(null==n)throw new Error("Unable to parse content length");const s=t.headers.get("etag")??t.headers.get("Last-Modified");return{byteLength:parseInt(n,10),cacheTag:s}}async _getInfoMap(){return this._infos||(this._infos=this._fetchParquetFiles()),this._infos}async _updateParquetFileInfos(e){const t=await this._getInfoMap(),n=new Set(e);for(const e of n)if(!t.get(e)){const n=t.size,r=await d.create(this.getGeometryInfo(),this,e,n,null);t.set(e,r)}for(const e of t.keys())if(!n.has(e))throw new Error("Deletion not supported")}async _getFileStatistics(e){this._statistics||(this._statistics=this._fetchStatistics());const t=await this._statistics,n=function(e){return e.split(/[?#]/)[0].split("/").at(-1)??e}(e);return t.get(n)}async _fetchParquetFiles(){const e=(await this._getParquetFileNames()).map(async(e,t)=>{const n=t,r=await this._getFileStatistics(e);return d.create(this.getGeometryInfo(),this,e,n,r)}),t=await Promise.all(e),n=new Map;for(const e of t)n.set(e.url,e);return n}async _fetchStatistics(){const e=await this._getStatisticsFileName();if(null==e)return new Map;const t=await this._resolveFileUrl(e),n=await this._requestStatistics(t);return(0,c.t8)(n)}async _requestHead(e){const{data:t}=await(0,r.A)(e,{responseType:"native",method:"head",query:this._getCustomParameters()});return t}async _openCache(e){return caches.open(this._getCacheName(e))}async _fetchRangeWithCache(e,t,n,r){if(!(0,a.A)("parquetlayer-cache-enabled"))return this._fetchRange(e,t,n,r);const s=new URL(this._getCacheFileName(e));s.searchParams.append("range",`${t}-${n}`);try{const i=await this._openCache(e),o=await i.match(s);if(o)return await o.arrayBuffer();const a=await this._fetchRange(e,t,n,r);return await i.put(s,new Response(a,{headers:{"Content-Type":"application/octet-stream","Content-Length":a.byteLength.toString()}})),a}catch(s){return this._fetchRange(e,t,n,r)}}_getCacheName(e){return`parquet.v1:${this._getCacheFileName(e)}`}async _createOrResetCache(e,t){const n=this._getCacheName(e),r=new URL(this._getCacheFileName(e));if(r.searchParams.append("metadata","true"),null==t)return void await caches.delete(n);let s=await caches.open(n);const i=await s.match(r),o=await(i?.json());o?.tag!==t&&(await caches.delete(n),s=await caches.open(n));const a=JSON.stringify({tag:t});await s.put(r,new Response(a,{headers:{"Content-Type":"application/json","Content-Length":a.length.toString()}}))}}function g(e){const t=e.split(/[?#]/)[0];return t===m||t.endsWith(m)}var _=n(39131);class w extends f{constructor(e,t,n){super(t,n),this._schema=e,this._isAgol=!!(0,_.py)(this._schema.itemUrl)}async update(e){throw new Error("Unsupported")}async _getParquetFileNames(){return[`${this._baseUrl}/data`]}async _getStatisticsFileName(){return null}_getCacheFileName(e){return`${this._baseUrl}/data`}async _resolveFileUrl(e){return this._resolvedUrl||(this._resolvedUrl=this._fetchResolvedUrl()),this._resolvedUrl}async _fetchLengthAndTag(e){const t=await super._fetchLengthAndTag(e);return t.cacheTag=this._schema.modified.getTime().toString(),t}async _fetchRange(e,t,n,r){try{const s=await this._resolveFileUrl(e);return await super._fetchRange(s,t,n,r)}catch{this._resolvedUrl=null}const s=await this._resolveFileUrl(e);return super._fetchRange(s,t,n,r)}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async _fetchResolvedUrl(){return this._isAgol?(await(0,r.A)(`${this._baseUrl}/data`,{query:{signedurl:!0,expiration:9,f:"json"}})).data.signedUrl:`${this._baseUrl}/data`}}var v=n(47828);class C extends f{constructor(e,t,n){super(t,n),this._schema=e,this._directoryChanged=!1}get _baseUrl(){return this._schema.itemCdnUrl??this._schema.itemUrl}async update(e){throw new Error("Unsupported")}async _getParquetFileNames(){const e=await this._getResources();return Array.from(e.keys()).filter(e=>e.endsWith(".parquet"))}async _getStatisticsFileName(){const e=await this._getResources();return Array.from(e.keys()).find(g)??null}_getCacheFileName(e){return`${this._baseUrl}/resources/${e}`}async _resolveFileUrl(e){const t=await this._getResource(e);return t.signedUrl?t.signedUrl:`${this._baseUrl}/resources/${e}`}async _fetchLengthAndTag(e){const t=await this._getResource(e),n=this._schema.itemMetadata.modified.getTime().toString();return{byteLength:t.size,cacheTag:n}}async _fetchRange(e,t,n,r){if(this._directoryChanged)throw(0,v.O)();try{const s=await this._resolveFileUrl(e);return await super._fetchRange(s,t,n,r)}catch{if("directory-changed"===await this._refetchResources())throw(0,v.O)()}const s=await this._resolveFileUrl(e);return super._fetchRange(s,t,n,r)}_refetchResources(){return this._directoryChanged?Promise.resolve("directory-changed"):(this._updateResourcesPromise||(this._updateResourcesPromise=this._executeRefetchResources().finally(()=>{this._updateResourcesPromise=null})),this._updateResourcesPromise)}async _executeRefetchResources(){return await this._refetchPortalItemMetadata()?(this.events.emit("sourceChanged"),this._directoryChanged=!0,"directory-changed"):(this._resources=this._fetchResources(),"ok")}async _refetchPortalItemMetadata(){const e=this._schema.itemMetadata.url,t=await(0,r.A)(this._schema.itemUrl,{responseType:"json",query:{f:"json"}}),{modified:n,url:s}=t.data;if(null==s)throw new Error("Portal item metadata must have a url defined.");if(null==n)throw new Error("Portal item metadata must have a modified timestamp defined.");return this._schema.itemMetadata={modified:new Date(n),url:s},e!==s}async _getResources(){return this._resources||(this._resources=this._fetchResources()),await this._resources}async _getResource(e){const t=(await this._getResources()).get(e);if(!t)throw new Error(`Resource ${e} not found.`);return t}async _fetchResources(){const e=new Map;let t=1;const n=function(e){const t=e.split("/").filter(Boolean),n=t.indexOf("resources");if(-1===n||n===t.length-1)throw new Error(`URL does not contain a resources directory name: ${e}`);return`${t.slice(n+1).map(e=>decodeURIComponent(e)).join("/")}/`}(this._schema.itemMetadata.url);for(;-1!==t;){const s=await(0,r.A)(`${this._baseUrl}/resources`,{query:{f:"json",start:t,num:100}});for(const t of s.data.resources)t.resource.startsWith(n)&&e.set(t.resource,t);t=s.data.nextStart}return e}}class b extends f{constructor(e,t=null,n=()=>{}){super(t,n),this._schema=e}async update(e){await this._updateParquetFileInfos(await this._getParquetFileNames()),this._schema=e}async _resolveFileUrl(e){return e}async _getParquetFileNames(){return this._schema.urls.filter(e=>!e.endsWith(".json"))}async _getStatisticsFileName(){return this._schema.urls.find(g)??null}}function x(e,t,n){switch(e.type){case"urls":return new b(e,t,n);case"portal-parquet-file":return new w(e,t,n);case"portal-parquet-layer":return new C(e,t,n)}}},47828(e,t,n){n.d(t,{O:()=>i,c:()=>s});var r=n(49186);function s(e){return null!=e&&"object"==typeof e&&"name"in e&&"FileProviderChangedError"===e.name}function i(e=""){return new r.A("FileProviderChangedError",e)}},9075(e,t,n){n.d(t,{A:()=>a});var r=n(32198),s=n(69540),i=n(25482),o=n(91429);let a=class extends((0,s.OU)(i.o)){constructor(e){super(e),this.type="location",this.xField=null,this.yField=null}};(0,r.Cg)([(0,o.MZ)({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"xField",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"yField",void 0),a=(0,r.Cg)([(0,o.$K)("esri.layers.support.GeometryEncodingLocation")],a)},34582(e,t,n){n.d(t,{A:()=>a});var r=n(32198),s=n(69540),i=n(25482),o=n(91429);let a=class extends((0,s.OU)(i.o)){constructor(e){super(e),this.type="wkb",this.field=null}};(0,r.Cg)([(0,o.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,r.Cg)([(0,o.MZ)({type:["counter-clockwise"],json:{write:!0}})],a.prototype,"orientation",void 0),(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"field",void 0),a=(0,r.Cg)([(0,o.$K)("esri.layers.support.GeometryEncodingWkb")],a)},56370(e,t,n){n.d(t,{A:()=>d});var r=n(32198),s=n(69540),i=n(7762),o=n(49186),a=n(25482),l=n(91429),u=n(64108),c=n(97159),h=n(43937);let d=class extends((0,a.T)(s.Pw)){constructor(e){super(e),this.type="files",this.urls=new i.A}writeUrls(e,t,n,r){const s=e.toArray().map(e=>(0,c.t)(e,r)).filter(e=>!!e);s.length?t.urls=s:r.messages?.push(new o.A("parquet-layer:missing-urls","Missing or empty 'urls'",{data:this}))}};(0,r.Cg)([(0,l.MZ)({type:["files"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],d.prototype,"type",void 0),(0,r.Cg)([(0,l.MZ)({type:i.A.ofType(String),json:{write:{isRequired:!0}}})],d.prototype,"urls",void 0),(0,r.Cg)([(0,h.K)("urls")],d.prototype,"writeUrls",null),d=(0,r.Cg)([(0,u.$)("esri.layers.support.ParquetFilesData")],d)},54625(e,t,n){n.d(t,{i_:()=>s});var r=n(30524);function s(e,t,n){t=(0,r.rS)(t)?.toLowerCase(),n=(0,r.rS)(n)?.toLowerCase();const s=e.map(e=>e.toLowerCase()),a=t?e[s.indexOf(t)]:null,l=n?e[s.indexOf(n)]:null;return{longitudeFieldName:a||e[s.indexOf(o.find(e=>s.includes(e)))],latitudeFieldName:l||e[s.indexOf(i.find(e=>s.includes(e)))]}}const i=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"];n.d(t,["A0",0,o,"bD",0,i])},50639(e,t,n){n.d(t,{G:()=>i});var r=n(9075),s=n(34582);function i(e){switch(e.type){case"wkb":return s.A.fromJSON(e);case"location":return r.A.fromJSON(e)}}},42760(e,t,n){n.d(t,{Dt:()=>p,hG:()=>d,nc:()=>m,sA:()=>h}),n(7762);var r=n(49186),s=n(44208),i=n(66552),o=n(16930),a=(n(95031),n(20437)),l=n(30524),u=n(50639);n(56370);const c=new i.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"});function h(e){return c.toJSON(e)}function d(e){return c.fromJSON(e)}async function m(e,t){if(t.geometryType&&t.spatialReference&&t.geometryEncoding&&t.fields&&t.displayOptimization)return t;if(!e)throw new r.A("parquet:bad-input","No metadata found");const n={...t},i=e.fields.map(e=>a.A.fromJSON(e));if(null==n.fields)n.fields=i;else{const e=new Set(n.fields.map(e=>e.name));if(!(0,s.A)("parquetlayer-legacy-field-overrides-enabled"))for(const t of i)e.has(t.name)||n.fields.push(t)}if(null!=n.geometryEncoding){const e=n.geometryEncoding;switch(e.type){case"wkb":{const t=i.find(t=>t.name===e.field);if(!t)throw new r.A("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==t.type)throw new r.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${t.type} but expected 'blob'`);break}case"location":for(const t of[e.xField,e.yField])if(null!=t){const e=i.find(e=>e.name===t);if(!e)throw new r.A("parquet:unsupported",`Geometry encoding references field ${t} which does not exist`);if(!(0,l.WA)(e))throw new r.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}return null==n.geometryEncoding&&(n.geometryEncoding=e.geometryEncoding?(0,u.G)(e.geometryEncoding):null),n.fields=function(e,t){const n=t.geoMetadata;if(null==n)return e;const r=new Set(Object.keys(n.columns));return e.filter(e=>!r.has(e.name))}(n.fields,e),!n.displayOptimization&&e.displayOptimization&&(n.displayOptimization=e.displayOptimization),!n.geometryType&&e.geometryType&&(n.geometryType=d(e.geometryType)),!n.spatialReference&&e.spatialReference&&(n.spatialReference=o.A.fromJSON(e.spatialReference)),n}async function p(e,t){switch(e.type){case"files":return{type:"urls",urls:e.urls.toArray()};case"portal-item":{const n=await e.portalItem.load(t);switch(n.type){case"Apache Parquet":return{type:"portal-parquet-file",itemUrl:n.itemUrl,itemCdnUrl:n.itemCdnUrl,modified:n.modified,size:n.size};case"Parquet layer":case"Parquet Layer":case"Parquet feature layer":case"Parquet Feature Layer":if(!n.url)throw new r.A("parquet:bad-item",`Item of type ${n.type} must have a url defined`,n);return{type:"portal-parquet-layer",itemUrl:n.itemUrl,itemCdnUrl:n.itemCdnUrl,itemMetadata:{modified:n.modified,url:n.url}};default:throw new r.A("parquet:bad-item",`Item of type ${n.type} is not supported`,n)}}}}n.d(t,["ye",0,c])},39412(e,t,n){n.d(t,{N:()=>i});var r=n(2741);let s=null;async function i(){return s||(s=async function(){const e=await n.e(7733).then(n.bind(n,57733));return await e.default({module_or_path:(0,r.s)("esri/libs/parquet/pkg/bundle_bg.wasm")}),e}()),s}},63892(e,t,n){n.d(t,{DV:()=>h,FG:()=>p,_6:()=>S});var r=n(49186),s=n(53966),i=n(54625),o=n(39412);const a=()=>s.A.getLogger("esri.layers.ParquetLayer"),l=new Set(["uncompressed","snappy","gzip"]),u=new Set(["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeBigInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeLong"]);function c(e,t){switch(t){case"esriGeometryPoint":return e.GeometryType.Point;case"esriGeometryPolygon":case"polygon":return e.GeometryType.Polygon;case"esriGeometryPolyline":case"polyline":return e.GeometryType.Polyline;case"esriGeometryMultipoint":case"multipoint":return e.GeometryType.Multipoint;default:throw new r.A("parquet",`Found unexpected GeometryType: ${t}`)}}async function h(e,t){const n=await(0,o.N)(),s=t.geometryInfo?function(e,t){const n=e.GeometryInfo.new();t.geometry&&n.setGeometry(function(e,t){const n=t.encoding,r=c(e,t.geometryType),s=t.spatialReference.wkid;if(null==s)throw new Error("InternalError: Wkid must be defined.");switch(n.type){case"wkb":return e.GeometryField.fromWkb(n.field,s,r);case"location":{const{yField:t,xField:i}=n;return e.GeometryField.fromLocation(t,i,s,r)}}}(e,t.geometry));const r=t.displayOptimization;if(r){const{index:t}=r;if("z"===t.type){const r=e.DisplayOptimizationZBuilder.new();r.setCodeField(p(t.code)),r.setXColumn(p(t.xColumn)),r.setYColumn(p(t.yColumn)),null!=t.zColumn&&r.setZColumn(p(t.zColumn)),null!=t.mColumn&&r.setMColumn(p(t.mColumn)),r.setCooordinatePrecision(t.coordinatePrecision),r.setFullExtent(t.fullExtent),r.setSpatialReference(t.wkid,null==t.wkid?t.wkt:void 0),r.setHasZ(!!t.zColumn),r.setHasM(!!t.mColumn),t.zColumn&&r.setZColumn(p(t.zColumn)),t.mColumn&&r.setMColumn(p(t.mColumn)),n.setOptmizationZ(r)}if("xz"===t.type){const r=c(e,t.geometryType),s=e.DisplayOptimizationXZBuilder.new();s.setCodeField(p(t.code)),s.setEncoding(t.encoding),s.setFullExtent(t.fullExtent),s.setGeometryType(r),s.setSpatialReference(t.wkid,null==t.wkid?t.wkt:void 0),s.setMaxLevel(t.maxLevel),s.setHasZ(t.hasZ??!1),s.setHasM(t.hasM??!1);for(const n of t.levels??[]){const t=new Float64Array(n.transform.translate),r=new Float64Array(n.transform.scale),i=p(n.column);s.addLevel(e.MultiscaleGeometryField.new(n.level,n.resolution,i,t,r))}n.setOptmizationXZ(s)}}return n}(n,t.geometryInfo):null,i=t.provider.fetchRange.bind(t.provider),a=t.provider.fetchLength.bind(t.provider);try{return await n.ParquetFile.fromUrl(e,i,a,s)}catch(e){throw new r.A("parquet","Failed to parse file",{error:e})}}function d(e){if(e.keyValueMetadata("esri"))throw new r.A("parquet:unsupported","File was created using an unsupported experimental display index. Please regenerate the file.");const t=e.keyValueMetadata("geodisplay");if(null!=t)return{present:!0,optimization:m({index:JSON.parse(t)})};const n=e.keyValueMetadata("org.apache.spark.sql.parquet.row.metadata");if(null!=n){const e=JSON.parse(n);for(const t of e.fields)if(null!=t.metadata&&g(t.metadata)){if(!_(t.metadata))return a().warn("parquet:protocol-violation","Ignoring display optimization, found invalid column path",{index:t.metadata}),{present:!0,optimization:null};const e=y(t.metadata,t.name);return null==e?(a().warn("parquet:protocol-violation","Ignoring display optimization, Spark display column paths must be non-empty strings",{index:t.metadata}),{present:!0,optimization:null}):{present:!0,optimization:m({index:e})}}}return{present:!1,optimization:null}}function m(e){if(!_(e.index))return a().warn("parquet:protocol-violation","Ignoring display optimization, found invalid column path",{index:e.index}),null;if("xz"===e.index.type&&(e.index.geometryType=function(e){switch(e.toLowerCase()){case"polygon":return"polygon";case"polyline":return"polyline";case"multipoint":return"multipoint";default:throw new r.A("parquet:unsupported",`Geometry type ${e} is unsupported`)}}(e.index.geometryType),"esri-pbf"===e.index.encoding&&(e.index.encoding="esriPBF"),"esriPBF"!==e.index.encoding))return a().warn("parquet:unsupported",`Encoding for display index must be of type esriPBF, but found ${e.index.encoding}`),null;const{xmin:t,ymin:n,xmax:s,ymax:i}=e.index.fullExtent;return Number.isFinite(t)&&Number.isFinite(n)&&Number.isFinite(s)&&Number.isFinite(i)?e:(a().warn("parquet:protocol-violation","Ignoring display optimization, found bad extent",{index:e.index}),null)}function p(e){return Array.isArray(e)?e.join("."):e}function y(e,t){if("z"===e.type){const n=f(e.code,t),r=f(e.xColumn,t),s=f(e.yColumn,t),i=null==e.zColumn?e.zColumn:f(e.zColumn,t),o=null==e.mColumn?e.mColumn:f(e.mColumn,t);return null==n||null==r||null==s||null===i||null===o?null:{...e,code:n,xColumn:r,yColumn:s,...null==i?{}:{zColumn:i},...null==o?{}:{mColumn:o}}}const n=f(e.code,t),r=[];for(const n of e.levels){const e=f(n.column,t);if(null==e)return null;r.push({...n,column:e})}return null==n?null:{...e,code:n,levels:r}}function f(e,t){return"string"==typeof e&&e.length>0?[t,e]:null}function g(e){return"object"==typeof e&&null!=e&&"type"in e&&("z"===e.type||"xz"===e.type)}function _(e){return"z"===e.type?w(e.code)&&w(e.xColumn)&&w(e.yColumn)&&(null==e.zColumn||w(e.zColumn))&&(null==e.mColumn||w(e.mColumn)):w(e.code)&&Array.isArray(e.levels)&&e.levels.every(e=>"object"==typeof e&&null!=e&&"column"in e&&w(e.column))}function w(e){return"string"==typeof e&&e.length>0||Array.isArray(e)&&2===e.length&&e.every(e=>"string"==typeof e&&e.length>0)}function v(e,t){return a().warn("parquet:protocol-violation",`Ignoring GeoParquet ordering and LOD extensions: ${t}`,{lod:e.lod,ordering:e.ordering}),null}function C(e){return Array.isArray(e)&&2===e.length&&"geolod"===e[0]&&"string"==typeof e[1]&&e[1].length>0}function b(e){return x(e?.scale,!0)&&x(e?.translate,!1)}function x(e,t){return Array.isArray(e)&&4===e.length&&e.every(e=>"number"==typeof e&&Number.isFinite(e)&&(!t||e>0))}function S(e){F(e);const t=function(e){return e.fields(!1).map(e=>({name:e.name,alias:e.name,type:e.type}))}(e),n=function(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}(e),s=d(e),i=s.present?s.optimization:function(e){if(null==e)return null;const t=e.ordering,n=e.lod;if(null==t&&null==n)return null;if("xz"!==t?.type||null==n||t.geometry_column!==e.primary_column||n.geometry_column!==e.primary_column||t.geometry_column!==n.geometry_column||20!==t.max_level||!function(e){return x(e,!1)&&e[0]<e[2]&&e[1]<e[3]}(t.extent)||"pbf"!==n.encoding)return v(e,"ordering and lod must form a valid primary-column XZ pair");const r=e.columns[e.primary_column],s=function(e){if(null==e||0===e.geometry_types.length)return null;let t,n;for(const r of e.geometry_types){const e=/^(LineString|MultiLineString|Polygon|MultiPolygon)(?: (Z|M|ZM))?$/.exec(r);if(null==e)return null;const s="LineString"===e[1]||"MultiLineString"===e[1]?"polyline":"polygon";if(null!=t&&t!==s||null!=n&&n!==(e[2]??""))return null;t=s,n=e[2]??""}return null==t||null==n?null:{geometryType:t,hasZ:"Z"===n||"ZM"===n,hasM:"M"===n||"ZM"===n}}(r);if(null==s||!function(e,t){return"polygon"===t?"clockwise"===e:null==e}(n.orientation,s.geometryType))return v(e,"geometry type, dimensions, or LOD orientation is invalid");const i=function(e){if(!Array.isArray(e)||0===e.length)return null;const t=new Set,n=e.slice().sort((e,t)=>t.resolution-e.resolution),r=[];for(const[e,s]of n.entries()){if(!C(s.column)||!Number.isFinite(s.resolution)||s.resolution<=0||t.has(s.resolution)||!b(s.transform))return null;t.add(s.resolution),r.push({column:s.column,level:e,resolution:s.resolution,transform:s.transform})}return r}(n.levels),o=R(r)?.wkid;if(null==i||null==o)return v(e,"LOD levels or spatial reference is invalid");const[a,l,u,c]=t.extent;return{index:{type:"xz",code:"geokey",wkid:o,wkt:null,encoding:"esriPBF",fullExtent:{xmin:a,ymin:l,xmax:u,ymax:c},geometryType:s.geometryType,maxLevel:t.max_level,hasZ:s.hasZ,hasM:s.hasM,levels:i}}}(n),o=q(n,t),{hasZ:a,hasM:l}=function(e,t){const n=t?.index;if("z"===n?.type)return{hasZ:null!=n.zColumn,hasM:null!=n.mColumn};if("xz"===n?.type)return{hasZ:!0===n.hasZ,hasM:!0===n.hasM};const r=e?.columns[e.primary_column]?.geometry_types??[];return{hasZ:r.some(e=>/ (?:Z|ZM)$/u.test(e)),hasM:r.some(e=>/ (?:M|ZM)$/u.test(e))}}(n,i);let u,c;if(o)switch(o.type){case"location":c={wkid:4326},u="esriGeometryPoint";break;case"wkb":if(n){const e=n.primary_column,t=n.columns[e];u=function(e){const{geometry_types:t}=e,n=new Set;for(const e of t){const t=M(e);t&&n.add(t)}if(n.size>1)throw new r.A("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:n});return 1===n.size?n.values().next().value:void 0}(t),c=R(t)}}if(i){const e=i.index;!c&&e.wkid&&(c={wkid:e.wkid}),u||(u="z"===e.type?"esriGeometryPoint":function(e){switch(e){case"polygon":return"esriGeometryPolygon";case"polyline":return"esriGeometryPolyline";case"multipoint":return"esriGeometryMultipoint"}}(e.geometryType))}return{geoMetadata:n,displayOptimization:i,hasZ:a,hasM:l,geometryEncoding:o,geometryInfo:c&&u?{geometry:o?{geometryType:u,spatialReference:c,encoding:o}:null,displayOptimization:i}:null,geometryType:u,spatialReference:c,extent:A(n,i,c),fields:t}}function F(e){for(const t of e.compressionCodecs())if(!l.has(t))throw new r.A("parquet:unsupported",`Compression codec ${t} is unsupported. Must be of type ${Array.from(l).join(",")}`)}function q(e,t){if(null!=e){const t=e.primary_column;return{type:"wkb",field:t,orientation:"counterclockwise"===e.columns[t].orientation?"counter-clockwise":null}}const n=function(e){const t=e.map(e=>e.toLowerCase());return{longitudeFieldName:e[t.indexOf(i.A0.find(e=>t.includes(e)))],latitudeFieldName:e[t.indexOf(i.bD.find(e=>t.includes(e)))]}}(t.filter(e=>u.has(e.type)).map(e=>e.name));return n.latitudeFieldName&&n.longitudeFieldName?{type:"location",xField:n.longitudeFieldName,yField:n.latitudeFieldName}:null}function M(e){switch(e.replace(/ (?:Z|M|ZM)$/u,"")){case"Point":return"esriGeometryPoint";case"Polygon":case"MultiPolygon":return"esriGeometryPolygon";case"LineString":case"MultiLineString":return"esriGeometryPolyline";case"MultiPoint":return"esriGeometryMultipoint";default:return null}}function R(e){const t=e.crs?.id?.code;return"number"==typeof t?{wkid:t}:"OGC"===e.crs?.id?.authority&&"CRS84"===t?{wkid:4326}:void 0}function A(e,t,n){if(!n)return null;const r=e?e.columns[e.primary_column]:null,s=r?.bbox;if(s?.every(e=>Number.isFinite(e)))switch(s.length){case 4:return{xmin:s[0],ymin:s[1],xmax:s[2],ymax:s[3],spatialReference:n};case 6:return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:n};default:a().warn("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{geoMetadata:e})}const i=t?.index.fullExtent;return i?{...i,spatialReference:n}:null}},93470(e,t,n){const r=[252,146,31,255],s={type:"esriSMS",style:"esriSMSCircle",size:6,color:r,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},i={type:"esriSLS",style:"esriSLSSolid",width:.75,color:r};n.d(t,["Cb",0,s,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,r,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,i])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7320],{6797(e,t,r){r.d(t,{Ui:()=>y});var i=r(69622),o=r(7762),n=r(88620);const s=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function a(e){return e instanceof i.A}function l(e){return e instanceof o.A?Object.keys(e.items):a(e)?(0,n.oY)(e).keys():e?Object.keys(e):[]}function p(e,t){return e instanceof o.A?e.items[t]:e[t]}function u(e){return e?e.declaredClass:null}function c(e,t){const r=e.diff;if(r&&"function"==typeof r)return r(e,t);const i=l(e),o=l(t);if(0===i.length&&0===o.length)return;if(!i.length||!o.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const n=o.filter(e=>!i.includes(e)),y=i.filter(e=>!o.includes(e)),d=i.filter(r=>o.includes(r)&&p(e,r)!==p(t,r)).concat(n,y).sort(),g=u(e);if(g&&s.has(g)&&d.length)return{type:"complete",oldValue:e,newValue:t};let h;const m=a(e)&&a(t);for(const i of d){const o=p(e,i),n=p(t,i);let s;if((m||"function"!=typeof o&&"function"!=typeof n)&&o!==n&&(null!=o||null!=n)){if(r&&r[i]&&"function"==typeof r[i])s=r[i]?.(o,n);else if(o instanceof Date&&n instanceof Date){if(o.getTime()===n.getTime())continue;s={type:"complete",oldValue:o,newValue:n}}else s="object"==typeof o&&"object"==typeof n&&u(o)===u(n)?c(o,n):{type:"complete",oldValue:o,newValue:n};null!=s&&(null!=h?h.diff[i]=s:h={type:"partial",diff:{[i]:s}})}}return h}function y(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&u(e)!==u(t)?{type:"complete",oldValue:e,newValue:t}:c(e,t)}},44794(e,t,r){r.d(t,{v:()=>a});var i=r(4718),o=r(62788),n=r(95488);class s{constructor(e,t){this._observable=new n.I,this._value=e,this._equalityFunction=t}get value(){return(0,o.gc)(this._observable),this._value}set value(e){this._equalityFunction(e,this._value)||(this._value=e,this._observable.notify())}mutate(e){e(this._value),this._observable.notify()}}function a(e,t=i.gh){return new s(e,t)}},99680(e,t,r){r.r(t),r.d(t,{default:()=>se});var i=r(32198),o=r(37838),n=r(69540),s=r(7762),a=r(51447),l=r(49186),p=r(44208),u=r(53966),c=r(25728),y=r(93637),d=r(36708),g=r(84952),h=r(10107),m=r(64108),f=r(43937),w=r(5443),v=r(16930),b=r(55156),x=r(60950),C=r(89808),S=r(99959);const P=Symbol("isParquetGraphicOrigin");var M;class A extends S.A{get[(M=P,x.ym)](){return this.layer}get[b.e](){return this.layer}get[C.Q](){return this.layer}constructor(e){super(),this[M]=!0,this.type="parquet",this.layer=e}get id(){return this.layer.id}}var E=r(4146),Z=r(65529),L=r(92474),O=r(17676),T=r(83027),j=r(42760),F=r(22671);let _=class extends((0,Z.Zt)(L.x_)){constructor(e){super(e),this.type="parquet"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._initialize(t)),this.addHandles([(0,d.wB)(()=>this.layer.data,async e=>{if(e)try{await this._proxy.updateFileProvider(await(0,j.Dt)(e))}catch{}}),(0,d.wB)(()=>this.layer.customParameters,e=>this._setCustomParameters(e))]),Promise.resolve(this)}async reload(e){const t=await this._createLoadParameters(e);return this._proxy.reload(t)}destroy(){this._connection?.destroy()}async openPorts(){return await this.load(),this._connection.openPorts()}async getDiagnosticsSnapshot(){return await this.load(),this._proxy.getDiagnosticsSnapshot()}async getColumnIndex(e){return await this.load(),this._proxy.getColumnIndex(e)}async getOffsetIndex(e){return await this.load(),this._proxy.getOffsetIndex(e)}async queryFeaturesJSON(e,t={}){return await this.load(t),this._proxy.queryFeatures(e.toJSON(),{signal:t?.signal})}async queryFeatures(e,t={}){const r=await this.queryFeaturesJSON(e,{signal:t?.signal});return F.A.fromJSON(r)}async queryObjectIds(e,t){return await this._proxy.queryObjectIds(e.toJSON(),{signal:t?.signal})}async queryFeatureCount(e,t){return this._proxy.queryFeatureCount(e.toJSON(),{signal:t?.signal})}async queryExtent(e,t){if(null==this.layer.geometryEncoding)return u.A.getLogger(this).warn("Tried to queryExtent, but source does not have a geometry. Returning null extent."),{count:0,extent:null};const r=await this._proxy.queryExtent(e.toJSON(),{signal:t?.signal});return{count:r.count,extent:w.A.fromJSON(r.extent)}}async _initialize(e){const t={onSourceChange:()=>this.emit("source-changed"),onRangeRead:e=>this.emit("range-read",e)};this._connection=await(0,T.h)("ParquetSourceWorker",{strategy:"dedicated",signal:e,registryTarget:this,client:t}),(0,O.Te)(e),this._proxy=this._connection.createInvokeProxy();const r=await this._createLoadParameters(e),{layerDefinition:i,capabilities:o}=await this._proxy.load(r);(0,O.Te)(e),this.sourceJSON=i,this.capabilities=o}async _createLoadParameters(e){if(!this.layer.data)throw new l.A("parquet:missing-data","A data source must be specified",this.layer);const t=await(0,j.Dt)(this.layer.data,{signal:e});return(0,O.Te)(e),{provider:t,fields:this.layer.fields?.map(e=>e.toJSON()),geometryType:this.layer.geometryType?(0,j.sA)(this.layer.geometryType):null,spatialReference:this.layer.spatialReference?.toJSON(),geometryEncoding:this.layer.geometryEncoding?.toJSON(),displayOptimization:this.layer.displayOptimization,customParameters:this.layer.customParameters}}_setCustomParameters(e){this._proxy.setCustomParameters(e).catch(()=>{u.A.getLogger(this).warn("Failed to update customParameters")})}_queryStream(e,t){return this._proxy.queryStream(e,t)}_getStreamNextFeatures(e,t){return this._proxy.getStreamNextFeatures(e,t)}};(0,i.Cg)([(0,h.MZ)()],_.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({constructOnly:!0})],_.prototype,"layer",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"sourceJSON",void 0),(0,i.Cg)([(0,h.MZ)()],_.prototype,"capabilities",void 0),_=(0,i.Cg)([(0,m.$)("esri.layers.graphics.sources.ParquetSource")],_);var I=r(63074),z=r(69208),q=r(90735),R=r(87718),N=r(56658),D=r(34287),J=r(32756),B=r(25036),V=r(10873),G=r(29005),K=r(20437),k=r(17036),$=r(30524),Q=r(9075),U=r(34582),H=r(46499),W=r(39383),X=r(56370),Y=r(89160),ee=r(41214),te=r(97552),re=r(30291);const ie=(0,k.p)(),oe="__OBJECTID",ne={types:{key:"type",base:null,typeMap:{wkb:U.A,location:Q.A}},json:{name:"layerDefinition.geometryEncoding",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryEncoding"}}}}};let se=class extends((0,N.J)((0,R.F)((0,I.dM)((0,J.fY)((0,q.z)((0,B.j)((0,D.q)((0,c.M)((0,z.d)((0,n.OU)(E.A))))))))))){constructor(e){super(e),this._emptyUrls=new s.A,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new A(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=oe,this.operationalLayerType="ParquetLayer",this.outFields=null,this.persistenceEnabled=!!(0,p.A)("parquetlayer-persistence-enabled"),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type="parquet",this.data=null}initialize(){this.addHandles((0,d.on)(()=>this.source,"source-changed",()=>{this.emit("refresh",{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,r,i){const o=e.filter(e=>!(e.name===oe&&"oid"===e.type)).map(e=>e.toJSON(i));(0,y.sM)(r,o,t)}get isTable(){return null==this.geometryEncoding&&null==this.displayOptimization}set renderer(e){(0,$.yp)(e,this.fieldsIndex),this._set("renderer",e)}get title(){let e=this._get("title");if(e&&"defaults"!==this.originOf("title"))return e;switch(this.data?.type){case"files":{const t=this.data.urls?.at(0);e=t?(0,g.e7)(t,["parquet"]):null;break}case"portal-item":e=this.data.portalItem?.title}return e||"Parquet"}set title(e){this._set("title",e)}writeData(e,t,r,i){if(!e)return;if("portal-item"===e.type&&"Parquet Feature Layer"!==e.portalItem?.type)return void i.messages?.push(new l.A("parquet-layer:unsupported-data",`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));const o=e.write({},i);o&&(t.source=o)}get urls(){return"files"===this.data?.type?this.data.urls:this._emptyUrls}set urls(e){(0,a.Lx)(u.A.getLogger(this),"urls",{replacement:"data",version:"5.1",warnOnce:!0}),this.data=new X.A({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return(0,re.tn)(this,e)}createQuery(){const e=new te.A;return e.returnGeometry=!0,e.outFields=["*"],e.where=this.definitionExpression||"1=1",e}async createSource(e){const t=new _({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();const r=await this.source.queryFeatures(this._normalizeQuery(e),t),i=this.graphicOrigin;if(r?.features)for(const e of r.features)e.layer=e.sourceLayer=this,e.origin=i;return r}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}_normalizeQuery(e){return te.A.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new s.A(e):e??new s.A}async _load(e){"portal-item"===this.data?.type&&await this.data.portalItem.load();const t=await this.createSource(e);this._set("source",t),this.read(t.sourceJSON,{origin:"service"}),["fields"].forEach(e=>this.revertToOrigin(e,"service")),(0,$.yp)(this.renderer,this.fieldsIndex),null==this.spatialReference&&(this.spatialReference=v.A.WGS84)}};(0,i.Cg)([(0,h.MZ)({readOnly:!0,json:{read:!1,write:!1}})],se.prototype,"capabilities",null),(0,i.Cg)([(0,h.MZ)({type:String})],se.prototype,"copyright",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0})],se.prototype,"defaultPopupTemplate",null),(0,i.Cg)([(0,h.MZ)({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],se.prototype,"definitionExpression",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],se.prototype,"returnM",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean})],se.prototype,"returnZ",void 0),(0,i.Cg)([(0,h.MZ)()],se.prototype,"displayOptimization",void 0),(0,i.Cg)([(0,h.MZ)({type:[K.A],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],se.prototype,"fields",void 0),(0,i.Cg)([(0,f.K)("fields")],se.prototype,"writeFields",null),(0,i.Cg)([(0,h.MZ)(ie.fieldsIndex)],se.prototype,"fieldsIndex",void 0),(0,i.Cg)([(0,h.MZ)(ne)],se.prototype,"geometryEncoding",void 0),(0,i.Cg)([(0,h.MZ)({type:w.A,json:{name:"extent"}})],se.prototype,"fullExtent",void 0),(0,i.Cg)([(0,h.MZ)({type:j.ye.apiValues,json:{name:"layerDefinition.geometryType",read:{reader:j.ye.read},write:{writer:j.ye.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryType",reader:j.ye.read}}}}})],se.prototype,"geometryType",void 0),(0,i.Cg)([(0,h.MZ)({readOnly:!0,clonable:!1})],se.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,h.MZ)(V.kF)],se.prototype,"labelsVisible",void 0),(0,i.Cg)([(0,h.MZ)({type:[H.A],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:W.w},write:!0}})],se.prototype,"labelingInfo",void 0),(0,i.Cg)([(0,h.MZ)(V.fV)],se.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,h.MZ)()],se.prototype,"file",void 0),(0,i.Cg)([(0,h.MZ)({type:String,readOnly:!0})],se.prototype,"objectIdField",void 0),(0,i.Cg)([(0,h.MZ)({type:["ParquetLayer"]})],se.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,h.MZ)(ie.outFields)],se.prototype,"outFields",void 0),(0,i.Cg)([(0,h.MZ)(V.M6)],se.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,h.MZ)({type:o.A,json:{name:"popupInfo",write:!0}})],se.prototype,"popupTemplate",void 0),(0,i.Cg)([(0,h.MZ)({types:ee.Hg,json:{name:"layerDefinition.drawingInfo.renderer",write:!0,origins:{service:{read:{source:"drawingInfo.renderer"}}}}})],se.prototype,"renderer",null),(0,i.Cg)([(0,h.MZ)({type:_,readOnly:!0,cast:null,json:{read:!1}})],se.prototype,"source",void 0),(0,i.Cg)([(0,h.MZ)({type:v.A,json:{name:"layerDefinition.spatialReference",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"extent.spatialReference"}}}}})],se.prototype,"spatialReference",void 0),(0,i.Cg)([(0,h.MZ)({type:[G.A]})],se.prototype,"templates",void 0),(0,i.Cg)([(0,h.MZ)()],se.prototype,"title",null),(0,i.Cg)([(0,h.MZ)({json:{read:!1},readOnly:!0})],se.prototype,"type",void 0),(0,i.Cg)([(0,h.MZ)({types:{key:"type",base:null,typeMap:{files:X.A,"portal-item":Y.A}},json:{name:"source",origins:{"web-map":{write:{target:"source",ignoreOrigin:!0}}}}})],se.prototype,"data",void 0),(0,i.Cg)([(0,f.K)("web-map","data")],se.prototype,"writeData",null),(0,i.Cg)([(0,h.MZ)({type:s.A.ofType(String),json:{read:!1,write:!1}})],se.prototype,"urls",null),se=(0,i.Cg)([(0,m.$)("esri.layers.ParquetLayer")],se)},32756(e,t,r){r.d(t,{Rr:()=>a});var i=r(32198),o=r(93637),n=r(91429),s=r(91880);function a(e,t,r){if(!e)return null;const i=e.find(e=>!!e.field);if(!i)return null;const o=new s.A;return o.read(i,r),[o]}const l={type:[s.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:a},write:{writer:function(e,t,r,i){const n=e.find(e=>!!e.field);n&&(0,o.sM)(r,[n.toJSON()],t)}}}};r.d(t,["fY",0,e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.orderBy=null}};return(0,i.Cg)([(0,n.MZ)(l)],r.prototype,"orderBy",void 0),r=(0,i.Cg)([(0,n.$K)("esri.layers.mixins.OrderedLayer")],r),r},"ne",0,l])},29005(e,t,r){r.d(t,{A:()=>p});var i=r(32198),o=r(69540),n=r(66552),s=r(25482),a=r(91429);const l=new n.J({esriFeatureEditToolAutoCompletePolygon:"auto-complete-polygon",esriFeatureEditToolCircle:"circle",esriFeatureEditToolEllipse:"ellipse",esriFeatureEditToolFreehand:"freehand",esriFeatureEditToolLine:"line",esriFeatureEditToolNone:"none",esriFeatureEditToolPoint:"point",esriFeatureEditToolPolygon:"polygon",esriFeatureEditToolRectangle:"rectangle",esriFeatureEditToolArrow:"arrow",esriFeatureEditToolTriangle:"triangle",esriFeatureEditToolLeftArrow:"left-arrow",esriFeatureEditToolRightArrow:"right-arrow",esriFeatureEditToolUpArrow:"up-arrow",esriFeatureEditToolDownArrow:"down-arrow"});let p=class extends((0,o.OU)(s.o)){constructor(e){super(e),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],p.prototype,"name",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],p.prototype,"description",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:l.read,write:l.write}})],p.prototype,"drawingTool",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],p.prototype,"prototype",void 0),(0,i.Cg)([(0,a.MZ)({json:{write:!0}})],p.prototype,"thumbnail",void 0),p=(0,i.Cg)([(0,a.$K)("esri.layers.support.FeatureTemplate")],p)},46499(e,t,r){r.d(t,{A:()=>S});var i,o,n=r(32198),s=(r(44208),r(66552)),a=r(25482),l=r(4718),p=r(90629),u=r(91429),c=r(73913),y=r(32730),d=r(77548),g=r(59868),h=r(73838),m=r(33910),f=r(36005),w=r(43937);const v=new s.J({esriServerPointLabelPlacementAboveCenter:"above-center",esriServerPointLabelPlacementAboveLeft:"above-left",esriServerPointLabelPlacementAboveRight:"above-right",esriServerPointLabelPlacementBelowCenter:"below-center",esriServerPointLabelPlacementBelowLeft:"below-left",esriServerPointLabelPlacementBelowRight:"below-right",esriServerPointLabelPlacementCenterCenter:"center-center",esriServerPointLabelPlacementCenterLeft:"center-left",esriServerPointLabelPlacementCenterRight:"center-right",esriServerLinePlacementAboveAfter:"above-after",esriServerLinePlacementAboveAlong:"above-along",esriServerLinePlacementAboveBefore:"above-before",esriServerLinePlacementAboveStart:"above-start",esriServerLinePlacementAboveEnd:"above-end",esriServerLinePlacementBelowAfter:"below-after",esriServerLinePlacementBelowAlong:"below-along",esriServerLinePlacementBelowBefore:"below-before",esriServerLinePlacementBelowStart:"below-start",esriServerLinePlacementBelowEnd:"below-end",esriServerLinePlacementCenterAfter:"center-after",esriServerLinePlacementCenterAlong:"center-along",esriServerLinePlacementCenterBefore:"center-before",esriServerLinePlacementCenterStart:"center-start",esriServerLinePlacementCenterEnd:"center-end",esriServerPolygonPlacementAlwaysHorizontal:"always-horizontal"},{ignoreUnknown:!0});function b(e,t,r){return{enabled:!(0,d.TU)(r?.layer)}}function x(e){return!e||"service"!==e.origin&&!("map-image"===e.layer?.type)}function C(e){return!!function(e){return"map-image"===e?.type}(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}let S=class extends a.o{static{i=y.vK}static{o=this}static evaluateWhere(e,t){const r=(e,t,r)=>{switch(t){case"=":return e==r;case"<>":return e!=r;case">":return e>r;case">=":return e>=r;case"<":return e<r;case"<=":return e<=r}return!1};try{if(null==e)return!0;const i=e.split(" ");if(3===i.length)return r(t[i[0]],i[1],i[2]);if(7===i.length){const e=r(t[i[0]],i[1],i[2]),o=i[3],n=r(t[i[4]],i[5],i[6]);switch(o){case"AND":return e&&n;case"OR":return e||n}}return!1}catch(e){}}constructor(e){super(e),this[i]=!0,this.type="label",this.name=null,this.allowOverrun=!1,this.deconflictionStrategy="static",this.labelExpression=null,this.labelExpressionInfo=null,this.labelPlacement=null,this.labelPosition="curved",this.maxScale=0,this.minScale=0,this.repeatLabel=!0,this.symbol=g.Hk,this.useCodedValues=void 0,this.where=null}readLabelExpression(e,t){const r=t.labelExpressionInfo;if(!r||!r.value&&!r.expression)return e}writeLabelExpression(e,t,r){if(this.labelExpressionInfo)if(null!=this.labelExpressionInfo.value)e=(0,y.D3)(this.labelExpressionInfo.value);else if(null!=this.labelExpressionInfo.expression){const t=(0,y.tH)(this.labelExpressionInfo.expression);t&&(e="["+t+"]")}null!=e&&(t[r]=e)}writeLabelExpressionInfo(e,t,r,i){if(null==e&&null!=this.labelExpression&&x(i))e=new c.A({expression:this.getLabelExpressionArcade()});else if(!e)return;const o=e.toJSON(i);o.expression&&(t[r]=o)}writeMaxScale(e,t){(e||this.minScale)&&(t.maxScale=e)}writeMinScale(e,t){(e||this.maxScale)&&(t.minScale=e)}get repeatLabelDistance(){return this._get("repeatLabelDistance")}set repeatLabelDistance(e){this._set("repeatLabelDistance",e)}getLabelExpression(){return(0,y.XJ)(this)}getLabelExpressionArcade(){return(0,y.BI)(this)}getLabelExpressionSingleField(){return(0,y.rU)(this)}hash(){return JSON.stringify(this)}clone(){return new o({allowOverrun:this.allowOverrun,deconflictionStrategy:this.deconflictionStrategy,labelExpression:this.labelExpression,labelExpressionInfo:(0,l.o8)(this.labelExpressionInfo),labelPosition:this.labelPosition,labelPlacement:this.labelPlacement,maxScale:this.maxScale,minScale:this.minScale,name:this.name,repeatLabel:this.repeatLabel,repeatLabelDistance:this.repeatLabelDistance,symbol:(0,l.o8)(this.symbol),where:this.where,useCodedValues:this.useCodedValues})}};(0,n.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],S.prototype,"name",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:!0,default:!1,origins:{"web-scene":{write:!1},"portal-item":{default:!1,write:{overridePolicy:b}}}}})],S.prototype,"allowOverrun",void 0),(0,n.Cg)([(0,u.MZ)({type:String,json:{write:!0,default:"static",origins:{"web-scene":{write:!1},"portal-item":{default:"static",write:{overridePolicy:b}}}}})],S.prototype,"deconflictionStrategy",void 0),(0,n.Cg)([(0,u.MZ)({type:String,json:{write:{overridePolicy(e,t,r){return this.labelExpressionInfo&&"service"===r?.origin&&C(r.layer)?{enabled:!1}:{allowNull:!0}}}}})],S.prototype,"labelExpression",void 0),(0,n.Cg)([(0,f.w)("labelExpression")],S.prototype,"readLabelExpression",null),(0,n.Cg)([(0,w.K)("labelExpression")],S.prototype,"writeLabelExpression",null),(0,n.Cg)([(0,u.MZ)({type:c.A,json:{write:{overridePolicy:(e,t,r)=>function(e){return x(e)||C(e?.layer)}(r)?{allowNull:!0}:{enabled:!1}}}})],S.prototype,"labelExpressionInfo",void 0),(0,n.Cg)([(0,w.K)("labelExpressionInfo")],S.prototype,"writeLabelExpressionInfo",null),(0,n.Cg)([(0,u.MZ)({type:v.apiValues,json:{type:v.jsonValues,read:v.read,write:v.write}})],S.prototype,"labelPlacement",void 0),(0,n.Cg)([(0,u.MZ)({type:["curved","parallel"],json:{write:!0,origins:{"web-map":{write:!1},"web-scene":{write:!1},"portal-item":{write:!1}}}})],S.prototype,"labelPosition",void 0),(0,n.Cg)([(0,u.MZ)({type:Number})],S.prototype,"maxScale",void 0),(0,n.Cg)([(0,w.K)("maxScale")],S.prototype,"writeMaxScale",null),(0,n.Cg)([(0,u.MZ)({type:Number})],S.prototype,"minScale",void 0),(0,n.Cg)([(0,w.K)("minScale")],S.prototype,"writeMinScale",null),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:b}}}}})],S.prototype,"repeatLabel",void 0),(0,n.Cg)([(0,u.MZ)({type:Number,cast:p.cr,json:{write:!0,origins:{"web-scene":{write:!1},"portal-item":{write:{overridePolicy:b}}}}})],S.prototype,"repeatLabelDistance",null),(0,n.Cg)([(0,u.MZ)({types:m.em,json:{origins:{"web-scene":{types:m.Rv,write:h.oO,default:null}},write:h.oO,default:null}})],S.prototype,"symbol",void 0),(0,n.Cg)([(0,u.MZ)({type:Boolean,json:{write:!0}})],S.prototype,"useCodedValues",void 0),(0,n.Cg)([(0,u.MZ)({type:String,json:{write:!0}})],S.prototype,"where",void 0),S=o=(0,n.Cg)([(0,u.$K)("esri.layers.support.LabelClass")],S)},73913(e,t,r){r.d(t,{A:()=>u});var i,o=r(32198),n=r(25482),s=r(91429),a=r(32730),l=r(36005),p=r(43937);let u=class extends n.o{static{i=this}constructor(e){super(e),this.expression=null,this.title=null,this.value=null}readExpression(e,t){return t.value?(0,a.mX)(t.value):e}writeExpression(e,t,r){null!=this.value&&(e=(0,a.mX)(this.value)),null!=e&&(t[r]=e)}clone(){return new i({expression:this.expression,title:this.title,value:this.value})}};(0,o.Cg)([(0,s.MZ)({type:String,json:{write:{writerEnsuresNonNull:!0}}})],u.prototype,"expression",void 0),(0,o.Cg)([(0,l.w)("expression",["expression","value"])],u.prototype,"readExpression",null),(0,o.Cg)([(0,p.K)("expression")],u.prototype,"writeExpression",null),(0,o.Cg)([(0,s.MZ)({type:String,json:{write:!0,origins:{"web-scene":{write:!1}}}})],u.prototype,"title",void 0),(0,o.Cg)([(0,s.MZ)({json:{read:!1,write:!1}})],u.prototype,"value",void 0),u=i=(0,o.Cg)([(0,s.$K)("esri.layers.support.LabelExpressionInfo")],u)},91880(e,t,r){r.d(t,{A:()=>p});var i,o=r(32198),n=r(66552),s=r(25482),a=r(91429);const l=new n.J({asc:"ascending",desc:"descending"});let p=class extends s.o{static{i=this}constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new i({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],p.prototype,"field",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],p.prototype,"valueExpression",void 0),(0,o.Cg)([(0,a.MZ)({type:l.apiValues,json:{type:l.jsonValues,read:l.read,write:l.write}})],p.prototype,"order",void 0),p=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.OrderByInfo")],p)},89160(e,t,r){r.d(t,{A:()=>c});var i=r(32198),o=r(69540),n=r(25482),s=r(91429),a=r(64108),l=r(80812),p=r(36005),u=r(43937);let c=class extends((0,n.T)(o.Pw)){constructor(e){super(e),this.type="portal-item"}readPortalItem(e,t,r){if(t.itemId)return new l.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}};(0,i.Cg)([(0,s.MZ)({type:["portal-item"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],c.prototype,"type",void 0),(0,i.Cg)([(0,s.MZ)({type:l.default,json:{write:{isRequired:!0}}})],c.prototype,"portalItem",void 0),(0,i.Cg)([(0,p.w)("portalItem",["itemId"])],c.prototype,"readPortalItem",null),(0,i.Cg)([(0,u.K)("portalItem",{itemId:{type:String}})],c.prototype,"writePortalItem",null),c=(0,i.Cg)([(0,a.$)("esri.layers.support.ParquetPortalItemData")],c)},39383(e,t,r){r.d(t,{w:()=>l,z:()=>c});var i=r(49186),o=r(53966),n=r(46499);const s=()=>o.A.getLogger("esri.layers.support.labelingInfo"),a=/\[([^[\]]+)\]/gi;function l(e,t,r){return e?e.map(e=>{const i=new n.A;if(i.read(e,r),i.labelExpression){const e=t.fields||t.layerDefinition?.fields||this.fields;i.labelExpression=i.labelExpression.replaceAll(a,(t,r)=>`[${function(e,t){if(!t)return e;const r=e.toLowerCase();for(let e=0;e<t.length;e++){const i=t[e].name;if(i.toLowerCase()===r)return i}return e}(r,e)}]`)}return i}):null}const p=["above-right","above-center","above-left","center-center","center-left","center-right","below-center","below-left","below-right"],u={esriGeometryPoint:p,esriGeometryMultiPatch:["always-horizontal"],esriGeometryPolygon:["always-horizontal"],esriGeometryPolyline:["center-along","above-along","below-along"],esriGeometryMultipoint:p,esriGeometryEnvelope:null};function c(e,t){const r=[];for(const o of e){const e=o.labelPlacement,n=u[t];if(!o.symbol)return s().warn("No ILabelClass symbol specified."),[];if(!n)return s().error(new i.A("labeling:unsupported-geometry-type",`Unable to create labels for layer, geometry type '${t}' is not supported`)),[];if(n.includes(e))r.push(o);else{const i=n[0];e&&s().warn(`Found invalid label placement type ${e} for ${t}. Defaulting to ${i}`);const a=o.clone();a.labelPlacement=i,r.push(a)}}return r}},22671(e,t,r){r.d(t,{A:()=>w});var i,o=r(32198),n=r(52106),s=r(66552),a=r(25482),l=r(4718),p=r(91429),u=r(16930),c=r(60408),y=r(65864),d=r(50498),g=r(20437),h=r(36005),m=r(43937);const f=new s.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let w=i=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,n.A)}writeGeometryType(e,t,r,i){if(e)return void f.write(e,t,r,i);const{features:o}=this;if(o)for(const e of o)if(null!=e?.geometry)return void f.write(e.geometry.type,t,r,i)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,i=(0,y.rS)(e);return i&&!r&&t.spatialReference&&(i.spatialReference=u.A.fromJSON(t.spatialReference)),i}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new i(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const i=t.features[r];if(i.geometry){const t=e?.[r];i.geometry=t?.toJSON()||i.geometry}}return t}quantize(e){const{scale:[t,r],translate:[i,o]}=e,n=this.features,s=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-i)/t),e=>Math.round((o-e)/r));for(let e=0,t=n.length;e<t;e++)s?.(n[e].geometry)||(n.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[i,o],scale:[n,s]}=r;let a=null,l=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;a=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;l=r=>null==r?r:r*t+e}const p=this._getHydrationFunction(e,e=>e*n+i,e=>o-e*s,a,l);for(const{geometry:e}of t)null!=e&&p&&p(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const i=u.A.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const n=e[t],s=r.fromJSON(n),a=n.geometry?.spatialReference;null==s.geometry||a||(s.geometry.spatialReference=i);const l=n.aggregateGeometries,p=s.aggregateGeometries;if(l&&null!=p)for(const e in p){const t=p[e],r=l[e],o=r?.spatialReference;null==t||o||(t.spatialReference=i)}o.push(s)}return o}_quantizePoints(e,t,r){let i,o;const n=[];for(let s=0,a=e.length;s<a;s++){const a=e[s];if(s>0){const e=t(a[0]),s=r(a[1]);e===i&&s===o||(n.push([e-i,s-o]),i=e,o=s)}else i=t(a[0]),o=r(a[1]),n.push([i,o])}return n.length>0?n:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const i=(0,c.Bi)(e)?e.rings:e.paths,o=[];for(let e=0,n=i.length;e<n;e++){const n=i[e],s=this._quantizePoints(n,t,r);s&&o.push(s)}return o.length>0?((0,c.Bi)(e)?e.rings=o:e.paths=o,e):null}:"multipoint"===e?e=>{const i=this._quantizePoints(e.points,t,r);return i&&i.length>0?(e.points=i,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,i,o){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),i&&(e.z=i(e.z))}:"polyline"===e||"polygon"===e?e=>{const n=(0,c.Bi)(e)?e.rings:e.paths;let s,a;for(let e=0,i=n.length;e<i;e++){const i=n[e];for(let e=0,o=i.length;e<o;e++){const o=i[e];e>0?(s+=o[0],a+=o[1]):(s=o[0],a=o[1]),o[0]=t(s),o[1]=r(a)}}if(i&&o)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2]),r[3]=o(r[3])}}else if(i)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}else if(o)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=o(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),i&&null!=e.zmax&&null!=e.zmin&&(e.zmax=i(e.zmax),e.zmin=i(e.zmin)),o&&null!=e.mmax&&null!=e.mmin&&(e.mmax=o(e.mmax),e.mmin=o(e.mmin))}:"multipoint"===e?e=>{const n=e.points;let s,a;for(let e=0,i=n.length;e<i;e++){const i=n[e];e>0?(s+=i[0],a+=i[1]):(s=i[0],a=i[1]),i[0]=t(s),i[1]=r(a)}if(i&&o)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=i(t[2]),t[3]=o(t[3])}else if(i)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=i(t[2])}else if(o)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=o(t[2])}}:null}};(0,o.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],w.prototype,"displayFieldName",void 0),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"exceededTransferLimit",void 0),(0,o.Cg)([(0,p.MZ)({type:[n.A],json:{write:!0}})],w.prototype,"features",void 0),(0,o.Cg)([(0,h.w)("features")],w.prototype,"readFeatures",null),(0,o.Cg)([(0,p.MZ)({type:[g.A],json:{write:!0}})],w.prototype,"fields",void 0),(0,o.Cg)([(0,p.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:f.read}}})],w.prototype,"geometryType",void 0),(0,o.Cg)([(0,m.K)("geometryType")],w.prototype,"writeGeometryType",null),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasM",void 0),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],w.prototype,"hasZ",void 0),(0,o.Cg)([(0,p.MZ)({types:d.yR,json:{write:!0}})],w.prototype,"queryGeometry",void 0),(0,o.Cg)([(0,h.w)("queryGeometry")],w.prototype,"readQueryGeometry",null),(0,o.Cg)([(0,p.MZ)({type:u.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),(0,o.Cg)([(0,m.K)("spatialReference")],w.prototype,"writeSpatialReference",null),(0,o.Cg)([(0,p.MZ)({json:{write:!0}})],w.prototype,"transform",void 0),w=i=(0,o.Cg)([(0,p.$K)("esri.rest.support.FeatureSet")],w),w.prototype.toJSON.isDefaultToJSON=!0},41366(e,t,r){var i=r(32198),o=r(66552),n=r(53966),s=r(91429),a=r(93223);const l=(0,o.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),p="percent-of-total",u="field";r.d(t,["K",0,e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,r=null!=this.normalizationTotal;return t||r?(e=t&&u||r&&p||null,t&&r&&n.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==u&&e!==p||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,i.Cg)([(0,s.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],r.prototype,"normalizationField",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],r.prototype,"normalizationMaxValue",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],r.prototype,"normalizationMinValue",void 0),(0,i.Cg)([(0,s.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],r.prototype,"normalizationTotal",void 0),(0,i.Cg)([(0,a.e)(l,{name:"parameters.normalizationType"})],r.prototype,"normalizationType",null),r=(0,i.Cg)([(0,s.$K)("esri.rest.support.NormalizationBinParametersMixin")],r),r},"Q",0,l])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[737,1954,7925],{52106(e,t,i){i.d(t,{A:()=>F});var r,o,s=i(32198),n=i(37838),l=i(69540),a=i(51447),u=i(25482),d=i(53966),p=i(36708),c=i(24326),h=i(91429),y=i(12195),g=i(65864),m=i(50498),f=i(55156),b=i(60950),v=i(54339),M=i(94128),S=i(33910);const C=Symbol("meshGeometryHandles");function w(e){if(null==e)return null;const t={};for(const i in e){const r=e[i];r&&(t[i]=r.toJSON())}return 0!==Object.keys(t).length?t:null}let F=class extends((0,l.OU)(u.o)){static{r=M.Z}static{o=this}constructor(e){super(e),this[r]=!0,this.distance=null,this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this.statisticsAggregatedIds=void 0,this._version=0,Object.defineProperty(this,"uid",{value:(0,c.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(d.A.getLogger(this),"Graphic",{version:"4.30"})}set aggregateGeometries(e){const t=this._get("aggregateGeometries");JSON.stringify(t)!==JSON.stringify(e)&&this._set("aggregateGeometries",e)}set attributes(e){const t=this._get("attributes");t!==e&&(this._set("attributes",e),this._notifyLayer("attributes",t,e))}set geometry(e){const t=this._get("geometry");t!==e&&(this._set("geometry",e),this._watchMeshGeometryChanges(),this._notifyLayer("geometry",t,e))}set popupTemplate(e){const t=this._get("popupTemplate");t!==e&&(this._set("popupTemplate",e),this._notifyLayer("popupTemplate",t,e))}set symbol(e){const t=this._get("symbol");t!==e&&(this._set("symbol",e),this._notifyLayer("symbol",t,e))}get version(){return this._version}set visible(e){const t=this._get("visible");t!==e&&(this._set("visible",e),this._notifyLayer("visible",t,e))}cloneShallow(){return new o({aggregateGeometries:this.aggregateGeometries,statisticsAggregatedIds:this.statisticsAggregatedIds,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const t=(0,b.E_)(this.origin);if(t)return t.popupTemplate??(e?t.defaultPopupTemplate:null)??null;const i=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const t of[i,this.sourceLayer,this.layer])if(t&&"object"==typeof t){if("popupTemplate"in t&&t.popupTemplate)return t.popupTemplate;if(e&&"defaultPopupTemplate"in t&&null!=t.defaultPopupTemplate)return t.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const i=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",i,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=(0,f.I)(this.origin);if(e)return(0,v.r)(this,e);const t=this.sourceLayer??this.layer;return t?(0,v.r)(this,t):null}getGlobalId(){const e=(0,f.I)(this.origin);if(e?.globalIdField)return this.getAttribute(e.globalIdField);const t=this.sourceLayer??this.layer;return t&&"globalIdField"in t&&t.globalIdField?this.getAttribute(t.globalIdField):null}toJSON(){const e={aggregateGeometries:w(this.aggregateGeometries),geometry:this.geometry?.toJSON()??null,symbol:this.symbol?.toJSON()??null,attributes:(0,y.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null};return this.statisticsAggregatedIds?.length&&(e.aggregateIds=[...this.statisticsAggregatedIds]),null!=this.distance&&(e.distance=this.distance),e}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const i={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",i,i,e.action)}}_notifyLayer(e,t,i,r){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const o={graphic:this,property:e,oldValue:t,newValue:i};"origin-transform"===e&&(o.action=r),"attributes"===e&&(o.attributeName=r),this.layer.graphicChanged(o)}_watchMeshGeometryChanges(){this.removeHandles(C);const e=this.geometry;"mesh"===e?.type&&this.addHandles([(0,p.z7)(()=>e.vertexSpace.origin?{localMatrix:e.transform?.localMatrix,origin:e.vertexSpace.origin}:void 0,({localMatrix:e,origin:t})=>{this._lastMeshTransform.localMatrix===e&&this._lastMeshTransform.origin===t||(this._lastMeshTransform.localMatrix=e,this._lastMeshTransform.origin=t,this.notifyMeshTransformChanged())}),(0,p.z7)(()=>({vertexAttributes:e.vertexAttributes}),()=>{e.vertexSpace.origin?(this._lastMeshTransform.localMatrix=e.transform?.localMatrix,this._lastMeshTransform.origin=e.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer("geometry",e,e)},{equals:(e,t)=>e===t,sync:!0})],C)}};(0,s.Cg)([(0,h.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const i in e){const r=(0,g.rS)(e[i]);r&&(t[i]=r)}return 0!==Object.keys(t).length?t:null}}})],F.prototype,"aggregateGeometries",null),(0,s.Cg)([(0,h.MZ)({value:null})],F.prototype,"attributes",null),(0,s.Cg)([(0,h.MZ)({value:null,types:m.yR,json:{read:g.rS}})],F.prototype,"geometry",null),(0,s.Cg)([(0,h.MZ)()],F.prototype,"distance",void 0),(0,s.Cg)([(0,h.MZ)({type:Boolean})],F.prototype,"isAggregate",void 0),(0,s.Cg)([(0,h.MZ)({clonable:!1})],F.prototype,"layer",void 0),(0,s.Cg)([(0,h.MZ)({clonable:"reference"})],F.prototype,"origin",void 0),(0,s.Cg)([(0,h.MZ)({type:n.A,value:null})],F.prototype,"popupTemplate",null),(0,s.Cg)([(0,h.MZ)({clonable:"reference"})],F.prototype,"sourceLayer",void 0),(0,s.Cg)([(0,h.MZ)({json:{name:"aggregateIds",read:e=>e?.map(e=>Array.isArray(e)?JSON.stringify(e):e)}})],F.prototype,"statisticsAggregatedIds",void 0),(0,s.Cg)([(0,h.MZ)({value:null,types:S.Es})],F.prototype,"symbol",null),(0,s.Cg)([(0,h.MZ)({clonable:!1,json:{read:!1,write:!1}})],F.prototype,"_version",void 0),(0,s.Cg)([(0,h.MZ)({type:Boolean,value:!0})],F.prototype,"visible",null),F=o=(0,s.Cg)([(0,h.$K)("esri.Graphic")],F)},6797(e,t,i){i.d(t,{Ui:()=>c});var r=i(69622),o=i(7762),s=i(88620);const n=new Set(["esri.Color","esri.portal.Portal","esri.symbols.support.Symbol3DAnchorPosition2D","esri.symbols.support.Symbol3DAnchorPosition3D"]);function l(e){return e instanceof r.A}function a(e){return e instanceof o.A?Object.keys(e.items):l(e)?(0,s.oY)(e).keys():e?Object.keys(e):[]}function u(e,t){return e instanceof o.A?e.items[t]:e[t]}function d(e){return e?e.declaredClass:null}function p(e,t){const i=e.diff;if(i&&"function"==typeof i)return i(e,t);const r=a(e),o=a(t);if(0===r.length&&0===o.length)return;if(!r.length||!o.length||function(e,t){return!(!Array.isArray(e)||!Array.isArray(t))&&e.length!==t.length}(e,t))return{type:"complete",oldValue:e,newValue:t};const s=o.filter(e=>!r.includes(e)),c=r.filter(e=>!o.includes(e)),h=r.filter(i=>o.includes(i)&&u(e,i)!==u(t,i)).concat(s,c).sort(),y=d(e);if(y&&n.has(y)&&h.length)return{type:"complete",oldValue:e,newValue:t};let g;const m=l(e)&&l(t);for(const r of h){const o=u(e,r),s=u(t,r);let n;if((m||"function"!=typeof o&&"function"!=typeof s)&&o!==s&&(null!=o||null!=s)){if(i&&i[r]&&"function"==typeof i[r])n=i[r]?.(o,s);else if(o instanceof Date&&s instanceof Date){if(o.getTime()===s.getTime())continue;n={type:"complete",oldValue:o,newValue:s}}else n="object"==typeof o&&"object"==typeof s&&d(o)===d(s)?p(o,s):{type:"complete",oldValue:o,newValue:s};null!=n&&(null!=g?g.diff[r]=n:g={type:"partial",diff:{[r]:n}})}}return g}function c(e,t){if("function"!=typeof e&&"function"!=typeof t&&(null!=e||null!=t))return null==e||null==t||"object"==typeof e&&"object"==typeof t&&d(e)!==d(t)?{type:"complete",oldValue:e,newValue:t}:p(e,t)}},55156(e,t,i){i.d(t,{I:()=>o});const r=Symbol("idFieldsProviderSymbol");function o(e){return(t=e)&&r in t?e[r]:void 0;var t}i.d(t,["e",0,r])},20737(e,t,i){i.r(t),i.d(t,{default:()=>Q});var r=i(32198),o=i(37838),s=i(11254),n=i(69540),l=i(7762),a=i(49186),u=i(36563),d=i(25728),p=i(17676),c=i(36708),h=i(91429),y=i(16930),g=i(55156),m=i(60950),f=i(89808),b=i(99959);const v=Symbol("isAnnotationFeatureGraphicOrigin");var M;class S extends b.A{get[(M=v,m.ym)](){return this.layer}get[g.e](){return this.layer}get[f.Q](){return this.layer}constructor(e,t){super(),this[M]=!0,this.type="annotation-feature",this.layer=e,this.sublayer=t}get id(){return`${this.layer.id}:__${this.sublayer?.subtypeCode??null}__`}}var C=i(4146),w=i(52136),F=i(18768),I=i(63074),A=i(69208),T=i(40775),Z=i(47685),_=i(10086),x=i(34287),L=i(8303),j=i(54310),O=i(25036),E=i(82935),k=i(4902),D=i(92474);let V=class extends((0,n.OU)((0,k.s)(D.x_))){constructor(e){super(e),this.parent=null,this.subtypeCode=null,this.type="annotation-feature-sublayer",this.visible=!0}get graphicOrigin(){return new S(this.parent,this)}get title(){return this.parent?.subtypes?.find(e=>e.code===this.subtypeCode)?.name??null}};(0,r.Cg)([(0,h.MZ)({readOnly:!0,clonable:!1})],V.prototype,"graphicOrigin",null),(0,r.Cg)([(0,h.MZ)({clonable:!1})],V.prototype,"parent",void 0),(0,r.Cg)([(0,h.MZ)({type:Number})],V.prototype,"subtypeCode",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],V.prototype,"title",null),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],V.prototype,"type",void 0),(0,r.Cg)([(0,h.MZ)({type:Boolean})],V.prototype,"visible",void 0),V=(0,r.Cg)([(0,h.$K)("esri.layers.support.AnnotationFeatureSublayer")],V);var P=i(60694),z=i(10873),R=i(15426),G=i(17036),N=i(30524),K=i(91908),q=i(97552),J=i(30291),$=i(36005);const H="annotation-feature-layer",U=(0,G.p)(),B=l.A.ofType(V);let W=class extends((0,T.I)((0,_.j)((0,I.dM)((0,E.e)((0,Z.w6)((0,O.j)((0,j.J)((0,F.b)((0,x.q)((0,L.A)((0,d.M)((0,A.d)((0,w.p)((0,n.OU)(C.A))))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight="high",this.elementField="element",this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new S(this,null),this.operationalLayerType="ArcGISAnnotationLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.referenceScale=0,this.source=null,this.statusField="status",this.sublayers=new B,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Annotation Layer"]),this.symbolCollection=null,this.type="annotation-feature",this.unplacedAnnotationsVisible=!1,this.addHandles((0,c.wB)(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),c.OH))}destroy(){this.source?.destroy()}load(e){const t=e?.signal,i=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(p.QP).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url)throw new a.A(`${H}:missing-url`,"AnnotationFeatureLayer must be created with a url");return Promise.all([this.loadDataElement(e).then(()=>{if(!this.symbolCollection)throw new a.A(`${H}:missing-symbol-collection`,"Invalid service with no symbol collection")}),this.initLayerProperties(await this.createGraphicsSource(t))])}).then(()=>(0,R.VA)(this,"load",e));return this.addResolvingPromise(i),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){const i=new B(t.subtypes.map(({code:e})=>new V({subtypeCode:e})).reverse());if(this.visibleLayers){const e=new Set(this.visibleLayers);i.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return i}readTitleFromService(e,t){const{url:i}=this,r=t.name||(0,P.qg)(i)?.title;switch(this.sublayerTitleMode){case"item-title":if(i)return(0,P.yG)(i,r);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==r)return e=(0,P.cr)(e),r?`${e} - ${(0,P.cr)(r)}`:e;break}}return r?(0,P.cr)(r):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}get visibleLayers(){return 0===this.sublayers.length?this._get("visibleLayers")??null:Array.from(new Set(this.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null))}set visibleLayers(e){this._set("visibleLayers",e)}createPopupTemplate(e){return(0,J.tn)(this,e)}async createGraphicsSource(e){const t={stack:[],error:void 0,hasError:!1};try{const{default:o}=await(0,p.qr)(Promise.all([i.e(893),i.e(7013),i.e(9714)]).then(i.bind(i,65515)),e),s=new o({layer:this,supportedSourceTypes:this.supportedSourceTypes});return(0,r.mS)(t,(0,u.Bf)((0,p.u7)(e,()=>s.cancelLoad())??(0,u.hA)()),!1),await s.load({signal:e}),s}catch(e){t.error=e,t.hasError=!0}finally{(0,r.hk)(t)}}createQuery(){const e=(0,R.VZ)(this);return e.where=this.definitionExpression||"1=1",e}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),i=e.attributes[t.name];return this.findSublayerForSubtypeCode(i)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return(0,R.Vq)(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){const i=await this.load(),r=await i.source.queryFeatures(q.A.from(e)??i.createQuery(),t);if(r?.features)for(const e of r.features){const t=this.findSublayerForFeature(e);e.origin=t?.graphicOrigin??this.graphicOrigin,e.layer=e.sourceLayer=this}return r}async queryObjectIds(e,t){const i=await this.load();return i.source.queryObjectIds(q.A.from(e)??i.createQuery(),t)}async queryFeatureCount(e,t){const i=await this.load();return i.source.queryFeatureCount(q.A.from(e)??i.createQuery(),t)}async queryExtent(e,t){const i=await this.load();return i.source.queryExtent(q.A.from(e)??i.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&(0,K.D)(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),(0,N.sv)(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return(0,R.jp)(this)}_verifySource(){if(this.version&&this.version<10.8)throw new a.A(H+":unsupported-version","The feature service must be version 10.8 or above.");const e=["ZOrder","AnnotationClassID","Element","SymbolID","Status"],t=e.filter(e=>!this.fieldsIndex.has(e));if(this.fieldsIndex.has("FeatureID")||this.fieldsIndex.has("FeatureGlobalID")||t.unshift("FeatureID","FeatureGlobalID"),t.length)throw new a.A(H+":missing-fields","There are missing fields to operate properly",{requiredFields:e,missingFields:t})}_fetchFirstValidLayerId(e){return(0,s.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(!t)return;this.applyPreferredHost(t);const i=[...t.layers||[],...t.tables||[]];return i.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on("after-remove",({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],"sublayers-owner"))}};(0,r.Cg)([(0,h.MZ)({type:y.A,json:{origins:{service:{read:{source:"sourceSpatialReference"}}}}})],W.prototype,"attributeSpatialReference",void 0),(0,r.Cg)([(0,h.MZ)(z.es)],W.prototype,"barrierWeight",void 0),(0,r.Cg)([(0,h.MZ)({json:{write:!0}})],W.prototype,"editingEnabled",null),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"elementField",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"effectiveEditingEnabled",null),(0,r.Cg)([(0,h.MZ)({...U.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],W.prototype,"fields",void 0),(0,r.Cg)([(0,h.MZ)(U.fieldsIndex)],W.prototype,"fieldsIndex",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"graphicOrigin",void 0),(0,r.Cg)([(0,h.MZ)(z.id)],W.prototype,"id",void 0),(0,r.Cg)([(0,h.MZ)({type:["ArcGISAnnotationLayer"]})],W.prototype,"operationalLayerType",void 0),(0,r.Cg)([(0,h.MZ)(U.outFields)],W.prototype,"outFields",void 0),(0,r.Cg)([(0,h.MZ)(z.M6)],W.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,h.MZ)({type:o.A,json:{name:"popupInfo",write:!0}})],W.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"defaultPopupTemplate",null),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"referenceScale",void 0),(0,r.Cg)([(0,h.MZ)({clonable:!1,readOnly:!0})],W.prototype,"source",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"statusField",void 0),(0,r.Cg)([(0,h.MZ)({type:B})],W.prototype,"sublayers",void 0),(0,r.Cg)([(0,$.w)("service","sublayers",["subtypes"])],W.prototype,"readSublayers",null),(0,r.Cg)([(0,h.MZ)({type:String})],W.prototype,"sublayerTitleMode",void 0),(0,r.Cg)([(0,h.MZ)({readOnly:!0})],W.prototype,"symbolCollection",void 0),(0,r.Cg)([(0,$.w)("service","title",["name"])],W.prototype,"readTitleFromService",null),(0,r.Cg)([(0,$.w)("portal-item","title")],W.prototype,"readTitleFromPortalItem",null),(0,r.Cg)([(0,h.MZ)({json:{read:!1},value:"annotation-feature",readOnly:!0})],W.prototype,"type",void 0),(0,r.Cg)([(0,h.MZ)()],W.prototype,"unplacedAnnotationsVisible",void 0),(0,r.Cg)([(0,h.MZ)({type:[Number],json:{write:{ignoreOrigin:!0}}})],W.prototype,"visibleLayers",null),W=(0,r.Cg)([(0,h.$K)("esri.layers.AnnotationFeatureLayer")],W);const Q=W},52136(e,t,i){var r=i(32198),o=i(91429);i.d(t,["p",0,e=>{const t=e;let i=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,r.Cg)([(0,o.MZ)({type:String})],i.prototype,"apiKey",null),i=(0,r.Cg)([(0,o.$K)("esri.layers.mixins.APIKeyMixin")],i),i}])},40775(e,t,i){var r=i(32198),o=i(11254),s=i(49186),n=i(84952),l=i(91429),a=i(95250);function u(e,t){const i=e.indexOf(t);if(-1!==i)return e[i+1]}function d(e,t){const i=u(e,t);return i&&"string"==typeof i?JSON.parse(i):null}function p(e){const t=u(e,"ReferenceScale")??0;return"string"!=typeof t?t:parseFloat(t)}function c(e){return d(e,"SymbolCollection")??void 0}function h(e){return d(e,"StyleCollection")??void 0}i.d(t,["I",0,e=>{const t=e;let i=class extends t{async loadDataElement(e){if(!this.url||null==this.layerId)throw new s.A("fetchDataElement:missing-url-or-layerId","The layer must have a url and a layerId to fetch the data element.");const t=(0,n.fj)(this.url,"queryDataElements"),i={f:"json",layers:this.layerId},{data:r}=await(0,o.A)(t,{...e,responseType:"json",query:i}),l=r.layerDataElements.find(e=>e.layerId===this.layerId)?.dataElement;if(!l)throw new s.A("fetchDataElement:not-available","A data element for this layer could not be retrieved.");const u=l.extensionProperties?.propertySetItems??[],d=p(u),y=(0,a.S)(c(u)),g=(0,a.S)(h(u));this.read({referenceScale:d,symbolCollection:y,styleCollection:g},{origin:"service"})}};return i=(0,r.Cg)([(0,l.$K)("esri.layers.mixins.DataElementMixin")],i),i}])},47685(e,t,i){i.d(t,{Mk:()=>h,Zk:()=>p});var r=i(32198),o=i(65529),s=i(4718),n=i(91429),l=i(20816);const a=new o.bk;function u(e){return a.on("apply-edits",new WeakRef(e))}function d(e){return a.on("update-moment",new WeakRef(e))}function p(e,t,i=null,r=!1){const o=Promise.withResolvers();return r=null==t||r,a.emit("apply-edits",{serviceUrl:e,layerId:t,gdbVersion:i,mayReceiveServiceEdits:r,result:o.promise}),o}const c=Symbol();function h(e){return null!=e&&"object"==typeof e&&c in e}function y(e){return null!=e&&"object"==typeof e&&"gdbVersion"in e}function g(e,t,i){const r=new URL(e).host,o=l.Z3.get(r),s=e=>!e||e===o;return s(t)&&s(i)||t===i}i.d(t,["w6",0,e=>{var t;const i=e;let o=class extends i{static{t=c}constructor(...e){super(...e),this[t]=!0,this._applyEditsHandler=e=>{const{serviceUrl:t,layerId:i,gdbVersion:r,mayReceiveServiceEdits:o,result:n}=e,l=t===this.url,a=null!=i&&null!=this.layerId&&i===this.layerId,u=null!=i&&this.relationships?.some(e=>e.relatedTableId===i),d=y(this),p=y(this)&&g(t,r,this.gdbVersion);if(!l||d&&!p||!a&&!u&&!o)return;const c=n.then(e=>{if(this.lastEditsEventDate=new Date,a&&(e.addedFeatures.length||e.updatedFeatures.length||e.deletedFeatures.length||e.addedAttachments.length||e.updatedAttachments.length||e.deletedAttachments.length))return this.emit("edits",(0,s.o8)(e)),e;const i=e.editedFeatures?.find(({layerId:e})=>e===this.layerId);if(i){const{adds:t,updates:r,deletes:o}=i.editedFeatures,n={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:t?t.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],deletedFeatures:o?o.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],updatedFeatures:r?r.map(({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],editedFeatures:(0,s.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,s.o8)(e.historicMoment)};return this.emit("edits",n),n}const o={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:(0,s.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,s.o8)(e.historicMoment)};return"historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,o.historicMoment)&&this.emit("edits",o),o}).then(e=>("historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,e.historicMoment)&&(this.historicMoment=e.historicMoment),e));c.catch(()=>{}),this.emit("apply-edits",{result:c})},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:i,moment:r}=e,o=t===this.url,s=y(this),n=y(this)&&g(t,i,this.gdbVersion),l=y(this)&&!g(t,this.gdbVersion,null);o&&s&&n&&l&&"historicMoment"in this&&this.historicMoment!==r&&(this.historicMoment=r)},this.when().then(()=>{this.addHandles(u(this._applyEditsHandler)),"historicMoment"in this&&this.addHandles(d(this._updateMomentHandler))},()=>{})}_shouldUpdateHistoricMoment(e,t,i){return"historicMoment"in this&&this.historicMoment!==i&&(0,l.w5)(e,t)}};return(0,r.Cg)([(0,n.MZ)()],o.prototype,"lastEditsEventDate",void 0),o=(0,r.Cg)([(0,n.$K)("esri.layers.mixins.EditBusLayer")],o),o}])},28032(e,t,i){i.d(t,{A:()=>a});var r=i(32198),o=i(69540),s=i(25482),n=i(91429),l=i(56400);let a=class extends((0,o.OU)(s.o)){constructor(e){super(e),this.creatorField=null,this.creationDateField=null,this.editorField=null,this.editDateField=null,this.realm=null,this.timeZone=null}};(0,r.Cg)([(0,n.MZ)()],a.prototype,"creatorField",void 0),(0,r.Cg)([(0,n.MZ)()],a.prototype,"creationDateField",void 0),(0,r.Cg)([(0,n.MZ)()],a.prototype,"editorField",void 0),(0,r.Cg)([(0,n.MZ)()],a.prototype,"editDateField",void 0),(0,r.Cg)([(0,n.MZ)()],a.prototype,"realm",void 0),(0,r.Cg)([(0,n.MZ)((0,l.P6)("dateFieldsTimeReference",!0))],a.prototype,"timeZone",void 0),a=(0,r.Cg)([(0,n.$K)("esri.layers.support.EditFieldsInfo")],a)},37352(e,t,i){i.d(t,{A:()=>a});var r,o=i(32198),s=i(7762),n=i(25482),l=i(91429);let a=r=class extends n.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new s.A}clone(){return new r({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"floorField",void 0),(0,o.Cg)([(0,l.MZ)({json:{read:!1,write:!1}})],a.prototype,"viewAllMode",void 0),(0,o.Cg)([(0,l.MZ)({json:{read:!1,write:!1}})],a.prototype,"viewAllLevelIds",void 0),a=r=(0,o.Cg)([(0,l.$K)("esri.layers.support.LayerFloorInfo")],a)},45067(e,t,i){i.d(t,{A:()=>d});var r=i(32198),o=i(69540),s=i(66552),n=i(25482),l=i(91429);const a=new s.J({esriRelCardinalityOneToOne:"one-to-one",esriRelCardinalityOneToMany:"one-to-many",esriRelCardinalityManyToMany:"many-to-many"}),u=new s.J({esriRelRoleOrigin:"origin",esriRelRoleDestination:"destination"});let d=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.cardinality=null,this.catalogId=null,this.composite=null,this.id=null,this.keyField=null,this.keyFieldInRelationshipTable=null,this.name=null,this.relatedTableId=null,this.relationshipTableId=null,this.role=null}};(0,r.Cg)([(0,l.MZ)({json:{read:a.read,write:a.write}})],d.prototype,"cardinality",void 0),(0,r.Cg)([(0,l.MZ)({json:{name:"catalogID"}})],d.prototype,"catalogId",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"composite",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"id",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyField",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"keyFieldInRelationshipTable",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"name",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"relatedTableId",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:!0,write:!0}})],d.prototype,"relationshipTableId",void 0),(0,r.Cg)([(0,l.MZ)({json:{read:u.read,write:u.write}})],d.prototype,"role",void 0),d=(0,r.Cg)([(0,l.$K)("esri.layers.support.Relationship")],d)},98205(e,t,i){i.d(t,{KZ:()=>l,eh:()=>n,gf:()=>s,of:()=>o});const r=Symbol("SizeVariableInstance");function o(e){return null!=e&&"object"==typeof e&&r in e}function s(e){return null!=e&&!isNaN(e)&&isFinite(e)}function n(e){return e.valueExpression?"expression":e.field&&"string"==typeof e.field?"field":"unknown"}function l(e,t){const i=t||n(e),r=e.valueUnit||"unknown";return"unknown"===i?"constant":e.stops?"stops":null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?"clamped-linear":"unknown"===r?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?"proportional":"additive":"identity":"real-world-size"}i.d(t,["uY",0,r])},41366(e,t,i){var r=i(32198),o=i(66552),s=i(53966),n=i(91429),l=i(93223);const a=(0,o.O)()({naturalLog:"natural-log",squareRoot:"square-root",percentOfTotal:"percent-of-total",log:"log",field:"field"}),u="percent-of-total",d="field";i.d(t,["K",0,e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.normalizationField=null,this.normalizationMaxValue=null,this.normalizationMinValue=null,this.normalizationTotal=null}get normalizationType(){let e=this._get("normalizationType");const t=!!this.normalizationField,i=null!=this.normalizationTotal;return t||i?(e=t&&d||i&&u||null,t&&i&&s.A.getLogger(this).warn("warning: both normalizationField and normalizationTotal are set!")):e!==d&&e!==u||(e=null),e}set normalizationType(e){this._set("normalizationType",e)}};return(0,r.Cg)([(0,n.MZ)({type:String,json:{name:"parameters.normalizationField",write:!0}})],i.prototype,"normalizationField",void 0),(0,r.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationMaxValue",write:!0}})],i.prototype,"normalizationMaxValue",void 0),(0,r.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationMinValue",write:!0}})],i.prototype,"normalizationMinValue",void 0),(0,r.Cg)([(0,n.MZ)({type:Number,json:{name:"parameters.normalizationTotal",write:!0}})],i.prototype,"normalizationTotal",void 0),(0,r.Cg)([(0,l.e)(a,{name:"parameters.normalizationType"})],i.prototype,"normalizationType",null),i=(0,r.Cg)([(0,n.$K)("esri.rest.support.NormalizationBinParametersMixin")],i),i},"Q",0,a])},95250(e,t,i){function r(e){return o(e,{CIMRGBColor:s,CIMCharacterMarker:n})}function o(e,t){if(null==e)return e;if(Array.isArray(e))return e.map(e=>o(e,t));if("object"==typeof e){if("type"in e&&"string"==typeof e.type&&t[e.type])return t[e.type](e);const i={};for(const[r,s]of Object.entries(e))i[r]=o(s,t);return i}return e}function s(e){const[t,i,r,o]=e.values;return[t,i,r,255*o/100]}function n(){return{type:"CIMVectorMarker",enable:!0,size:40,colorLocked:!1,anchorPointUnits:"Relative",frame:{xmin:-10,ymin:-10,xmax:10,ymax:10},markerGraphics:[{type:"CIMMarkerGraphic",textString:"■",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",underline:!1,blockProgression:"TTB",depth3D:0,extrapolateBaselines:!0,flipAngle:90,fontEffects:"Normal",fontEncoding:"Unicode",haloSize:0,height:8,hinting:"Default",horizontalAlignment:"Center",kerning:!0,letterSpacing:10,letterWidth:100,ligatures:!1,lineGapType:"ExtraLeading",symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},symbol3DProperties:{type:"CIM3DSymbolProperties",dominantSizeAxis3D:"Z",rotationOrder3D:"XYZ",scaleZ:1,scaleY:1},textCase:"Normal",textDirection:"LTR",verticalAlignment:"Center",verticalGlyphOrientation:"Right",wordSpacing:100,billboardMode3D:"FaceNearPlane"}}],scaleSymbolsProportionally:!0,respectFrame:!0}}i.d(t,{S:()=>r})},93470(e,t,i){const r=[252,146,31,255],o={type:"esriSMS",style:"esriSMSCircle",size:6,color:r,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},s={type:"esriSLS",style:"esriSLSSolid",width:.75,color:r};i.d(t,["Cb",0,o,"HW",0,{type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},"JR",0,[153,153,153,255],"JZ",0,{type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},"WR",0,{type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},"b6",0,{type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null},"fT",0,r,"nC",0,{type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},"yM",0,s])},20816(e,t,i){i.d(t,{We:()=>l,ZJ:()=>a,w5:()=>u});var r=i(11254);const o=(0,i(13069).vD)(),s=new Map,n=new Map;async function l(e,t,i){if(!e||!i)return!1;if(!t)return!0;const o=new URL(e).host;let n=s.get(o);if(!n){const t=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");n=(await(0,r.A)(t,{responseType:"json",query:{f:"json"}})).data.defaultVersionName}return n===t}async function a(e,t,r=!1){if(!e||!t)return!0;const s=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),l=n.get(s)?.entries();if(l)for(const[e,n]of l)if(n.name===t){const t=!n.stack?.hasForwardEdits();if(!t&&r){const[{deleteForwardEdits:t},{default:r}]=await Promise.all([i.e(2186).then(i.bind(i,32186)),i.e(2558).then(i.bind(i,32558))]),l=await t(s,e,new r({sessionId:o,moment:n.moment}));return l.success&&n.stack?.clearForwardEdits(),l.success}return t}return!0}function u(e,t){if(!e)return!1;const i=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),r=n.get(i)?.entries();if(r)for(const[e,i]of r)if(i.name===t)return"edit"===i.lockType;return!1}new Map,i.d(t,["TA",0,o,"Z3",0,s])}}]);