{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterVFDisplayObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/EphemeralBlockCache.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterDatasets/RawBlockCache.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushRasterBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushOverlay.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushDotDensity.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushVectorField.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/util.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/chunks/vec4f32.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/TileContainer.js","webpack:///./node_modules/@arcgis/core/views/webgl/ProgramTemplate.js","webpack:///./node_modules/@arcgis/core/views/layers/RefreshableLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/utils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/styles/Imagery.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/styles/Particles.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/styles/Stack.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/styles/Streamlines.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/createFlowStyle.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/FlowContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/FlowDisplayData.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/FlowDisplayObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/FlowStrategy.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/FlowView2D.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/testUtils.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/chunks/earcut.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack:///./node_modules/@arcgis/core/views/layers/support/popupUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterTile.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterTileContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/imagery/BaseImageryTileSubView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/imagery/ImageryTileView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterVFTile.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterVFTileContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/imagery/VectorFieldTileView2D.js","webpack:///./node_modules/@arcgis/core/views/layers/ImageryTileLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/ImageryTileLayerView2D.js","webpack:///./node_modules/@arcgis/core/layers/support/rasterFunctions/rasterProjectionHelper.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/@arcgis/core/views/webgl/rasterUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/decluttering/config.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/TiledDisplayObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/style/StyleDefinition.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js"],"names":["y","m","constructor","t","super","this","_source","_symbolizerParameters","_vaoInvalidated","coordScale","height","stencilRef","resolution","pixelRatio","x","rotation","rawPixelData","width","source","destroy","vaoData","magdir","vao","dispose","scalar","JSON","stringify","invalidateVAO","requestRender","updateVectorFieldVAO","s","e","style","symbolizerParameters","l","_createVectorFieldVAO","context","h","a","r","ready","_createTransforms","dvs","n","setTransform","transforms","toScreenNoRotation","u","d","Math","PI","c","i","o","displayViewMat3","onAttach","onDetach","vertexData","indexData","createVertex","v","STATIC_DRAW","Float32Array","createIndex","Uint32Array","geometry","location","name","count","type","f","FLOAT","normalized","_","attributes","bufferLayouts","elementCount","length","Number","POSITIVE_INFINITY","N","LN2","M","P","log","g","_timer","_cachedBlocks","Map","_size","_duration","_interval","min","decreaseRefCount","has","get","refCount","delete","controller","abort","getBlock","ts","Date","now","set","block","putBlock","_trim","_updateTimer","deleteBlock","updateMaxSize","empty","clear","_clearTimer","getCurrentSize","size","setInterval","Array","from","clearInterval","extent","rasterInfo","cache","push","some","isResolved","isRejected","then","catch","xmin","xmax","ymin","ymax","clone","normalize","spatialReference","p","transform","k","Set","inverseTransform","pyramidLevel","pyramidResolution","excessiveReading","storageInfo","R","origin","C","j","max","floor","ceil","B","b","pyramidBlockWidth","blockWidth","w","pyramidBlockHeight","blockHeight","$","I","H","E","add","forEach","shaders","vertexShader","fragmentShader","BYTE","UNSIGNED_SHORT","arguments","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","_quad","prepareState","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","draw","suspended","timeline","painter","begin","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","materialManager","getProgram","_drawWithProgram","end","isCompiled","transformGrid","opacity","S","useProgram","_getUniformInfos","names","textures","U","getTextures","u_coordScale","u_dvsMat3","colormap","colormapOffset","join","interpolation","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","state","round","isSourceScaled","blendFunction","renderingOptions","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","getVAO","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","TRIANGLES","UNSIGNED_INT","tex","GREATER","isReady","dvsMat3","isWrapAround","texture","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","load","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","key","level","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","map","findIndex","strides","divisor","offset","stride","UNSIGNED_BYTE","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","data","T","hittestAttributes","programSpec","L","POINTS","G","O","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","D","target","indexCount","indexFrom","BYTES_PER_ELEMENT","_drawFills","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","rendererSchema","_createDotDensityMesh","dotSize","window","devicePixelRatio","getViewport","dotScale","colors","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","TEXTURE_2D","pixelFormat","RGBA","dataType","wrapMode","CLAMP_TO_EDGE","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","F","_seed","_allocDotDensityTexture","getFloat","REPEAT","MARKER","HEATMAP","PIE_CHART","A","_drawMarkers","getLogger","_accumulateOutputTexture","_accumulateFramebuffer","_resolveGradientTexture","_tileQuad","_loadQualityProfile","_prepareAccumulatePass","_drawResolvePass","referenceScale","radius","isFieldActive","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","WEBGL2","shadingRate","RED","R32F","R16F","gradientHash","gradient","_prevGradientHash","resize","setData","_qualityProfile","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","error","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","drawPhase","HITTEST","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","MAP","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","Y","textVertexArrayObject","_renderGlyphRange","LABEL","mapAligned","abs","LINE","TEXT","marker","line","fill","text","label","clip","stencil","bitmap","overlay","raster","rasterVF","flow","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","heatmap","pieChart","beaufort_ft","beaufort_m","beaufort_km","beaufort_mi","beaufort_kn","classified_arrow","ocean_current_m","ocean_current_kn","single_arrow","wind_speed","validPixelCount","_drawScalars","_drawTriangles","dataRange","rotationType","symbolPercentRange","_getSymbolSize","symbolTileSize","esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultiPatch","mesh","toJSON","bandCount","attributeTable","pixelType","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","slice","Object","freeze","defineProperty","__proto__","create","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","value","_tileInfoView","renderChildren","sortChildren","setStencilReference","createRenderParams","getClosestInfoForScale","scaleToZoom","prepareRenderPasses","registerRenderPass","brushes","DEBUG","HIGHLIGHT","getStencilTarget","children","updateTransforms","getTileResolution","initialize","handles","layer","doRefresh","dataChanged","declaredClass","prototype","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","Uint16Array","_count","unbind","maxPathLength","density","smoothing","interpolate","velocityScale","flowRepresentation","verticesPerLine","minSpeedThreshold","segmentLength","maxTurnAngle","collisions","lineCollisionWidth","lineSpacing","kind","toRgba","hasVisualVariables","trailWidth","getVisualVariablesForType","stops","minDataValue","maxDataValue","minSize","maxSize","color","apply","setUniform3fv","equals","simulationSettings","timeExtent","loadImagery","createFlowMesh","_params","animated","isCompatible","render","program","vertexArray","_flowData","_values","attach","mask","sqrt","Uint8Array","flipped","detach","flowSpeed","time","trailLength","featheringSize","featheringOffset","introFade","fadeToZero","decayRate","_vertexData","_indexData","_styles","reduce","Promise","all","resources","background","trailCap","flowStyle","doRender","AbortController","abortController","signal","update","_displayData","displayData","toScreen","_flowDisplayObject","_loading","flowContainer","addChild","_clear","removeAllChildren","expand","cos","sin","centerAt","_loadImagery","_createFlowMesh","meshType","flowData","attached","container","redrawOrRefetch","async","_updateVisualization","_strategy","updating","multidimensionalDefinition","mosaicRule","renderingRule","definitionExpression","removeAll","stationary","layerView","requestUpdate","hitTest","moveEnd","renderer","enableCache","exports","replace","column","q","X","test","indexOf","concat","match","toString","parseInt","VERTEX_SHADER","trim","FRAGMENT_SHADER","_context","_locations","_uniformBlockBindings","_refCount","_compiled","_nameToUniformLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","console","_vShader","_fShader","instanceCounter","increment","Shader","_glName","createProgram","attachShader","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getError","getShaderParameter","COMPILE_STATUS","getProgramInfoLog","getUniformBlockIndex","uniformBlockBinding","Program","getExtension","glName","COMPLETION_STATUS_KHR","deleteShader","decrement","deleteProgram","ref","_getUniformLocation","numUniforms","getUniformLocation","hasUniform","uniform1i","uniform1iv","setUniform2iv","uniform2iv","setUniform3iv","uniform3iv","setUniform4iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","setUniform3f","uniform3f","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","stop","createShader","shaderSource","compileShader","getShaderInfoLog","enabled","compiledLOC","next","prev","Z","steiner","prevZ","nextZ","sort","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","fromPolygon","fromMapExtent","fromRect","vertexBuffers","getIndexBuffer","getVertexBuffers","keys","parseFloat","_clip","stage","_handle","version","_invalidate","_destroyGL","remove","_lastWidth","_lastHeight","_createMesh","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","globalOpacity","profiler","recordContainerStart","beforeRenderLayer","_clippingInfos","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","items","fromClipArea","popupTemplate","getRequiredFields","fieldsIndex","lastEditInfoEnabled","objectIdField","typeIdField","globalIdField","relationships","keyField","defaultPopupTemplateEnabled","defaultPopupTemplate","once","isCustomTilingScheme","createTile","_getTileBounds","visible","getTileBounds","world","lodAt","_emptyTilePixelBlock","_tileStrategy","_fetchQueue","_blockCacheRegistryUrl","_blockCacheRegistryId","_srcResolutions","previousLOD","_needBlockCacheUpdate","_globalSymbolizerParams","_symbolizerParams","_abortController","_isCustomTilingScheme","_globalUpdateRequested","resolve","updatingHandles","addPromise","_redrawImage","_get","_set","useProgressiveUpdate","_getCacheSize","cachePolicy","acquireTile","releaseTile","cacheSize","tileInfoView","pause","resume","fromJSON","ioConfig","sampling","hasTilingEffects","_updateSymbolizerParams","updateCacheSize","supportsTextureFloat","useWebGLForProcessing","_initializeTileInfo","fullExtent","_computeFetchConcurrency","concurrency","process","_fetchTile1","_updateBlockCacheRegistry","_enqueueTileFetch","removeChild","createEmptyTilePixelBlock","pixels","canUseWebGLForProcessing","isWrappable","view","allowPartialFill","datumTransformation","registryId","requestRawData","srcResolution","disableWrapAround","fetchTile","scales","srcResolutions","blockBoundary","maxCol","minCol","maxRow","minRow","_enqueueTileFetch1","bandIds","moving","getTileCoords","updateTileSource","symbolizerParams","globalSymbolizerParams","updateRenderer","_updateGlobalSymbolizerParams","updateTileSymbolizerParameters","local","global","fetchPixels","pixelBlock","symbolizer","generateWebGLParameters","isGCS","isGeographic","factor","outMin","outMax","url","normalizeRasterFetchOptions","multidimensionalInfo","getSliceIndex","reset","tiles","canRenderInWebGL","_getLayerInterpolation","applyRenderer","invalidateTexture","colorRamp","tileData","symbolTypes","requestProjectedLocalDirections","convertVectorFieldData","_getTileSymbolOffset","_sampleVectorFieldData","_updateSymbolType","_rasterFieldPrefix","_getfullExtent","projectFullExtent","dynamicRangeAdjustment","supportsSpatialReference","popupEnabled","magdirValue","identify","hasStandardTime","getStandardTimeValue","ObjectId","_formatAttributeValue","features","filter","Value","VALUE","String","hasOwnProperty","sourceLayer","fieldInfos","_getFieldInfo","format","_formatDelimitedString","_formatNumberFromString","toLowerCase","fieldName","split","isNaN","readOnly","_useWebGLForProcessing","_useProgressiveUpdate","subview","notifyChange","isUpdating","increaseRasterJobHandlerUsage","_updateSubview","blendMode","effect","decreaseRasterJobHandlerUsage","_detachSubview","moveStart","viewChange","mapPoint","graphic","_attachSubview","addChildAt","None","North","South","Both","cols","rows","3395","3410","3857","3975","4087","4088","6933","32662","53001","53002","53003","53004","53016","53017","53034","53079","53080","54001","54002","54003","54004","54016","54017","54034","54079","54080","54100","54101","center","K","inSR","outSR","preferPE","points","isWebMercator","isWGS84","NaN","wkid","coordsys","fromString","PE_TYPE_GEOGCS","PE_TYPE_PROJCS","wkt","projToGeog","steps","geogtran","PE_TYPE_GEOGTRAN","geogToGeog","isInverse","PE_TRANSFORM_2_TO_1","PE_TRANSFORM_1_TO_2","isEnvelope","bbox","geogToProj","xres","yres","usePixelCenter","gcs","pcs","generate","horizonGcsGenerate","horizonPcsGenerate","find","getInclusive","getKind","getNorthPoleLocation","getSouthPoleLocation","isPannableRectangle","getCoord","isPannable","coef","poleLocation","J","rings","originX","halfWorldWidth","pyramidsInfo","nativePixelSize","maximumPyramidLevel","pyramidScalingFactor","resolutionX","datsetColumnCount","worldColumnCountFromOrigin","leftMargin","rightPadding","originColumnOffset","hasGCSSShiftTransform","Q","getGeogcs","getCode","isAdaptive","outofBoundPointCount","offsets","projectedExtent","srcBufferExtent","coefficients","includeGCSGrid","gcsGrid","pixelSize","rasterTransform","hasWrapAround","ee","te","pyramidResolutions","ne","projectedPixelSize","bitBlit","blend","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","imagery","particles","streamlines","reproject","util","getAsRGBAFloat","getAsRGBA","RGBA32F","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","u_minOutput","u_maxOutput","u_minCutOff","minCutOff","u_maxCutOff","maxCutOff","u_factor","u_useGamma","useGamma","u_gamma","gamma","u_gammaCorrection","gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","minValue","u_maxValue","maxValue","ACTIVE_UNIFORMS","getActiveUniform","info","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FLOAT_MAT3","FLOAT_MAT4","INT","BOOL","INT_VEC2","BOOL_VEC2","INT_VEC3","BOOL_VEC3","INT_VEC4","BOOL_VEC4","_visualState","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","BACKGROUND","SYMBOL","CIRCLE","VISIBLE","NONE","LINE_CENTER","LEFT","CENTER","RIGHT","TOP","BOTTOM","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","UPPERCASE","LOWERCASE","HORIZONTAL","VERTICAL","backgroundLayoutDefinition","visibility","default","fillLayoutDefinition","lineLayoutDefinition","BUTT","MITER","symbolLayoutDefinition","minimum","circleLayoutDefinition","backgroundPaintDefinition","maximum","fillPaintDefinition","linePaintDefinition","symbolPaintDefinition","rasterPaintDefinition","circlePaintDefinition","stretchType","_textureInvalidated","_colormapTextureInvalidated","_supportsBilinearTexture","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","_isBandIdschanged","setSamplingMode","_getTextureSamplingMethod","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","_colormap"],"mappings":"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","file":"js/chunk-7d082a1a.89730269.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isSome as t,isNone as e}from\"../../../../core/maybe.js\";import{b as s,c as a,r,j as i,m as o}from\"../../../../chunks/mat3.js\";import{c as n}from\"../../../../chunks/mat3f32.js\";import{f as c}from\"../../../../chunks/vec2f32.js\";import{createVFMesh as l,createVFMeshScalar as h}from\"../../../../layers/support/rasterFunctions/vectorFieldUtils.js\";import{DisplayObject as m}from\"../DisplayObject.js\";import{createProgramDescriptor as u}from\"../webgl/Utils.js\";import{BufferObject as d}from\"../../../webgl/BufferObject.js\";import{Usage as v,DataType as f}from\"../../../webgl/enums.js\";import{VertexArrayObject as _}from\"../../../webgl/VertexArrayObject.js\";class y extends m{constructor(t=null){super(),this._source=null,this._symbolizerParameters=null,this._vaoInvalidated=!0,this.coordScale=[1,1],this.height=null,this.stencilRef=0,this.resolution=null,this.pixelRatio=1,this.x=0,this.y=0,this.rotation=0,this.rawPixelData=null,this.width=null,this.source=t}destroy(){t(this.vaoData)&&(this.vaoData.magdir?.vao.dispose(),this.vaoData.scalar?.vao.dispose(),this.vaoData=null)}get symbolizerParameters(){return this._symbolizerParameters}set symbolizerParameters(t){JSON.stringify(this._symbolizerParameters)!==JSON.stringify(t)&&(this._symbolizerParameters=t,this.invalidateVAO())}get source(){return this._source}set source(t){this._source=t,this.invalidateVAO()}invalidateVAO(){!this._vaoInvalidated&&t(this.vaoData)&&(this.vaoData.magdir?.vao.dispose(),this.vaoData.scalar?.vao.dispose(),this.vaoData=null,this._vaoInvalidated=!0,this.requestRender())}updateVectorFieldVAO(s){if(this._vaoInvalidated){if(this._vaoInvalidated=!1,t(this.source)&&e(this.vaoData)){const{style:t}=this.symbolizerParameters;switch(t){case\"beaufort_ft\":case\"beaufort_km\":case\"beaufort_kn\":case\"beaufort_m\":case\"beaufort_mi\":case\"classified_arrow\":case\"ocean_current_kn\":case\"ocean_current_m\":case\"single_arrow\":{const t=l(this.source,this.symbolizerParameters),e=this._createVectorFieldVAO(s.context,t);this.vaoData={magdir:e}}break;case\"simple_scalar\":{const t=h(this.source,this.symbolizerParameters),e=this._createVectorFieldVAO(s.context,t);this.vaoData={scalar:e}}break;case\"wind_speed\":{const t=l(this.source,this.symbolizerParameters),e=this._createVectorFieldVAO(s.context,t),a=h(this.source,this.symbolizerParameters),r=this._createVectorFieldVAO(s.context,a);this.vaoData={magdir:e,scalar:r}}}}this.ready(),this.requestRender()}}_createTransforms(){return{dvs:n()}}setTransform(t){const e=s(this.transforms.dvs),[n,l]=t.toScreenNoRotation([0,0],[this.x,this.y]),h=this.resolution/this.pixelRatio/t.resolution,m=h*this.width,u=h*this.height,d=Math.PI*this.rotation/180;a(e,e,c(n,l)),a(e,e,c(m/2,u/2)),r(e,e,-d),a(e,e,c(-m/2,-u/2)),i(e,e,c(m,u)),o(this.transforms.dvs,t.displayViewMat3,e)}onAttach(){this.invalidateVAO()}onDetach(){this.invalidateVAO()}_createVectorFieldVAO(t,e){const{vertexData:s,indexData:a}=e,r=d.createVertex(t,v.STATIC_DRAW,new Float32Array(s)),i=d.createIndex(t,v.STATIC_DRAW,new Uint32Array(a)),o=u(\"vector-field\",{geometry:[{location:0,name:\"a_pos\",count:2,type:f.FLOAT,normalized:!1},{location:1,name:\"a_offset\",count:2,type:f.FLOAT,normalized:!1},{location:2,name:\"a_vv\",count:2,type:f.FLOAT,normalized:!1}]});return{vao:new _(t,o.attributes,o.bufferLayouts,{geometry:r},i),elementCount:a.length}}}export{y as RasterVFDisplayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst n=Number.POSITIVE_INFINITY,t=Math.PI,r=2*t,u=t/2,o=128/t,e=t/128,c=256/360,f=t/180,i=1.414213562,I=1/i,N=1/Math.LN2;function a(n,t){return(n%=t)>=0?n:n+t}function h(n){return a(n*o,256)}function M(n){return a(n*c,256)}function P(n){return Math.log(n)*N}function T(n){return n*n}function b(n,t,r){return n*(1-r)+t*r}function g(n,t,r){return n>=t&&n<=r||n>=r&&n<=t}export{e as C_256_TO_RAD,r as C_2PI,c as C_DEG_TO_256,f as C_DEG_TO_RAD,n as C_INFINITY,t as C_PI,u as C_PI_BY_2,o as C_RAD_TO_256,i as C_SQRT2,I as C_SQRT2_INV,g as between,M as degToByte,b as interpolate,P as log2,a as positiveMod,h as radToByte,T as sqr};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass t{constructor(t=15e3,e=5e3){this._timer=null,this._cachedBlocks=new Map,this._size=-1,this._duration=t,this._interval=Math.min(t,e)}decreaseRefCount(t,e){const s=t+\"/\"+e,r=this._cachedBlocks;if(r.has(s)){const t=r.get(s);return t.refCount--,t.refCount<=0&&(r.delete(s),t.controller&&t.controller.abort()),t.refCount}return 0}getBlock(t,e){const s=t+\"/\"+e,r=this._cachedBlocks;if(r.has(s)){const t=r.get(s);return t.ts=Date.now(),t.refCount++,r.delete(s),r.set(s,t),t.block}return null}putBlock(t,e,s,r=null){const i=this._cachedBlocks,c=t+\"/\"+e;if(i.has(c)){const t=i.get(c);t.ts=Date.now(),t.refCount++}else i.set(c,{block:s,ts:Date.now(),refCount:1,controller:r});this._trim(),this._updateTimer()}deleteBlock(t,e){const s=this._cachedBlocks,r=t+\"/\"+e;s.has(r)&&s.delete(r)}updateMaxSize(t){this._size=t,this._trim()}empty(){this._cachedBlocks.clear(),this._clearTimer()}getCurrentSize(){return this._cachedBlocks.size}_updateTimer(){if(null!=this._timer)return;const t=this._cachedBlocks;this._timer=setInterval((()=>{const e=Array.from(t),s=Date.now();for(let r=0;r=t.size)return;const e=Array.from(t);for(let s=0;snull!=e))||c.delete(e)}}function f(e){c.delete(e)}function h(e,t,n){if(!c.has(e))return null==t?a.decreaseRefCount(e,n):0;const o=c.get(e);if(null==o[t])return a.decreaseRefCount(e,n);const r=o[t].cache;if(r.has(n)){const e=r.get(n);if(e.refCount--,0===e.refCount){r.delete(n);for(let e=0;ei.isResolved=!0)).catch((()=>i.isRejected=!0)),l[t].cache.set(n,i)}function d(e,t,n){if(!c.has(e))return void(null==t&&a.deleteBlock(e,n));const o=c.get(e);null!=o[t]?o[t].cache.delete(n):a.deleteBlock(e,n)}function y(e,t){if(!c.has(e))return null;const n=c.get(e);return null==n[t]?null:n[t]}function g(t,c,a,i,s,u,f=null){const h=y(t,c),m=h.extent,{cache:x,rasterInfo:d}=h;if(m&&m.xmin===a.xmin&&m.xmax===a.xmax&&m.ymin===a.ymin&&m.ymax===a.ymax)return;const g=a.clone().normalize(),{spatialReference:p,transform:k}=d,M=new Set;for(let y=0;y0?R.pyramidBlockWidth:R.blockWidth,w=h>0?R.pyramidBlockHeight:R.blockHeight,$=1,I=Math.max(0,Math.floor(j.x/b)-$),H=Math.max(0,Math.floor(j.y/w)-$),E=Math.floor((j.x+v-1)/b)+$,P=Math.floor((j.y+B-1)/w)+$;for(let e=H;e<=P;e++)for(let t=I;t<=E;t++)M.add(`${h}/${e}/${t}`)}x.forEach(((e,t)=>{if(!M.has(t)){const e=x.get(t);(null==e||e.isResolved||e.isRejected)&&x.delete(t)}})),h.extent={xmin:a.xmin,ymin:a.ymin,xmax:a.xmax,ymax:a.ymax}}export{h as decreaseRefCount,d as deleteBlock,f as deleteRaster,m as getBlock,i as getRasterId,x as putBlock,s as register,u as unregister,g as update};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as r}from\"./sources/resolver.js\";const e={shaders:{vertexShader:r(\"background/background.vert\"),fragmentShader:r(\"background/background.frag\")},attributes:new Map([[\"a_pos\",0]])};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";const r={geometry:[new o(\"a_pos\",2,e.BYTE,0,2)]},t={geometry:[new o(\"a_pos\",2,e.BYTE,0,4),new o(\"a_tex\",2,e.BYTE,2,4)]},m={geometry:[new o(\"a_pos\",2,e.UNSIGNED_SHORT,0,4)]};export{r as Pos2b,m as Pos2us,t as PosTex2b};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{hasSource as t}from\"./RasterBitmap.js\";import r from\"../webgl/VertexStream.js\";import s from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as a,CompareFunction as i}from\"../../../webgl/enums.js\";import{setTextures as o,getCommonUniforms as n,setUniforms as h,getColormapUniforms as l,getStretchUniforms as c,getShadedReliefUniforms as p,getUniformLocationInfos as d,getBasicGridUniforms as u}from\"../../../webgl/rasterUtils.js\";class m extends s{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(i.EQUAL,t.stencilRef,255)}draw(e,r){if(!t(r)||r.suspended)return;const{timeline:s,context:a,painter:i,requestRender:o}=e;s.begin(this.name);const n=!a.capabilities.textureFloat?.textureFloatLinear;r.updateTexture(e);const h=this._getShaderVariations(r,n),l=i.materialManager.getProgram(this._desc[r.symbolizerParameters.type],h);this._drawWithProgram(a,l,r,o),s.end(this.name)}_drawWithProgram(t,s,a,i,d=1,m=[0,0],f=!1){if(this._quad||(this._quad=new r(t,[0,0,1,0,0,1,1,1])),e(i)&&!s.isCompiled)return void i();const{symbolizerParameters:_,transformGrid:g,width:b,height:P,opacity:S}=a,w=_.type;t.useProgram(s);const x=this._getShaderVariations(a),y=this._getUniformInfos(w,t,s,x),{names:M,textures:U}=a.getTextures();o(t,s,M,U);const j=u(d,m),I=n(g,[b,P],[a.source.width,a.source.height],S,f);if(h(s,y,{u_coordScale:a.coordScale,u_dvsMat3:a.transforms.dvs,...j,...I}),_.colormap){const{colormap:e,colormapOffset:t}=_,r=l(e,t);h(s,y,r)}if(\"stretch\"===_.type){const e=c(_);h(s,y,e)}else if(\"hillshade\"===_.type){const e=p(_);h(s,y,e)}this._quad.draw()}_getUniformInfos(e,t,r,s){const a=s.length>0?e+\"-\"+s.join(\"-\"):e;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=d(t,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(e,t=!1){const r=[],{interpolation:s}=e,{type:a,colormap:i}=e.symbolizerParameters;return\"cubic\"===s?r.push(\"bicubic\"):\"bilinear\"===s&&\"stretch\"===a&&null!=i?(r.push(\"bilinear\"),r.push(\"nnedge\")):t&&\"bilinear\"===s&&r.push(\"bilinear\"),e.isRendereredSource?r.push(\"noop\"):i&&r.push(\"applyColormap\"),e.transformGrid&&(r.push(\"applyProjection\"),1===e.transformGrid.spacing[0]&&r.push(\"lookupProjection\")),r}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import i from\"../VertexStream.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as n,BlendFactor as r,CompareFunction as a}from\"../../../../webgl/enums.js\";const o={nearest:{defines:[],samplingMode:n.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:n.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:n.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:n.LINEAR_MIPMAP_LINEAR,mips:!0}},d=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,s=t.resolution/t.pixelRatio/i.resolution,n=Math.round(e.pixelRatio)!==e.pixelRatio,r=s>1.05||s<.95;return i.rotation||r||n||t.isSourceScaled||t.rotation?o.bilinear:o.nearest}return o[i.samplingMode]};class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(r.ONE,r.ONE,r.ONE,r.ONE):e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(s,n){const{context:r,renderingOptions:a,painter:o,requestRender:m}=s;if(!n.source)return;const c=d(s,n,a),l=o.materialManager.getProgram(this._desc,c.defines);if(e(m)&&!l.isCompiled)return void m();s.timeline.begin(this.name),this._quad||(this._quad=new i(r,[0,0,1,0,0,1,1,1]));const{coordScale:p,computedOpacity:u,transforms:f}=n;n.setSamplingProfile(c),n.bind(s.context,t),r.useProgram(l),l.setUniformMatrix3fv(\"u_dvsMat3\",f.dvs),l.setUniform1i(\"u_texture\",t),l.setUniform2fv(\"u_coordScale\",p),l.setUniform1f(\"u_opacity\",u),this._quad.draw(),s.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as r,isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as s}from\"../Utils.js\";import o from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as a,CompareFunction as m,DataType as n,PrimitiveType as p}from\"../../../../webgl/enums.js\";import{createProgram as l}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>s(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT}]});class f extends o{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(m.ALWAYS,0,255)}draw(e,s){const{context:o,state:a,requestRender:m}=e,f=c(),d=s.getVAO(o,a,f.attributes,f.bufferLayouts);r(d.indexBuffer)||(this._program||(this._program=l(o,i)),!t(m)||this._program.isCompiled?(o.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),o.bindVAO(d),o.drawElements(p.TRIANGLES,d.indexBuffer.size,n.UNSIGNED_INT,0),o.bindVAO()):m())}}export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{BlendFactor as o,CompareFunction as n,DataType as a,PrimitiveType as i}from\"../../../../webgl/enums.js\";const u=()=>r(\"overlay\",{geometry:[{location:0,name:\"a_pos\",count:2,type:a.FLOAT}],tex:[{location:1,name:\"a_uv\",count:2,type:a.UNSIGNED_SHORT}]});class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"overlay/overlay\",fsPath:\"overlay/overlay\",attributes:new Map([[\"a_pos\",0],[\"a_uv\",1]])}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setBlendFunctionSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(r,s){const{context:o,painter:n,requestRender:a}=r;if(!s.isReady)return;const{computedOpacity:m,dvsMat3:c,isWrapAround:d,texture:l}=s;r.timeline.begin(this.name);const p=n.materialManager.getProgram(this._desc);if(e(a)&&!p.isCompiled)return void a();const f=u(),_=s.getVAO(o,f.bufferLayouts,f.attributes);if(!_)return;o.bindVAO(_),o.useProgram(p),o.bindTexture(l,t),p.setUniformMatrix3fv(\"u_dvsMat3\",c),p.setUniform1i(\"u_texture\",t),p.setUniform1f(\"u_opacity\",m);const y=d?10:4;o.drawArrays(i.TRIANGLE_STRIP,0,y),o.bindVAO(),r.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{MIN_MAX_ZOOM_PRECISION_FACTOR as i,TEXTURE_BINDING_ATTRIBUTE_DATA_0 as s,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as o,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r,TEXTURE_BINDING_ATTRIBUTE_DATA_4 as n,TEXTURE_BINDING_ATTRIBUTE_DATA_5 as m}from\"../definitions.js\";import u from\"./WGLBrush.js\";import{MaterialKeyBase as v}from\"../materialKey/MaterialKey.js\";import{BlendFactor as f,CompareFunction as l}from\"../../../../webgl/enums.js\";class p extends u{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e,i){i&&i.includes(\"hittest\")?t.setBlendFunctionSeparate(f.ONE,f.ONE,f.ONE,f.ONE):t.setBlendFunctionSeparate(f.ONE,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(l.EQUAL,e.stencilRef,255)}draw(e,i,s){const o=this.getGeometryType();i.commit(e);const a=i.getGeometry(o);t(a)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),a.forEachCommand((t=>{const o=v.load(t.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(e,i,t,s)})))}_setSharedUniforms(t,u,v){const{displayLevel:f,pixelRatio:l,state:p,passOptions:c}=u;e(c)&&\"hittest\"===c.type&&(t.setUniform2fv(\"u_hittestPos\",c.position),t.setUniform1f(\"u_hittestDist\",c.distance)),t.setUniform1f(\"u_pixelRatio\",l),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",p.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(f*i)),t.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r),t.setUniform1i(\"u_attributeData4\",n),t.setUniform1i(\"u_attributeData5\",m)}_setSizeVVUniforms(t,e,i,s){if(t.vvSizeMinMaxValue&&e.setUniform4fv(\"u_vvSizeMinMaxValue\",i.vvSizeMinMaxValue),t.vvSizeScaleStops&&e.setUniform1f(\"u_vvSizeScaleStopsValue\",i.vvSizeScaleStopsValue),t.vvSizeFieldStops){const t=i.getSizeVVFieldStops(s.key.level);e.setUniform1fv(\"u_vvSizeFieldStopsValues\",t.values),e.setUniform1fv(\"u_vvSizeFieldStopsSizes\",t.sizes)}t.vvSizeUnitValue&&e.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",i.vvSizeUnitValueToPixelsRatio)}_setColorAndOpacityVVUniforms(t,e,i){t.vvColor&&(e.setUniform1fv(\"u_vvColorValues\",i.vvColorValues),e.setUniform4fv(\"u_vvColors\",i.vvColors)),t.vvOpacity&&(e.setUniform1fv(\"u_vvOpacityValues\",i.vvOpacityValues),e.setUniform1fv(\"u_vvOpacities\",i.vvOpacities))}_setRotationVVUniforms(t,e,i){t.vvRotation&&e.setUniform1f(\"u_vvRotationType\",\"geographic\"===i.vvMaterialParameters.vvRotationType?0:1)}_getTriangleDesc(t,e,i=[\"a_pos\"]){const s=e.bufferLayouts.geometry,o=i.map((t=>s.findIndex((e=>e.name===t)))),a=`${t}-${o.join(\"-\")}`;let r=this._computeDesc.get(a);if(!r){const t=e.strides,i=e.strides.geometry,n=new Map(e.attributes),m=s.map((t=>({...t}))),u=Math.max(...e.attributes.values()),v={geometry:m};let f=0;for(const e of o){const t=s[e];v.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),v.geometry.push({count:t.count,name:t.name+\"2\",divisor:t.divisor,normalized:t.normalized,offset:2*i+t.offset,stride:i,type:t.type}),n.set(t.name+\"1\",u+ ++f),n.set(t.name+\"2\",u+ ++f)}r={bufferLayouts:v,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,unwrapOr as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as o,WGLSymbologyType as r}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import i from\"./WGLGeometryBrush.js\";import{FillMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as s}from\"../techniques/utils.js\";import{PrimitiveType as m,DataType as l}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:l.SHORT},{location:1,name:\"a_id\",count:3,type:l.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:l.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:l.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:l.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:l.SHORT},{location:6,name:\"a_aux3\",count:4,type:l.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:l.UNSIGNED_SHORT}]};switch(e.symbologyType){case r.SIMPLE:case r.OUTLINE_FILL_SIMPLE:t.geometry.splice(7,1),t.geometry.splice(4,1)}return{shader:\"materials/fill\",vertexLayout:t}}class c extends i{dispose(){}getGeometryType(){return o.FILL}supportsSymbology(e){return e!==r.DOT_DENSITY}drawGeometry(o,r,i,l){const{context:c,painter:y,rendererInfo:p,requiredLevel:_,passOptions:f,requestRender:d}=o,E=n.load(i.materialKey),S=s(E.data),g=e(f)&&\"hittest\"===f.type,N=y.materialManager,{shader:T,vertexLayout:I,hittestAttributes:U}=t(S.programSpec,u(E));let x=m.TRIANGLES,L=a(E.data,I);g&&(L=this._getTriangleDesc(i.materialKey,L,U),x=m.POINTS);const{attributes:h,bufferLayouts:G}=L,O=N.getMaterialProgram(o,E,T,h,l);if(e(d)&&!g&&!O.isCompiled)return void d();if(c.useProgram(O),this._setSharedUniforms(O,o,r),O.setUniform2f(\"u_tileOffset\",512*r.key.col,512*r.key.row),E.textureBinding){y.textureManager.bindTextures(c,O,E);const e=1/2**(_-r.key.level);O.setUniform1f(\"u_zoomFactor\",e)}const b=1/o.pixelRatio;O.setUniform1f(\"u_blur\",b),O.setUniform1f(\"u_antialiasing\",b),this._setSizeVVUniforms(E,O,p,r),this._setColorAndOpacityVVUniforms(E,O,p);const D=i.target.getVAO(c,G,h,g);let R=i.indexCount,j=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;g&&(R/=3,j/=3),c.bindVAO(D),this._drawFills(o,r,O,x,R,j)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,l.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e,isSome as t,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as s,TEXTURE_BINDING_RENDERER_1 as i,TILE_SIZE as n}from\"../definitions.js\";import{WGLGeometryType as d,WGLSymbologyType as a}from\"../enums.js\";import l from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as _}from\"../techniques/utils.js\";import{BufferObject as u}from\"../../../../webgl/BufferObject.js\";import{DataType as m,PrimitiveType as h,TextureType as c,PixelFormat as f,PixelType as T,TextureSamplingMode as p,TextureWrapMode as x,TargetType as w,DepthStencilTargetType as D,RenderbufferFormat as g,Usage as y}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as E}from\"../../../../webgl/Renderbuffer.js\";import{Texture as b}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as F}from\"../../../../webgl/VertexArrayObject.js\";class O extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([s,i]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){super.dispose(),this._disposeTextures(),this._dotFBO=e(this._dotFBO),this._dotVAO=e(this._dotVAO)}getGeometryType(){return d.FILL}supportsSymbology(e){return e===a.DOT_DENSITY}_drawFills(e,o,r,s,i,n){const{passOptions:d}=e;if(t(d)&&\"hittest\"===d.type)super._drawFills(e,o,r,s,i,n);else{const t=this._drawDotLocations(e,o,r,i,n);this._drawDotDensity(e,o,t)}}_drawDotDensity(e,o,r){const{context:s,painter:i,rendererInfo:n,requestRender:d}=e,a=i.materialManager.getProgram(this._dotDesc);if(t(d)&&!a.isCompiled)return void d();const{rendererSchema:l}=n;_(l,\"dot-density\");const u=this._createDotDensityMesh(s,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:m.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});s.setStencilTestEnabled(!0),s.useProgram(a),a.setUniform1f(\"u_tileZoomFactor\",1),a.setUniform1i(\"u_texture\",this._dotSamplers[0]),a.setUniform1f(\"u_dotSize\",Math.max(l.dotSize,1)),a.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(a,e,o),s.bindTexture(r,this._dotSamplers[0]),s.bindVAO(u),s.drawArrays(h.POINTS,0,262144)}_drawDotLocations(e,t,o,r,s){const{context:i,rendererInfo:d,requiredLevel:a}=e,l=i.getViewport(),{rendererSchema:u}=d;_(u,\"dot-density\");const{dotScale:c,colors:f,activeDots:T,backgroundColor:p,dotValue:x}=u;i.setViewport(0,0,512,512);const w=i.getBoundFramebufferObject(),D=this._createFBO(i);i.bindFramebuffer(D),i.setClearColor(0,0,0,0),i.clear(i.gl.COLOR_BUFFER_BIT|i.gl.STENCIL_BUFFER_BIT),i.setStencilTestEnabled(!1);const g=1/2**(a-t.key.level),y=n,S=y*window.devicePixelRatio*y*window.devicePixelRatio,E=1/g*(1/g),b=c?e.state.scale/c:1;return o.setUniform1f(\"u_tileZoomFactor\",g),o.setUniform1f(\"u_tileDotsOverArea\",S/(n*window.devicePixelRatio*n*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",f),o.setUniform4fv(\"u_isActive\",T),o.setUniform4fv(\"u_dotBackgroundColor\",p),o.setUniform1f(\"u_dotValue\",Math.max(1,x*b*E)),this._bindDotDensityTextures(i,o,d,y),i.drawElements(h.TRIANGLES,r,m.UNSIGNED_INT,s),i.setViewport(l.x,l.y,l.width,l.height),i.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(o(this._dotFBO)){const t=512,o=512,r={target:c.TEXTURE_2D,pixelFormat:f.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:x.CLAMP_TO_EDGE,width:t,height:o},s={colorTarget:w.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},i=new E(e,{width:t,height:o,internalFormat:g.DEPTH_STENCIL});this._dotFBO=new S(e,s,r,i)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;es?2:1,I=e.drawPhase===a.HITTEST,R=this._programOptions;R.id=I,R.pattern=x;const k=v.getMaterialProgram(c,g,R);if(!r(_)||I||k.isCompiled){if(c.bindVAO(this._vao),c.useProgram(k),x){const t=L.getMosaicItemPosition(M,!0);if(r(t)){const{tl:e,br:o,page:s}=t;w=o[0]-e[0],A=o[1]-e[1];const a=L.getPageSize(s);r(a)&&(L.bind(c,f.LINEAR,s,i),k.setUniform4f(\"u_tlbr\",e[0],e[1],o[0],o[1]),k.setUniform2fv(\"u_mosaicSize\",a),k.setUniform1i(\"u_texture\",i))}k.setUniform1f(\"u_opacity\",y)}else this._color[0]=j*b[0],this._color[1]=j*b[1],this._color[2]=j*b[2],this._color[3]=j,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",h.z||0),I){const t=n(p+1);k.setUniform4fv(\"u_id\",t)}for(const r of o){if(k.setUniform1f(\"u_coord_range\",r.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),x){const e=Math.max(2**(Math.round(d)-r.key.level),1),o=P*r.width*e,i=o/t(w),s=o/t(A);this._patternMatrix[0]=i,this._patternMatrix[4]=s,k.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}c.setStencilFunction(l.EQUAL,r.stencilRef,255),c.drawArrays(u.TRIANGLE_STRIP,0,4)}}else _()}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{d as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as r}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import a from\"./WGLBrush.js\";import{CompareFunction as s,PrimitiveType as o,DataType as l}from\"../../../../webgl/enums.js\";class c extends a{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(a,c){const{context:m,displayLevel:f,requiredLevel:u,state:d,drawPhase:p,painter:y,spriteMosaic:g,styleLayerUID:v,requestRender:E}=a;if(!c.some((e=>e.layerData.get(v)?.circleIndexCount??!1)))return;const M=a.styleLayer,T=M.circleMaterial,x=y.vectorTilesMaterialManager,I=1.2,U=M.getPaintValue(\"circle-translate\",f),_=M.getPaintValue(\"circle-translate-anchor\",f),h=p===i.HITTEST,L=this._programOptions;L.id=h;const R=x.getMaterialProgram(m,T,L);if(!h&&e(E)&&!R.isCompiled)return void E();m.useProgram(R),R.setUniformMatrix3fv(\"u_displayMat3\",_===r.VIEWPORT?d.displayMat3:d.displayViewMat3),R.setUniform2fv(\"u_circleTranslation\",U),R.setUniform1f(\"u_depth\",M.z),R.setUniform1f(\"u_antialiasingWidth\",I);let S=-1;if(h){const e=n(v+1);R.setUniform4fv(\"u_id\",e)}for(const e of c){if(!e.layerData.has(v))continue;e.key.level!==S&&(S=e.key.level,T.setDataUniforms(R,f,M,S,g));const r=e.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(m);const i=r.circleVertexArrayObject;t(i)||(m.bindVAO(i),R.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u!==e.key.level?m.setStencilFunction(s.EQUAL,e.stencilRef,255):m.setStencilFunction(s.GREATER,255,255),m.drawElements(o.TRIANGLES,r.circleIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),e.triangleCount+=r.circleIndexCount/3)}}}export{c as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as n}from\"../definitions.js\";import{WGLDrawPhase as a}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as l,CompareFunction as f,PrimitiveType as u,DataType as d}from\"../../../../webgl/enums.js\";const c=1/65536;class m extends s{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:n,spriteMosaic:s,styleLayerUID:l}=t;let f=!1;for(const a of e)if(a.layerData.has(l)){const t=a.layerData.get(l);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,d=u.getPaintProperty(\"fill-pattern\"),c=void 0!==d,m=c&&d.isDataDriven;let p;if(c&&!m){const t=d.getValue(i);p=s.getMosaicItemPosition(t,!0)}const y=!c&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!c){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!t?.isDataDriven&&!e?.isDataDriven){const t=u.getPaintValue(\"fill-color\",i);_=u.getPaintValue(\"fill-opacity\",i)*t[3],_>=1&&(g=!1)}}if(g&&\"opaque\"===n)return;let E;r===a.HITTEST&&(E=o(l+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==n)&&this._drawFill(t,l,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==n&&!P&&this._drawOutline(t,l,u,e,v,M,E)}_drawFill(o,s,m,p,y,g,_,E,v,M){if(_&&!v&&t(E))return;const{context:P,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:h,spriteMosaic:D,requestRender:S}=o,R=m.fillMaterial,N=x.vectorTilesMaterialManager,w=h>n?2:1,L=U===a.HITTEST,A=this._fillProgramOptions;A.id=L,A.pattern=_;const C=N.getMaterialProgram(P,R,A);if(e(S)&&!L&&!C.isCompiled)return void S();if(P.useProgram(C),e(E)){const{page:t}=E,i=D.getPageSize(t);e(i)&&(D.bind(P,l.LINEAR,t,r),C.setUniform2fv(\"u_mosaicSize\",i),C.setUniform1i(\"u_texture\",r))}C.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),C.setUniform2fv(\"u_fillTranslation\",y),C.setUniform1f(\"u_depth\",m.z+c),L&&C.setUniform4fv(\"u_id\",M);let V=-1;for(const i of p){if(!i.layerData.has(s))continue;i.key.level!==V&&(V=i.key.level,R.setDataUniforms(C,I,m,V,D));const n=i.layerData.get(s);if(!n.fillIndexCount)continue;n.prepareForRendering(P);const a=n.fillVertexArrayObject;if(!t(a)){if(P.bindVAO(a),C.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),P.setStencilFunction(f.EQUAL,i.stencilRef,255),_){const t=Math.max(2**(Math.round(I)-i.key.level),1),e=i.rangeX/(w*i.width*t);C.setUniform1f(\"u_patternFactor\",e)}if(v){const t=n.patternMap;if(!t)continue;for(const[i,n]of t){const t=D.getPageSize(i);e(t)&&(D.bind(P,l.LINEAR,i,r),C.setUniform2fv(\"u_mosaicSize\",t),C.setUniform1i(\"u_texture\",r),P.drawElements(u.TRIANGLES,n[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else P.drawElements(u.TRIANGLES,n.fillIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.fillIndexStart);i.triangleCount+=n.fillIndexCount/3}}}_drawOutline(r,n,o,s,l,m,p){const{context:y,displayLevel:g,state:_,drawPhase:E,painter:v,pixelRatio:M,spriteMosaic:P,requestRender:I}=r,T=o.outlineMaterial,U=v.vectorTilesMaterialManager,x=.75/M,h=E===a.HITTEST,D=this._outlineProgramOptions;D.id=h;const S=U.getMaterialProgram(y,T,D);if(e(I)&&!h&&!S.isCompiled)return void I();y.useProgram(S),S.setUniformMatrix3fv(\"u_displayMat3\",m===i.VIEWPORT?_.displayMat3:_.displayViewMat3),S.setUniform2fv(\"u_fillTranslation\",l),S.setUniform1f(\"u_depth\",o.z+c),S.setUniform1f(\"u_outline_width\",x),h&&S.setUniform4fv(\"u_id\",p);let R=-1;for(const e of s){if(!e.layerData.has(n))continue;e.key.level!==R&&(R=e.key.level,T.setDataUniforms(S,g,o,R,P));const i=e.layerData.get(n);if(i.prepareForRendering(y),!i.outlineIndexCount)continue;const r=i.outlineVertexArrayObject;t(r)||(y.bindVAO(r),S.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),y.setStencilFunction(f.EQUAL,e.stencilRef,255),y.drawElements(u.TRIANGLES,i.outlineIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.outlineIndexStart),e.triangleCount+=i.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import o from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as l,PrimitiveType as f,DataType as m}from\"../../../../webgl/enums.js\";class u extends o{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(o,u){const{context:c,displayLevel:d,state:p,drawPhase:g,painter:y,pixelRatio:E,spriteMosaic:M,styleLayerUID:_,requestRender:v}=o;if(!u.some((e=>e.layerData.get(_)?.lineIndexCount??!1)))return;const U=o.styleLayer,I=U.lineMaterial,P=y.vectorTilesMaterialManager,x=U.getPaintValue(\"line-translate\",d),T=U.getPaintValue(\"line-translate-anchor\",d),S=U.getPaintProperty(\"line-pattern\"),D=void 0!==S,L=D&&S.isDataDriven;let N,R;if(D&&!L){const e=S.getValue(d);N=M.getMosaicItemPosition(e)}let V=!1;if(!D){const e=U.getPaintProperty(\"line-dasharray\");if(R=void 0!==e,V=R&&e.isDataDriven,R&&!V){const t=e.getValue(d),i=U.getDashKey(t,U.getLayoutValue(\"line-cap\",d));N=M.getMosaicItemPosition(i)}}const h=1/E,A=g===r.HITTEST,j=this._programOptions;j.id=A,j.pattern=D,j.sdf=R;const w=P.getMaterialProgram(c,I,j);if(e(v)&&!A&&!w.isCompiled)return void v();if(c.useProgram(w),w.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),w.setUniformMatrix3fv(\"u_displayMat3\",T===i.VIEWPORT?p.displayMat3:p.displayViewMat3),w.setUniform2fv(\"u_lineTranslation\",x),w.setUniform1f(\"u_depth\",U.z),w.setUniform1f(\"u_antialiasing\",h),A){const e=a(_+1);w.setUniform4fv(\"u_id\",e)}if(N&&e(N)){const{page:t}=N,i=M.getPageSize(t);e(i)&&(M.bind(c,s.LINEAR,t,n),w.setUniform2fv(\"u_mosaicSize\",i),w.setUniform1i(\"u_texture\",n))}let b=-1;for(const i of u){if(!i.layerData.has(_))continue;i.key.level!==b&&(b=i.key.level,I.setDataUniforms(w,d,U,b,M));const r=2**(d-b)/E;w.setUniform1f(\"u_zoomFactor\",r);const a=i.layerData.get(_);if(!a.lineIndexCount)continue;a.prepareForRendering(c);const o=a.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),w.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),L||V){const t=a.patternMap;if(!t)continue;for(const[i,r]of t){const t=M.getPageSize(i);e(t)&&(M.bind(c,s.LINEAR,i,n),w.setUniform2fv(\"u_mosaicSize\",t),w.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,r[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r[0]))}}else c.drawElements(f.TRIANGLES,a.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.lineIndexStart);i.triangleCount+=a.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{c as i,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as r}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as s,SymbolPlacement as n,TranslateAnchor as o}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as l,VTL_TEXTURE_BINDING_UNIT_GLYPHS as f}from\"../definitions.js\";import{WGLDrawPhase as u}from\"../enums.js\";import{degToByte as m}from\"../GeometryUtils.js\";import{u32to4Xu8 as p}from\"../number.js\";import c from\"./WGLBrush.js\";import{TextureSamplingMode as d,CompareFunction as g,PrimitiveType as y,DataType as _}from\"../../../../webgl/enums.js\";const h=1/65536;class M extends c{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let s;i===u.HITTEST&&(s=p(a+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(i,a,f,p){const{context:c,displayLevel:d,drawPhase:g,painter:y,spriteMosaic:_,state:h,styleLayerUID:M,requestRender:P}=i,T=a.iconMaterial,U=y.vectorTilesMaterialManager;let E,x=!1;for(const e of f)if(e.layerData.has(M)&&(E=e.layerData.get(M),E.iconPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const v=a.getPaintValue(\"icon-translate\",d),I=a.getPaintValue(\"icon-translate-anchor\",d);let S=a.getLayoutValue(\"icon-rotation-alignment\",d);S===s.AUTO&&(S=a.getLayoutValue(\"symbol-placement\",d)===n.POINT?s.VIEWPORT:s.MAP);const D=S===s.MAP,V=a.getLayoutValue(\"icon-keep-upright\",d)&&D,R=E.isIconSDF,w=g===u.HITTEST,A=this._iconProgramOptions;A.id=w,A.sdf=R;const L=U.getMaterialProgram(c,T,A);if(e(P)&&!w&&!L.isCompiled)return void P();c.useProgram(L),L.setUniformMatrix3fv(\"u_displayViewMat3\",S===s.MAP?h.displayViewMat3:h.displayMat3),L.setUniformMatrix3fv(\"u_displayMat3\",I===o.VIEWPORT?h.displayMat3:h.displayViewMat3),L.setUniform2fv(\"u_iconTranslation\",v),L.setUniform1f(\"u_depth\",a.z),L.setUniform1f(\"u_mapRotation\",m(h.rotation)),L.setUniform1f(\"u_keepUpright\",V?1:0),L.setUniform1f(\"u_level\",10*d),L.setUniform1i(\"u_texture\",l),L.setUniform1f(\"u_fadeDuration\",r/1e3),w&&L.setUniform4fv(\"u_id\",p);let O=-1;for(const e of f){if(!e.layerData.has(M))continue;if(e.key.level!==O&&(O=e.key.level,T.setDataUniforms(L,d,a,O,_)),E=e.layerData.get(M),0===E.iconPerPageElementsMap.size)continue;E.prepareForRendering(c),E.updateOpacityInfo();const r=E.iconVertexArrayObject;if(!t(r)){c.bindVAO(r),L.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),L.setUniform1f(\"u_time\",(performance.now()-E.lastOpacityUpdate)/1e3);for(const[t,a]of E.iconPerPageElementsMap)this._renderIconRange(i,L,a,t,e)}}}_renderIconRange(e,t,i,a,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(a)/4,this._spritesTextureSize[1]=n.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,d.LINEAR,a,l),s.setStencilTestEnabled(!0),s.setStencilFunction(g.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(y.TRIANGLES,i[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(i,l,p,c){const{context:d,displayLevel:y,drawPhase:_,glyphMosaic:M,painter:P,pixelRatio:T,spriteMosaic:U,state:E,styleLayerUID:x,requestRender:v}=i,I=l.textMaterial,S=P.vectorTilesMaterialManager;let D,V=!1;for(const e of p)if(e.layerData.has(x)&&(D=e.layerData.get(x),D.glyphPerPageElementsMap.size>0)){V=!0;break}if(!V)return;const R=l.getPaintProperty(\"text-opacity\");if(R&&!R.isDataDriven&&0===R.getValue(y))return;const w=l.getPaintProperty(\"text-color\"),A=!w||w.isDataDriven||w.getValue(y)[3]>0,L=l.getPaintProperty(\"text-halo-width\"),O=l.getPaintProperty(\"text-halo-color\"),N=(!L||L.isDataDriven||L.getValue(y)>0)&&(!O||O.isDataDriven||O.getValue(y)[3]>0);if(!A&&!N)return;const b=24/8;let z=l.getLayoutValue(\"text-rotation-alignment\",y);z===s.AUTO&&(z=l.getLayoutValue(\"symbol-placement\",y)===n.POINT?s.VIEWPORT:s.MAP);const k=z===s.MAP,j=l.getLayoutValue(\"text-keep-upright\",y)&&k,G=_===u.HITTEST,W=.8*b/T;this._glyphTextureSize||(this._glyphTextureSize=a(M.width/4,M.height/4));const C=l.getPaintValue(\"text-translate\",y),F=l.getPaintValue(\"text-translate-anchor\",y),B=this._sdfProgramOptions;B.id=G;const H=S.getMaterialProgram(d,I,B);if(e(v)&&!G&&!H.isCompiled)return void v();d.useProgram(H),H.setUniformMatrix3fv(\"u_displayViewMat3\",z===s.MAP?E.displayViewMat3:E.displayMat3),H.setUniformMatrix3fv(\"u_displayMat3\",F===o.VIEWPORT?E.displayMat3:E.displayViewMat3),H.setUniform2fv(\"u_textTranslation\",C),H.setUniform1f(\"u_depth\",l.z+h),H.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),H.setUniform1f(\"u_mapRotation\",m(E.rotation)),H.setUniform1f(\"u_keepUpright\",j?1:0),H.setUniform1f(\"u_level\",10*y),H.setUniform1i(\"u_texture\",f),H.setUniform1f(\"u_antialiasingWidth\",W),H.setUniform1f(\"u_fadeDuration\",r/1e3),G&&H.setUniform4fv(\"u_id\",c);let Y=-1;for(const e of p){if(!e.layerData.has(x))continue;if(e.key.level!==Y&&(Y=e.key.level,I.setDataUniforms(H,y,l,Y,U)),D=e.layerData.get(x),0===D.glyphPerPageElementsMap.size)continue;D.prepareForRendering(d),D.updateOpacityInfo();const i=D.textVertexArrayObject;if(t(i))continue;d.bindVAO(i),H.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(g.GREATER,255,255),d.setStencilWriteMask(0);const a=(performance.now()-D.lastOpacityUpdate)/1e3;H.setUniform1f(\"u_time\",a),D.glyphPerPageElementsMap.forEach(((t,i)=>{this._renderGlyphRange(d,t,i,M,H,N,A,e)}))}}_renderGlyphRange(e,t,i,a,r,s,n,o){a.bind(e,d.LINEAR,i,f),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3),n&&(r.setUniform1f(\"u_halo\",0),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{M as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,CompareFunction as i,PrimitiveType as s}from\"../../../../webgl/enums.js\";const m=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:r.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:r.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:r.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:8,name:\"a_texCoords\",count:2,type:r.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return t.LABEL}supportsSymbology(e){return!0}drawGeometry(t,o,a,l){const{context:u,painter:p,state:c,rendererInfo:d,passOptions:f,requestRender:y}=t,_=n.load(a.materialKey),E=e(f)&&\"hittest\"===f.type,N=_.mapAligned?1:0;if(!N&&Math.abs(o.key.level-Math.round(100*t.displayLevel)/100)>=1)return;const{bufferLayouts:S,attributes:U}=m(_),T=p.materialManager.getMaterialProgram(t,_,\"materials/label\",U,l);if(e(y)&&!E&&!T.isCompiled)return void y();t.context.setStencilFunction(i.EQUAL,0,255),u.useProgram(T),this._setSharedUniforms(T,t,o),p.textureManager.bindTextures(u,T,_);const g=1===N?c.displayViewMat3:c.displayMat3;this._setSizeVVUniforms(_,T,d,o),T.setUniform1f(\"u_mapRotation\",Math.floor(c.rotation/360*254)),T.setUniform1f(\"u_mapAligned\",N),T.setUniformMatrix3fv(\"u_displayMat3\",g),T.setUniform1f(\"u_opacity\",1),T.setUniform2fv(\"u_screenSize\",t.state.size),T.setUniform1f(\"u_isHalo\",1);const G=a.target.getVAO(u,S,U),I=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;u.bindVAO(G),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),T.setUniform1f(\"u_isHalo\",0),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),u.setStencilTestEnabled(!0),u.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:r.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:r.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:r.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:r.BYTE},{location:7,name:\"a_aux\",count:2,type:r.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:r.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return t.LINE}supportsSymbology(e){return!0}drawGeometry(t,o,a,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:y,requestRender:d}=t,_=n.load(a.materialKey),f=e(y)&&\"hittest\"===y.type;let E=s(_),N=i.TRIANGLES;f&&(E=this._getTriangleDesc(a.materialKey,E),N=i.POINTS);const{attributes:g,bufferLayouts:S}=E,T=c.materialManager.getMaterialProgram(t,_,\"materials/line\",g,m);if(e(d)&&!f&&!T.isCompiled)return void d();const U=1/t.pixelRatio,G=0;l.useProgram(T),this._setSharedUniforms(T,t,o),_.textureBinding&&c.textureManager.bindTextures(l,T,_);const I=2**(p-o.key.level);T.setUniform1f(\"u_zoomFactor\",I),T.setUniform1f(\"u_blur\",G+U),T.setUniform1f(\"u_antialiasing\",U),this._setSizeVVUniforms(_,T,u,o),this._setColorAndOpacityVVUniforms(_,T,u),l.setFaceCullingEnabled(!1);const b=a.target.getVAO(l,S,g,f);let x=a.indexCount,D=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;f&&(x/=3,D/=3),l.bindVAO(b),l.drawElements(N,x,r.UNSIGNED_INT,D)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{TextMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{DataType as n,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT},{location:1,name:\"a_id\",count:4,type:n.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:n.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:n.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:n.SHORT},{location:8,name:\"a_texCoords\",count:2,type:n.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.TEXT}supportsSymbology(t){return!0}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:y,passOptions:d,requestRender:_}=e,c=r.load(a.materialKey),f=t(d)&&\"hittest\"===d.type,{bufferLayouts:E,attributes:N}=s(c),S=p.materialManager.getMaterialProgram(e,c,\"materials/text\",N,m);if(t(_)&&!f&&!S.isCompiled)return void _();l.useProgram(S);let T=i.TRIANGLES;f&&(T=i.POINTS),this._setSharedUniforms(S,e,o),p.textureManager.bindTextures(l,S,c),S.setUniformMatrix3fv(\"u_displayMat3\",y.displayMat3),S.setUniformMatrix3fv(\"u_displayViewMat3\",y.displayViewMat3),this._setSizeVVUniforms(c,S,u,o),this._setColorAndOpacityVVUniforms(c,S,u),this._setRotationVVUniforms(c,S,u),S.setUniform1f(\"u_isHalo\",1);const U=a.target.getVAO(l,E,N),x=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(U),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,x),S.setUniform1f(\"u_isHalo\",0),l.drawElements(T,a.indexCount,n.UNSIGNED_INT,x)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./flow/BrushFlow.js\";import s from\"./imagery/BrushRasterBitmap.js\";import e from\"./imagery/BrushVectorField.js\";import o from\"./webgl/brushes/BrushBitmap.js\";import l from\"./webgl/brushes/BrushClip.js\";import t from\"./webgl/brushes/BrushOverlay.js\";import m from\"./webgl/brushes/WGLBrushDotDensity.js\";import i from\"./webgl/brushes/WGLBrushHeatmap.js\";import b from\"./webgl/brushes/WGLBrushInfo.js\";import h from\"./webgl/brushes/WGLBrushPieChart.js\";import u from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as p}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as f}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as B}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as L}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as a}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import g from\"./webgl/brushes/WGLGeometryBrushFill.js\";import j from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import w from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import n from\"./webgl/brushes/WGLGeometryBrushText.js\";const W={marker:G,line:w,fill:g,text:n,label:j,clip:l,stencil:u,bitmap:o,overlay:t,raster:s,rasterVF:e,flow:r,tileInfo:b,vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a,dotDensity:m,heatmap:i,pieChart:h},y={vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a};export{W as brushes,y as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as t}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as r,StencilOperation as s,CompareFunction as o,PrimitiveType as n,DataType as i}from\"../../../webgl/enums.js\";const l=new Float32Array([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),c={beaufort_ft:l,beaufort_m:l,beaufort_km:l,beaufort_mi:l,beaufort_kn:new Float32Array([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:new Float32Array([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:new Float32Array([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:new Float32Array([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),single_arrow:new Float32Array([0,92/255,230/255,1]),wind_speed:new Float32Array([0,0,0,1])};class m extends a{constructor(){super(...arguments),this._desc={magdir:{vsPath:\"raster/magdir\",fsPath:\"raster/magdir\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])},scalar:{vsPath:\"raster/scalar\",fsPath:\"raster/scalar\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])}}}dispose(){}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(s.KEEP,s.KEEP,s.REPLACE),e.setStencilFunction(o.EQUAL,t.stencilRef,255)}draw(t,a){if(e(a.source)||0===a.source.validPixelCount)return;const{timeline:r}=t;if(r.begin(this.name),a.updateVectorFieldVAO(t),\"scalar\"===t.renderPass){const e=a.vaoData.scalar;e&&this._drawScalars(t,a,e.vao,e.elementCount)}else{const e=a.vaoData.magdir;e&&this._drawTriangles(t,a,e.vao,e.elementCount)}r.end(this.name)}_drawTriangles(e,a,r,s){const{context:o,painter:l,requestRender:m}=e,{symbolizerParameters:d}=a,f=d.dataRange?[\"dataRange\"]:[];\"geographic\"===d.rotationType&&f.push(\"rotationGeographic\");const u=l.materialManager.getProgram(this._desc.magdir,f);if(t(m)&&!u.isCompiled)return void m();o.useProgram(u);const{coordScale:_,opacity:g,transforms:p}=a;u.setUniform2fv(\"u_coordScale\",_),u.setUniform1f(\"u_opacity\",g),u.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs);const{style:y,dataRange:v,rotation:b,symbolPercentRange:S}=d;u.setUniform4fv(\"u_colors\",c[y]||c.single_arrow),u.setUniform2fv(\"u_dataRange\",v),u.setUniform1f(\"u_rotation\",b),u.setUniform2fv(\"u_symbolPercentRange\",S);const h=this._getSymbolSize(e,a);u.setUniform2fv(\"u_symbolSize\",h),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_drawScalars(e,a,r,s){const{context:o,painter:l,requestRender:c}=e,{symbolizerParameters:m}=a,d=[];\"wind_speed\"===m.style?d.push(\"innerCircle\"):m.dataRange&&d.push(\"dataRange\"),\"geographic\"===m.rotationType&&d.push(\"rotationGeographic\");const f=l.materialManager.getProgram(this._desc.scalar,d);if(t(c)&&!f.isCompiled)return void c();o.useProgram(f);const{coordScale:u,opacity:_,transforms:g}=a;f.setUniform2fv(\"u_coordScale\",u),f.setUniform1f(\"u_opacity\",_),f.setUniformMatrix3fv(\"u_dvsMat3\",g.dvs);const{dataRange:p,symbolPercentRange:y}=m;f.setUniform2fv(\"u_dataRange\",p),f.setUniform2fv(\"u_symbolPercentRange\",y);const v=this._getSymbolSize(e,a);f.setUniform2fv(\"u_symbolSize\",v),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_getSymbolSize(e,t){const a=t.key?2**(e.displayLevel-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:r}=t.symbolizerParameters;return[r/(Math.round((t.width-t.offset[0])/r)*r)/a,r/(Math.round((t.height-t.offset[1])/r)*r)/a]}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{JSONMap as t}from\"../../../../core/jsonMap.js\";const o=new t({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryMultiPatch:\"multipatch\",mesh:\"mesh\"});function e(t){return o.toJSON(t)}function n(t,o,e){const n=[],r=[];let l=0,i=0;for(const s of t){const t=i;let u=s[0][0],c=s[0][1];n[i++]=u,n[i++]=c;let p=0;for(let o=1;o0?(t-l>0&&(e(l,t,n,r),l=t),r.length=0):p<0&&t-l>0?r.push(.5*(t-l)):i=t}i-l>0&&e(l,i,n,r)}function r(t){const{bandCount:o,attributeTable:e,colormap:n,pixelType:r}=t.rasterInfo;return 1===o&&(null!=e||null!=n||\"u8\"===r||\"s8\"===r)}export{n as analyzeRings,r as canUseMajorityInterpolationOnDataSource,e as toJSONGeometryType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.readFile=e}resolveIncludes(e){return this._resolve(e)}_resolve(e,t=new Map){if(t.has(e))return t.get(e);const r=this._read(e);if(!r)throw new Error(`cannot find shader file ${e}`);const s=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm;let n=s.exec(r);const l=[];for(;null!=n;)l.push({path:n[1],start:n.index,length:n[0].length}),n=s.exec(r);let a=0,h=\"\";return l.forEach((e=>{h+=r.slice(a,e.start),h+=t.has(e.path)?\"\":this._resolve(e.path,t),a=e.start+e.length})),h+=r.slice(a),t.set(e,h),h}_read(e){return this.readFile(e)}}export{e as ShaderCompiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function t(n){const t=new Float32Array(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(n,t,r,e){const a=new Float32Array(4);return a[0]=n,a[1]=t,a[2]=r,a[3]=e,a}function e(n,t){return new Float32Array(n,t,4)}function a(){return n()}function o(){return r(1,1,1,1)}function u(){return r(1,0,0,0)}function s(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function i(){return r(0,0,0,1)}const f=a(),l=o(),_=u(),y=s(),w=c(),N=i(),O=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,UNIT_W:N},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,t as a,e as b,n as c,s as d,c as e,r as f,i as g,y as h,w as i,N as j,o,u,O as v,a as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/has.js\";import{WGLDrawPhase as r}from\"./enums.js\";import s from\"./WGLContainer.js\";import t from\"./brushes/WGLBrushInfo.js\";import n from\"./brushes/WGLBrushStencil.js\";const i=(e,r)=>e.key.level-r.key.level!=0?e.key.level-r.key.level:e.key.row-r.key.row!=0?e.key.row-r.key.row:e.key.col-r.key.col;class o extends s{constructor(e){super(),this._tileInfoView=e}get requiresDedicatedFBO(){return!1}renderChildren(e){this.sortChildren(i),this.setStencilReference(e),super.renderChildren(e)}createRenderParams(e){const{state:r}=e,s=super.createRenderParams(e);return s.requiredLevel=this._tileInfoView.getClosestInfoForScale(r.scale).level,s.displayLevel=this._tileInfoView.tileInfo.scaleToZoom(r.scale),s}prepareRenderPasses(s){const i=super.prepareRenderPasses(s);return i.push(s.registerRenderPass({name:\"stencil\",brushes:[n],drawPhase:r.DEBUG|r.MAP|r.HIGHLIGHT,target:()=>this.getStencilTarget()})),e(\"esri-tiles-debug\")&&i.push(s.registerRenderPass({name:\"tileInfo\",brushes:[t],drawPhase:r.DEBUG,target:()=>this.children})),i}getStencilTarget(){return this.children}updateTransforms(e){for(const r of this.children){const s=this._tileInfoView.getTileResolution(r.key);r.setTransform(e,s)}}setStencilReference(e){let r=1;for(const s of this.children)s.stencilRef=r++}}export{o as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Program as r}from\"./Program.js\";function e(e,t,a=\"\"){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Logger.js\";import{isAbortError as s}from\"../../core/promiseUtils.js\";import{on as o}from\"../../core/reactiveUtils.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";const i=i=>{let c=class extends i{initialize(){this.handles.add(o((()=>this.layer),\"refresh\",(r=>{this.doRefresh(r.dataChanged).catch((r=>{s(r)||e.getLogger(this.declaredClass).error(r)}))})),\"RefreshableLayerView\")}};return r([t()],c.prototype,\"layer\",void 0),c=r([a(\"esri.layers.mixins.RefreshableLayerView\")],c),c};export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as e}from\"./sources/resolver.js\";const r={shaders:{vertexShader:e(\"tileInfo/tileInfo.vert\"),fragmentShader:e(\"tileInfo/tileInfo.frag\")},attributes:new Map([[\"a_pos\",0]])};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as n}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as a,PrimitiveType as l,Usage as u,TextureType as m,PixelFormat as _,PixelType as f,TextureSamplingMode as h,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as g}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as d}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class x extends i{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null}prepareState({context:t}){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(e,r){const{context:i,requestRender:o}=e;if(!r.isReady)return;if(this._loadWGLResources(i),t(o)&&(!this._outlineProgram.isCompiled||!this._tileInfoProgram.isCompiled))return void o();i.bindVAO(this._outlineVertexArrayObject),i.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(l.LINE_STRIP,0,4);const s=this._getTexture(i,r);s?(i.bindVAO(this._tileInfoVertexArrayObject),i.useProgram(this._tileInfoProgram),i.bindTexture(s,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",s.descriptor.width,s.descriptor.height),i.drawArrays(l.TRIANGLE_STRIP,0,4),i.bindVAO()):i.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const e=g(t,o),i=g(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),l=n.createVertex(t,u.STATIC_DRAW,a),m=new p(t,o.attributes,r,{geometry:l}),_=new Int8Array([0,0,1,0,0,1,1,1]),f=n.createVertex(t,u.STATIC_DRAW,_),h=new p(t,s.attributes,r,{geometry:f});this._outlineProgram=e,this._tileInfoProgram=i,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=h}_getTexture(t,e){if(e.texture&&e.triangleCountReportedInDebug===e.triangleCount)return e.texture;e.triangleCountReportedInDebug=e.triangleCount,this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",`${A}`),this._canvas.setAttribute(\"height\",`${b}`),this._canvas.setAttribute(\"style\",\"display:none\"));const r=e.triangleCount;let i=e.key.id;e.triangleCount>0&&(i+=`, ${r}`);const o=this._canvas,s=o.getContext(\"2d\");return s.font=\"24px sans-serif\",s.textAlign=\"left\",s.textBaseline=\"top\",s.clearRect(0,0,A,b),r>1e5?(s.fillStyle=\"red\",s.fillRect(0,0,A,b),s.fillStyle=\"black\"):(s.clearRect(0,0,A,b),s.fillStyle=\"blue\"),s.fillText(i,0,0),e.texture=new d(t,{target:m.TEXTURE_2D,pixelFormat:_.RGBA,dataType:f.UNSIGNED_BYTE,samplingMode:h.NEAREST,wrapMode:c.CLAMP_TO_EDGE},o),e.texture}}export{x as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{BufferObject as t}from\"../../../webgl/BufferObject.js\";import{Usage as e,DataType as r,PrimitiveType as s}from\"../../../webgl/enums.js\";import{VertexArrayObject as i}from\"../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";class n{constructor(s,n){this.rctx=s,this._vertexBuffer=t.createVertex(s,e.STATIC_DRAW,new Uint16Array(n)),this._vao=new i(s,new Map([[\"a_position\",0]]),{geometry:[new o(\"a_position\",2,r.SHORT,0,4)]},{geometry:this._vertexBuffer}),this._count=n.length/2}bind(){this.rctx.bindVAO(this._vao)}unbind(){this.rctx.bindVAO(null)}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{pt2px as t}from\"../../../../core/screenUtils.js\";function n(e){const n=i(a(e)),o=n,s=!0,r=Math.max(n/2,5),l=Math.round(t(e.maxPathLength)/r)+1,u=10,{density:c}=e;return{smoothing:t(e.smoothing),interpolate:!0,velocityScale:\"flow-from\"===e.flowRepresentation?1:-1,verticesPerLine:l,minSpeedThreshold:.001,segmentLength:r,maxTurnAngle:1,collisions:s,lineCollisionWidth:o,lineSpacing:u,density:c}}function i(e){return\"constant\"===e.kind?e.value[0]:e.values[e.values.length-1]}function o(e){const t=e.toRgba();return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function s(e){return{kind:\"constant\",value:[.1,.1,.1,1]}}function a(e){if(!e.hasVisualVariables(\"size\"))return{kind:\"constant\",value:[t(e.trailWidth)]};const n=e.getVisualVariablesForType(\"size\")[0],i=[],o=[];let s;if(n.stops){for(const e of n.stops)i.push(e.value),o.push(t(e.size));s=n.stops.length}else i.push(n.minDataValue,n.maxDataValue),o.push(t(n.minSize),t(n.maxSize)),s=2;return{kind:\"ramp\",stops:i,values:o,count:s}}function r(e){if(!e.hasVisualVariables(\"color\"))return{kind:\"constant\",value:o(e.color)};const t=e.getVisualVariablesForType(\"color\")[0],n=[],i=[];for(const s of t.stops)n.push(s.value),Array.prototype.push.apply(i,o(s.color));return{kind:\"ramp\",stops:n,values:i,count:t.stops.length}}function l(e){if(!e.hasVisualVariables(\"opacity\"))return{kind:\"constant\",value:[1]};const t=e.getVisualVariablesForType(\"opacity\")[0],n=[],i=[];for(const o of t.stops)n.push(o.value),i.push(o.opacity);return{kind:\"ramp\",stops:n,values:i,count:t.stops.length}}function u(e,t,n,i){switch(t){case\"int\":e.setUniform1iv(n,i);break;case\"float\":e.setUniform1fv(n,i);break;case\"vec2\":e.setUniform2fv(n,i);break;case\"vec3\":e.setUniform3fv(n,i);break;case\"vec4\":e.setUniform4fv(n,i)}}function c(e,t,n,i){\"constant\"===i.kind?u(e,n,`u_${t}`,i.value):(u(e,\"float\",`u_${t}_stops`,i.stops),u(e,n,`u_${t}_values`,i.values),e.setUniform1i(`u_${t}_count`,i.count))}function p(e,t){let n=!0;return n=n&&e.collisions===t.collisions,n=n&&e.density===t.density,n=n&&e.interpolate===t.interpolate,n=n&&e.lineCollisionWidth===t.lineCollisionWidth,n=n&&e.lineSpacing===t.lineSpacing,n=n&&e.maxTurnAngle===t.maxTurnAngle,n=n&&e.minSpeedThreshold===t.minSpeedThreshold,n=n&&e.segmentLength===t.segmentLength,n=n&&e.smoothing===t.smoothing,n=n&&e.velocityScale===t.velocityScale,n=n&&e.verticesPerLine===t.verticesPerLine,n}function f(t,n){return t===n||!(!e(t)||!e(n))&&t.equals(n)}function m(e,t){if(!p(e.simulationSettings,t.simulationSettings))return!1;if(!f(e.timeExtent,t.timeExtent))return!1;let n=!0;return n=n&&e.loadImagery===t.loadImagery,n=n&&e.createFlowMesh===t.createFlowMesh,n=n&&e.color.kind===t.color.kind,n=n&&e.opacity.kind===t.opacity.kind,n=n&&e.size.kind===t.size.kind,n}export{m as areStreamlinesCompatible,r as getColor,n as getFlowSimulationSettings,s as getForegroundColor,i as getMax,l as getOpacity,a as getSize,u as setUniform,c as setUniforms,f as timeExtentsEqual,o as toRgba};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{throwIfAborted as t}from\"../../../../../core/promiseUtils.js\";import{timeExtentsEqual as a,setUniforms as e}from\"../utils.js\";import{BufferObject as r}from\"../../../../webgl/BufferObject.js\";import{DataType as s,BlendFactor as i,PrimitiveType as o,Usage as n,PixelFormat as m,TextureSamplingMode as l,PixelType as p,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{Texture as h}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as _}from\"../../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as f}from\"../../../../webgl/VertexElementDescriptor.js\";class d{constructor(t){this._params=t,this.animated=!1}isCompatible(t){if(!(t instanceof d))return!1;if(!a(this._params.timeExtent,t._params.timeExtent))return!1;let e=!0;return e=e&&this._params.loadImagery===t._params.loadImagery,e=e&&this._params.color.kind===t._params.color.kind,e=e&&this._params.opacity.kind===t._params.opacity.kind,e}async load(a,e){const{extent:r,size:s}=a;t(e);const i=await this._params.loadImagery(r,s[0],s[1],this._params.timeExtent,e);return new g(i,{color:this._params.color,opacity:this._params.opacity})}render(t,a,r){const{context:s}=t,{program:n}=r;s.setFaceCullingEnabled(!1),s.setBlendingEnabled(!0),s.setBlendFunction(i.ONE,i.ONE_MINUS_SRC_ALPHA),s.useProgram(n),n.setUniformMatrix3fv(\"u_dvsMat3\",a.dvsMat3),s.bindTexture(r.texture,0),n.setUniform1i(\"u_texture\",0),n.setUniform1f(\"u_Min\",r.min),n.setUniform1f(\"u_Max\",r.max),e(n,\"color\",\"vec4\",this._params.color),e(n,\"opacity\",\"float\",this._params.opacity),s.bindVAO(r.vertexArray),s.drawArrays(o.TRIANGLE_STRIP,0,4)}}const u=new Map;u.set(\"a_position\",0),u.set(\"a_texcoord\",1);const w={geometry:[new f(\"a_position\",2,s.UNSIGNED_SHORT,0,8),new f(\"a_texcoord\",2,s.UNSIGNED_SHORT,4,8)]},x={vsPath:\"raster/flow/imagery\",fsPath:\"raster/flow/imagery\",attributes:u};class g{constructor(t,a){this._flowData=t,this._values=a}attach(t){const{context:a}=t,{width:e,height:s}=this._flowData,i=r.createVertex(a,n.STATIC_DRAW,new Uint16Array([0,0,0,1,e,0,1,1,0,s,0,0,e,s,1,0])),o=new _(a,u,w,{geometry:i}),f=[];\"ramp\"===this._values.color.kind&&f.push(\"vvColor\"),\"ramp\"===this._values.opacity.kind&&f.push(\"vvOpacity\");const d=t.painter.materialManager.getProgram(x,f);let g=1e6,y=-1e6;for(let r=0;r0}isCompatible(t){return t instanceof _&&e(this._params,t._params)}async load(e,a){const{extent:s,size:r}=e;t(a);const i=await this._params.loadImagery(s,r[0],r[1],this._params.timeExtent,a),{vertexData:o,indexData:n}=await this._params.createFlowMesh(\"Particles\",this._params.simulationSettings,i,a);return new c(o,n,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,s){const{context:n}=t,{program:m}=s;n.setFaceCullingEnabled(!1),n.setBlendingEnabled(!0),n.setBlendFunction(i.ONE,i.ONE_MINUS_SRC_ALPHA),n.useProgram(m),m.setUniform1f(\"u_time\",e.time),m.setUniform1f(\"u_trailLength\",this._params.trailLength),m.setUniform1f(\"u_flowSpeed\",this._params.flowSpeed),m.setUniform1f(\"u_featheringSize\",this._params.featheringSize),m.setUniform1f(\"u_featheringOffset\",this._params.featheringOffset),m.setUniform1f(\"u_introFade\",this._params.introFade?1:0),m.setUniform1f(\"u_fadeToZero\",this._params.fadeToZero?1:0),m.setUniform1f(\"u_decayRate\",this._params.decayRate),m.setUniformMatrix3fv(\"u_dvsMat3\",e.dvsMat3),m.setUniformMatrix3fv(\"u_displayViewMat3\",e.displayViewMat3),a(m,\"color\",\"vec4\",this._params.color),a(m,\"opacity\",\"float\",this._params.opacity),a(m,\"size\",\"float\",this._params.size),n.bindVAO(s.vertexArray),n.drawElements(o.TRIANGLES,s.indexCount,r.UNSIGNED_INT,0)}}const l=new Map;l.set(\"a_xyts0\",0),l.set(\"a_xyts1\",1),l.set(\"a_typeIdDurationSeed\",2),l.set(\"a_extrudeInfo\",3);const h={geometry:[new p(\"a_xyts0\",4,r.FLOAT,0,64),new p(\"a_xyts1\",4,r.FLOAT,16,64),new p(\"a_typeIdDurationSeed\",4,r.FLOAT,32,64),new p(\"a_extrudeInfo\",4,r.FLOAT,48,64)]},f={vsPath:\"raster/flow/particles\",fsPath:\"raster/flow/particles\",attributes:l};class c{constructor(t,e,a){this._vertexData=t,this._indexData=e,this._values=a}attach(t){const{context:e}=t,a=s.createVertex(e,n.STATIC_DRAW,this._vertexData),r=s.createIndex(e,n.STATIC_DRAW,this._indexData),i=new m(e,l,h,{geometry:a},r),o=[];\"ramp\"===this._values.color.kind&&o.push(\"vvColor\"),\"ramp\"===this._values.opacity.kind&&o.push(\"vvOpacity\"),\"ramp\"===this._values.size.kind&&o.push(\"vvSize\");const p=t.painter.materialManager.getProgram(f,o);this.vertexArray=i,this.program=p,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.isCompiled}}export{c as ParticlesResources,_ as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass t{constructor(t){this._styles=t}get animated(){return this._styles.reduce(((t,s)=>t||s.animated),!1)}isCompatible(s){if(!(s instanceof t))return!1;if(this._styles.length!==s._styles.length)return!1;const e=this._styles.length;for(let t=0;ts.load(t,e))));return new s(r)}render(t,s,e){for(let r=0;rt&&s.ready),!0)}}export{s as StackResources,t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{throwIfAborted as t}from\"../../../../../core/promiseUtils.js\";import{areStreamlinesCompatible as e,setUniforms as a}from\"../utils.js\";import{BufferObject as s}from\"../../../../webgl/BufferObject.js\";import{DataType as r,BlendFactor as i,PrimitiveType as o,Usage as n}from\"../../../../webgl/enums.js\";import{VertexArrayObject as m}from\"../../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as p}from\"../../../../webgl/VertexElementDescriptor.js\";class _{constructor(t){this._params=t}get animated(){return this._params.flowSpeed>0}isCompatible(t){return t instanceof _&&e(this._params,t._params)}async load(e,a){const{extent:s,size:r}=e;t(a);const i=await this._params.loadImagery(s,r[0],r[1],this._params.timeExtent,a),{vertexData:o,indexData:n}=await this._params.createFlowMesh(\"Streamlines\",this._params.simulationSettings,i,a);return new d(o,n,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,s){const{context:n}=t,{program:m}=s;n.setFaceCullingEnabled(!1),n.setBlendingEnabled(!0),n.setBlendFunction(i.ONE,i.ONE_MINUS_SRC_ALPHA),n.useProgram(m),m.setUniform1f(\"u_time\",e.time),m.setUniform1f(\"u_trailLength\",this._params.trailLength),m.setUniform1f(\"u_flowSpeed\",this._params.flowSpeed),m.setUniform1f(\"u_featheringSize\",this._params.featheringSize),m.setUniform1f(\"u_featheringOffset\",this._params.featheringOffset),m.setUniform1f(\"u_introFade\",this._params.introFade?1:0),m.setUniform1f(\"u_fadeToZero\",this._params.fadeToZero?1:0),m.setUniform1f(\"u_decayRate\",this._params.decayRate),m.setUniformMatrix3fv(\"u_dvsMat3\",e.dvsMat3),m.setUniformMatrix3fv(\"u_displayViewMat3\",e.displayViewMat3),a(m,\"color\",\"vec4\",this._params.color),a(m,\"opacity\",\"float\",this._params.opacity),a(m,\"size\",\"float\",this._params.size),n.bindVAO(s.vertexArray),n.drawElements(o.TRIANGLES,s.indexCount,r.UNSIGNED_INT,0)}}const l=new Map;l.set(\"a_positionAndSide\",0),l.set(\"a_timeInfo\",1),l.set(\"a_extrude\",2),l.set(\"a_speed\",3);const h={geometry:[new p(\"a_positionAndSide\",3,r.FLOAT,0,36),new p(\"a_timeInfo\",3,r.FLOAT,12,36),new p(\"a_extrude\",2,r.FLOAT,24,36),new p(\"a_speed\",1,r.FLOAT,32,36)]},f={vsPath:\"raster/flow/streamlines\",fsPath:\"raster/flow/streamlines\",attributes:l};class d{constructor(t,e,a){this._vertexData=t,this._indexData=e,this._values=a}attach(t){const{context:e}=t,a=s.createVertex(e,n.STATIC_DRAW,this._vertexData),r=s.createIndex(e,n.STATIC_DRAW,this._indexData),i=new m(e,l,h,{geometry:a},r),o=[];\"ramp\"===this._values.color.kind&&o.push(\"vvColor\"),\"ramp\"===this._values.opacity.kind&&o.push(\"vvOpacity\"),\"ramp\"===this._values.size.kind&&o.push(\"vvSize\");const p=t.painter.materialManager.getProgram(f,o);this.vertexArray=i,this.program=p,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.isCompiled}}export{_ as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{getFlowSimulationSettings as t,getOpacity as o,getSize as a,getColor as r,getMax as s,getForegroundColor as l}from\"./utils.js\";import n from\"./styles/Imagery.js\";import i from\"./styles/Particles.js\";import c from\"./styles/Stack.js\";import m from\"./styles/Streamlines.js\";const f=4,p=1,u=.5,y=!0,d=!0,g=2.3;function w(w,h){const{flowSpeed:j,trailLength:v}=w,S=t(w);let k=null;const x={opacity:o(w),size:a(w)};let I=r(w);if(\"none\"===w.background)x.color=I;else{\"constant\"===I.kind&&(I={kind:\"ramp\",stops:[0,1],values:[0,0,0,1,I.value[0],I.value[1],I.value[2],I.value[3]],count:2});const e={loadImagery:h.loadImagery,timeExtent:h.timeExtent,color:I,opacity:{kind:\"constant\",value:[1]}};k=new n(e),x.color=l()}const z={loadImagery:h.loadImagery,createFlowMesh:h.createFlowMesh,simulationSettings:S,timeExtent:h.timeExtent,trailLength:v,flowSpeed:j,featheringSize:p,featheringOffset:u,introFade:y,fadeToZero:d,decayRate:g,color:x.color,opacity:x.opacity,size:x.size},E=\"butt\"===w.trailCap||s(a(w))<=f?new m(z):new i(z);return e(k)?new c([k,E]):E}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"./BrushFlow.js\";import{WGLDrawPhase as r}from\"../webgl/enums.js\";import s from\"../webgl/WGLContainer.js\";class t extends s{constructor(){super(...arguments),this.flowStyle=null}get requiresDedicatedFBO(){return!1}doRender(e){super.doRender(e)}prepareRenderPasses(s){const t=s.registerRenderPass({name:\"flow\",brushes:[e],target:()=>this.children,drawPhase:r.MAP});return[...super.prepareRenderPasses(s),t]}}export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Logger.js\";const e=t.getLogger(\"esri.views.2d.engine.flow.FlowDisplayData\");class s{constructor(t,e,s,a){this.state={name:\"created\"},this.flowStyle=t,this.extent=e,this.size=s,this.pixelRatio=a}async load(){const t=new AbortController;this.state={name:\"loading\",abortController:t};const e={extent:this.extent,size:this.size,pixelRatio:this.pixelRatio},s=await this.flowStyle.load(e,t.signal);this.state={name:\"loaded\",resources:s}}attach(t){if(\"loaded\"!==this.state.name)return void e.error(\"Only loaded resources can be attached.\");const s=this.state.resources;s.attach(t),this.state={name:\"attached\",resources:s}}detach(){if(\"loading\"===this.state.name)return this.state.abortController.abort(),void(this.state={name:\"detached\"});\"attached\"===this.state.name&&(this.state.resources.detach(),this.state={name:\"detached\"})}update(t){if(!this.flowStyle.isCompatible(t.flowStyle))return!1;return!(!this.extent.equals(t.extent)||this.size[0]!==t.size[0]||this.size[1]!==t.size[1]||this.pixelRatio!==t.pixelRatio)&&(this.flowStyle=t.flowStyle,!0)}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{deg2rad as t}from\"../../../../core/mathUtils.js\";import{isSome as s,isNone as a}from\"../../../../core/maybe.js\";import{h as e,d as i,c as r,r as o}from\"../../../../chunks/mat3.js\";import{c as n}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as l}from\"../DisplayObject.js\";class m extends l{constructor(){super(...arguments),this._displayData=null}get displayData(){return this._displayData}set displayData(t){this._displayData=t,this.requestRender()}clear(){s(this._displayData)&&(this._displayData.detach(),this._displayData=null,this.requestRender())}setTransform(s){const{displayData:n}=this;if(a(n))return;const l=n.extent.xmin,m=n.extent.ymax,p=[0,0];s.toScreen(p,[l,m]);const c=(n.extent.xmax-n.extent.xmin)/n.size[0]/s.resolution,d=t(s.rotation),{dvs:h}=this.transforms;e(h,[-1,1,0]),i(h,h,[2/(s.size[0]*s.pixelRatio),-2/(s.size[1]*s.pixelRatio),1]),r(h,h,[p[0],p[1],0]),o(h,h,d),i(h,h,[c*s.pixelRatio,c*s.pixelRatio,1])}_createTransforms(){return{dvs:n()}}}export{m as FlowDisplayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../../chunks/tslib.es6.js\";import\"../../../../geometry.js\";import o from\"../../../../core/Accessor.js\";import e from\"../../../../core/Logger.js\";import{deg2rad as i}from\"../../../../core/mathUtils.js\";import{isNone as r,isSome as s}from\"../../../../core/maybe.js\";import{isAbortError as a}from\"../../../../core/promiseUtils.js\";import{property as l}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/arrayUtils.js\";import\"../../../../core/has.js\";import\"../../../../core/accessorSupport/ensureType.js\";import{subclass as n}from\"../../../../core/accessorSupport/decorators/subclass.js\";import p from\"../../../../geometry/Point.js\";import c from\"./FlowDisplayData.js\";import{FlowDisplayObject as m}from\"./FlowDisplayObject.js\";import d from\"../../../../geometry/Extent.js\";const h=1.15,y=e.getLogger(\"esri.views.2d.engine.flow.FlowStrategy\");let f=class extends o{constructor(t){super(t),this._flowDisplayObject=new m,this._loading=null}initialize(){this.flowContainer.addChild(this._flowDisplayObject)}destroy(){this._clear(),this.flowContainer.removeAllChildren()}get updating(){return null!=this._loading}update(t){const{flowStyle:o}=this.flowContainer;if(r(o))return void this._clear();const{extent:e,rotation:i,resolution:l,pixelRatio:n}=t.state,p=g(e,i);p.expand(h);const m=[Math.round((p.xmax-p.xmin)/l),Math.round((p.ymax-p.ymin)/l)],d=new c(o,p,m,n);if(s(this._loading)){if(this._loading.update(d))return;this._loading.detach(),this._loading=null}!r(this._flowDisplayObject.displayData)&&this._flowDisplayObject.displayData.update(d)||(d.load().then((()=>{this._flowDisplayObject.clear(),this._flowDisplayObject.displayData=this._loading,this._loading=null}),(t=>{a(t)||(y.error(\"A resource failed to load.\",t),this._loading=null)})),this._loading=d)}_clear(){this._flowDisplayObject.clear(),s(this._loading)&&(this._loading.detach(),this._loading=null)}};t([l()],f.prototype,\"_loading\",void 0),t([l()],f.prototype,\"flowContainer\",void 0),t([l()],f.prototype,\"updating\",null),f=t([n(\"esri.views.2d.engine.flow.FlowStrategy\")],f);const u=f;function g(t,o){const e=new p({x:(t.xmax+t.xmin)/2,y:(t.ymax+t.ymin)/2,spatialReference:t.spatialReference}),r=t.xmax-t.xmin,s=t.ymax-t.ymin,a=Math.abs(Math.cos(i(o))),l=Math.abs(Math.sin(i(o))),n=a*r+l*s,c=l*r+a*s,m=new d({xmin:e.x-n/2,ymin:e.y-c/2,xmax:e.x+n/2,ymax:e.y+c/2,spatialReference:t.spatialReference});return m.centerAt(e),m}export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../../chunks/tslib.es6.js\";import e from\"../../../../Graphic.js\";import{HandleOwner as i}from\"../../../../core/HandleOwner.js\";import{watch as r}from\"../../../../core/reactiveUtils.js\";import{property as o}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/arrayUtils.js\";import\"../../../../core/has.js\";import\"../../../../core/accessorSupport/ensureType.js\";import{subclass as s}from\"../../../../core/accessorSupport/decorators/subclass.js\";import a from\"./createFlowStyle.js\";import{loadImagery as n}from\"./dataUtils.js\";import l from\"./FlowContainer.js\";import p from\"./FlowStrategy.js\";let h=class extends i{constructor(){super(...arguments),this._loadImagery=(t,e,i,r,o)=>n(this.layer,t,e,i,r,o),this._createFlowMesh=(t,e,i,r)=>this.layer.createFlowMesh({meshType:t,flowData:i,simulationSettings:e},{signal:r}),this.attached=!1,this.container=null,this.layer=null,this.type=\"flow\",this.timeExtent=null,this.redrawOrRefetch=async()=>{this._updateVisualization()}}get updating(){return!this._strategy||this._strategy.updating}attach(){const{layer:t}=this,e=()=>{this._loadImagery=(e,i,r,o,s)=>n(t,e,i,r,o,s),this._updateVisualization()};\"multidimensionalDefinition\"in t?this.handles.add(r((()=>t.multidimensionalDefinition),e)):this.handles.add([r((()=>t.mosaicRule),e),r((()=>t.renderingRule),e),r((()=>t.definitionExpression),e)]),this.container=new l,this._strategy=new p({flowContainer:this.container}),this._updateVisualization()}detach(){this._strategy.destroy(),this.container.removeAllChildren(),this.container=null,this.handles.removeAll()}update(t){t.stationary?this._strategy.update(t):this.layerView.requestUpdate()}hitTest(t){return new e({attributes:{},geometry:t.clone(),layer:this.layer})}moveEnd(){}async doRefresh(){}_updateVisualization(){const{renderer:t}=this.layer;if(\"flow\"!==t.type)return;const e=a(t,{loadImagery:this._loadImagery,createFlowMesh:this._createFlowMesh,timeExtent:this.timeExtent});this.container.flowStyle=e,this.layerView.requestUpdate()}};t([o()],h.prototype,\"_strategy\",void 0),t([o()],h.prototype,\"attached\",void 0),t([o()],h.prototype,\"container\",void 0),t([o()],h.prototype,\"layer\",void 0),t([o()],h.prototype,\"layerView\",void 0),t([o()],h.prototype,\"type\",void 0),t([o()],h.prototype,\"updating\",null),t([o()],h.prototype,\"timeExtent\",void 0),h=t([s(\"esri.views.2d.engine.flow.FlowView2D\")],h);const d=h;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e=[\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"];export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={enableCache:!1};export{e as shaderTranspiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isSome as e}from\"../../core/maybe.js\";import{ShaderType as t}from\"./enums.js\";import r from\"./reservedWordsGLSL3.js\";import{shaderTranspiler as a}from\"./testUtils.js\";var o,n={exports:{}};void 0!==(o=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"])&&(n.exports=o);const i=n.exports;var l,s={exports:{}};l=s,function(e){var t=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"];void 0!==t&&(l.exports=t)}();const c=s.exports;var d={exports:{}};!function(e){!function(t){var r=function(){return[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]}();void 0!==r&&(e.exports=r)}()}(d);const u=d.exports;var g=999,p=9999,f=0,_=1,h=2,x=3,m=4,y=5,w=6,M=7,v=8,T=9,b=10,P=11,E=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function C(){var e,t,r,a=0,o=0,n=g,l=[],s=[],d=1,C=0,k=0,j=!1,D=!1,F=\"\";return function(e){return s=[],null!==e?S(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):R()};function L(e){e.length&&s.push({type:E[n],data:e,position:k,line:d,column:C})}function S(t){var i;for(a=0,r=(F+=t).length;e=F[a],a0)continue;r=e.slice(0,1).join(\"\")}return L(r),k+=r.length,(l=l.slice(r.length)).length}}function q(){return/[^a-fA-F0-9]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function B(){return\".\"===e||/[eE]/.test(e)?(l.push(e),n=y,t=e,a+1):\"x\"===e&&1===l.length&&\"0\"===l[0]?(n=P,l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function H(){return\"f\"===e&&(l.push(e),t=e,a+=1),/[eE]/.test(e)||\"-\"===e&&/[eE]/.test(t)?(l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function N(){if(/[^\\d\\w_]/.test(e)){var r=l.join(\"\");return n=i.indexOf(r)>-1?v:u.indexOf(r)>-1?M:w,L(l.join(\"\")),n=g,a}return l.push(e),t=e,a+1}}function k(e){var t=C(),r=[];return r=(r=r.concat(t(e))).concat(t(null))}function j(e){return k(e)}function D(e){return e.map((e=>\"eof\"!==e.type?e.data:\"\")).join(\"\")}const F=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function L(e,t=\"100\",r=\"300 es\"){const a=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const o of e)if(\"preprocessor\"===o.type){const e=a.exec(o.data);if(e){const a=e[1].replace(/\\s\\s+/g,\" \");if(a===r)return a;if(a===t)return o.data=\"#version \"+r,t;throw new Error(\"unknown glsl version: \"+a)}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+r},{type:\"whitespace\",data:\"\\n\"}),null}function S(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if(\"whitespace\"!==t.type&&\"block-comment\"!==t.type){if(\"keyword\"!==t.type)break;if(\"attribute\"===t.data||\"in\"===t.data)return!0}}return!1}function R(e,t,r,a){a=a||r;for(const o of e)if(\"ident\"===o.type&&o.data===r){a in t?t[a]++:t[a]=0;return R(e,t,a+\"_\"+t[a],a)}return r}function V(e,t,r=\"afterVersion\"){function a(e,t){for(let r=t;rt=0;--e){const t=i[e];if(\"preprocessor\"===t.type){const r=t.data.match(/\\#extension\\s+(.*)\\:/);if(r&&r[1]&&F.includes(r[1].trim())){const t=i[e+1];i.splice(e,t&&\"whitespace\"===t.type?2:1)}const a=t.data.match(/\\#ifdef\\s+(.*)/);a&&a[1]&&F.includes(a[1].trim())&&(t.data=\"#if 1\");const o=t.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&F.includes(o[1].trim())&&(t.data=\"#if 0\")}}return q(a,D(i))}const O=new Map;function U(e){return a.enableCache?O.get(e):null}function q(e,t){return a.enableCache&&O.set(e,t),t}export{I as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{update as t}from\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{isSome as o,isNone as i}from\"../../core/maybe.js\";import{webglValidateShadersEnabled as e}from\"./checkWebGLError.js\";import{ContextType as n}from\"./context-util.js\";import{ShaderType as r,ResourceType as s}from\"./enums.js\";import{transpileShader as m}from\"./ShaderTranspiler.js\";const a=4294967295;class h{constructor(t,o,i,a,h=new Map){this._context=t,this._locations=a,this._uniformBlockBindings=h,this._refCount=1,this._compiled=!1,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,t||console.error(\"RenderingContext isn't initialized!\"),0===o.length&&console.error(\"Shaders source should not be empty!\"),this._context.type===n.WEBGL2&&(o=m(o,r.VERTEX_SHADER),i=m(i,r.FRAGMENT_SHADER)),this._vShader=f(this._context,r.VERTEX_SHADER,o),this._fShader=f(this._context,r.FRAGMENT_SHADER,i),this._vShader&&this._fShader||console.error(\"Error loading shaders!\"),this._context.instanceCounter.increment(s.Shader,this),e()&&(this.vertexShader=o,this.fragmentShader=i)}get glName(){if(o(this._glName))return this._glName;if(i(this._vShader))return null;const t=this._context.gl,r=t.createProgram();if(t.attachShader(r,this._vShader),t.attachShader(r,this._fShader),this._locations.forEach(((o,i)=>t.bindAttribLocation(r,o,i))),t.linkProgram(r),e()&&!t.getProgramParameter(r,t.LINK_STATUS)&&console.error(`Could not link shader\\nvalidated: ${t.getProgramParameter(r,t.VALIDATE_STATUS)}, gl error ${t.getError()}, vertex: ${t.getShaderParameter(this._vShader,t.COMPILE_STATUS)}, fragment: ${t.getShaderParameter(this._fShader,t.COMPILE_STATUS)}, info log: ${t.getProgramInfoLog(r)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`),this._context.type===n.WEBGL2){const o=t;for(const[t,i]of this._uniformBlockBindings){const e=o.getUniformBlockIndex(r,t);e0)return;const t=this._context.gl;this._vShader&&(t.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(s.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(s.Program,this))}ref(){++this._refCount}_getUniformLocation(t){return void 0===this._nameToUniformLocation[t]&&(++l.numUniforms,this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this.glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this._getUniformLocation(t)}setUniform1i(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1i(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1iv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1iv(this._getUniformLocation(t),o)}setUniform2iv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2iv(this._getUniformLocation(t),o)}setUniform3iv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3iv(this._getUniformLocation(t),o)}setUniform4iv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4iv(this._getUniformLocation(t),o)}setUniform1f(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1f(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1fv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1fv(this._getUniformLocation(t),o)}setUniform2f(t,o,i){const e=this._nameToUniform2.get(t);void 0===e?(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),this._nameToUniform2.set(t,[o,i])):o===e[0]&&i===e[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),e[0]=o,e[1]=i)}setUniform2fv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2fv(this._getUniformLocation(t),o)}setUniform3f(t,o,i,e){const n=this._nameToUniform3.get(t);void 0===n?(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),this._nameToUniform3[t]=[o,i,e]):o===n[0]&&i===n[1]&&e===n[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),n[0]=o,n[1]=i,n[2]=e)}setUniform3fv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3fv(this._getUniformLocation(t),o)}setUniform4f(t,o,i,e,n){const r=this._nameToUniform4.get(t);void 0===r?(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),this._nameToUniform4.set(t,[o,i,e,n])):void 0!==r&&o===r[0]&&i===r[1]&&e===r[2]&&n===r[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),r[0]=o,r[1]=i,r[2]=e,r[3]=n)}setUniform4fv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4fv(this._getUniformLocation(t),o)}setUniformMatrix3fv(t,o,i=!1){g(this._nameToUniformMatrix3,t,o)&&this._context.gl.uniformMatrix3fv(this._getUniformLocation(t),i,o)}setUniformMatrix4fv(t,o,i=!1){g(this._nameToUniformMatrix4,t,o)&&this._context.gl.uniformMatrix4fv(this._getUniformLocation(t),i,o)}stop(){}}function f(t,o,i){const n=t.gl,s=n.createShader(o);return n.shaderSource(s,i),n.compileShader(s),e()&&!n.getShaderParameter(s,n.COMPILE_STATUS)&&(console.error(\"Compile error in \".concat(o===r.VERTEX_SHADER?\"vertex\":\"fragment\",\" shader\")),console.error(n.getShaderInfoLog(s)),console.error(_(i))),l.enabled&&(l.compiledLOC+=i.match(/\\n/g).length+1),s}function _(t){let o=2;return t.replace(/\\n/g,(()=>\"\\n\"+c(o++)+\":\"))}function c(t){return t>=1e3?t.toString():(\" \"+t).slice(-3)}function g(o,i,e){const n=o.get(i);return n?t(n,e):(o.set(i,Array.from(e)),!0)}const l={compiledLOC:0,numUniforms:0,enabled:!1};export{h as Program,l as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nvar e,n,t,r={exports:{}};e=r,n=function(){function e(e,t,x){x=x||2;var i,u,v,o,y,p,a,l=t&&t.length,h=l?t[0]*x:e.length,s=n(e,0,h,x,!0),c=[];if(!s||s.next===s.prev)return c;if(l&&(s=f(e,t,s,x)),e.length>80*x){i=v=e[0],u=o=e[1];for(var Z=x;Zv&&(v=y),p>o&&(o=p);a=0!==(a=Math.max(v-i,o-u))?1/a:0}return r(s,c,x,i,u,a),c}function n(e,n,t,r,x){var i,u;if(x===E(e,n,t,r)>0)for(i=n;i=n;i-=r)u=B(i,e[i],e[i+1],u);if(u&&M(u,u.next)){var v=u.next;C(u),u=v}return u}function t(e,n){if(!e)return e;n||(n=e);var t,r=e;do{if(t=!1,r.steiner||!M(r,r.next)&&0!==w(r.prev,r,r.next))r=r.next;else{var x=r.prev;if(C(r),(r=n=x)===r.next)break;t=!0}}while(t||r!==n);return n}function r(e,n,f,o,y,p,a){if(e){!a&&p&&h(e,o,y,p);for(var l,s,c=e;e.prev!==e.next;)if(l=e.prev,s=e.next,p?i(e,o,y,p):x(e))n.push(l.i/f),n.push(e.i/f),n.push(s.i/f),C(e),e=s.next,c=s.next;else if((e=s)===c){a?1===a?r(e=u(t(e),n,f),n,f,o,y,p,2):2===a&&v(e,n,f,o,y,p):r(t(e),n,f,o,y,p,1);break}}}function x(e){var n=e.prev,t=e,r=e.next;if(w(n,t,r)>=0)return!1;for(var x=e.next.next;x!==e.prev;){if(g(n.x,n.y,t.x,t.y,r.x,r.y,x.x,x.y)&&w(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function i(e,n,t,r){var x=e.prev,i=e,u=e.next;if(w(x,i,u)>=0)return!1;for(var v=x.xi.x?x.x>u.x?x.x:u.x:i.x>u.x?i.x:u.x,y=x.y>i.y?x.y>u.y?x.y:u.y:i.y>u.y?i.y:u.y,p=c(v,f,n,t,r),a=c(o,y,n,t,r),l=e.prevZ,h=e.nextZ;l&&l.z>=p&&h&&h.z<=a;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;if(l=l.prevZ,h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;l&&l.z>=p;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;h&&h.z<=a;){if(h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function u(e,n,r){var x=e;do{var i=x.prev,u=x.next.next;!M(i,u)&&z(i,x,x.next,u)&&j(i,u)&&j(u,i)&&(n.push(i.i/r),n.push(x.i/r),n.push(u.i/r),C(x),C(x.next),x=e=u),x=x.next}while(x!==e);return t(x)}function v(e,n,x,i,u,v){var f=e;do{for(var o=f.next.next;o!==f.prev;){if(f.i!==o.i&&d(f,o)){var y=A(f,o);return f=t(f,f.next),y=t(y,y.next),r(f,n,x,i,u,v),void r(y,n,x,i,u,v)}o=o.next}f=f.next}while(f!==e)}function f(e,r,x,i){var u,v,f,y=[];for(u=0,v=r.length;u=r.next.y&&r.next.y!==r.y){var v=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(v<=x&&v>u){if(u=v,v===x){if(i===r.y)return r;if(i===r.next.y)return r.next}t=r.x=r.x&&r.x>=y&&x!==r.x&&g(it.x||r.x===t.x&&l(t,r)))&&(t=r,a=f)),r=r.next}while(r!==o);return t}function l(e,n){return w(e.prev,e,n.prev)<0&&w(n.next,e,e.next)<0}function h(e,n,t,r){var x=e;do{null===x.z&&(x.z=c(x.x,x.y,n,t,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,s(x)}function s(e){var n,t,r,x,i,u,v,f,o=1;do{for(t=e,e=null,i=null,u=0;t;){for(u++,r=t,v=0,n=0;n0||f>0&&r;)0!==v&&(0===f||!r||t.z<=r.z)?(x=t,t=t.nextZ,v--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;t=r}i.nextZ=null,o*=2}while(u>1);return e}function c(e,n,t,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-t)*x)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-r)*x)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function Z(e){var n=e,t=e;do{(n.x=0&&(e-u)*(r-v)-(t-u)*(n-v)>=0&&(t-u)*(i-v)-(x-u)*(r-v)>=0}function d(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!k(e,n)&&(j(e,n)&&j(n,e)&&q(e,n)&&(w(e.prev,e,n.prev)||w(e,n.prev,n))||M(e,n)&&w(e.prev,e,e.next)>0&&w(n.prev,n,n.next)>0)}function w(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function M(e,n){return e.x===n.x&&e.y===n.y}function z(e,n,t,r){var x=m(w(e,n,t)),i=m(w(e,n,r)),u=m(w(t,r,e)),v=m(w(t,r,n));return x!==i&&u!==v||!(0!==x||!b(e,t,n))||!(0!==i||!b(e,r,n))||!(0!==u||!b(t,e,r))||!(0!==v||!b(t,n,r))}function b(e,n,t){return n.x<=Math.max(e.x,t.x)&&n.x>=Math.min(e.x,t.x)&&n.y<=Math.max(e.y,t.y)&&n.y>=Math.min(e.y,t.y)}function m(e){return e>0?1:e<0?-1:0}function k(e,n){var t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&z(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function j(e,n){return w(e.prev,e,e.next)<0?w(e,n,e.next)>=0&&w(e,e.prev,n)>=0:w(e,n,e.prev)<0||w(e,e.next,n)<0}function q(e,n){var t=e,r=!1,x=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&x<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(r=!r),t=t.next}while(t!==e);return r}function A(e,n){var t=new D(e.i,e.x,e.y),r=new D(n.i,n.x,n.y),x=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=x,x.prev=t,r.next=t,t.prev=r,i.next=r,r.prev=i,r}function B(e,n,t,r){var x=new D(e,n,t);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function C(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function D(e,n,t){this.i=e,this.x=n,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(e,n,t,r){for(var x=0,i=n,u=t-r;i0&&(r+=e[x-1].length,t.holes.push(r))}return t},e},void 0!==(t=n())&&(e.exports=t);const x=r.exports;export{x as e};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{e as o}from\"../../../../chunks/earcut.js\";import{a as s}from\"../../../../chunks/vec2.js\";import{a as n}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as i,convertFromPolygon as c}from\"../../../../layers/graphics/featureConversionUtils.js\";import a from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as f}from\"./number.js\";import{BufferObject as h}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as m,Usage as u,DataType as y}from\"../../../webgl/enums.js\";const x=t.getLogger(\"esri.views.2d.engine.webgl.Mesh2D\"),g=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return y.UNSIGNED_BYTE;case 2:return y.UNSIGNED_SHORT;case 4:return y.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},p=(e,t,r,o)=>{let s=0;for(let n=1;n0:s<0},l=({coords:e,lengths:t},r)=>{const s=[];for(let n=0,i=0;n({...r,[o]:h.createVertex(e,t,this.vertices[o])})),{})),this._cache.vertexBuffers}}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{isSome as r,isNone as s}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import a from\"./Mesh2D.js\";import{VertexArrayObject as c}from\"../../../webgl/VertexArrayObject.js\";const n=e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),m=t=>parseFloat(t)/100;class p extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=i((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new p(t,e)}_destroyGL(){r(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),r(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,i){const[o,h]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===h||(this._lastWidth=o,this._lastHeight=h,this._destroyGL()),s(this._cache.vao)){const s=this._createMesh(e,this._clip),o=s.getIndexBuffer(t),h=s.getVertexBuffers(t);this._cache.mesh=s,this._cache.vao=new c(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:o()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?m(e.left)*r:e.left,o=\"string\"==typeof e.right?m(e.right)*r:e.right,h=\"string\"==typeof e.top?m(e.top)*s:e.top,a=\"string\"==typeof e.bottom?m(e.bottom)*s:e.bottom,c=i,n=h;return{x:c,y:n,width:Math.max(r-o-c,0),height:Math.max(s-a-n,0)}}_createMesh(e,r){switch(r.type){case\"rect\":return a.fromRect(this._createScreenRect(e,r));case\"path\":return a.fromPath(r);case\"geometry\":return a.fromGeometry(e,r);default:return n.error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),a.fromRect({x:0,y:0,width:1,height:1})}}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{brushes as t}from\"../brushes.js\";import{Container as i}from\"../Container.js\";import n from\"./ClippingInfo.js\";import{WGLDrawPhase as o}from\"./enums.js\";class a extends i{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}_createTransforms(){return{dvs:s()}}doRender(e){const r=this.createRenderParams(e),{painter:s,globalOpacity:t,profiler:i,drawPhase:n}=r,a=n===o.LABEL||n===o.HIGHLIGHT?1:t*this.computedOpacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(r),s.compositeLayer(r,a),i.recordContainerEnd()}renderChildren(r){e(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(r.painter));for(const e of this.children)e.beforeRender(r);for(const e of this._renderPasses)try{e.render(r)}catch(s){}for(const e of this.children)e.afterRender(r)}createRenderParams(e){return e.requireFBO=this.requiresDedicatedFBO,e}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[t.clip],target:()=>this._clippingInfos,drawPhase:o.MAP|o.LABEL|o.LABEL_ALPHA|o.DEBUG|o.HIGHLIGHT})]}updateTransforms(e){for(const r of this.children)r.setTransform(e)}onAttach(){super.onAttach(),this._updateClippingInfo()}onDetach(){super.onDetach(),this._updateClippingInfo()}_updateClippingInfo(){if(r(this._clippingInfos)&&(this._clippingInfos.forEach((e=>e.destroy())),this._clippingInfos=null),!this.stage)return;const e=this._clips;r(e)&&e.length&&(this._clippingInfos=e.items.map((e=>n.fromClipArea(this.stage,e)))),this.requestRender()}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as l}from\"../../../core/maybe.js\";import{getFeatureEditFields as p,fixFields as t}from\"../../../layers/support/fieldUtils.js\";async function d(l,d=l.popupTemplate){if(e(d))return[];const s=await d.getRequiredFields(l.fieldsIndex),{lastEditInfoEnabled:i}=d,{objectIdField:n,typeIdField:u,globalIdField:a,relationships:o}=l;if(s.includes(\"*\"))return[\"*\"];const r=i?await p(l):[],f=t(l.fieldsIndex,[...s,...r]);return u&&f.push(u),f&&n&&l.fieldsIndex.has(n)&&!f.includes(n)&&f.push(n),f&&a&&l.fieldsIndex.has(a)&&!f.includes(a)&&f.push(a),o&&o.forEach((e=>{const{keyField:p}=e;f&&p&&l.fieldsIndex.has(p)&&!f.includes(p)&&f.push(p)})),f}function s(e,p){return e.popupTemplate?e.popupTemplate:l(p)&&p.defaultPopupTemplateEnabled&&l(e.defaultPopupTemplate)?e.defaultPopupTemplate:null}export{s as getFetchPopupTemplate,d as getRequiredFields};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{c as t}from\"../../../../chunks/mat3f32.js\";import{RasterBitmap as s}from\"./RasterBitmap.js\";import{TiledDisplayObject as e}from\"../webgl/TiledDisplayObject.js\";class i extends e{constructor(t,e,i,r,a,n=null){super(t,e,i,r,a),this.bitmap=new s(n,null,null),this.bitmap.coordScale=[r,a],this.bitmap.once(\"isReady\",(()=>this.ready()))}destroy(){super.destroy(),this.bitmap.destroy(),this.bitmap=null,this.stage=null}set stencilRef(t){this.bitmap.stencilRef=t}get stencilRef(){return this.bitmap.stencilRef}setTransform(t,s){super.setTransform(t,s),this.bitmap.transforms.dvs=this.transforms.dvs}_createTransforms(){return{dvs:t(),tileMat3:t()}}onAttach(){this.bitmap.stage=this.stage}onDetach(){this.bitmap.stage=null}}export{i as RasterTile};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{create as e}from\"../../../../geometry/support/aaBoundingRect.js\";import{getWorldWidth as s}from\"../../viewpointUtils.js\";import{brushes as r}from\"../brushes.js\";import{RasterTile as i}from\"./RasterTile.js\";import{WGLDrawPhase as t}from\"../webgl/enums.js\";import o from\"../webgl/TileContainer.js\";class n extends o{constructor(){super(...arguments),this.isCustomTilingScheme=!1}createTile(e){const s=this._getTileBounds(e),[r,t]=this._tileInfoView.tileInfo.size;return new i(e,s[0],s[3],r,t)}prepareRenderPasses(e){const s=e.registerRenderPass({name:\"imagery (tile)\",brushes:[r.raster],target:()=>this.children.map((e=>e.bitmap)),drawPhase:t.MAP});return[...super.prepareRenderPasses(e),s]}doRender(e){this.visible&&e.drawPhase===t.MAP&&super.doRender(e)}_getTileBounds(r){const i=this._tileInfoView.getTileBounds(e(),r);if(this.isCustomTilingScheme&&r.world){const{tileInfo:e}=this._tileInfoView,t=s(e.spatialReference);if(t){const{resolution:s}=e.lodAt(r.level),o=t/s%e.size[0],n=o?(e.size[0]-o)*s:0;i[0]-=n*r.world,i[2]-=n*r.world}}return i}}export{n as RasterTileContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../chunks/tslib.es6.js\";import\"../../../../geometry.js\";import{HandleOwner as t}from\"../../../../core/HandleOwner.js\";import i from\"../../../../core/Logger.js\";import{isSome as s,unwrap as r}from\"../../../../core/maybe.js\";import{debounce as l,isAbortError as a,eachAlways as o}from\"../../../../core/promiseUtils.js\";import{property as h}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/arrayUtils.js\";import\"../../../../core/has.js\";import\"../../../../core/accessorSupport/ensureType.js\";import{subclass as n}from\"../../../../core/accessorSupport/decorators/subclass.js\";import c from\"../../../../geometry/Point.js\";import u from\"../../../../layers/support/PixelBlock.js\";import p from\"../../../../layers/support/TileInfo.js\";import{update as y,unregister as d,register as g,getRasterId as m}from\"../../../../layers/support/rasterDatasets/RawBlockCache.js\";import{extractBands as _}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{getWorldWidth as f,computeProjectedScales as w}from\"../../../../layers/support/rasterFunctions/rasterProjectionHelper.js\";import\"../../tiling/PagedTileQueue.js\";import b from\"../../tiling/TileInfoView.js\";import\"../../tiling/TileKey.js\";import P from\"../../tiling/TileQueue.js\";import I from\"../../tiling/TileStrategy.js\";import{getWebGLCapabilities as C}from\"../../../webgl/capabilities.js\";import v from\"../../../../geometry/Extent.js\";const R=[0,0],T=i.getLogger(\"esri.views.2d.layers.ImageryTileLayerView2D\");let V=class extends t{constructor(){super(...arguments),this._emptyTilePixelBlock=null,this._tileStrategy=null,this._tileInfoView=null,this._fetchQueue=null,this._blockCacheRegistryUrl=null,this._blockCacheRegistryId=null,this._srcResolutions=null,this.previousLOD=null,this._needBlockCacheUpdate=!1,this._globalSymbolizerParams=null,this._symbolizerParams=null,this._abortController=null,this._isCustomTilingScheme=!1,this._globalUpdateRequested=!1,this.attached=!1,this.container=null,this.layer=null,this.timeExtent=null,this.redrawOrRefetch=l(((e,t)=>!this.previousLOD||this.layerView.suspended?Promise.resolve():e?this.updatingHandles.addPromise(this.doRefresh()):this.updatingHandles.addPromise(this._redrawImage(t))))}get useWebGLForProcessing(){return this._get(\"useWebGLForProcessing\")??!0}set useWebGLForProcessing(e){this._set(\"useWebGLForProcessing\",e)}get useProgressiveUpdate(){return null==this._get(\"useProgressiveUpdate\")||this._get(\"useProgressiveUpdate\")}set useProgressiveUpdate(e){if(this._tileStrategy&&this.useProgressiveUpdate!==e){this._tileStrategy.destroy(),this.container.removeAllChildren();const t=this._getCacheSize(e);this._tileStrategy=new I({cachePolicy:\"purge\",acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),cacheSize:t,tileInfoView:this._tileInfoView}),this._set(\"useProgressiveUpdate\",e),this.layerView.requestUpdate()}}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume();const{extent:t,resolution:i,scale:s}=e.state,r=this._tileInfoView.getClosestInfoForScale(s);if(this.layer.raster){if(!this.useProgressiveUpdate||this._needBlockCacheUpdate){const e=this._srcResolutions[r.level],s=t.toJSON?t:v.fromJSON(t);y(this._blockCacheRegistryUrl,this._blockCacheRegistryId,s,i,e,this.layer.raster.ioConfig.sampling)}this._needBlockCacheUpdate=!1,this.previousLOD?.level!==r.level&&(this.previousLOD=r,null==this._symbolizerParams||this.layerView.hasTilingEffects||this._updateSymbolizerParams(),this._tileStrategy.updateCacheSize(0))}}moveEnd(){!this.layerView.hasTilingEffects&&this.useProgressiveUpdate||(this._abortController&&this._abortController.abort(),this._abortController=new AbortController,0===this._fetchQueue.length&&this._redrawImage(this._abortController.signal).then((()=>{this._globalUpdateRequested=!1,this.layerView.requestUpdate()})));const e=this._getCacheSize(this.useProgressiveUpdate);this._tileStrategy.updateCacheSize(e),this.layerView.requestUpdate()}get updating(){return this._fetchQueue?.updating||this._globalUpdateRequested||!(!this.updatingHandles||!this.updatingHandles.updating)}attach(){C(\"2d\").supportsTextureFloat||(this.useWebGLForProcessing=!1),this._initializeTileInfo(),this._tileInfoView=new b(this.layerView.tileInfo,this.layerView.fullExtent);const e=this._computeFetchConcurrency();this._fetchQueue=new P({tileInfoView:this._tileInfoView,concurrency:e,process:(e,t)=>this._fetchTile1(e,t)});const t=this._getCacheSize(this.useProgressiveUpdate);this._tileStrategy=new I({cachePolicy:\"purge\",acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),cacheSize:t,tileInfoView:this._tileInfoView}),this._updateBlockCacheRegistry()}detach(){this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._fetchQueue=this._tileStrategy=this._tileInfoView=null,d(this._blockCacheRegistryUrl,this._blockCacheRegistryId),this._blockCacheRegistryUrl=this._blockCacheRegistryId=null}acquireTile(e){const t=this.container.createTile(e);return this._enqueueTileFetch(t),this.layerView.requestUpdate(),this._needBlockCacheUpdate=!0,this._globalUpdateRequested=this.layerView.hasTilingEffects||!this.useProgressiveUpdate,t}releaseTile(e){this._fetchQueue.abort(e.key.id),this.container.removeChild(e),e.once(\"detach\",(()=>{e.destroy(),this.layerView.requestUpdate()})),this.layerView.requestUpdate()}createEmptyTilePixelBlock(e=null){const t=null==e||e.join(\",\")===this._tileInfoView.tileInfo.size.join(\",\");if(t&&s(this._emptyTilePixelBlock))return this._emptyTilePixelBlock;e=e||this._tileInfoView.tileInfo.size;const[i,r]=e,l=new u({width:i,height:r,pixels:[new Uint8Array(i*r)],mask:new Uint8Array(i*r),pixelType:\"u8\"});return t&&(this._emptyTilePixelBlock=l),l}_fetchTile1(e,t){const i=s(t)&&t.signal,l=this.canUseWebGLForProcessing(),{layerView:a}=this,o=!a.tileInfo.isWrappable&&s(f(a.view.spatialReference)),h={allowPartialFill:!0,datumTransformation:a.datumTransformation,interpolation:l?\"nearest\":this.layer.interpolation,registryId:this._blockCacheRegistryId,requestRawData:l,signal:r(i),srcResolution:this._srcResolutions[e.level],timeExtent:a.timeExtent,tileInfo:a.tileInfo,disableWrapAround:o};return this.fetchTile(e,h)}_getCacheSize(e){return e?40:0}_initializeTileInfo(){const e=this.layerView.view.spatialReference,t=new c({x:this.layerView.fullExtent.xmin,y:this.layerView.fullExtent.ymax,spatialReference:e}),{scales:i,srcResolutions:s,isCustomTilingScheme:r}=w(this.layer.rasterInfo,e),l=p.create({spatialReference:e,size:512,scales:i});(0===l.origin.x||l.origin.x>t.x)&&(l.origin=t),this._isCustomTilingScheme=r,this.layerView.set(\"tileInfo\",l),this._srcResolutions=s??[]}_computeFetchConcurrency(){const{blockBoundary:e}=this.layer.rasterInfo.storageInfo,t=e[e.length-1];return(t.maxCol-t.minCol+1)*(t.maxRow-t.minRow+1)>64?2:10}async _enqueueTileFetch(e,t){this.updatingHandles.addPromise(this._enqueueTileFetch1(e,t))}async _enqueueTileFetch1(e,t){if(!this._fetchQueue.has(e.key.id)){try{const t=await this._fetchQueue.push(e.key),{bandIds:s}=this.layer;let r=!this.useProgressiveUpdate||this.layerView.hasTilingEffects&&!this._globalSymbolizerParams;if(this._globalUpdateRequested&&!this.layerView.moving&&0===this._fetchQueue.length){r=!1;try{await this._redrawImage(this._abortController&&this._abortController.signal)}catch(i){a(i)&&T.error(i)}this._globalUpdateRequested=!1}!this.canUseWebGLForProcessing()&&\"rasterVF\"!==this.type||this.layerView.hasTilingEffects||null!=this._symbolizerParams||this._updateSymbolizerParams();const l=this._tileInfoView.getTileCoords(R,e.key),o=this._tileInfoView.getTileResolution(e.key);await this.updateTileSource(e,{source:t,symbolizerParams:this._symbolizerParams,globalSymbolizerParams:this._globalSymbolizerParams,suspended:r,bandIds:s,coords:l,resolution:o}),e.once(\"attach\",(()=>this.layerView.requestUpdate())),this.container.addChild(e)}catch(i){a(i)||T.error(i)}this.layerView.requestUpdate()}}async _redrawImage(e){if(0===this.container.children.length)return;await this.layer.updateRenderer(),this.layerView.hasTilingEffects?await this._updateGlobalSymbolizerParams(e):(this._updateSymbolizerParams(),this._globalSymbolizerParams=null);const t=this.container.children.map((async e=>this.updateTileSymbolizerParameters(e,{local:this._symbolizerParams,global:this._globalSymbolizerParams})));await o(t),this.container.requestRender()}async _updateGlobalSymbolizerParams(e){const t={srcResolution:this._srcResolutions[this.previousLOD.level],registryId:this._blockCacheRegistryId,signal:e},i=await this.layer.fetchPixels(this.layerView.view.extent,this.layerView.view.width,this.layerView.view.height,t);if(!i||!i.pixelBlock)return;const s=this.layer.symbolizer.generateWebGLParameters({pixelBlock:_(i.pixelBlock,this.layer.bandIds),isGCS:this.layerView.view.spatialReference.isGeographic,resolution:{x:this.previousLOD.resolution,y:this.previousLOD.resolution},bandIds:this.layer.bandIds});!this.canUseWebGLForProcessing()&&s&&\"stretch\"===s.type&&this.layer.renderer&&\"raster-stretch\"===this.layer.renderer.type&&(s.factor=s.factor.map((e=>255*e)),s.outMin=Math.round(255*s.outMin),s.outMax=Math.round(255*s.outMax)),this._globalSymbolizerParams=s}_updateSymbolizerParams(){this._symbolizerParams=this.layer.symbolizer.generateWebGLParameters({pixelBlock:null,isGCS:this.layerView.view.spatialReference.isGeographic,resolution:{x:this.previousLOD.resolution,y:this.previousLOD.resolution},bandIds:this.layer.bandIds})}_updateBlockCacheRegistry(e=!1){const{url:t,rasterInfo:i,raster:s}=this.layer,{multidimensionalDefinition:r}=this.layer.normalizeRasterFetchOptions({multidimensionalDefinition:this.layer.multidimensionalDefinition,timeExtent:this.layerView.timeExtent}),l=i?.multidimensionalInfo?s.getSliceIndex(r):null,a=m(t,l);if(a!==this._blockCacheRegistryUrl){if(null!=this._blockCacheRegistryUrl&&d(this._blockCacheRegistryUrl,this._blockCacheRegistryId),this._blockCacheRegistryId=g(a,this.layer.raster.rasterInfo),e){const e=this._tileInfoView.getClosestInfoForScale(this.layerView.view.scale),t=this._srcResolutions[e.level];y(a,this._blockCacheRegistryId,this.layerView.view.extent,this.layerView.view.resolution,t,this.layer.raster.ioConfig.sampling)}this._blockCacheRegistryUrl=a}}async doRefresh(){await this.layer.updateRenderer(),this.layerView.hasTilingEffects||this._updateSymbolizerParams(),this._updateBlockCacheRegistry(!0),this._fetchQueue.reset();const e=[];this._globalUpdateRequested=this.layerView.hasTilingEffects||!this.useProgressiveUpdate,this._tileStrategy.tiles.forEach((t=>e.push(this._enqueueTileFetch(t)))),await o(e)}};e([h()],V.prototype,\"_fetchQueue\",void 0),e([h()],V.prototype,\"_globalUpdateRequested\",void 0),e([h()],V.prototype,\"attached\",void 0),e([h()],V.prototype,\"container\",void 0),e([h()],V.prototype,\"layer\",void 0),e([h()],V.prototype,\"layerView\",void 0),e([h()],V.prototype,\"type\",void 0),e([h()],V.prototype,\"useWebGLForProcessing\",null),e([h()],V.prototype,\"useProgressiveUpdate\",null),e([h()],V.prototype,\"timeExtent\",void 0),e([h()],V.prototype,\"updating\",null),V=e([n(\"esri.views.2d.layers.imagery.BaseImageryTileSubView2D\")],V);export{V as BaseImageryTileSubView2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../chunks/tslib.es6.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{property as t}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/arrayUtils.js\";import\"../../../../core/has.js\";import\"../../../../core/accessorSupport/ensureType.js\";import{subclass as s}from\"../../../../core/accessorSupport/decorators/subclass.js\";import{RasterTileContainer as i}from\"../../engine/imagery/RasterTileContainer.js\";import{BaseImageryTileSubView2D as o}from\"./BaseImageryTileSubView2D.js\";import{canUseMajorityInterpolationOnDataSource as a}from\"../support/util.js\";let l=class extends o{constructor(){super(...arguments),this.container=null,this.layer=null,this.type=\"raster\"}attach(){super.attach(),this.container=new i(this._tileInfoView),this.container.isCustomTilingScheme=this._isCustomTilingScheme}detach(){super.detach(),this.container.removeAllChildren(),this.container=null}canUseWebGLForProcessing(){return this.useWebGLForProcessing&&this.layer.symbolizer.canRenderInWebGL&&!(\"majority\"===this.layer.interpolation&&a(this.layer))}fetchTile(e,r){return this.layer.fetchTile(e.level,e.row,e.col,r)}async updateTileSource(e,t){const{bandIds:s}=this.layer,i=this._getLayerInterpolation(),o=this.canUseWebGLForProcessing(),{source:a,globalSymbolizerParams:l,suspended:n,coords:c,resolution:p}=t,u=this.layerView.hasTilingEffects?l:t.symbolizerParams,{bitmap:m}=e;if([m.x,m.y]=c,m.resolution=p,a&&r(a)&&r(a.pixelBlock)){const e={extent:a.extent,pixelBlock:a.pixelBlock};if(m.rawPixelData=e,o)m.source=a.pixelBlock,m.isRendereredSource=!1;else{const r=await this.layer.applyRenderer(e,\"stretch\"===l?.type?l:null);m.source=r,m.isRendereredSource=!0}m.symbolizerParameters=o?u:null,o?m.transformGrid||(m.transformGrid=a.transformGrid):m.transformGrid=null}else{const e=this.createEmptyTilePixelBlock();m.source=e,m.symbolizerParameters=o?u:null,m.transformGrid=null}m.bandIds=o?s:null,m.width=this._tileInfoView.tileInfo.size[0],m.height=this._tileInfoView.tileInfo.size[1],m.interpolation=i,m.suspended=n,m.invalidateTexture()}async updateTileSymbolizerParameters(e,t){const{local:s,global:i}=t,{bandIds:o}=this.layer,a=this._getLayerInterpolation(),l=this.canUseWebGLForProcessing(),{bitmap:n}=e,{rawPixelData:c}=n;!l&&r(c)?(n.source=await this.layer.applyRenderer(c,\"stretch\"===i?.type?i:null),n.isRendereredSource=!0):(n.isRendereredSource&&r(c)&&(n.source=c.pixelBlock),n.isRendereredSource=!1),n.symbolizerParameters=l?this.layerView.hasTilingEffects?i:s:null,n.bandIds=l?o:null,n.interpolation=a,n.suspended=!1}_getLayerInterpolation(){const e=this.layer.renderer.type;if(\"raster-colormap\"===e||\"unique-value\"===e||\"class-breaks\"===e)return\"nearest\";const{interpolation:r}=this.layer,{renderer:t}=this.layer;return\"raster-stretch\"===t.type&&null!=t.colorRamp?\"bilinear\"===r||\"cubic\"===r?\"bilinear\":\"nearest\":r}};e([t()],l.prototype,\"container\",void 0),e([t()],l.prototype,\"layer\",void 0),e([t()],l.prototype,\"type\",void 0),l=e([s(\"esri.views.2d.layers.imagery.ImageryTileView2D\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{s as t,m as s}from\"../../../../chunks/mat3.js\";import{c as e}from\"../../../../chunks/mat3f32.js\";import{RasterVFDisplayObject as a}from\"./RasterVFDisplayObject.js\";import{TiledDisplayObject as i}from\"../webgl/TiledDisplayObject.js\";class r extends i{constructor(t,s,e,i,r,o=null){super(t,s,e,i,r),this.tileData=new a(o),this.tileData.coordScale=[i,r],this.tileData.once(\"isReady\",(()=>this.ready()))}destroy(){super.destroy(),this.tileData.destroy(),this.tileData=null,this.stage=null}set stencilRef(t){this.tileData.stencilRef=t}get stencilRef(){return this.tileData.stencilRef}_createTransforms(){return{dvs:e(),tileMat3:e()}}setTransform(e,a){super.setTransform(e,a);const i=a/(e.resolution*e.pixelRatio),r=this.transforms.tileMat3,[o,l]=this.tileData.offset,h=[this.x+o*a,this.y-l*a],[n,f]=e.toScreenNoRotation([0,0],h),{symbolTileSize:m}=this.tileData.symbolizerParameters,c=Math.round((this.width-this.tileData.offset[0])/m)*m,D=Math.round((this.height-this.tileData.offset[1])/m)*m,d=c/this.rangeX*i,u=D/this.rangeY*i;t(r,d,0,0,0,u,0,n,f,1),s(this.transforms.dvs,e.displayViewMat3,r),this.tileData.transforms.dvs=this.transforms.dvs}onAttach(){this.tileData.stage=this.stage}onDetach(){this.tileData.stage=null}}export{r as RasterVFTile};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{create as e}from\"../../../../geometry/support/aaBoundingRect.js\";import s from\"./BrushVectorField.js\";import{RasterVFTile as r}from\"./RasterVFTile.js\";import{WGLDrawPhase as t}from\"../webgl/enums.js\";import i from\"../webgl/TileContainer.js\";class o extends i{constructor(){super(...arguments),this.isCustomTilingScheme=!1,this.symbolTypes=[\"triangle\"]}createTile(s){const t=this._tileInfoView.getTileBounds(e(),s),[i,o]=this._tileInfoView.tileInfo.size;return new r(s,t[0],t[3],i,o)}prepareRenderPasses(e){const r=e.registerRenderPass({name:\"imagery (vf tile)\",brushes:[s],target:()=>this.children.map((e=>e.tileData)),drawPhase:t.MAP});return[...super.prepareRenderPasses(e),r]}doRender(e){this.visible&&e.drawPhase===t.MAP&&this.symbolTypes.forEach((s=>{e.renderPass=s,super.doRender(e)}))}}export{o as RasterVFTileContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../../chunks/tslib.es6.js\";import{isSome as t}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{property as r}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/arrayUtils.js\";import\"../../../../core/has.js\";import\"../../../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../../../core/accessorSupport/decorators/subclass.js\";import{sampleVectorField as s}from\"../../../../layers/support/rasterFunctions/vectorFieldUtils.js\";import{RasterVFTileContainer as l}from\"../../engine/imagery/RasterVFTileContainer.js\";import{BaseImageryTileSubView2D as a}from\"./BaseImageryTileSubView2D.js\";let c=class extends a{constructor(){super(...arguments),this._handle=null,this.container=null,this.layer=null,this.type=\"rasterVF\"}canUseWebGLForProcessing(){return!1}async fetchTile(e,t){t={...t,interpolation:\"nearest\",requestProjectedLocalDirections:!0};const i=await this.layer.fetchTile(e.level,e.row,e.col,t);return\"vector-magdir\"===this.layer.rasterInfo.dataType&&i?.pixelBlock&&(i.pixelBlock=await this.layer.convertVectorFieldData(i.pixelBlock,t)),i}updateTileSource(e,i){const r=i.symbolizerParams,{tileData:o}=e;o.key=e.key,o.width=this._tileInfoView.tileInfo.size[0],o.height=this._tileInfoView.tileInfo.size[1];const{symbolTileSize:s}=r,{source:l}=i;if(o.offset=this._getTileSymbolOffset(o.key,s),t(l)&&t(l.pixelBlock)){const e={extent:l.extent,pixelBlock:l.pixelBlock};o.rawPixelData=e,o.symbolizerParameters=r,o.source=this._sampleVectorFieldData(l.pixelBlock,r,o.offset)}else{const e=[Math.round((this._tileInfoView.tileInfo[0]-o.offset[0])/s),Math.round((this._tileInfoView.tileInfo[1]-o.offset[1])/s)],t=this.createEmptyTilePixelBlock(e);o.source=t,o.symbolizerParameters=r}return o.invalidateVAO(),Promise.resolve(null)}updateTileSymbolizerParameters(e,i){const r=i.local,{symbolTileSize:o}=r,{tileData:s}=e;s.offset=this._getTileSymbolOffset(s.key,o);const l=s.symbolizerParameters.symbolTileSize;return s.symbolizerParameters=r,t(s.rawPixelData?.pixelBlock)&&l!==o&&(s.source=this._sampleVectorFieldData(s.rawPixelData.pixelBlock,s.symbolizerParameters,s.offset)),Promise.resolve(null)}attach(){super.attach(),this.container=new l(this._tileInfoView),this.container.isCustomTilingScheme=this._isCustomTilingScheme,this._updateSymbolType(this.layer.renderer),this._handle=i((()=>this.layer.renderer),(e=>this._updateSymbolType(e)))}detach(){super.detach(),this.container.removeAllChildren(),this._handle.remove(),this._handle=null}_getTileSymbolOffset(e,t){const i=e.col*this._tileInfoView.tileInfo.size[0]%t,r=e.row*this._tileInfoView.tileInfo.size[1]%t;return[i>t/2?t-i:-i,r>t/2?t-r:-r]}_sampleVectorFieldData(e,t,i){const{symbolTileSize:r}=t;return s(e,\"vector-uv\",r,i)}_updateSymbolType(e){\"vector-field\"===e.type&&(this.container.symbolTypes=\"wind-barb\"===e.style?[\"scalar\",\"triangle\"]:\"simple-scalar\"===e.style?[\"scalar\"]:[\"triangle\"])}};e([r()],c.prototype,\"container\",void 0),e([r()],c.prototype,\"layer\",void 0),e([r()],c.prototype,\"type\",void 0),c=e([o(\"esri.views.2d.layers.imagery.VectorFieldTileView2D\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../Graphic.js\";import r from\"../../core/Error.js\";import{unwrap as i,isNone as o}from\"../../core/maybe.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{combinedViewLayerTimeExtentProperty as n}from\"../../layers/support/commonProperties.js\";import{getDefaultDatumTransformationForDataset as l,projectExtent as u}from\"../../layers/support/rasterFunctions/rasterProjectionHelper.js\";import{getFetchPopupTemplate as p}from\"./support/popupUtils.js\";const m=m=>{let f=class extends m{constructor(){super(...arguments),this._rasterFieldPrefix=\"Raster.\",this.layer=null,this.view=null,this.tileInfo=null}get fullExtent(){return this._getfullExtent()}_getfullExtent(){return this.projectFullExtent(this.view.spatialReference)}get hasTilingEffects(){return this.layer.renderer&&\"dynamicRangeAdjustment\"in this.layer.renderer&&this.layer.renderer.dynamicRangeAdjustment}get datumTransformation(){return l(i(this.layer.fullExtent),this.view.spatialReference,!0)}supportsSpatialReference(t){return!!this.projectFullExtent(t)}projectFullExtent(t){const e=i(this.layer.fullExtent),r=l(e,t,!1);return u(e,t,r)}async fetchPopupFeatures(t,i){const{layer:s}=this;if(!t)throw new r(\"imageryTileLayerView:fetchPopupFeatures\",\"Nothing to fetch without area\",{layer:s});const{popupEnabled:a}=s,n=p(s,i);if(!a||o(n))throw new r(\"imageryTileLayerView:fetchPopupFeatures\",\"Missing required popupTemplate or popupEnabled\",{popupEnabled:a,popupTemplate:n});const l=[],{value:u,magdirValue:m}=await s.identify(t,{timeExtent:this.timeExtent});let f=\"\";if(u&&u.length){f=\"imagery-tile\"===s.type&&s.hasStandardTime()&&null!=u[0]?u.map((t=>s.getStandardTimeValue(t))).join(\", \"):u.join(\", \");const t={ObjectId:0},r=\"Raster.ServicePixelValue\";t[r]=this._formatAttributeValue(f,r);const i=s.rasterInfo?.attributeTable?.features;if(i&&i.length>0){const e=i.filter((t=>{const e=t.attributes.value||t.attributes.Value||t.attributes.VALUE;return String(e)===f}));if(e.length>0){const r=e[0];if(r)for(const e in r.attributes)if(r.attributes.hasOwnProperty(e)){const i=this._rasterFieldPrefix+e;t[i]=this._formatAttributeValue(r.attributes[e],i)}}}const o=s.rasterInfo.dataType;\"vector-magdir\"!==o&&\"vector-uv\"!==o||(t[\"Raster.Magnitude\"]=m?.[0],t[\"Raster.Direction\"]=m?.[1]);const a=new e(this.fullExtent.clone(),null,t);a.layer=s,a.sourceLayer=a.layer,l.push(a)}return l}_formatAttributeValue(t,e){if(\"string\"==typeof t){const r=this.layer.popupTemplate&&this.layer.popupTemplate.fieldInfos,i=this._getFieldInfo(r,e),o=i&&i.format;if(o){let e,r;return t.trim().includes(\",\")?(e=\",\",r=e+\" \",this._formatDelimitedString(t,e,r,o)):t.trim().includes(\" \")?(e=r=\" \",this._formatDelimitedString(t,e,r,o)):this._formatNumberFromString(t,o)}}return t}_getFieldInfo(t,e){if(!t||!t.length||!e)return;const r=e.toLowerCase();let i;return t.some((t=>!(!t.fieldName||t.fieldName.toLowerCase()!==r&&t.fieldName.toLowerCase()!==r.replace(/ /g,\"_\"))&&(i=t,!0))),i}_formatDelimitedString(t,e,r,i){return t&&e&&r&&i?t.trim().split(e).map((t=>this._formatNumberFromString(t,i))).join(r):t}_formatNumberFromString(t,e){if(!t||!e)return t;const r=Number(t);return isNaN(r)?t:e.format(r)}};return t([s()],f.prototype,\"layer\",void 0),t([s(n)],f.prototype,\"timeExtent\",void 0),t([s()],f.prototype,\"view\",void 0),t([s()],f.prototype,\"fullExtent\",null),t([s()],f.prototype,\"tileInfo\",void 0),t([s({readOnly:!0})],f.prototype,\"hasTilingEffects\",null),f=t([a(\"esri.views.layers.ImageryTileLayerView\")],f),f};export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import s from\"../../../Graphic.js\";import i from\"../../../core/Logger.js\";import{isAbortError as t}from\"../../../core/promiseUtils.js\";import{watch as r,syncAndInitial as o,initial as a}from\"../../../core/reactiveUtils.js\";import{property as n}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as h}from\"../../../core/accessorSupport/decorators/subclass.js\";import u from\"../engine/flow/FlowView2D.js\";import{LayerView2DMixin as l}from\"./LayerView2D.js\";import c from\"./imagery/ImageryTileView2D.js\";import d from\"./imagery/VectorFieldTileView2D.js\";import{canUseMajorityInterpolationOnDataSource as p}from\"./support/util.js\";import v from\"../../layers/ImageryTileLayerView.js\";import w from\"../../layers/LayerView.js\";import b from\"../../layers/RefreshableLayerView.js\";const m=i.getLogger(\"esri.views.2d.layers.ImageryTileLayerView2D\");let y=class extends(v(b(l(w)))){constructor(){super(...arguments),this._useWebGLForProcessing=!0,this._useProgressiveUpdate=!0,this.subview=null}get useWebGLForProcessing(){return this._useWebGLForProcessing}set useWebGLForProcessing(e){this._useWebGLForProcessing=e,this.subview&&\"useWebGLForProcessing\"in this.subview&&(this.subview.useWebGLForProcessing=e)}get useProgressiveUpdate(){return this._useWebGLForProcessing}set useProgressiveUpdate(e){this._useProgressiveUpdate=e,this.subview&&\"useProgressiveUpdate\"in this.subview&&(this.subview.useProgressiveUpdate=e)}update(e){this.subview.update(e),this.notifyChange(\"updating\")}isUpdating(){return!this.subview||this.subview.updating}attach(){this.layer.increaseRasterJobHandlerUsage(),this._updateSubview(),this.handles.add([r((()=>{const{layer:e}=this;return{bandIds:e.bandIds,renderer:e.renderer,interpolation:e.interpolation,multidimensionalDefinition:e.multidimensionalDefinition}}),((e,s)=>{const i=e.interpolation!==s.interpolation&&(\"majority\"===e.interpolation||\"majority\"===s.interpolation)&&p(this.layer),r=e.renderer!==s.renderer&&s.renderer?.type!==e.renderer?.type;r&&this._updateSubview();const o=e.multidimensionalDefinition!==s.multidimensionalDefinition||i||r;this.subview.redrawOrRefetch(o).catch((e=>{t(e)||m.error(e)})),this.notifyChange(\"updating\")})),r((()=>this.layer.blendMode??\"normal\"),(e=>{this.subview.container.blendMode=e}),o),r((()=>this.layer.effect??null),(e=>{this.subview.container.effect=e}),o),r((()=>this.timeExtent),(()=>{this.subview.timeExtent=this.timeExtent,this.subview.redrawOrRefetch(!0).catch((e=>{t(e)||m.error(e)}))}),a)],\"attach\")}detach(){this.handles.remove(\"attach\"),this.layer.decreaseRasterJobHandlerUsage(),this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.subview.moveEnd()}async hitTest(e,i){return[{type:\"graphic\",layer:this.layer,mapPoint:e,graphic:new s({attributes:{},geometry:e.clone()})}]}doRefresh(){return this.subview.doRefresh()}_updateSubview(){const e=\"vector-field\"===this.layer.renderer.type?\"rasterVF\":\"flow\"===this.layer.renderer.type?\"flow\":\"raster\";if(this.subview){if(this.subview.type===e)return void this._attachSubview(this.subview);this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}const{layer:s}=this;let i;i=\"rasterVF\"===e?new d({layer:s,layerView:this}):\"flow\"===e?new u({layer:s,layerView:this}):new c({layer:s,layerView:this}),\"useWebGLForProcessing\"in i&&(i.useWebGLForProcessing=this._useWebGLForProcessing),\"useProgressiveUpdate\"in i&&(i.useProgressiveUpdate=this._useProgressiveUpdate),\"previousLOD\"in i&&(i.previousLOD=this.subview&&\"previousLOD\"in this.subview&&this.subview.previousLOD),this._attachSubview(i),this.subview=i,this.requestUpdate()}_attachSubview(e){e&&!e.attached&&(e.attach(),e.attached=!0,this.container.addChildAt(e.container,0),e.container.blendMode=this.layer.blendMode,e.container.effect=this.layer.effect)}_detachSubview(e){e?.attached&&(this.container.removeChild(e.container),e.detach(),e.attached=!1)}};e([n()],y.prototype,\"subview\",void 0),e([n()],y.prototype,\"useWebGLForProcessing\",null),e([n()],y.prototype,\"useProgressiveUpdate\",null),y=e([h(\"esri.views.2d.layers.ImageryTileLayerView2D\")],y);const g=y;export{g as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import e from\"../../../core/Error.js\";import{isNone as t,isSome as n}from\"../../../core/maybe.js\";import{getMetersPerUnitForSR as o}from\"../../../core/unitUtils.js\";import{e as i,f as r,g as s,h as a,j as l}from\"../../../chunks/pe.js\";import{canProjectWithoutEngine as c,isLoaded as f,load as u,getTransformation as m,project as x}from\"../../../geometry/projection.js\";import h from\"../../../geometry/Extent.js\";import p from\"../../../geometry/Point.js\";import g from\"../../../geometry/Polygon.js\";import y from\"../../../geometry/SpatialReference.js\";var d;function M(e,t,n){return!c(e,t,n)}function w(t,n,o){const i=M(t,n,o);if(i&&!f())throw new e(\"rasterprojectionhelper-project\",\"projection engine is not loaded\");return i}!function(e){e[e.None=0]=\"None\",e[e.North=1]=\"North\",e[e.South=2]=\"South\",e[e.Both=3]=\"Both\"}(d||(d={}));const R=(e,t,n,o=0)=>{if(1===n[0])return[0,0];let i=1,r=-1,s=1,a=-1;for(let g=0;ge[g]?e[g]:i,r=r>e[g]?r:e[g],s=s>e[g+1]?e[g+1]:s,a=a>e[g+1]?a:e[g+1]);const{cols:l,rows:c}=t,f=(r-i)/l/n[0],u=(a-s)/c/n[1],m=2*o;let x=0,h=!1,p=[0,0];for(let g=0;gx&&(x=r+s,p=[r,s]),m&&x>m){h=!0;break}}if(h)break}return p},P={3395:20037508.342789244,3410:17334193.943686873,3857:20037508.342788905,3975:17367530.445161372,4087:20037508.342789244,4088:20015108.787169147,6933:17367530.445161372,32662:20037508.342789244,53001:20015086.79602057,53002:10007543.39801029,53003:20015086.79602057,53004:20015086.79602057,53016:14152803.599503474,53017:17333573.624304302,53034:20015086.79602057,53079:20015114.352186374,53080:20015114.352186374,54001:20037508.342789244,54002:10018754.171394624,54003:20037508.342789244,54004:20037508.342789244,54016:14168658.027268292,54017:17367530.44516137,54034:20037508.342789244,54079:20037508.342789244,54080:20037508.342789244,54100:20037508.342789244,54101:20037508.342789244},S=32,b=4,E=b,G=new Map,N=new Map;async function k(){if(f())return null;await u()}function T(e,t,n){if(!w(e.spatialReference,t))return null;return n?m(t,e.spatialReference,e):m(e.spatialReference,t,e)}function v(e,i,r,s=null){const a=e.spatialReference;if(a.equals(i))return e;w(a,i,s);const l=r.center,c=new h({xmin:l.x-e.x/2,xmax:l.x+e.x/2,ymin:l.y-e.y/2,ymax:l.y+e.y/2,spatialReference:a}),f=x(c,i,s),u=X(i);let m;if(t(f)||n(u)&&f.width>=u){const t=o(a)/o(i);m={x:e.x*t,y:e.y*t}}else m={x:f.width,y:f.height};return m}function C(e,t=.01){return o(e)?t/o(e):0}function _(e,t,o=null,i=!0){const r=e.spatialReference;if(r.equals(t))return e;w(r,t,o);const s=x(e,t,o);if(!i||!s)return s;const a=K(r,!0),l=K(t,!0),c=C(r);return c&&n(a)&&n(l)&&(s.x>0&&Math.abs(e.x-a[0])new p(t[0],t[1],e.inSR)));return x(n,e.outSR,e.datumTransformation).map((e=>e?[e.x,e.y]:[NaN,NaN]))}function W(e){const{inSR:t,outSR:o,datumTransformation:l}=e,c=L(t),{points:f,mask:u}=B(e,c);if(!t.isGeographic){const e=t.wkid?i.coordsys(t.wkid):i.fromString(t.isGeographic?r.PE_TYPE_GEOGCS:r.PE_TYPE_PROJCS,t.wkt);s.projToGeog(e,f.length,f)}if(n(l)&&l.steps.length&&l.steps.forEach((e=>{const t=e.wkid?i.geogtran(e.wkid):i.fromString(r.PE_TYPE_GEOGTRAN,e.wkt);a.geogToGeog(t,f.length,f,null,e.isInverse?r.PE_TRANSFORM_2_TO_1:r.PE_TRANSFORM_1_TO_2)})),!o.isGeographic){const e=L(o,!0),t=n(e)&&e.isEnvelope?[e.bbox[1],e.bbox[3]]:[-90,90];I(f,t);const a=o.wkid?i.coordsys(o.wkid):i.fromString(o.isGeographic?r.PE_TYPE_GEOGCS:r.PE_TYPE_PROJCS,o.wkt);s.geogToProj(a,f.length,f)}let m=f;if(u&&f.length!==u.length){m=[];for(let e=0,t=0;e1===e.getInclusive()&&1===e.getKind()));if(!s){if(s=i.find((e=>1===e.getInclusive()&&0===e.getKind())),!s)return null;r=!0}const a=n?0:(2===o.getNorthPoleLocation()?1:0)|(2===o.getSouthPoleLocation()?2:0),c=o.isPannableRectangle(),f=s.getCoord();if(r)return{isEnvelope:r,isPannable:c,vertices:f,coef:null,bbox:[f[0][0]-t,f[0][1]-t,f[1][0]+t,f[1][1]+t],poleLocation:a};let u=0;const m=[];let[x,h]=f[0],[p,g]=f[0];for(let l=0,y=f.length;le?p:e,g=g>t?g:t}return{isEnvelope:!1,isPannable:c,vertices:f,coef:m,bbox:[x,h,p,g],poleLocation:a}}function B(e,n){const o=[],{cols:i,rows:r,xres:s,yres:a,usePixelCenter:l}=e;let{xmin:c,ymax:f}=e;if(l&&(c+=s/2,f-=a/2),t(n)){for(let e=0;e=e&&i<=l;for(let e=0;e=t&&n<=m&&(o.push([i,n]),u[h]=1)}}return{points:o,mask:u}}const{coef:m}=n,x=[];for(let t=0;t=s&&e<=a){const t=i*e+r;n.push(t),o.push(l)}}let i=n;if(n.length>2){let e=2===o[0]?0:o[0],t=n[0];i=[];for(let r=1;re-t))}else n[0]>n[1]&&(i=[n[1],n[0]]);x.push(i)}for(let t=0,h=0;t=i[0]&&e<=i[1]&&(o.push([e,n]),u[h]=1);else if(i.length>2){let t=!1;for(let n=0;n=i[n]&&e<=i[n+1]){t=!0;break}t&&(o.push([e,n]),u[h]=1)}}}return{points:o,mask:u}}function I(e,t){const[n,o]=t;for(let i=0;io)&&(e[i]=[NaN,NaN])}}function Y(e){const n=X(e[0].spatialReference);if(e.length<2||t(n))return e[0];let{xmin:o,xmax:i,ymin:r,ymax:s}=e[0];for(let t=1;tC(s)){const{xmin:t,xmax:n}=e;for(let o=0;o<=a;o++){const i=0===o?t:-l/2,r=o===a?n-l*o:l/2;u[o]=new h({xmin:i,xmax:r,ymin:e.ymin,ymax:e.ymax,spatialReference:s})}}return Y(u.map((e=>J(e,o,i,r))).filter((e=>!!e)))}function q(e,n){const o=X(n);if(t(o))return null;let{xmin:i,ymin:r,xmax:s,ymax:a}=e;const l=e.spatialReference,c=new g({spatialReference:l,rings:[[[i,r],[s,r],[s,a],[i,a],[i,r]]]}),f=x(c,n);if(2!==f.rings.length||!f.rings[0].length||!f.rings[1].length)return null;const{rings:u}=f,m=C(l),p=new h({spatialReference:n});for(let t=0;t<2;t++){i=s=u[t][0][0],r=a=u[t][0][1];for(let e=0;eu[t][e][0]?u[t][e][0]:i,s=su[t][e][1]?u[t][e][1]:r,a=a=a.ymax))return null;if(!i||!a)return a;const l=K(s,!0),c=K(n,!0);if(t(l)||t(c))return a;const f=C(s,.001),u=C(s,500),m=C(n,.001);if(Math.abs(a.xmin-c[0])u){a.xmin=c[0];const t=[];t.push(new p(e.xmax,e.ymin,s)),t.push(new p(e.xmax,(e.ymin+e.ymax)/2,s)),t.push(new p(e.xmax,e.ymax,s));const i=t.map((e=>_(e,n,o))).filter((e=>!isNaN(e?.x))).map((e=>e.x));a.xmax=Math.max.apply(null,i)}if(iu){a.xmax=c[1];const t=[];t.push(new p(e.xmin,e.ymin,s)),t.push(new p(e.xmin,(e.ymin+e.ymax)/2,s)),t.push(new p(e.xmin,e.ymax,s));const i=t.map((e=>_(e,n,o))).filter((e=>!isNaN(e?.x))).map((e=>e.x));a.xmin=Math.min.apply(null,i)}}else{const e=C(n,.001);Math.abs(a.xmin-c[0])0&&i.outofBoundPointCountE)){M(c,f,e.datumTransformation)&&(c.isGeographic||n(L(c))),o=[b,b],i=Z({...e,spacing:o}),r={cols:i.size[0]+1,rows:i.size[1]+1},a=R(i.offsets,r,o,E)}if(i.error=a,o[0]>1&&(i.coefficients=$(i.offsets,r,s)),e.includeGCSGrid&&!c.isGeographic&&!c.isWebMercator)if(f.isGeographic)i.gcsGrid={offsets:i.offsets,coefficients:i.coefficients,spacing:o};else{const t=L(c);if(n(t)&&!t.isEnvelope){const t=Q(c),n=F(e.projectedExtent,t),{offsets:a}=Z({...e,srcBufferExtent:n,spacing:o}),l=$(a,r,s);i.gcsGrid={offsets:a,coefficients:l,spacing:o}}}return i}function Z(e){const{projectedExtent:t,srcBufferExtent:o,pixelSize:i,datumTransformation:r,rasterTransform:s}=e,a=t.spatialReference,l=o.spatialReference,c=w(a,l),{xmin:f,ymin:u,xmax:m,ymax:x}=t,h=X(l),g=n(h)&&(e.hasWrapAround||\"gcs-shift\"===s?.type),y=e.spacing||[S,S],d=y[0]*i.x,M=y[1]*i.y,R=1===y[0],P=Math.ceil((m-f)/d-.1/y[0])+(R?0:1),E=Math.ceil((x-u)/M-.1/y[1])+(R?0:1),G=j({cols:P,rows:E,xmin:f,ymax:x,xres:d,yres:M,inSR:a,outSR:l,datumTransformation:r,preferPE:y[0]<=b,usePixelCenter:R}),N=[];let k,T=0;const v=R?-1:NaN,{xmin:_,xmax:z,ymax:W,width:O,height:A}=o,B=C(l,500),I=n(h)&&_>0&&z>h/2;let Y=!1;if(c){const e=L(a);Y=n(e)&&e.poleLocation>0}for(let n=0;nz&&o[0]>h/2-B?o[0]-=h:g&&0===n&&o[0]<0&&I&&!s&&(o[0]+=h),!o||isNaN(o[0])||isNaN(o[1]))N.push(v),N.push(v),e.push(null),T++;else{if(s){const e=s.inverseTransform(new p({x:o[0],y:o[1],spatialReference:l}));o=[e.x,e.y]}e.push(o),n>0&&g&&k[t]&&o[0]z&&o[0]>h&&(o[0]-=h)),N.push((o[0]-_)/O),N.push((W-o[1])/A)}}k=e}return{offsets:N,error:null,coefficients:null,outofBoundPointCount:T,spacing:y,size:R?[P,E]:[P-1,E-1]}}function $(e,t,n){const{cols:o,rows:i}=t,r=new Float32Array((o-1)*(i-1)*2*6),s=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]),a=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(let l=0;l=f)a=c.length,l=n/f>8;else{let e,t=u;for(let o=1;o<=c.length;o++){if(e=(c[o-1].x+c[o-1].y)/2,n<=e){n===e?a=o:\"down\"===i?(a=o-1,l=n/t>8):a=\"up\"===i||n-t>e-n||n/t>2?o:o-1;break}t=e}}const m=0===a?s:c[a-1];if(l){Math.min(m.x,m.y)*o(t.spatialReference)>19567&&(l=!1)}return{pyramidLevel:a,pyramidResolution:new p({x:m.x,y:m.y,spatialReference:t.spatialReference}),excessiveReading:l}}const f=Math.log(e.x/s.x)/Math.LN2,u=Math.log(e.y/s.y)/Math.LN2,m=t.storageInfo.maximumPyramidLevel||0;a=\"down\"===i?Math.floor(Math.min(f,u)):\"up\"===i?Math.ceil(Math.max(f,u)):Math.round((f+u)/2),a<0?a=0:a>m&&(l=a>m+3,a=m);const x=2**a;return{pyramidLevel:a,pyramidResolution:new p({x:x*t.nativePixelSize.x,y:x*t.nativePixelSize.y,spatialReference:t.spatialReference}),excessiveReading:l}}function ne(e,t,n=512,i=!0){const{extent:r,spatialReference:s,pixelSize:a}=e,l=v(new p({x:a.x,y:a.y,spatialReference:s}),t,r);if(null==l)return{projectedPixelSize:null,scales:null,srcResolutions:null,isCustomTilingScheme:!1};const c=(l.x+l.y)/2,f=o(t),u=c*f*96*39.37,m=t.isGeographic?256/n*295828763.7958547:256/n*591657527.591555;let x=\"vector-magdir\"===e.dataType||\"vector-uv\"===e.dataType;const h=F(r,t);x||i&&(t.isGeographic||t.isWebMercator)&&(x=h.xmin*h.xmax<0);let g,y=u;const d=1.001;if(x){y=m;const e=t.isGeographic?1341104507446289e-21:.29858214164761665,n=e*(96*f*39.37),o=t.isGeographic?4326:3857;g=v(new p({x:e,y:e,spatialReference:{wkid:o}}),s,h),g.x*=y/n,g.y*=y/n}else{g={x:a.x,y:a.y};const t=Math.ceil(Math.log(Math.min(e.width,e.height)/32)/Math.LN2);let n=0;for(;y=P;)y/=2,g.x/=2,g.y/=2,M.push(y),w.push({x:g.x,y:g.y});return{projectedPixelSize:l,scales:M,srcResolutions:w,isCustomTilingScheme:!x}}export{ne as computeProjectedScales,S as defaultGridSpacing,E as defaultProjectionToleranceInPixels,T as getDefaultDatumTransformationForDataset,j as getProjectedGridPoints,V as getProjectionOffsetGrid,H as getRasterDatasetAlignmentInfo,X as getWorldWidth,D as getWorldWrapCount,k as load,b as minimumGridSpacing,F as projectExtent,_ as projectPoint,v as projectResolution,M as requirePE,ee as snapExtent,te as snapPyramid};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos, 0.0, 1.0);\\nv_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(in vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\nreturn (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\nreturn (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(vividLight(Cb.r, Cs.r),\\nvividLight(Cb.g, Cs.g),\\nvividLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n#endif\\n#ifdef MINUS\\ngl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n#endif\\n#ifdef AVERAGE\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},heatmap:{heatmapResolve:{\"heatmapResolve.frag\":\"precision highp float;\\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 4.0\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform sampler2D u_texture;\\nuniform sampler2D u_gradient;\\nuniform vec2 u_densityMinAndInvRange;\\nuniform float u_densityNormalization;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 data = texture2D(u_texture, v_uv);\\nfloat density = data.r * COMPRESSION_FACTOR;\\ndensity *= u_densityNormalization;\\ndensity = (density - u_densityMinAndInvRange.x) * u_densityMinAndInvRange.y;\\nvec4 color = texture2D(u_gradient, vec2(density, 0.5));\\ngl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"heatmapResolve.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nvarying vec2 v_uv;\\nconst float UV_TO_TILE_SPACE = 512.;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos * UV_TO_TILE_SPACE, 1.)).xy, 1., 1.);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_texture;\\nmediump float gauss1(mediump vec2 dir) {\\nreturn exp(-dot(dir, dir) / (2.0 * u_sigma * u_sigma));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\nreturn u_channelSelector * sample;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\nmediump float w = gauss1(i * u_direction.xy);\\ntot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\nweight += w;\\n}\\nvoid main(void) {\\nmediump float tot = 0.0;\\nmediump float weight = 0.0;\\naccumGauss1(-5.0, tot, weight);\\naccumGauss1(-4.0, tot, weight);\\naccumGauss1(-3.0, tot, weight);\\naccumGauss1(-2.0, tot, weight);\\naccumGauss1(-1.0, tot, weight);\\naccumGauss1(0.0, tot, weight);\\naccumGauss1(1.0, tot, weight);\\naccumGauss1(2.0, tot, weight);\\naccumGauss1(3.0, tot, weight);\\naccumGauss1(4.0, tot, weight);\\naccumGauss1(5.0, tot, weight);\\ngl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\nmediump float y = texture2D(u_texture, v_texcoord)[3];\\nconst mediump float y0 = 0.5;\\nmediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * u_sigma);\\nmediump float d = (y - y0) / m0;\\nreturn d;\\n}\\nmediump vec4 shade(mediump float d) {\\nmediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\nmappedDistance = clamp(mappedDistance, 0.0, 1.0);\\nreturn texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\nmediump float d = estimateDistance();\\ngl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlayTexture;\\nuniform bool u_maskEnabled;\\nuniform bool u_overlayEnabled;\\nvarying mediump vec2 v_texCoord;\\nconst lowp float barrelFactor = 1.1;\\nlowp vec2 barrel(lowp vec2 uv) {\\nlowp vec2 uvn = uv * 2.0 - 1.0;\\nif (uvn.x == 0.0 && uvn.y == 0.0) {\\nreturn vec2(0.5, 0.5);\\n}\\nlowp float theta = atan(uvn.y, uvn.x);\\nlowp float r = pow(length(uvn), barrelFactor);\\nreturn r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\nlowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\ncolor = (color + (1.0 - color.a) * u_background);\\nlowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\ncolor *= mask;\\nlowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\ngl_FragColor = overlayColor + (1.0 - overlayColor.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec4 u_drawPos;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\nv_texCoord = a_pos;\\ngl_Position = vec4(u_drawPos.xy + vec2(a_pos - 0.5) * u_drawPos.zw, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp sampler2D u_attributeData4;\\nuniform highp sampler2D u_attributeData5;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec3 id) {\\nhighp vec3 texel = unpackDisplayIdTexel(id);\\nhighp float size = float(u_attributeTextureSize);\\nhighp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256);\\nhighp float col = mod(u32, size);\\nhighp float row = (u32 - col) / size;\\nhighp float u = col / size;\\nhighp float v = row / size;\\nreturn vec2(u, v);\\n}\\nhighp vec2 getAttributeDataTextureCoords(in highp vec3 id) {\\nreturn (getAttributeDataCoords(id) * 2.0) - 1.0 + (.5 / vec2(u_attributeTextureSize));\\n}\\nhighp vec4 getAttributeData0(in highp vec3 id) {\\nvec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData3, coords);\\n}\\nhighp vec4 getAttributeData4(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData4, coords);\\n}\\nhighp vec4 getAttributeData5(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData5, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\nbool isMagic = v.x == 255.0 && v.y == 255.0;\\nif (isMagic) {\\nreturn NAN_MAGIC_NUMBER;\\n}\\nreturn (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"barycentric.glsl\":\"float inTriangle(vec3 bary) {\\nvec3 absBary = abs(bary);\\nreturn step((absBary.x + absBary.y + absBary.z), 1.05);\\n}\\nvec3 xyToBarycentric(in vec2 pos, in vec2 v0, in vec2 v1, in vec2 v2) {\\nmat3 xyToBarycentricMat3 = mat3(\\nv1.x * v2.y - v2.x * v1.y, v2.x * v0.y - v0.x * v2.y, v0.x * v1.y - v1.x * v0.y,\\nv1.y - v2.y, v2.y - v0.y, v0.y - v1.y,\\nv2.x - v1.x, v0.x - v2.x, v1.x - v0.x\\n);\\nfloat A2 = v0.x * (v1.y - v2.y) + v1.x * (v2.y - v0.y) + v2.x * (v0.y - v1.y);\\nreturn (1. / A2) * xyToBarycentricMat3 * vec3(1., pos);\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float C_RAD_TO_DEG = 180.0 / 3.141592654;\\nconst float SIGNED_BYTE_TO_UNSIGNED = 128.0;\\nconst float POSITION_PRECISION = 1.0 / 8.0;\\nconst float FILL_POSITION_PRECISION = 1.0 / 1.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float EXTRUDE_SCALE_PLACEMENT_PADDING = 1.0 / 4.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.00001;\\nconst float EPSILON_HITTEST = 0.05;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\\nconst int BITSET_GENERIC_LOCK_COLOR = 1;\\nconst int BITSET_GENERIC_CONSIDER_ALPHA_ONLY = 4;\\nconst int BITSET_MARKER_ALIGNMENT_MAP = 0;\\nconst int BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE = 2;\\nconst int BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY = 3;\\nconst int BITSET_TYPE_FILL_OUTLINE = 0;\\nconst int BITSET_FILL_RANDOM_PATTERN_OFFSET = 2;\\nconst int BITSET_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#include \\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying highp vec3 v_id;\\nvarying lowp vec4 v_color;\\nvarying lowp float v_opacity;\\nvarying mediump vec4 v_aux1;\\n#ifdef PATTERN\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvarying lowp float v_isOutline;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvarying highp vec2 v_dotTextureCoords;\\nvarying highp vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include \\n#include \\n#include \\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nlowp vec4 drawLine() {\\nfloat v_lineWidth = v_aux1.x;\\nvec2 v_normal = v_aux1.yz;\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineWidth,\\nv_opacity,\\nv_id\\n);\\nreturn shadeLine(inputs);\\n}\\n#endif\\nlowp vec4 drawFill() {\\nlowp vec4 out_color = vec4(0.);\\n#ifdef HITTEST\\nout_color = v_color;\\n#elif defined(PATTERN)\\nmediump vec4 v_tlbr = v_aux1;\\nmediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\nmediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\nlowp vec4 color = texture2D(u_texture, samplePos);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nout_color = v_opacity * v_color * color;\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY && !defined(HIGHLIGHT)\\nvec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\nvec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\nvec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\nvec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\nvec4 isPositive0 = step(0.0, difference0);\\nvec4 isPositive1 = step(0.0, difference1);\\nfloat weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\nfloat lessThanEqZero = step(weightSum, 0.0);\\nfloat greaterThanZero = 1.0 - lessThanEqZero ;\\nfloat divisor = (weightSum + lessThanEqZero);\\nvec4 weights0 = difference0 * isPositive0 / divisor;\\nvec4 weights1 = difference1 * isPositive1 / divisor;\\nvec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\nvec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\nfloat diffMax = max(max4(difference0), max4(difference1));\\nfloat lessThanZero = step(diffMax, 0.0);\\nfloat greaterOrEqZero = 1.0 - lessThanZero;\\nvec4 isMax0 = step(diffMax, difference0);\\nvec4 isMax1 = step(diffMax, difference1);\\nvec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\nvec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\nout_color = preEffectColor;\\n#else\\nout_color = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\nout_color.a = 1.0;\\n#endif\\nreturn out_color;\\n}\\nvoid main() {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#include \\n#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_aux2;\\nattribute vec4 a_aux3;\\n#ifndef SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\nattribute vec4 a_aux1;\\nattribute vec2 a_zoomRange;\\n#else\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#endif\\n#endif\\nuniform vec2 u_tileOffset;\\n#include \\n#include \\n#include \\n#include \\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nvoid drawLine(out lowp vec4 out_color, out highp vec3 out_pos) {\\nLineData outputs = buildLine(\\nout_pos,\\na_id,\\na_pos,\\na_color,\\n(a_aux3.xy - 128.) / 16.,\\n(a_aux3.zw - 128.) / 16.,\\n0.,\\na_aux2.z / 16.,\\na_bitset,\\nvec4(0.),\\nvec2(0.),\\na_aux2.w / 16.\\n);\\nv_id = outputs.id;\\nv_opacity = outputs.opacity;\\nv_aux1 = vec4(outputs.lineHalfWidth, outputs.normal, 0.);\\nout_color = outputs.color;\\n}\\n#endif\\nvoid drawFill(out lowp vec4 out_color, out highp vec3 out_pos) {\\nfloat a_bitSet = a_bitset;\\nout_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nmat3 tileToTileNormalized = mat3( 2. / 512., 0., 0.,\\n0., -2. / 512., 0.,\\n-1., 1., 1. );\\nout_pos = tileToTileNormalized * vec3((a_pos * FILL_POSITION_PRECISION), 1.);\\n#else\\nout_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n#endif\\n#ifdef PATTERN\\nvec4 a_tlbr = a_aux1;\\nfloat a_width = a_aux2.x;\\nfloat a_height = a_aux2.y;\\nvec2 a_offset = a_aux2.zw;\\nvec2 a_scale = a_aux3.xy;\\nfloat a_angle = a_aux3.z;\\nvec2 scale = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_scale;\\nfloat width = u_zoomFactor * a_width * scale.x;\\nfloat height = u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (getBit(a_bitset, BITSET_FILL_RANDOM_PATTERN_OFFSET) > 0.5) {\\nfloat id = rgba2float(vec4(a_id, 0.0));\\ndx = rand(vec2(id, 0.0));\\ndy = rand(vec2(0.0, id));\\n}\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\ndx, dy, 1);\\nvec2 tileOffset = vec2(u_tileOffset.x * cosA - u_tileOffset.y * sinA, u_tileOffset.x * sinA + u_tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, vec2(a_aux2.x, a_aux2.y));\\nvec2 symbolOffset = (a_offset - tileOffset) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\nv_sampleAlphaOnly = getBit(a_bitset, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\nvec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\nfloat size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\nv_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\nv_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\nv_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n}\\n#ifdef HITTEST\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nhittestFill(out_color, out_pos);\\ngl_PointSize = 1.0;\\n}\\n#elif defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\nv_isOutline = getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE);\\nif (v_isOutline > 0.5) {\\ndrawLine(out_color, out_pos);\\n} else {\\ndrawFill(out_color, out_pos);\\n}\\n}\\n#else\\n#define draw drawFill\\n#endif\\nvoid main()\\n{\\nINIT;\\nhighp vec3 pos = vec3(0.);\\nhighp vec4 color = vec4(0.);\\ndraw(color, pos);\\nv_color = color;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestFill(\\nout lowp vec4 out_color,\\nout highp vec3 out_pos\\n) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * FILL_POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * FILL_POSITION_PRECISION, 1.);\\nfloat hittestDist = u_hittestDist;\\nfloat dist = distPointTriangle(u_hittestPos, pos.xy, pos1.xy, pos2.xy);\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist < 0. || dist >= hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist == 0. ? (1. / 255.) : 0.);\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\nfloat projectScalar(vec2 a, vec2 b) {\\nreturn dot(a, normalize(b));\\n}\\nfloat distPointSegment(vec2 p0, vec2 p1, vec2 p2) {\\nvec2 L = p2 - p1;\\nvec2 A = p0 - p1;\\nfloat projAL = projectScalar(A, L);\\nfloat t = clamp(projAL / length(L), 0., 1.);\\nreturn distance(p0, p1 + t * (p2 - p1));\\n}\\nvoid hittestMarker(out lowp vec4 out_color, out highp vec3 out_pos, in highp vec3 pos, float size) {\\nfloat dist = distance(pos, vec3(u_hittestPos, 1.));\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif ((dist - size) > u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, (dist - size) < 0. ? (1. / 255.) : 0.);\\n}\\nfloat intersectPointTriangleBary(vec2 p, vec2 a, vec2 b, vec2 c) {\\nreturn inTriangle(xyToBarycentric(p, a, b, c));\\n}\\nfloat distPointTriangle(vec2 p, vec2 a, vec2 b, vec2 c) {\\nvec2 ba = b - a;\\nvec2 ca = c - a;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_HITTEST && crossProduct > -EPSILON_HITTEST;\\nif (isParallel) {\\nreturn -1.;\\n}\\nif (intersectPointTriangleBary(p.xy, a, b, c) == 1.) {\\nreturn 0.;\\n}\\nfloat distAB = distPointSegment(p, a, b);\\nfloat distBC = distPointSegment(p, b, c);\\nfloat distCA = distPointSegment(p, c, a);\\nreturn min(min(distAB, distBC), distCA);\\n}\\n#endif\"},icon:{\"common.glsl\":\"#include \\nuniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nuniform lowp sampler2D u_texture;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying mediump float v_overridingOutlineColor;\\nvarying mediump float v_isThin;\\n#endif\\n#ifdef SDF\\nvec4 getColor(vec2 v_size, vec2 v_tex) {\\nlowp vec4 fillPixelColor = v_color;\\nfloat d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\nfloat size = max(v_size.x, v_size.y);\\nfloat dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\nfillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\nfloat outlineWidth = v_outlineWidth;\\n#ifdef HIGHLIGHT\\noutlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n#endif\\nif (outlineWidth > 0.25) {\\nlowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\nfloat clampedOutlineSize = min(outlineWidth, size);\\noutlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\nreturn v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n}\\nreturn v_opacity * fillPixelColor;\\n}\\n#else\\nvec4 getColor(vec2 _v_size, vec2 v_tex) {\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\n}\\n#endif\",heatmapAccumulate:{\"common.glsl\":\"varying lowp vec4 v_hittestResult;\\nvarying mediump vec2 v_offsetFromCenter;\\nvarying highp float v_fieldValue;\",\"heatmapAccumulate.frag\":\"precision mediump float;\\n#include \\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 0.25\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform lowp sampler2D u_texture;\\nvoid main() {\\n#ifdef HITTEST\\ngl_FragColor = v_hittestResult;\\n#else\\nfloat radius = length(v_offsetFromCenter);\\nfloat shapeWeight = step(radius, 1.0);\\nfloat oneMinusRadiusSquared = 1.0 - radius * radius;\\nfloat kernelWeight = oneMinusRadiusSquared * oneMinusRadiusSquared;\\ngl_FragColor = vec4(shapeWeight * kernelWeight * v_fieldValue * COMPRESSION_FACTOR);\\n#endif\\n}\",\"heatmapAccumulate.vert\":\"precision highp float;\\nattribute vec2 a_vertexOffset;\\nvec4 a_color = vec4(0.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\nuniform float u_radius;\\nuniform float u_isFieldActive;\\nconst float TILE_TO_CLIP_SPACE = 2.0 / 512.0;\\n#include \\n#include \\n#include \\nvoid main() {\\nfloat filterFlags = getFilterFlags();\\n#ifdef HITTEST\\nhighp vec4 out_hittestResult = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nhittestMarker(out_hittestResult, out_pos, pos, u_radius);\\nv_hittestResult = out_hittestResult;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(a_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\nv_offsetFromCenter = sign(a_vertexOffset);\\nv_fieldValue = getAttributeData2(a_id).x * u_isFieldActive + 1.0 - u_isFieldActive;\\nvec3 centerPos = vec3(a_pos * POSITION_PRECISION * TILE_TO_CLIP_SPACE - 1.0, 1.0);\\nvec3 vertexPos = centerPos + vec3(v_offsetFromCenter, 0.0) * u_radius * TILE_TO_CLIP_SPACE;\\ngl_Position = vec4(clip(a_color, vertexPos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_vertexOffset1;\\nattribute vec2 a_vertexOffset2;\\nattribute vec2 a_texCoords1;\\nattribute vec2 a_texCoords2;\\nvec2 getTextureCoords(in vec3 bary, in vec2 texCoords0, in vec2 texCoords1, in vec2 texCoords2) {\\nreturn texCoords0 * bary.x + texCoords1 * bary.y + texCoords2 * bary.z;\\n}\\nvoid hittestIcon(\\ninout lowp vec4 out_color,\\nout highp vec3 out_pos,\\nin vec3 pos,\\nin vec3 offset,\\nin vec2 size,\\nin float scaleFactor,\\nin float isMapAligned\\n) {\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 posBase = u_viewMat3 * u_tileMat3 * pos;\\nvec3 offset1 = scaleFactor * vec3(a_vertexOffset1 / 16.0, 0.);\\nvec3 offset2 = scaleFactor * vec3(a_vertexOffset2 / 16.0, 0.);\\nvec2 pos0 = (posBase + getMatrixNoDisplay(isMapAligned) * offset).xy;\\nvec2 pos1 = (posBase + getMatrixNoDisplay(isMapAligned) * offset1).xy;\\nvec2 pos2 = (posBase + getMatrixNoDisplay(isMapAligned) * offset2).xy;\\nvec3 bary0 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary1 = xyToBarycentric(u_hittestPos + vec2(0., -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary2 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary3 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary4 = xyToBarycentric(u_hittestPos, pos0, pos1, pos2);\\nvec3 bary5 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary6 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec3 bary7 = xyToBarycentric(u_hittestPos + vec2(0., u_hittestDist), pos0, pos1, pos2);\\nvec3 bary8 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec2 tex0 = a_texCoords / u_mosaicSize;\\nvec2 tex1 = a_texCoords1 / u_mosaicSize;\\nvec2 tex2 = a_texCoords2 / u_mosaicSize;\\nfloat alphaSum = 0.;\\nalphaSum += inTriangle(bary0) * getColor(size, getTextureCoords(bary0, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary1) * getColor(size, getTextureCoords(bary1, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary2) * getColor(size, getTextureCoords(bary2, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary3) * getColor(size, getTextureCoords(bary3, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary4) * getColor(size, getTextureCoords(bary4, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary5) * getColor(size, getTextureCoords(bary5, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary6) * getColor(size, getTextureCoords(bary6, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary7) * getColor(size, getTextureCoords(bary7, tex0, tex1, tex2)).a;\\nout_pos.z += step(alphaSum, .05) * 2.0;\\nout_color = vec4(1. / 255., 0., 0., alphaSum / 255.);\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\nvoid main()\\n{\\n#ifdef HITTEST\\nvec4 color = v_color;\\n#else\\nvec4 color = getColor(v_sizeTex.xy, v_sizeTex.zw);\\n#endif\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"icon.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\nfloat getMarkerScaleFactor(inout vec2 size, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat f = getSize(size.y) / size.y;\\nfloat sizeFactor = size.y / referenceSize;\\nreturn getSize(referenceSize) / referenceSize;\\n#else\\nreturn 1.;\\n#endif\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec2 size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec3 offset = vec3(a_vertexOffset / 16.0, 0.);\\nfloat outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nfloat referenceSize = a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0;\\nfloat scaleSymbolProportionally = getBit(a_bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\nfloat scaleFactor = getMarkerScaleFactor(size, referenceSize);\\nsize.xy *= scaleFactor;\\noffset.xy *= scaleFactor;\\noutlineSize *= scaleSymbolProportionally * (scaleFactor - 1.0) + 1.0;\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nfloat filterFlags = getFilterFlags();\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getMatrix(isMapAligned) * getRotation() * offset;\\nv_sizeTex = vec4(size.xy, v_tex.xy);\\n#ifdef SDF\\nv_isThin = getBit(a_bitSet, BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE);\\n#ifdef VV_COLOR\\nv_overridingOutlineColor = v_isThin;\\n#else\\nv_overridingOutlineColor = 0.0;\\n#endif\\nv_outlineWidth = min(outlineSize, max(max(size.x, size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nhighp vec4 out_color = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nhittestIcon(out_color, out_pos, pos, offset, size, scaleFactor, isMapAligned);\\nv_color = out_color;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_mapAligned;\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"#include \",\"label.vert\":\"precision highp float;\\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_glyphData;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\nfloat glyphAngle = angle * 360.0 / 254.0;\\nfloat mapAngle = u_mapRotation * 360.0 / 254.0;\\nfloat diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\nfloat z = 0.0;\\nz += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_currentZoom)));\\nz += u_mapAligned * 2.0 * step(90.0, diffAngle);\\nz += 2.0 * (1.0 - step(u_currentZoom, maxZoom));\\nreturn z;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat groupMinZoom = getMinZoom();\\nfloat glyphMinZoom = a_glyphData.x;\\nfloat glyphMaxZoom = a_glyphData.y;\\nfloat glyphAngle = a_glyphData.z;\\nfloat a_minZoom = max(groupMinZoom, glyphMinZoom);\\nfloat a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\nvec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\nfloat a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\nfloat fontSize = a_texAndSize.z;\\nfloat haloSize = a_texAndSize.w * OUTLINE_SCALE;\\nvec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nfloat halfSize = getSize(a_refSymbolSize) / 2.0;\\nfloat animation = pow(getAnimationState(), vec4(2.0)).r;\\nv_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\nvec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\nvec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\nvec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\ngl_Position = vec4(v_pos, 1.0);\\n#ifdef DEBUG\\nv_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\\n#ifdef SDF\\nvarying mediump float v_lineWidthRatio;\\n#endif\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestLine(out lowp vec4 out_color, out highp vec3 out_pos, float halfWidth) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * POSITION_PRECISION, 1.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat dist = min(distPointSegment(u_hittestPos, pos.xy, pos1.xy),\\ndistPointSegment(u_hittestPos, pos.xy, pos2.xy)) - halfWidth;\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist >= u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist <= 0. ? (1. / 255.) : 0.);\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = v_color;\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr,\\nv_patternSize,\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance,\\n#endif\\n#endif\\nv_id\\n);\\ngl_FragColor = shadeLine(inputs);\\n}\\n#endif\",\"line.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid draw() {\\nfloat aa = 0.5 * u_antialiasing;\\nfloat a_halfWidth = a_accumulatedDistanceAndHalfWidth.y / 16.;\\nfloat a_cimHalfWidth = a_aux.x / 16. ;\\nvec2 a_offset = a_offsetAndNormal.xy / 16.;\\nfloat baseWidth = getBaseLineHalfWidth(a_halfWidth, a_cimHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nhighp vec3 pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestLine(v_color, pos, halfWidth);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#else\\nvoid draw()\\n{\\nhighp vec3 pos = vec3(0.);\\nLineData outputs = buildLine(\\npos,\\na_id,\\na_pos,\\na_color,\\na_offsetAndNormal.xy / 16.,\\na_offsetAndNormal.zw / 16.,\\na_accumulatedDistanceAndHalfWidth.x,\\na_accumulatedDistanceAndHalfWidth.y / 16.,\\na_segmentDirection.w,\\na_tlbr,\\na_segmentDirection.xy / 16.,\\na_aux.x / 16.\\n);\\nv_id = outputs.id;\\nv_color = outputs.color;\\nv_normal = outputs.normal;\\nv_lineHalfWidth = outputs.lineHalfWidth;\\nv_opacity = outputs.opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr = outputs.tlbr;\\nv_patternSize = outputs.patternSize;\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio = outputs.lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance = outputs.accumulatedDistance;\\n#endif\\n#endif\\ngl_Position = vec4(clip(outputs.color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#endif\\nvoid main() {\\nINIT;\\ndraw();\\n}\"},pie:{\"pie.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nuniform lowp vec4 u_colors[NUMBER_OF_FIELDS];\\nuniform lowp vec4 u_defaultColor;\\nuniform lowp vec4 u_othersColor;\\nuniform lowp vec4 u_outlineColor;\\nuniform float u_donutRatio;\\nuniform float u_sectorThreshold;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nlowp vec4 getSectorColor(in int index, in vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\n#if __VERSION__ == 300\\nmediump int colorIndex = int(filteredSectorToColorId[index].y);\\nreturn u_colors[colorIndex];\\n#else\\nmediump int colorIndex;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == index) {\\ncolorIndex = int(filteredSectorToColorId[i].y);\\n}\\n}\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == colorIndex) {\\nreturn u_colors[i];\\n}\\n}\\nreturn u_colors[NUMBER_OF_FIELDS - 1];\\n#endif\\n}\\nconst int OTHER_SECTOR_ID = 255;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor() {\\nfloat angle = 90.0 - C_RAD_TO_DEG * atan2(v_offset.y, v_offset.x);\\nif (angle < 0.0) {\\nangle += 360.0;\\n} else if (angle > 360.0) {\\nangle = mod(angle, 360.0);\\n}\\nint numOfEntries = int(v_numOfEntries);\\nfloat maxSectorAngle = v_maxSectorAngle;\\nlowp vec4 fillColor = (maxSectorAngle > 0.0 || u_sectorThreshold > 0.0) ? u_othersColor : u_defaultColor;\\nlowp vec4 prevColor = vec4(0.0);\\nlowp vec4 nextColor = vec4(0.0);\\nfloat startSectorAngle = 0.0;\\nfloat endSectorAngle = 0.0;\\nif (angle < maxSectorAngle) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nstartSectorAngle = endSectorAngle;\\nendSectorAngle = v_filteredSectorToColorId[index].x;\\nif (endSectorAngle > angle) {\\nfillColor = getSectorColor(index, v_filteredSectorToColorId);\\nprevColor = u_sectorThreshold != 0.0 && index == 0 && abs(360.0 - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index > 0 ? index - 1 : numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = u_sectorThreshold != 0.0 && abs(endSectorAngle - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index < numOfEntries - 1 ? index + 1 : 0, v_filteredSectorToColorId);\\nbreak;\\n}\\nif (index == numOfEntries - 1) {\\nbreak;\\n}\\n}\\n} else {\\nprevColor = getSectorColor(numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = getSectorColor(0, v_filteredSectorToColorId);\\nstartSectorAngle = maxSectorAngle;\\nendSectorAngle = 360.0;\\n}\\nlowp vec4 outlineColor = u_outlineColor;\\nfloat offset = length(v_offset);\\nfloat distanceSize = offset * v_size;\\nif (startSectorAngle != 0.0 || endSectorAngle != 360.0) {\\nfloat distanceToStartSector = (angle - startSectorAngle);\\nfloat distanceToEndSector = (endSectorAngle - angle);\\nfloat sectorThreshold = 0.6;\\nfloat beginSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToStartSector * offset);\\nfloat endSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToEndSector * offset);\\nif (endSectorAlpha > 0.0) {\\nfillColor = mix(nextColor, fillColor, endSectorAlpha);\\n} else if (beginSectorAlpha > 0.0) {\\nfillColor = mix(prevColor, fillColor, beginSectorAlpha);\\n}\\n}\\nfloat donutSize = u_donutRatio * (v_size - v_outlineWidth);\\nfloat endOfDonut = donutSize - v_outlineWidth;\\nfloat aaThreshold = 0.75;\\nfloat innerCircleAlpha = endOfDonut - aaThreshold > 0.0 ? smoothstep(endOfDonut - aaThreshold, endOfDonut + aaThreshold, distanceSize) : 1.0;\\nfloat outerCircleAlpha = 1.0 - smoothstep(v_size - aaThreshold, v_size + aaThreshold , distanceSize);\\nfloat circleAlpha = innerCircleAlpha * outerCircleAlpha;\\nfloat startOfOutline = v_size - v_outlineWidth;\\nif (startOfOutline > 0.0 && v_outlineWidth > 0.25) {\\nfloat outlineFactor = smoothstep(startOfOutline - aaThreshold, startOfOutline + aaThreshold, distanceSize);\\nfloat innerLineFactor = donutSize - aaThreshold > 0.0 ? 1.0 - smoothstep(donutSize - aaThreshold, donutSize + aaThreshold , distanceSize) : 0.0;\\nfillColor = mix(fillColor, outlineColor, innerLineFactor + outlineFactor);\\n}\\nreturn v_opacity * circleAlpha * fillColor;\\n}\\n#endif\\nvoid main()\\n{\\nvec4 color = getColor();\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"pie.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\nuniform float u_outlineWidth;\\nuniform mediump float u_sectorThreshold;\\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nint filter(in float sectorAngle,\\nin int currentIndex,\\ninout FilteredChartInfo filteredInfo,\\ninout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\nif (sectorAngle > u_sectorThreshold * 360.0) {\\nfilteredInfo.endSectorAngle += sectorAngle;\\n#if __VERSION__ == 300\\nfilteredSectorToColorId[filteredInfo.colorId] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; i++) {\\nif (i == filteredInfo.colorId) {\\nfilteredSectorToColorId[i] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n}\\n}\\n#endif\\n++filteredInfo.colorId;\\n}\\nreturn 0;\\n}\\nint filterValues(inout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS],\\ninout FilteredChartInfo filteredInfo,\\nin float sectorAngles[NUMBER_OF_FIELDS]) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nfloat sectorValue = sectorAngles[index];\\nfilter(sectorValue, index, filteredInfo, filteredSectorToColorId);\\n}\\nreturn filteredInfo.colorId;\\n}\\n#include \\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\nvec2 outSize = baseSize;\\n#ifdef VV_SIZE\\nfloat r = 0.5 * getSize(referenceSize) / referenceSize;\\noutSize.xy *= r;\\noffset.xy *= r;\\nfloat scaleSymbolProportionally = getBit(bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\noutlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\nreturn outSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nvec3 offset = vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nfloat filterNaNValues(in float value) {\\nreturn value != NAN_MAGIC_NUMBER ? value : 0.0;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat outlineSize = u_outlineWidth;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 size = getMarkerSize(a_offset, a_size, outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nfloat filterFlags = getFilterFlags();\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getOffset(a_offset, a_bitSet);\\nv_offset = sign(a_texCoords - 0.5);\\nv_size = max(size.x, size.y);\\nv_outlineWidth = outlineSize;\\nfloat attributeData[10];\\nvec4 attributeData0 = getAttributeData3(a_id);\\nattributeData[0] = filterNaNValues(attributeData0.x);\\nattributeData[1] = filterNaNValues(attributeData0.y);\\nattributeData[2] = filterNaNValues(attributeData0.z);\\nattributeData[3] = filterNaNValues(attributeData0.w);\\n#if (NUMBER_OF_FIELDS > 4)\\nvec4 attributeData1 = getAttributeData4(a_id);\\nattributeData[4] = filterNaNValues(attributeData1.x);\\nattributeData[5] = filterNaNValues(attributeData1.y);\\nattributeData[6] = filterNaNValues(attributeData1.z);\\nattributeData[7] = filterNaNValues(attributeData1.w);\\n#endif\\n#if (NUMBER_OF_FIELDS > 8)\\nvec4 attributeData2 = getAttributeData5(a_id);\\nattributeData[8] = filterNaNValues(attributeData2.x);\\nattributeData[9] = filterNaNValues(attributeData2.y);\\n#endif\\nfloat sum = 0.0;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsum += attributeData[i];\\n}\\nfloat sectorAngles[NUMBER_OF_FIELDS];\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsectorAngles[i] = 360.0 * attributeData[i] / sum;\\n}\\nvec2 filteredSectorToColorId[NUMBER_OF_FIELDS];\\nFilteredChartInfo filteredInfo = FilteredChartInfo(0.0, 0);\\nint numOfEntries = filterValues(filteredSectorToColorId, filteredInfo, sectorAngles);\\nv_numOfEntries = float(numOfEntries);\\nv_maxSectorAngle = filteredInfo.endSectorAngle;\\n#if __VERSION__ == 300\\nv_filteredSectorToColorId = filteredSectorToColorId;\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == numOfEntries) {\\nbreak;\\n}\\nv_filteredSectorToColorId[i] = filteredSectorToColorId[i];\\n}\\n#endif\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.0);\\nv_color = vec4(0.0);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * pos, v_size);\\ngl_PointSize = 1.0;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},shared:{line:{\"common.glsl\":\"#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nmediump vec4 tlbr;\\nmediump vec2 patternSize;\\n#endif\\n#ifdef SDF\\nmediump float lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nhighp float accumulatedDistance;\\n#endif\\n#endif\\nhighp vec3 id;\\n};\",\"line.frag\":\"uniform lowp float u_blur;\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && !defined(HIGHLIGHT)\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\nuniform highp float u_pixelRatio;\\n#endif\\n#endif\\n#if defined(SDF) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.25 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nmediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\nfloat dist = d * line.lineHalfWidth;\\nreturn line.opacity * clamp(0.5 - dist, 0.0, 1.0) * line.color;\\n}\\n#elif defined(PATTERN) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float lineHalfWidth = line.lineHalfWidth;\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * lineHalfWidth / line.patternSize.y;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexY, relativeTexX));\\nlowp vec4 color = texture2D(u_texture, texCoord);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nreturn line.opacity * line.color * color;\\n}\\n#else\\nlowp vec4 getLineColor(LineData line) {\\nreturn line.opacity * line.color;\\n}\\n#endif\\nvec4 shadeLine(LineData line)\\n{\\nmediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(line.lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nmediump float fragDist = length(line.normal) * line.lineHalfWidth;\\nlowp float alpha = clamp(thinLineFactor * (line.lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\nlowp vec4 out_color = getLineColor(line) * alpha;\\n#ifdef HIGHLIGHT\\nout_color.a = step(1.0 / 255.0, out_color.a);\\n#endif\\n#ifdef ID\\nif (out_color.a < 1.0 / 255.0) {\\ndiscard;\\n}\\nout_color = vec4(line.id, 0.0);\\n#endif\\nreturn out_color;\\n}\",\"line.vert\":\"float getBaseLineHalfWidth(in float lineHalfWidth, in float referenceHalfWidth) {\\n#ifdef VV_SIZE\\nfloat refLineWidth = 2.0 * referenceHalfWidth;\\nreturn 0.5 * (lineHalfWidth / max(referenceHalfWidth, EPSILON)) * getSize(refLineWidth);\\n#else\\nreturn lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\nfloat halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\nhalfWidth = max(halfWidth, 2.0);\\n#endif\\nreturn halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\nfloat thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nreturn thinLineFactor * halfWidth * offset;\\n}\\nLineData buildLine(\\nout vec3 out_pos,\\nin vec3 in_id,\\nin vec2 in_pos,\\nin vec4 in_color,\\nin vec2 in_offset,\\nin vec2 in_normal,\\nin float in_accumulatedDist,\\nin float in_lineHalfWidth,\\nin float in_bitSet,\\nin vec4 in_tlbr,\\nin vec2 in_segmentDirection,\\nin float in_referenceHalfWidth\\n)\\n{\\nfloat aa = 0.5 * u_antialiasing;\\nfloat baseWidth = getBaseLineHalfWidth(in_lineHalfWidth, in_referenceHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nfloat z = 2.0 * step(baseWidth, 0.0);\\nvec2 dist = getDist(in_offset, halfWidth);\\nvec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\nvec3 pos = u_dvsMat3 * vec3(in_pos * POSITION_PRECISION, 1.0) + offset;\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nfloat opacity = getOpacity();\\n#ifdef SDF\\nconst float SDF_PATTERN_HALF_WIDTH = 15.5;\\nfloat scaleDash = getBit(in_bitSet, BITSET_LINE_SCALE_DASH);\\nfloat lineWidthRatio = (scaleDash * max(halfWidth - 0.55 * u_antialiasing, 0.25) + (1.0 - scaleDash)) / SDF_PATTERN_HALF_WIDTH;\\n#endif\\n#endif\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nv_sampleAlphaOnly = getBit(in_bitSet, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#endif\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nin_tlbr / u_mosaicSize.xyxy,\\nvec2(in_tlbr.z - in_tlbr.x, in_tlbr.w - in_tlbr.y),\\n#endif\\n#ifdef SDF\\nlineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nin_accumulatedDist * u_zoomFactor + dot(in_segmentDirection, dist),\\n#endif\\n#endif\\nnorm(in_id)\\n);\\n}\"}},\"symbologyTypeUtils.glsl\":\"#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_SIMPLE || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\n#endif\",text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec3 v_id;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec2 v_tex;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"hittest.glsl\":\"#include \",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor()\\n{\\nfloat SDF_CUTOFF = (2.0 / 8.0);\\nfloat SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\nlowp float dist = texture2D(u_texture, v_tex).a;\\nmediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\nedge /= 2.0;\\n#endif\\nlowp float aa = v_antialiasingWidth;\\nlowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\nreturn alpha * v_color * v_opacity;\\n}\\n#endif\\nvoid main()\\n{\\ngl_FragColor = getColor();\\n}\",\"text.vert\":\"precision highp float;\\n#include \\n#include \\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nattribute vec2 a_zoomRange;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, inout float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat r = getSize(referenceSize) / referenceSize;\\nbaseSize *= r;\\noffset.xy *= r;\\nreturn baseSize;\\n#endif\\nreturn baseSize;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_referenceSize = a_aux.z * a_aux.z / 256.0;\\nfloat a_bitSet = a_aux.w;\\nfloat a_fontSize = a_texFontSize.z;\\nvec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat fontSize = getTextSize(a_offset, a_fontSize, a_referenceSize);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nvec3 offset = getRotation() * vec3(a_offset, 0.0);\\nmat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\nv_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nv_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0)\\n+ u_tileMat3 * offset, fontSize / 2.);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#endif\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\nreturn floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\nfloat offset = pow(2.0, float(bitIndex));\\nreturn mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\nreturn getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\nreturn getBit(bitset, 0);\\n}\\nhighp vec3 unpackDisplayIdTexel(in highp vec3 bitset) {\\nfloat isAggregate = getBit(bitset.b, 7);\\nreturn (1.0 - isAggregate) * bitset + isAggregate * (vec3(bitset.rgb) - vec3(0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\nfloat r = mod(rshift(u32, 0), 255.0);\\nfloat g = mod(rshift(u32, 8), 255.0);\\nfloat b = mod(rshift(u32, 16), 255.0);\\nfloat a = mod(rshift(u32, 24), 255.0);\\nreturn vec4(r, g, b, a);\\n}\\nvec3 norm(in vec3 v) {\\nreturn v /= 255.0;\\n}\\nvec4 norm(in vec4 v) {\\nreturn v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\nreturn max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\nreturn (bytes - 127.0) / 127.0;\\n}\\nhighp float rand(in vec2 co) {\\nhighp float a = 12.9898;\\nhighp float b = 78.233;\\nhighp float c = 43758.5453;\\nhighp float dt = dot(co, vec2(a,b));\\nhighp float sn = mod(dt, 3.14);\\nreturn fract(sin(sn) * c);\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec3 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp mat3 u_tileMat3;\\nuniform highp mat3 u_viewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_currentZoom;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef SUPPORTS_TEXTURE_FLOAT\\ntarget.rgba = getAttributeData2(a_id);\\n#else\\nvec4 data0 = getAttributeData2(a_id);\\nvec4 data1 = getAttributeData3(a_id);\\ntarget.r = u88VVToFloat(data0.rg * 255.0);\\ntarget.g = u88VVToFloat(data0.ba * 255.0);\\ntarget.b = u88VVToFloat(data1.rg * 255.0);\\ntarget.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n#define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n#define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\nfloat isColorLocked = getBit(a_bitSet, index);\\nreturn getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\nreturn a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\nreturn getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\nreturn 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\nreturn getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\nreturn in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\nreturn getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\nreturn mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\nreturn ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\nreturn getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\nreturn getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\nvec4 data0 = getAttributeData0(a_id) * 255.0;\\nreturn data0.g;\\n}\\nmat3 getMatrixNoDisplay(float isMapAligned) {\\nreturn isMapAligned * u_viewMat3 * u_tileMat3 + (1.0 - isMapAligned) * u_tileMat3;\\n}\\nmat3 getMatrix(float isMapAligned) {\\nreturn isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 clip(inout vec4 color, inout vec3 pos, in float filterFlags, in vec2 minMaxZoom) {\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\npos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n#if !defined(HIGHLIGHT_ALL)\\npos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n#endif\\npos.z += 2.0 * (step(minMaxZoom.y, u_currentZoom) + (1.0 - step(minMaxZoom.x, u_currentZoom)));\\nreturn pos;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n#define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n#define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\nreturn (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nfloat interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\ninterpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\nreturn u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nif (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\nreturn u_vvSizeFieldStopsSizes[0];\\n}\\nfor (int i = 1; i < VV_SIZE_N; ++i) {\\nif (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\nfloat f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\nreturn mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n}\\n}\\nreturn u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nreturn u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\nif (isNan(opacityValue)) {\\nreturn 1.0;\\n}\\nif (opacityValue <= u_vvOpacityValues[0]) {\\nreturn u_vvOpacities[0];\\n}\\nfor (int i = 1; i < VV_OPACITY_N; ++i) {\\nif (u_vvOpacityValues[i] >= opacityValue) {\\nfloat f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\nreturn mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n}\\n}\\nreturn u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat4(1, 0, 0, 0,\\n0, 1, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat4(cosA, sinA, 0, 0,\\n-sinA, cosA, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat3(1, 0, 0,\\n0, 1, 0,\\n0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * -rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat3(cosA, -sinA, 0,\\nsinA, cosA, 0,\\n0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\nif (isNan(colorValue) || isColorLocked == 1.0) {\\nreturn fallback;\\n}\\nif (colorValue <= u_vvColorValues[0]) {\\nreturn u_vvColors[0];\\n}\\nfor (int i = 1; i < VV_COLOR_N; ++i) {\\nif (u_vvColorValues[i] >= colorValue) {\\nfloat f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\nreturn mix(u_vvColors[i-1], u_vvColors[i], f);\\n}\\n}\\nreturn u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nreturn getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\nreturn u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\nfloat outSize = getVVStopsSize(vvSize, size);\\nreturn isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\nreturn getVVUnitValue(vvSize, size);\\n#else\\nreturn size;\\n#endif\\n}\"},overlay:{overlay:{\"overlay.frag\":\"precision lowp float;\\nuniform lowp sampler2D u_texture;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_texture, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"overlay.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_uv;\\nuniform highp mat3 u_dvsMat3;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nmediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(pos.xy, 0.0, 1.0);\\n}\"}},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_FragColor = texture2D(u_texture, v_uv);\\n}\"},bloom:{composite:{\"composite.frag\":\"precision mediump float;\\nvarying vec2 v_uv;\\nuniform sampler2D u_blurTexture1;\\nuniform sampler2D u_blurTexture2;\\nuniform sampler2D u_blurTexture3;\\nuniform sampler2D u_blurTexture4;\\nuniform sampler2D u_blurTexture5;\\nuniform float u_bloomStrength;\\nuniform float u_bloomRadius;\\nuniform float u_bloomFactors[NUMMIPS];\\nuniform vec3 u_bloomTintColors[NUMMIPS];\\nfloat lerpBloomFactor(const in float factor) {\\nfloat mirrorFactor = 1.2 - factor;\\nreturn mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\ngl_FragColor = u_bloomStrength * (\\nlerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\nlerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\nlerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\nlerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\nlerpBloomFactor(u_bloomFactors[4]) * vec4(u_bloomTintColors[4], 1.0) * texture2D(u_blurTexture5, v_uv)\\n);\\n}\"},gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\n#define SIGMA RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = float(SIGMA);\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},luminosityHighPass:{\"luminosityHighPass.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nuniform vec3 u_defaultColor;\\nuniform float u_defaultOpacity;\\nuniform float u_luminosityThreshold;\\nuniform float u_smoothWidth;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 texel = texture2D(u_texture, v_uv);\\nvec3 luma = vec3(0.299, 0.587, 0.114);\\nfloat v = dot(texel.xyz, luma);\\nvec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\nfloat alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\ngl_FragColor = mix(outputColor, texel, alpha);\\n}\"}},blur:{gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nuniform float u_sigma;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = u_sigma;\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_FragColor = pixelColorSum /weightSum;\\n}\"},\"radial-blur\":{\"radial-blur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nconst float sampleDist = 1.0;\\nconst float sampleStrength = 2.2;\\nvoid main(void) {\\nfloat samples[10];\\nsamples[0] = -0.08;\\nsamples[1] = -0.05;\\nsamples[2] = -0.03;\\nsamples[3] = -0.02;\\nsamples[4] = -0.01;\\nsamples[5] = 0.01;\\nsamples[6] = 0.02;\\nsamples[7] = 0.03;\\nsamples[8] = 0.05;\\nsamples[9] = 0.08;\\nvec2 dir = 0.5 - v_uv;\\nfloat dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\ndir = dir / dist;\\nvec4 color = texture2D(u_colorTexture,v_uv);\\nvec4 sum = color;\\nfor (int i = 0; i < 10; i++) {\\nsum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n}\\nsum *= 1.0 / 11.0;\\nfloat t = dist * sampleStrength;\\nt = clamp(t, 0.0, 1.0);\\ngl_FragColor = mix(color, sum, t);\\n}\"}},dra:{\"dra.frag\":\"precision mediump float;\\nuniform sampler2D u_minColor;\\nuniform sampler2D u_maxColor;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 minColor = texture2D(u_minColor, vec2(0.5));\\nvec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\nvec4 color = texture2D(u_texture, v_uv);\\nvec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\nvec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\nvec3 colorUnpremultiply = color.rgb / color.a;\\nvec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\ngl_FragColor = vec4(color.a * (colorUnpremultiply - minColorUnpremultiply) / range, color.a);\\n}\",\"min-max\":{\"min-max.frag\":\"#extension GL_EXT_draw_buffers : require\\nprecision mediump float;\\n#define CELL_SIZE 2\\nuniform sampler2D u_minTexture;\\nuniform sampler2D u_maxTexture;\\nuniform vec2 u_srcResolution;\\nuniform vec2 u_dstResolution;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\nvec2 onePixel = vec2(1.0) / u_srcResolution;\\nvec2 uv = (srcPixel + 0.5) / u_srcResolution;\\nvec4 minColor = vec4(1.0);\\nvec4 maxColor = vec4(0.0);\\nfor (int y = 0; y < CELL_SIZE; ++y) {\\nfor (int x = 0; x < CELL_SIZE; ++x) {\\nvec2 offset = uv + vec2(x, y) * onePixel;\\nminColor = min(minColor, texture2D(u_minTexture, offset));\\nmaxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n}\\n}\\ngl_FragData[0] = minColor;\\ngl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nuniform vec2 u_shadowOffset;\\nuniform highp mat3 u_displayViewMat3;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec3 offset = u_displayViewMat3 * vec3(u_shadowOffset, 0.0);\\nvec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\nvec4 blurColor = texture2D(u_blurTexture, v_uv - offset.xy / 2.0);\\ngl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\n}\"}},\"edge-detect\":{\"frei-chen\":{\"frei-chen.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nvarying vec2 v_uv;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[9];\\nconst mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );\\nconst mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );\\nconst mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );\\nconst mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );\\nconst mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );\\nconst mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );\\nconst mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );\\nconst mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );\\nconst mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );\\nvoid main() {\\nG[0] = g0,\\nG[1] = g1,\\nG[2] = g2,\\nG[3] = g3,\\nG[4] = g4,\\nG[5] = g5,\\nG[6] = g6,\\nG[7] = g7,\\nG[8] = g8;\\nmat3 I;\\nfloat cnv[9];\\nvec3 sample;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 9; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nfloat M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\nfloat S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\ngl_FragColor = vec4(vec3(sqrt(M / S)), texture2D(u_colorTexture, v_uv).a);\\n}\"},sobel:{\"sobel.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\ngl_FragColor = vec4(vec3(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1])), texture2D(u_colorTexture, v_uv).a);\\n}\"}},\"edge-enhance\":{\"edge-enhance.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 0.0, -1.0, 1.0, 0.0, -1.0, 1.0, 0.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0 );\\nvoid main() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nvec4 color = texture2D(u_colorTexture, v_uv);\\ngl_FragColor = vec4(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1]) * color);\\n}\"},filterEffect:{\"filterEffect.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform mat4 u_coefficients;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_colorTexture, v_uv);\\nvec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\nfloat a = color.a;\\ngl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"}},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\nuniform lowp float u_opacity;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\nvec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\nfloat alpha = u_opacity * color.a;\\ngl_FragColor = vec4(alpha * color.rgb, alpha);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},common:{\"common.glsl\":\"uniform sampler2D u_image;\\nuniform int u_bandCount;\\nuniform bool u_flipY;\\nuniform float u_opacity;\\nuniform int u_resampling;\\nuniform vec2 u_srcImageSize;\\n#ifdef APPLY_PROJECTION\\n#include \\n#endif\\n#ifdef BICUBIC\\n#include \\n#endif\\n#ifdef BILINEAR\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\nvec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\ntargetLocation = projectPixelLocation(targetLocation);\\n#endif\\nreturn targetLocation;\\n}\\nbool isOutside(vec2 coords){\\nif (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\nreturn true;\\n} else {\\nreturn false;\\n}\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\nvec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\nvec4 color = texture2D(u_image, pixelLocation);\\n#endif\\nreturn color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\nvec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\nfloat maxI = 255.0;\\nfloat mid = 128.0;\\nfloat c = u_contrastOffset;\\nfloat b = u_brightnessOffset;\\nvec4 v;\\nif (c > 0.0 && c < 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\\n} else if (c <= 0.0 && c > -100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n} else if (c == 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\nv = (sign(v) + 1.0) / 2.0;\\n} else if (c == -100.0) {\\nv = vec4(mid, mid, mid, currentPixel.a);\\n}\\nreturn vec4(v.r / 255.0, v.g / 255.0, v.b / 255.0, currentPixel.a);\\n}\",\"projection.glsl\":\"uniform sampler2D u_transformGrid;\\nuniform vec2 u_transformSpacing;\\nuniform vec2 u_transformGridSize;\\nuniform vec2 u_targetImageSize;\\nvec2 projectPixelLocation(vec2 coords) {\\n#ifdef LOOKUP_PROJECTION\\nvec4 pv = texture2D(u_transformGrid, coords);\\nreturn vec2(pv.r, pv.g);\\n#endif\\nvec2 index_image = floor(coords * u_targetImageSize);\\nvec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\nvec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\nvec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\nvec2 srcLocation;\\nvec2 transform_location = index_transform + oneTransformPixel * 0.5;\\nif (pos.s <= pos.t) {\\nvec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\nvec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n} else {\\nvec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\nvec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n}\\nreturn srcLocation;\\n}\"},flow:{\"getFadeOpacity.glsl\":\"uniform float u_decayRate;\\nuniform float u_fadeToZero;\\nfloat getFadeOpacity(float x) {\\nfloat cutOff = mix(0.0, exp(-u_decayRate), u_fadeToZero);\\nreturn (exp(-u_decayRate * x) - cutOff) / (1.0 - cutOff);\\n}\",\"getFragmentColor.glsl\":\"vec4 getFragmentColor(vec4 color, float dist, float size, float featheringSize) {\\nfloat featheringStart = clamp(0.5 - featheringSize / size, 0.0, 0.5);\\nif (dist > featheringStart) {\\ncolor *= 1.0 - (dist - featheringStart) / (0.5 - featheringStart);\\n}\\nreturn color;\\n}\",imagery:{\"imagery.frag\":\"precision highp float;\\nvarying vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform float u_Min;\\nuniform float u_Max;\\nuniform float u_featheringSize;\\n#include \\nfloat getIntensity(float v) {\\nreturn u_Min + v * (u_Max - u_Min);\\n}\\nvoid main(void) {\\nvec4 sampled = texture2D(u_texture, v_texcoord);\\nfloat intensity = getIntensity(sampled.r);\\ngl_FragColor = getColor(intensity);\\ngl_FragColor.a *= getOpacity(sampled.r);\\ngl_FragColor.a *= sampled.a;\\ngl_FragColor.rgb *= gl_FragColor.a;\\n}\",\"imagery.vert\":\"attribute vec2 a_position;\\nattribute vec2 a_texcoord;\\nuniform mat3 u_dvsMat3;\\nvarying vec2 v_texcoord;\\nvoid main(void) {\\nvec2 xy = (u_dvsMat3 * vec3(a_position, 1.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},particles:{\"particles.frag\":\"precision highp float;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\ngl_FragColor = getFragmentColor(v_color, length(v_texcoord - 0.5), v_size, u_featheringSize);\\n}\",\"particles.vert\":\"attribute vec4 a_xyts0;\\nattribute vec4 a_xyts1;\\nattribute vec4 a_typeIdDurationSeed;\\nattribute vec4 a_extrudeInfo;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nvec2 position0 = a_xyts0.xy;\\nfloat t0 = a_xyts0.z;\\nfloat speed0 = a_xyts0.w;\\nvec2 position1 = a_xyts1.xy;\\nfloat t1 = a_xyts1.z;\\nfloat speed1 = a_xyts1.w;\\nfloat type = a_typeIdDurationSeed.x;\\nfloat id = a_typeIdDurationSeed.y;\\nfloat duration = a_typeIdDurationSeed.z;\\nfloat seed = a_typeIdDurationSeed.w;\\nvec2 e0 = a_extrudeInfo.xy;\\nvec2 e1 = a_extrudeInfo.zw;\\nfloat animationPeriod = duration + u_trailLength;\\nfloat scaledTime = u_time * u_flowSpeed;\\nfloat randomizedTime = scaledTime + seed * animationPeriod;\\nfloat t = mod(randomizedTime, animationPeriod);\\nfloat fUnclamped = (t - t0) / (t1 - t0);\\nfloat f = clamp(fUnclamped, 0.0, 1.0);\\nfloat clampedTime = mix(t0, t1, f);\\nfloat speed = mix(speed0, speed1, f);\\nvec2 extrude;\\nvec2 position;\\nfloat fadeOpacity;\\nfloat introOpacity;\\nif (type == 2.0) {\\nif (fUnclamped < 0.0 || (fUnclamped > 1.0 && t1 != duration)) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nvec2 ortho = mix(e0, e1, f);\\nvec2 parallel;\\nparallel = normalize(position1 - position0) * 0.5;\\nif (id == 1.0) {\\nextrude = ortho;\\nv_texcoord = vec2(0.5, 0.0);\\n} else if (id == 2.0) {\\nextrude = -ortho;\\nv_texcoord = vec2(0.5, 1.0);\\n} else if (id == 3.0) {\\nextrude = ortho + parallel;\\nv_texcoord = vec2(1.0, 0.0);\\n} else if (id == 4.0) {\\nextrude = -ortho + parallel;\\nv_texcoord = vec2(1.0, 1.0);\\n}\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else {\\nif (fUnclamped < 0.0) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nif (id == 1.0) {\\nextrude = e0;\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 2.0) {\\nextrude = -e0;\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 3.0) {\\nextrude = mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else if (id == 4.0) {\\nextrude = -mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n}\\n}\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(extrude * v_size, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_color.a *= fadeOpacity;\\nv_color.a *= mix(1.0, introOpacity, u_introFade);\\nv_color.rgb *= v_color.a;\\n}\"},streamlines:{\"streamlines.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_size;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nfloat t = mod(v_timeSeed * (v_totalTime + u_trailLength) + u_time * u_flowSpeed, v_totalTime + u_trailLength) - v_time;\\nvec4 color = v_color * step(0.0, t) * getFadeOpacity(t / u_trailLength);\\ncolor *= mix(1.0, 1.0 - exp(-v_time), u_introFade);\\ngl_FragColor = getFragmentColor(color, length((v_side + 1.0) / 2.0 - 0.5), v_size, u_featheringSize);\\n}\",\"streamlines.vert\":\"attribute vec3 a_positionAndSide;\\nattribute vec3 a_timeInfo;\\nattribute vec2 a_extrude;\\nattribute float a_speed;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_side;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\nvec4 lineColor = getColor(a_speed);\\nfloat lineOpacity = getOpacity(a_speed);\\nfloat lineSize = getSize(a_speed);\\nvec2 position = a_positionAndSide.xy;\\nv_side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineSize, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_color = lineColor;\\nv_color.a *= lineOpacity;\\nv_color.rgb *= v_color.a;\\nv_size = lineSize;\\n}\"},\"vv.glsl\":\"#define MAX_STOPS 8\\n#ifdef VV_COLOR\\nuniform float u_color_stops[MAX_STOPS];\\nuniform vec4 u_color_values[MAX_STOPS];\\nuniform int u_color_count;\\n#else\\nuniform vec4 u_color;\\n#endif\\n#ifdef VV_OPACITY\\nuniform float u_opacity_stops[MAX_STOPS];\\nuniform float u_opacity_values[MAX_STOPS];\\nuniform int u_opacity_count;\\n#else\\nuniform float u_opacity;\\n#endif\\n#ifdef VV_SIZE\\nuniform float u_size_stops[MAX_STOPS];\\nuniform float u_size_values[MAX_STOPS];\\nuniform int u_size_count;\\n#else\\nuniform float u_size;\\n#endif\\nuniform float u_featheringOffset;\\nvec4 getColor(float x) {\\n#ifdef VV_COLOR\\nvec4 color = u_color_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_color_count) {\\nbreak;\\n}\\nfloat x1 = u_color_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_color_stops[i];\\nvec4 y2 = u_color_values[i];\\nif (x < x2) {\\nvec4 y1 = u_color_values[i - 1];\\ncolor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\ncolor = y2;\\n}\\n}\\n}\\n#else\\nvec4 color = u_color;\\n#endif\\nreturn color;\\n}\\nfloat getOpacity(float x) {\\n#ifdef VV_OPACITY\\nfloat opacity = u_opacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_opacity_count) {\\nbreak;\\n}\\nfloat x1 = u_opacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_opacity_stops[i];\\nfloat y2 = u_opacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_opacity_values[i - 1];\\nopacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nopacity = y2;\\n}\\n}\\n}\\n#else\\nfloat opacity = u_opacity;\\n#endif\\nreturn opacity;\\n}\\nfloat getSize(float x) {\\n#ifdef VV_SIZE\\nfloat size = u_size_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_size_count) {\\nbreak;\\n}\\nfloat x1 = u_size_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_size_stops[i];\\nfloat y2 = u_size_values[i];\\nif (x < x2) {\\nfloat y1 = u_size_values[i - 1];\\nsize = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nsize = y2;\\n}\\n}\\n}\\n#else\\nfloat size = u_size;\\n#endif\\nreturn size + 2.0 * u_featheringSize * u_featheringOffset;\\n}\"},hillshade:{\"hillshade.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform int u_hillshadeType;\\nuniform float u_sinZcosAs[6];\\nuniform float u_sinZsinAs[6];\\nuniform float u_cosZs[6];\\nuniform float u_weights[6];\\nuniform vec2 u_factor;\\nuniform float u_minValue;\\nuniform float u_maxValue;\\n#include \\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\\nif (a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0) {\\nreturn 0.0;\\n}\\nelse {\\nreturn e;\\n}\\n}\\nvec3 rgb2hsv(vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec4 overlay(float val, float minValue, float maxValue, float hillshade) {\\nval = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\nvec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\nvec3 hsv = rgb2hsv(rgb.xyz);\\nhsv.z = hillshade;\\nreturn vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nif (currentPixel.a == 0.0) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec2 axy = vec2(-1.0, -1.0);\\nvec2 bxy = vec2(0.0, -1.0);\\nvec2 cxy = vec2(1.0, -1.0);\\nvec2 dxy = vec2(-1.0, 0.0);\\nvec2 fxy = vec2(1.0, 0.0);\\nvec2 gxy = vec2(-1.0, 1.0);\\nvec2 hxy = vec2(0.0, 1.0);\\nvec2 ixy = vec2(1.0, 1.0);\\nvec2 onePixel = 1.0 / u_srcImageSize;\\nif (pixelLocation.s < onePixel.s) {\\naxy[0] = 1.0;\\ndxy[0] = 1.0;\\ngxy[0] = 1.0;\\n}\\nif (pixelLocation.t < onePixel.t) {\\naxy[1] = 1.0;\\nbxy[1] = 1.0;\\ncxy[1] = 1.0;\\n}\\nif (pixelLocation.s > 1.0 - onePixel.s) {\\ncxy[0] = -1.0;\\nfxy[0] = -1.0;\\nixy[0] = -1.0;\\n}\\nif (pixelLocation.t > 1.0 - onePixel.t) {\\ngxy[1] = -1.0;\\nhxy[1] = -1.0;\\nixy[1] = -1.0;\\n}\\nvec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\nvec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\nvec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\nvec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\nvec4 ve = texture2D(u_image, pixelLocation);\\nvec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\nvec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\nvec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\nvec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\nfloat dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\nfloat dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\nfloat dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\nfloat hillshade = 0.0;\\nif (u_hillshadeType == 0){\\nfloat cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\nfloat z = (u_cosZs[0] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = z;\\n} else {\\nfor (int k = 0; k < 6; k++) {\\nfloat cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\nfloat z = (u_cosZs[k] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = hillshade + z * u_weights[k];\\nif (k == 5) break;\\n}\\n}\\nfloat alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\n}\",\"hillshade.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},lut:{\"colorize.glsl\":\"uniform sampler2D u_colormap;\\nuniform float u_colormapOffset;\\nuniform float u_colormapMaxIndex;\\nvec4 colorize(vec4 currentPixel, float scaleFactor) {\\nfloat clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\nvec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\nvec4 color = texture2D(u_colormap, clrPosition);\\nvec4 result = vec4(color.rgb, color.a * currentPixel.a);\\nreturn result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nvec4 result = colorize(currentPixel, 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * u_opacity;\\n}\",\"lut.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},magdir:{\"magdir.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nuniform lowp float u_opacity;\\nvoid main() {\\ngl_FragColor = v_color * u_opacity;\\n}\",\"magdir.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nuniform float u_rotation;\\nuniform vec4 u_colors[12];\\nvarying vec4 v_color;\\nvoid main()\\n{\\nfloat angle = a_offset.y + u_rotation;\\n#ifndef ROTATION_GEOGRAPHIC\\nangle = 3.14159265359 * 2.0 - angle - 3.14159265359 / 2.0;\\n#endif\\nvec2 offset = vec2(cos(angle), sin(angle)) * a_offset.x;\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 pos = a_pos + offset * sizePercentage * u_symbolSize;\\nv_color = u_colors[int(a_vv.x)];\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},reproject:{\"reproject.frag\":\"precision mediump float;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n}\",\"reproject.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_position;\\ngl_Position = vec4(2.0 * (a_position - 0.5), 0.0, 1.0);\\n}\"},scalar:{\"scalar.frag\":\"precision mediump float;\\nuniform lowp float u_opacity;\\nvarying vec2 v_pos;\\nconst vec4 outlineColor = vec4(0.2, 0.2, 0.2, 1.0);\\nconst float outlineSize = 0.02;\\nconst float innerRadius = 0.25;\\nconst float outerRadius = 0.42;\\nconst float innerSquareLength = 0.15;\\nvoid main() {\\nmediump float dist = length(v_pos);\\nmediump float fillalpha1 = smoothstep(outerRadius, outerRadius + outlineSize, dist);\\nfillalpha1 *= (1.0-smoothstep(outerRadius + outlineSize, outerRadius + 0.1 + outlineSize, dist));\\n#ifdef INNER_CIRCLE\\nmediump float fillalpha2 = smoothstep(innerRadius, innerRadius + outlineSize, dist);\\nfillalpha2 *= (1.0-smoothstep(innerRadius + outlineSize, innerRadius + 0.1 + outlineSize, dist));\\n#else\\nmediump float fillalpha2 = (abs(v_pos.x) < innerSquareLength ? 1.0 : 0.0) * (abs(v_pos.y) < innerSquareLength ? 1.0 : 0.0);\\n#endif\\ngl_FragColor = (fillalpha2 + fillalpha1) * outlineColor * u_opacity;\\n}\",\"scalar.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nvarying vec2 v_pos;\\nvoid main()\\n{\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 size = u_symbolSize * sizePercentage;\\nvec2 pos = a_pos + a_offset * size;\\nv_pos = a_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform bool u_useGamma;\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\n#include \\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool useGamma, float gamma, float gammaCorrection) {\\nif (val >= maxCutOff) {\\nreturn maxOutput;\\n} else if (val <= minCutOff) {\\nreturn minOutput;\\n}\\nfloat stretchedVal;\\nif (useGamma) {\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\nif (gamma > 1.0) {\\ntempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n}\\nstretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n} else {\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n}\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\nreturn;\\n#endif\\nif (u_bandCount == 1) {\\nfloat grayVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n#ifdef APPLY_COLORMAP\\nvec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\ngl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n} else {\\nfloat redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\nfloat greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], u_useGamma, u_gamma[1], u_gammaCorrection[1]);\\nfloat blueVal = stretchOneValue(currentPixel.b, u_minCutOff[2], u_maxCutOff[2], u_minOutput, u_maxOutput, u_factor[2], u_useGamma, u_gamma[2], u_gammaCorrection[2]);\\ngl_FragColor = vec4(redVal, greenVal, blueVal, 1.0) * currentPixel.a * u_opacity;\\n}\\n}\",\"stretch.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\ngl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nuniform mat3 u_worldExtent;\\nvoid main() {\\ngl_Position = vec4(u_worldExtent * vec3(a_pos, 1.0), 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\nlowp vec4 color = texture2D(u_texture, v_tex);\\ngl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\nmediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\nvec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\nv_tex = a_pos;\\n}\"},util:{\"atan2.glsl\":\"float atan2(in float y, in float x) {\\nfloat t0, t1, t2, t3, t4;\\nt3 = abs(x);\\nt1 = abs(y);\\nt0 = max(t3, t1);\\nt1 = min(t3, t1);\\nt3 = 1.0 / t0;\\nt3 = t1 * t3;\\nt4 = t3 * t3;\\nt0 = - 0.013480470;\\nt0 = t0 * t4 + 0.057477314;\\nt0 = t0 * t4 - 0.121239071;\\nt0 = t0 * t4 + 0.195635925;\\nt0 = t0 * t4 - 0.332994597;\\nt0 = t0 * t4 + 0.999995630;\\nt3 = t0 * t3;\\nt3 = (abs(y) > abs(x)) ? 1.570796327 - t3 : t3;\\nt3 = x < 0.0 ? 3.141592654 - t3 : t3;\\nt3 = y < 0.0 ? -t3 : t3;\\nreturn t3;\\n}\",\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n255.0 / (256.0),\\n255.0 / (256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n);\\nfloat rgba2float(vec4 rgba) {\\nreturn dot(rgba, rgba2float_factors);\\n}\"}};export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./shaderRepository.js\";import{ShaderCompiler as e}from\"../../../../../webgl/ShaderCompiler.js\";function o(e){let o=r;return e.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new e(o);function n(r){return t.resolveIncludes(r)}export{n as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Z as e}from\"../../chunks/vec2f64.js\";import{ContextType as t}from\"./context-util.js\";import{PixelType as n,TextureType as a,PixelFormat as r,SizedPixelFormat as i,TextureSamplingMode as o,TextureWrapMode as s,TargetType as u,DepthStencilTargetType as f,UniformType as m}from\"./enums.js\";import{FramebufferObject as c}from\"./FramebufferObject.js\";import{Texture as l}from\"./Texture.js\";function _(e,u,f=\"nearest\",m=!1){const c=!(m&&\"u8\"===u.pixelType),_=c?n.FLOAT:n.UNSIGNED_BYTE,p=null==u.pixels||0===u.pixels.length?null:c?u.getAsRGBAFloat():u.getAsRGBA(),E=e.capabilities.textureFloat?.textureFloatLinear,T={width:u.width,height:u.height,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2&&c?i.RGBA32F:r.RGBA,samplingMode:!E||\"bilinear\"!==f&&\"cubic\"!==f?o.NEAREST:o.LINEAR,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1};return new l(e,T,p)}function p(e,t,i,m){const _=m?n.UNSIGNED_BYTE:n.FLOAT,p={width:t,height:i,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:r.RGBA,samplingMode:o.NEAREST,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},E=new l(e,p);return new c(e,{colorTarget:u.TEXTURE,depthStencilTarget:f.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i},E)}function E(e,u){const{spacing:f,offsets:m,coefficients:c,size:[_,p]}=u,E=f[0]>1,T={width:E?4*_:_,height:p,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2?i.RGBA32F:r.RGBA,dataType:n.FLOAT,samplingMode:o.NEAREST,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},g=new Float32Array(E?_*p*16:2*m.length);if(E)for(let t=0,n=0;t{const r=t.get(a)||t.get(a+\"[0]\");r&&G(e,a,n[a],r)}))}function U(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,r)=>{t.setUniform1i(n,r),e.bindTexture(a[r],r)})))}function G(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case m.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case m.FLOAT_VEC2:e.setUniform2fv(t,n);break;case m.FLOAT_VEC3:e.setUniform3fv(t,n);break;case m.FLOAT_VEC4:e.setUniform4fv(t,n);break;case m.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case m.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case m.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case m.BOOL:e.setUniform1i(t,n?1:0);break;case m.INT_VEC2:case m.BOOL_VEC2:e.setUniform2iv(t,n);break;case m.INT_VEC3:case m.BOOL_VEC3:e.setUniform3iv(t,n);break;case m.INT_VEC4:case m.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{T as createColormapTexture,p as createFrameBuffer,_ as createRasterTexture,E as createTransformTexture,h as getBasicGridUniforms,A as getColormapUniforms,g as getCommonUniforms,O as getShadedReliefUniforms,d as getStretchUniforms,F as getUniformLocationInfos,U as setTextures,R as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as r}from\"../../../webgl/enums.js\";class i extends a{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:s(),displayViewMat3:s()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(r.EQUAL,0,255)}draw(s,a){const{requestRender:r}=s,{displayData:i}=a;if(t(i))return;if(\"loaded\"===i.state.name&&i.attach(s),\"attached\"!==i.state.name)return;const o=i.state.resources;o.ready||!e(r)?(this._visualState.time=s.time/1e3,this._visualState.dvsMat3=a.transforms.dvs,this._visualState.displayViewMat3=s.state.displayViewMat3,i.flowStyle.render(s,this._visualState,o),i.flowStyle.animated&&e(r)&&r()):r()}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst o=!0,t=32,c=1.5,e=200;export{t as COLLISION_GRID_CELL_SIZE,c as DECLUTTER_BUDGET,o as DECLUTTER_TILES,e as FADE_DURATION};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{s as t,m as s}from\"../../../../chunks/mat3.js\";import{DisplayObject as i}from\"../DisplayObject.js\";import e from\"../../tiling/TileKey.js\";class r extends i{constructor(t,s,i,r,h,o=r,n=h){super(),this.triangleCountReportedInDebug=0,this.triangleCount=0,this.texture=null,this.key=new e(t),this.x=s,this.y=i,this.width=r,this.height=h,this.rangeX=o,this.rangeY=n}destroy(){this.texture&&(this.texture.dispose(),this.texture=null)}setTransform(i,e){const r=e/(i.resolution*i.pixelRatio),h=this.transforms.tileMat3,[o,n]=i.toScreenNoRotation([0,0],[this.x,this.y]),a=this.width/this.rangeX*r,l=this.height/this.rangeY*r;t(h,a,0,0,0,l,0,o,n,1),s(this.transforms.dvs,i.displayViewMat3,h)}}export{r as TiledDisplayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{constructor(){super(...arguments),this._color=t(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:r},t){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255)}draw(t,e){const{context:i,requestRender:s}=t;this._initialized||this._initialize(i),!r(s)||this._solidProgram.isCompiled?(i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[e.rangeX,e.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO()):s()}_initialize(r){if(this._initialized)return!0;const t=_(r,s);if(!t)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,e,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{CapType as e,JoinType as t}from\"../../../../../symbols/cim/enums.js\";var a,i,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]=\"BACKGROUND\",e[e.FILL=1]=\"FILL\",e[e.LINE=2]=\"LINE\",e[e.SYMBOL=3]=\"SYMBOL\",e[e.CIRCLE=4]=\"CIRCLE\"}(a||(a={})),function(e){e[e.VISIBLE=0]=\"VISIBLE\",e[e.NONE=1]=\"NONE\"}(i||(i={})),function(e){e[e.POINT=0]=\"POINT\",e[e.LINE=1]=\"LINE\",e[e.LINE_CENTER=2]=\"LINE_CENTER\"}(n||(n={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\",e[e.AUTO=2]=\"AUTO\"}(l||(l={})),function(e){e[e.AUTO=0]=\"AUTO\",e[e.LEFT=1]=\"LEFT\",e[e.CENTER=2]=\"CENTER\",e[e.RIGHT=3]=\"RIGHT\"}(u||(u={})),function(e){e[e.CENTER=0]=\"CENTER\",e[e.LEFT=1]=\"LEFT\",e[e.RIGHT=2]=\"RIGHT\",e[e.TOP=3]=\"TOP\",e[e.BOTTOM=4]=\"BOTTOM\",e[e.TOP_LEFT=5]=\"TOP_LEFT\",e[e.TOP_RIGHT=6]=\"TOP_RIGHT\",e[e.BOTTOM_LEFT=7]=\"BOTTOM_LEFT\",e[e.BOTTOM_RIGHT=8]=\"BOTTOM_RIGHT\"}(m||(m={})),function(e){e[e.NONE=0]=\"NONE\",e[e.UPPERCASE=1]=\"UPPERCASE\",e[e.LOWERCASE=2]=\"LOWERCASE\"}(o||(o={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\"}(r||(r={})),function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.VERTICAL=1]=\"VERTICAL\"}(p||(p={}));class f{}f.backgroundLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.fillLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.lineLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"line-cap\":{type:\"enum\",values:[\"butt\",\"round\",\"square\"],default:e.BUTT},\"line-join\":{type:\"enum\",values:[\"bevel\",\"round\",\"miter\"],default:t.MITER},\"line-miter-limit\":{type:\"number\",default:2},\"line-round-limit\":{type:\"number\",default:1.05}},f.symbolLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"symbol-avoid-edges\":{type:\"boolean\",default:!1},\"symbol-placement\":{type:\"enum\",values:[\"point\",\"line\",\"line-center\"],default:n.POINT},\"symbol-sort-key\":{type:\"number\",default:-1},\"symbol-spacing\":{type:\"number\",minimum:1,default:250},\"icon-allow-overlap\":{type:\"boolean\",default:!1},\"icon-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"icon-ignore-placement\":{type:\"boolean\",default:!1},\"icon-image\":{type:\"string\"},\"icon-keep-upright\":{type:\"boolean\",default:!1},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-optional\":{type:\"boolean\",default:!1},\"icon-padding\":{type:\"number\",minimum:0,default:2},\"icon-rotate\":{type:\"number\",default:0},\"icon-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"icon-size\":{type:\"number\",minimum:0,default:1},\"text-allow-overlap\":{type:\"boolean\",default:!1},\"text-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"text-field\":{type:\"string\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"]},\"text-ignore-placement\":{type:\"boolean\",default:!1},\"text-justify\":{type:\"enum\",values:[\"auto\",\"left\",\"center\",\"right\"],default:u.CENTER},\"text-keep-upright\":{type:\"boolean\",default:!0},\"text-letter-spacing\":{type:\"number\",default:0},\"text-line-height\":{type:\"number\",default:1.2},\"text-max-angle\":{type:\"number\",minimum:0,default:45},\"text-max-width\":{type:\"number\",minimum:0,default:10},\"text-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-optional\":{type:\"boolean\",default:!1},\"text-padding\":{type:\"number\",minimum:0,default:2},\"text-rotate\":{type:\"number\",default:0},\"text-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"text-size\":{type:\"number\",minimum:0,default:16},\"text-transform\":{type:\"enum\",values:[\"none\",\"uppercase\",\"lowercase\"],default:o.NONE},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:[\"horizontal\",\"vertical\"],default:[p.HORIZONTAL]}},f.circleLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.backgroundPaintDefinition={\"background-color\":{type:\"color\",default:[0,0,0,1]},\"background-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"background-pattern\":{type:\"string\"}},f.fillPaintDefinition={\"fill-antialias\":{type:\"boolean\",default:!0},\"fill-color\":{type:\"color\",default:[0,0,0,1]},\"fill-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"fill-outline-color\":{type:\"color\",default:[0,0,0,0]},\"fill-pattern\":{type:\"string\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"fill-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.linePaintDefinition={\"line-blur\":{type:\"number\",minimum:0,default:0},\"line-color\":{type:\"color\",default:[0,0,0,1]},\"line-dasharray\":{type:\"array\",value:\"number\",default:[]},\"line-gap-width\":{type:\"number\",minimum:0,default:0},\"line-offset\":{type:\"number\",default:0},\"line-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"line-pattern\":{type:\"string\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"line-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"line-width\":{type:\"number\",minimum:0,default:1}},f.symbolPaintDefinition={\"icon-color\":{type:\"color\",default:[0,0,0,1]},\"icon-halo-blur\":{type:\"number\",minimum:0,default:0},\"icon-halo-color\":{type:\"color\",default:[0,0,0,0]},\"icon-halo-width\":{type:\"number\",minimum:0,default:0},\"icon-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"text-color\":{type:\"color\",default:[0,0,0,1]},\"text-halo-blur\":{type:\"number\",minimum:0,default:0},\"text-halo-color\":{type:\"color\",default:[0,0,0,0]},\"text-halo-width\":{type:\"number\",minimum:0,default:0},\"text-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.rasterPaintDefinition={\"raster-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-hue-rotate\":{type:\"number\",default:0},\"raster-brightness-min\":{type:\"number\",minimum:0,maximum:1,default:0},\"raster-brightness-max\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-saturation\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-contrast\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-fade-duration\":{type:\"number\",minimum:0,default:300}},f.circlePaintDefinition={\"circle-blur\":{type:\"number\",minimum:0,default:0},\"circle-color\":{type:\"color\",default:[0,0,0,1]},\"circle-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-radius\":{type:\"number\",minimum:0,default:5},\"circle-stroke-color\":{type:\"color\",default:[0,0,0,1]},\"circle-stroke-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-stroke-width\":{type:\"number\",minimum:0,default:0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"circle-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}};export{l as RotationAlignment,f as StyleDefinition,a as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,i as Visibility};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass a{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(a,r,t){}draw(a,r,t){}drawMany(a,r,t){for(const s of r)this.draw(a,s,t)}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{b as e,c as r,r as s,j as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n"],"sourceRoot":""}