{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/layers/BitmapTileLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.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/layers/support/PixelBlock.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/WMTSLayerView2D.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/ImageryBitmapSource.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/layers/support/rasterFunctions/pixelUtils.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/Bitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/imageUtils.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/BitmapTile.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/BitmapTileContainer.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":["r","s","attach","this","view","timeline","record","layer","title","_bitmapView","t","_tileInfoView","container","addChild","detach","removeChild","removeAllChildren","e","i","Number","POSITIVE_INFINITY","Math","PI","o","c","N","LN2","a","n","h","M","P","log","g","shaders","vertexShader","fragmentShader","attributes","Map","geometry","BYTE","m","UNSIGNED_SHORT","constructor","super","arguments","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","stencilRef","draw","suspended","painter","requestRender","begin","name","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","l","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","d","f","isCompiled","_","transformGrid","width","b","height","opacity","S","w","useProgram","x","y","_getUniformInfos","names","textures","U","getTextures","j","u","I","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","p","length","join","has","get","set","interpolation","push","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","state","resolution","pixelRatio","round","rotation","isSourceScaled","blendFunction","renderingOptions","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","location","count","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","getVAO","bufferLayouts","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","TRIANGLES","size","UNSIGNED_INT","FLOAT","tex","GREATER","isReady","dvsMat3","isWrapAround","texture","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","v","load","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_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","max","divisor","normalized","offset","stride","UNSIGNED_BYTE","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","E","data","T","hittestAttributes","programSpec","L","POINTS","G","O","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","D","target","R","indexCount","indexFrom","Uint32Array","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","clear","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","createVertex","STATIC_DRAW","F","_seed","_allocDotDensityTexture","Float32Array","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","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","some","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","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","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","forEach","_renderGlyphRange","LABEL","mapAligned","abs","floor","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","magdir","scalar","validPixelCount","updateVectorFieldVAO","vaoData","_drawScalars","vao","elementCount","_drawTriangles","dataRange","rotationType","style","symbolPercentRange","_getSymbolSize","symbolTileSize","pixelType","mask","maskIsAlpha","pixels","statistics","getPixelArrayConstructor","Uint8Array","Uint16Array","Float64Array","castPixelType","toLowerCase","getPlaneCount","addData","minValue","maxValue","getAsRGBA","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","getAsRGBAFloat","_fillFrom32Bit","updateStatistics","_calculateBandStatistics","clamp","createEmptyBand","extractBands","clone","slice","reduce","min","MAX_VALUE","json","write","prototype","_tileStrategy","_fetchQueue","_tileRequests","_getTileMatrixSetBySpatialReference","activeLayer","tileMatrixSetId","update","pause","resume","tileMatrixSet","tileInfoView","concurrency","process","fetchTile","cachePolicy","resampling","acquireTile","releaseTile","handles","add","styleId","_refresh","declaredClass","remove","destroy","moveStart","requestUpdate","viewChange","moveEnd","abort","once","createTile","getTileCoords","getTileResolution","_enqueueTileFetch","updateRequested","isUpdating","updating","tilemapCache","signal","resamplingLevel","_fetchImage","fetchAvailabilityUpsample","getTileParentId","canResume","supportsSpatialReference","tileMatrixSets","spatialReference","reset","tiles","fulfilled","promise","then","catch","finally","find","isWebMercator","wkid","readOnly","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","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","renderChildren","sortChildren","setStencilReference","createRenderParams","getClosestInfoForScale","scaleToZoom","prepareRenderPasses","registerRenderPass","brushes","DEBUG","HIGHLIGHT","getStencilTarget","children","updateTransforms","setTransform","initialize","doRefresh","dataChanged","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","_count","unbind","pixelBlock","extent","originalPixelBlock","render","filter","createImageData","putImageData","getRenderedRasterPixels","renderedRasterPixels","buffer","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","setUniform3fv","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","stop","createShader","shaderSource","compileShader","getShaderInfoLog","enabled","compiledLOC","Array","from","next","prev","Z","steiner","prevZ","nextZ","sort","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","xmin","ymin","xmax","ymax","fromPolygon","fromMapExtent","fromRect","toScreen","vertexBuffers","getIndexBuffer","createIndex","getVertexBuffers","keys","parseFloat","_clip","stage","_handle","version","_invalidate","ready","_destroyGL","mesh","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","doRender","globalOpacity","profiler","recordContainerStart","beforeRenderLayer","_clippingInfos","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","onAttach","onDetach","items","fromClipArea","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","mappedColor","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","done","delete","ceil","cols","rows","offsets_x","offsets_y","offsets_xi","offsets_yi","gridWidth","coefficients","isNaN","atan2","background","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","split","RGBA32F","flipped","offsets","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","bandCount","u_minOutput","outMin","u_maxOutput","outMax","u_minCutOff","minCutOff","u_maxCutOff","maxCutOff","u_factor","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","u_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","requestRenderOnSourceChangedEnabled","_textureInvalidated","_height","_source","_width","_texture","sourceWidth","sourceHeight","invalidateTexture","HTMLImageElement","naturalHeight","naturalWidth","toScreenNoRotation","hasMipmap","generateMipmap","setSamplingMode","_visualState","time","displayData","resources","flowStyle","animated","getLODInfoAt","getXForColumn","getYForRow","drawImage","getTileBounds","visible","_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","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","_isBandIdschanged","_getTextureSamplingMethod","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","bandIds","_colormap"],"mappings":"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","file":"js/chunk-f3250802.303c16d8.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{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../core/Logger.js\";import\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/set.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";import{BitmapTileContainer as t}from\"../engine/BitmapTileContainer.js\";const r=r=>{let s=class extends r{attach(){this.view.timeline.record(`${this.layer.title} (BitmapTileLayer) Attach`),this._bitmapView=new t(this._tileInfoView),this.container.addChild(this._bitmapView)}detach(){this.container.removeChild(this._bitmapView),this._bitmapView?.removeAllChildren()}};return s=e([i(\"esri.views.2d.layers.BitmapTileLayerView2D\")],s),s};export{r as BitmapTileLayerView2D};\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*/\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{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import e from\"../../core/Error.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import l from\"../../core/Logger.js\";import{isNone as r}from\"../../core/maybe.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{cast as o}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";var n;const p=l.getLogger(\"esri.layers.support.PixelBlock\");let c=n=class extends s{constructor(t){super(t),this.width=null,this.height=null,this.pixelType=\"f32\",this.validPixelCount=null,this.mask=null,this.maskIsAlpha=!1,this.pixels=null,this.statistics=null}static createEmptyBand(t,e){return new(n.getPixelArrayConstructor(t))(e)}static getPixelArrayConstructor(t){let e;switch(t){case\"u1\":case\"u2\":case\"u4\":case\"u8\":e=Uint8Array;break;case\"u16\":e=Uint16Array;break;case\"u32\":e=Uint32Array;break;case\"s8\":e=Int8Array;break;case\"s16\":e=Int16Array;break;case\"s32\":e=Int32Array;break;case\"f32\":case\"c64\":case\"c128\":case\"unknown\":e=Float32Array;break;case\"f64\":e=Float64Array}return e}castPixelType(t){if(!t)return\"f32\";let e=t.toLowerCase();return[\"u1\",\"u2\",\"u4\"].includes(e)?e=\"u8\":[\"unknown\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"].includes(e)||(e=\"f32\"),e}getPlaneCount(){return this.pixels&&this.pixels.length}addData(t){if(!t.pixels||t.pixels.length!==this.width*this.height)throw new e(\"pixelblock:invalid-or-missing-pixels\",\"add data requires valid pixels array that has same length defined by pixel block width * height\");this.pixels||(this.pixels=[]),this.statistics||(this.statistics=[]),this.pixels.push(t.pixels),this.statistics.push(t.statistics||{minValue:null,maxValue:null})}getAsRGBA(){const t=new ArrayBuffer(this.width*this.height*4);switch(this.pixelType){case\"s8\":case\"s16\":case\"u16\":case\"s32\":case\"u32\":case\"f32\":case\"f64\":this._fillFromNon8Bit(t);break;default:this._fillFrom8Bit(t)}return new Uint8ClampedArray(t)}getAsRGBAFloat(){const t=new Float32Array(this.width*this.height*4);return this._fillFrom32Bit(t),t}updateStatistics(){this.statistics=this.pixels.map((t=>this._calculateBandStatistics(t,this.mask)));const t=this.mask;let e=0;if(t)for(let s=0;si?i:ht>=this.pixels.length)),i=e===t.length&&!t.some(((t,e)=>t!==e));return s||i?this:new n({pixelType:this.pixelType,width:this.width,height:this.height,mask:this.mask,validPixelCount:this.validPixelCount,maskIsAlpha:this.maskIsAlpha,pixels:t.map((t=>this.pixels[t])),statistics:this.statistics&&t.map((t=>this.statistics[t]))})}clone(){const t=new n({width:this.width,height:this.height,pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});let e;this.mask&&(this.mask instanceof Uint8Array?t.mask=new Uint8Array(this.mask):t.mask=this.mask.slice(0));const s=n.getPixelArrayConstructor(this.pixelType);if(this.pixels&&this.pixels.length>0){t.pixels=[];const i=this.pixels[0].slice;for(e=0;e=3?(r=i[1],a=i[2]):2===i.length&&(r=i[1]);const h=new Uint32Array(t),n=this.width*this.height;if(l.length===n)if(e&&e.length===n)if(s)for(o=0;o0)a=i.map((t=>t.minValue)).reduce(((t,e)=>Math.min(t,e))),o=i.map((t=>t.maxValue-t.minValue)).reduce(((t,e)=>Math.max(t,e))),r=255/o;else{let t=255;\"s8\"===l?(a=-128,t=127):\"u16\"===l?t=65535:\"s16\"===l?(a=-32768,t=32767):\"u32\"===l?t=4294967295:\"s32\"===l?(a=-2147483648,t=2147483647):\"f32\"===l?(a=-34e38,t=34e38):\"f64\"===l&&(a=-Number.MAX_VALUE,t=Number.MAX_VALUE),r=255/(t-a)}const h=new Uint32Array(t),n=this.width*this.height;let c,u,m,x,f;if(c=u=m=e[0],c.length!==n)return p.error(\"getAsRGBA()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");if(e.length>=2)if(u=e[1],e.length>=3&&(m=e[2]),s&&s.length===n)for(x=0;x=3?(l=e[1],r=e[2]):2===e.length&&(l=e[1]);const o=this.width*this.height;if(i.length!==o)return p.error(\"getAsRGBAFloat()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");let h=0;if(s&&s.length===o)for(a=0;ai?a:i);else for(r=0;ri?a:i;return{minValue:s,maxValue:i}}};t([a({json:{write:!0}})],c.prototype,\"width\",void 0),t([a({json:{write:!0}})],c.prototype,\"height\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixelType\",void 0),t([o(\"pixelType\")],c.prototype,\"castPixelType\",null),t([a({json:{write:!0}})],c.prototype,\"validPixelCount\",void 0),t([a({json:{write:!0}})],c.prototype,\"mask\",void 0),t([a({json:{write:!0}})],c.prototype,\"maskIsAlpha\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixels\",void 0),t([a({json:{write:!0}})],c.prototype,\"statistics\",void 0),c=n=t([h(\"esri.layers.support.PixelBlock\")],c);const u=c;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 e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Logger.js\";import{isAbortError as i}from\"../../../core/promiseUtils.js\";import{watch as s}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 a}from\"../../../core/accessorSupport/decorators/subclass.js\";import{equals as l}from\"../../../geometry/support/spatialReferenceUtils.js\";import{BitmapTileLayerView2D as o}from\"./BitmapTileLayerView2D.js\";import{LayerView2DMixin as h}from\"./LayerView2D.js\";import{resampleImage as c}from\"./support/imageUtils.js\";import n from\"../tiling/TileInfoView.js\";import u from\"../tiling/TileKey.js\";import f from\"../tiling/TileQueue.js\";import p from\"../tiling/TileStrategy.js\";import m from\"../../layers/LayerView.js\";import d from\"../../layers/RefreshableLayerView.js\";const y=[102113,102100,3857,3785,900913],_=[0,0],w=t.getLogger(\"esri.views.2d.layers.WMTSLayerView2D\");let g=class extends(d(o(h(m)))){constructor(){super(...arguments),this._tileStrategy=null,this._fetchQueue=null,this._tileRequests=new Map,this.layer=null}get tileMatrixSet(){const e=this._getTileMatrixSetBySpatialReference(this.layer.activeLayer);return e?(e.id!==this.layer.activeLayer.tileMatrixSetId&&(this.layer.activeLayer.tileMatrixSetId=e.id),e):null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume()}attach(){if(!this.tileMatrixSet)return;const{tileInfo:e}=this.tileMatrixSet;this._tileInfoView=new n(e),this._fetchQueue=new f({tileInfoView:this._tileInfoView,concurrency:16,process:(e,t)=>this.fetchTile(e,t)}),this._tileStrategy=new p({cachePolicy:\"keep\",resampling:!0,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),this.handles.add(s((()=>[this.layer?.activeLayer?.styleId,this.tileMatrixSet]),(()=>this._refresh())),this.declaredClass),super.attach()}detach(){super.detach(),this.handles.remove(this.declaredClass),this._tileStrategy?.destroy(),this._fetchQueue?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=null}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once(\"detach\",(()=>e.destroy())),this.requestUpdate()}acquireTile(e){const t=this._bitmapView.createTile(e),i=t.bitmap;return[i.x,i.y]=this._tileInfoView.getTileCoords(_,t.key),i.resolution=this._tileInfoView.getTileResolution(t.key),[i.width,i.height]=this._tileInfoView.tileInfo.size,this._enqueueTileFetch(t),this._bitmapView.addChild(t),this.requestUpdate(),t}async doRefresh(){this.updateRequested||this.suspended||this._refresh()}isUpdating(){return this._fetchQueue?.updating??!1}async fetchTile(e,t={}){const s=\"tilemapCache\"in this.layer?this.layer.tilemapCache:null,{signal:r,resamplingLevel:a=0}=t;if(!s)return this._fetchImage(e,r);const l=new u(0,0,0,0);let o;try{await s.fetchAvailabilityUpsample(e.level,e.row,e.col,l,{signal:r}),o=await this._fetchImage(l,r)}catch(h){if(i(h))throw h;if(a<3){const i=this._tileInfoView.getTileParentId(e.id);if(i){const s=new u(i),r=await this.fetchTile(s,{...t,resamplingLevel:a+1});return c(this._tileInfoView,r,s,e)}}throw h}return c(this._tileInfoView,o,l,e)}canResume(){const e=super.canResume();return e?null!==this.tileMatrixSet:e}supportsSpatialReference(e){return this.layer.activeLayer.tileMatrixSets.some((t=>l(t.tileInfo.spatialReference,e)))}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const t=await this._fetchQueue.push(e.key);e.bitmap.source=t,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once(\"attach\",(()=>this.requestUpdate()))}catch(t){i(t)||w.error(t)}this.requestUpdate()}}async _fetchImage(e,t){return this.layer.fetchTile(e.level,e.row,e.col,{signal:t})}_refresh(){this._fetchQueue.reset(),this._tileStrategy.tiles.forEach((e=>{if(!e.bitmap.source)return;const t={id:e.key.id,fulfilled:!1,promise:this._fetchQueue.push(e.key).then((t=>{e.bitmap.source=t})).catch((t=>{i(t)||(e.bitmap.source=null)})).finally((()=>{e.requestRender(),t.fulfilled=!0}))};this._tileRequests.set(e,t)}))}_getTileMatrixSetBySpatialReference(e){const t=this.view.spatialReference;if(!e.tileMatrixSets)return null;let i=e.tileMatrixSets.find((e=>l(e.tileInfo.spatialReference,t)));return!i&&t.isWebMercator&&(i=e.tileMatrixSets.find((e=>y.includes(e.tileInfo.spatialReference.wkid)))),i}};e([r()],g.prototype,\"_fetchQueue\",void 0),e([r({readOnly:!0})],g.prototype,\"tileMatrixSet\",null),g=e([a(\"esri.views.2d.layers.WMTSLayerView2D\")],g);const S=g;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*/\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,isNone as t}from\"../../../core/maybe.js\";class i{constructor(e,t,i){this.pixelBlock=e,this.extent=t,this.originalPixelBlock=i}get width(){return e(this.pixelBlock)?this.pixelBlock.width:0}get height(){return e(this.pixelBlock)?this.pixelBlock.height:0}render(e){const i=this.pixelBlock;if(t(i))return;const l=this.filter({pixelBlock:i});if(t(l.pixelBlock))return;const r=l.pixelBlock.getAsRGBA(),o=e.createImageData(l.pixelBlock.width,l.pixelBlock.height);o.data.set(r),e.putImageData(o,0,0)}getRenderedRasterPixels(){const e=this.filter({pixelBlock:this.pixelBlock});return t(e.pixelBlock)?null:{width:e.pixelBlock.width,height:e.pixelBlock.height,renderedRasterPixels:new Uint8Array(e.pixelBlock.getAsRGBA().buffer)}}}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 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{isSome as t,isNone as e}from\"../../../core/maybe.js\";import n from\"../PixelBlock.js\";function i(e){return t(e)&&\"esri.layers.support.PixelBlock\"===e.declaredClass&&e.pixels&&e.pixels.length>0}function l(t,e){if(!e?.length||!i(t))return t;const l=t.pixels.length;return e&&e.some((t=>t>=l))||1===l&&1===e.length&&0===e[0]?t:l!==e.length||e.some(((t,e)=>t!==e))?new n({pixelType:t.pixelType,width:t.width,height:t.height,mask:t.mask,validPixelCount:t.validPixelCount,maskIsAlpha:t.maskIsAlpha,pixels:e.map((e=>t.pixels[e])),statistics:t.statistics&&e.map((e=>t.statistics[e]))}):t}function o(t){if(!t)return;const e=t.colormap;if(!e||0===e.length)return;const n=e.sort(((t,e)=>t[0]-e[0]));let i=0;n[0][0]<0&&(i=n[0][0]);const l=Math.max(256,n[n.length-1][0]-i+1),o=new Uint8Array(4*l),r=[];let s,a=0,h=0;const f=5===n[0].length;if(l>65536)return n.forEach((t=>{r[t[0]-i]=f?t.slice(1):t.slice(1).concat([255])})),{indexed2DColormap:r,offset:i,alphaSpecified:f};if(t.fillUnspecified)for(s=n[h],a=s[0]-i;ac?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]));else{for(o=new Uint8Array(r),u=0;uc?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]);n.mask=o}else if(o)for(u=0;ua)));const u=[];let p,x,m;if(h)if(null==o)for(f=0;f1;){if(f===c.value){d=!0;break}f>c.value?u=m:p=m,m=Math.floor((u+p)/2),c=e[Math.floor(m)]}d||(f===e[u].value?(c=e[u],d=!0):f===e[p].value?(c=e[p],d=!0):fe[u].value&&(ft.pixelBlock));if(!i||e(i.pixelBlock))return null;const l=(i.extent.xmax-i.extent.xmin)/i.pixelBlock.width,o=(i.extent.ymax-i.extent.ymin)/i.pixelBlock.height,r=.01*Math.min(l,o),s=t.sort(((t,e)=>Math.abs(t.extent.ymax-e.extent.ymax)>r?e.extent.ymax-t.extent.ymax:Math.abs(t.extent.xmin-e.extent.xmin)>r?t.extent.xmin-e.extent.xmin:0)),a=Math.min.apply(null,s.map((t=>t.extent.xmin))),h=Math.min.apply(null,s.map((t=>t.extent.ymin))),f=Math.max.apply(null,s.map((t=>t.extent.xmax))),c=Math.max.apply(null,s.map((t=>t.extent.ymax))),p={x:Math.round((n.xmin-a)/l),y:Math.round((c-n.ymax)/o)},x={width:Math.round((f-a)/l),height:Math.round((c-h)/o)},m={width:Math.round((n.xmax-n.xmin)/l),height:Math.round((n.ymax-n.ymin)/o)};if(Math.round(x.width/i.pixelBlock.width)*Math.round(x.height/i.pixelBlock.height)!==s.length||p.x<0||p.y<0||x.widtht.pixelBlock)),x,{clipOffset:p,clipSize:m})}}function c(t,e,n,i,l,o){const{width:r,height:s}=n.block,{x:a,y:f}=n.offset,{width:c,height:u}=n.mosaic,p=h(r,s,i,l,a,f,c,u);let x=0,m=0;if(o){const t=o.hasGCSSShiftTransform?360:o.halfWorldWidth,e=r*o.resolutionX,n=o.startX+i*e,l=n+e;nt?m=o.rightPadding:n>=t&&(x=o.leftMargin-o.rightPadding,m=0)}if(p.xmax-=m,\"number\"!=typeof e)for(let h=p.ymin;hi(t)));if(e(u))return null;const x=a?a.width:o.width,m=a?a.height:o.height,d=u.width,y=u.height,g=o.width/d,w=o.height/y,k={offset:s||{x:0,y:0},mosaic:a||o,block:{width:d,height:y}},M=u.pixelType,A=n.getPixelArrayConstructor(M),U=u.pixels.length,C=[];let T,S;for(let t=0;te(t)||t.mask&&t.mask.length>0))){B=new Uint8Array(x*m);for(let e=0;et(e)));if(e(s))return null;const a=l.some((e=>!t(e)||!!e.mask)),{width:h,height:f}=o,c=a?new Uint8Array(h*f):null,{blockWidths:u}=r,p=[],x=s.getPlaneCount(),m=n.getPixelArrayConstructor(s.pixelType);if(a)for(let t=0,e=0;tl||h>o)return t;if(0===r&&0===s&&a===l&&h===o)return t;t.mask||(t.mask=new Uint8Array(l*o));const f=t.mask;for(let i=0;i=h||e=a?0:1}return t.updateStatistics(),t}function m(t){if(!i(t))return null;const e=t.clone(),{width:n,height:l,pixels:o,mask:r}=t,s=o[0],a=e.pixels[0];for(let i=2;ie&&(n=o.value,e=i),o=l.next();return n}function y(t,e,n){if(0===n)return;const i=t.get(e);1===i?t.delete(e):t.set(e,i-1)}function g(t,e,n){0!==n&&t.set(e,t.has(e)?t.get(e)+1:1)}function w(t,e,l){let{x:o,y:r}=e;const{width:s,height:a}=l;if(0===o&&0===r&&a===t.height&&s===t.width)return t;const{width:h,height:f}=t,c=Math.max(0,r),u=Math.max(0,o),p=Math.min(o+s,h),x=Math.min(r+a,f);if(p<0||x<0||!i(t))return null;o=Math.max(0,-o),r=Math.max(0,-r);const{pixels:m,mask:d}=t,y=s*a,g=m.length,w=[];for(let i=0;i{const i=t instanceof Float32Array||t instanceof Float64Array?0:.5;for(let l=0;l 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{isSome as t}from\"../../../core/maybe.js\";import{b as e,c as i,r as s,j as r,m as h}from\"../../../chunks/mat3.js\";import{c as n}from\"../../../chunks/mat3f32.js\";import{f as o}from\"../../../chunks/vec2f32.js\";import{DisplayObject as u}from\"./DisplayObject.js\";import a from\"./ImageryBitmapSource.js\";import{TextureType as d,PixelFormat as c,PixelType as l,TextureWrapMode as _}from\"../../webgl/enums.js\";import{Texture as x}from\"../../webgl/Texture.js\";function m(t){return t&&\"render\"in t}function g(t){return t&&!(\"render\"in t)}function p(t){const e=document.createElement(\"canvas\");return e.width=t.width,e.height=t.height,t.render(e.getContext(\"2d\")),e}function f(t,e,i){const s={target:d.TEXTURE_2D,pixelFormat:c.RGBA,internalFormat:c.RGBA,dataType:l.UNSIGNED_BYTE,wrapMode:_.CLAMP_TO_EDGE};return e&&i&&(s.width=e,s.height=i),new x(t,s)}class v extends u{constructor(t=null,e,i=!0){super(),this.requestRenderOnSourceChangedEnabled=i,this._textureInvalidated=!0,this.stencilRef=0,this.coordScale=[1,1],this._height=void 0,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this._width=void 0,this.x=0,this.y=0,this.blendFunction=e,this.source=t,this.requestRender=this.requestRender.bind(this)}destroy(){this._texture&&(this._texture.dispose(),this._texture=null)}get isSourceScaled(){return this.width!==this.sourceWidth||this.height!==this.sourceHeight}get height(){return void 0!==this._height?this._height:this.sourceHeight}set height(t){this._height=t}get source(){return this._source}set source(t){this._source=t,this.invalidateTexture()}get sourceHeight(){return this._source instanceof HTMLImageElement?this._source.naturalHeight:this._source.height}get sourceWidth(){return this._source instanceof HTMLImageElement?this._source.naturalWidth:this._source.width}get width(){return void 0!==this._width?this._width:this.sourceWidth}set width(t){this._width=t}beforeRender(t){super.beforeRender(t),this.updateTexture(t.context)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRenderOnSourceChangedEnabled&&this.requestRender())}_createTransforms(){return{dvs:n()}}setTransform(t){const n=e(this.transforms.dvs),[u,a]=t.toScreenNoRotation([0,0],[this.x,this.y]),d=this.resolution/this.pixelRatio/t.resolution,c=d*this.width,l=d*this.height,_=Math.PI*this.rotation/180;i(n,n,o(u,a)),i(n,n,o(c/2,l/2)),s(n,n,-_),i(n,n,o(-c/2,-l/2)),r(n,n,o(c,l)),h(this.transforms.dvs,t.displayViewMat3,n)}setSamplingProfile(t){this._texture&&(t.mips&&!this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._texture.setSamplingMode(t.samplingMode))}bind(t,e){this._texture&&t.bindTexture(this._texture,e)}updateTexture(e){if(!this.stage)return this._texture?.dispose(),void(this._texture=null);if(!this._textureInvalidated)return;this._textureInvalidated=!1,this._texture||(this.source?this._texture=f(e,this.sourceWidth,this.sourceHeight):this._texture=f(e));const i=this.source;if(i){if(this._texture.resize(this.sourceWidth,this.sourceHeight),m(i))if(i instanceof a){const e=i.getRenderedRasterPixels();this._texture.setData(t(e)?e.renderedRasterPixels:null)}else this._texture.setData(p(i));else g(i)&&this._texture.setData(i);this.ready()}else this._texture.setData(null)}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}}export{v as Bitmap,m as isImageSource,p as rasterize};\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*/\nfunction e(e){return e instanceof HTMLImageElement?e.naturalWidth:e.width}function t(e){return e instanceof HTMLImageElement?e.naturalHeight:e.height}function n(n,l,r,u){if(r.level===u.level)return l;const i=n.tileInfo.size,a=n.getTileResolution(r.level),c=n.getTileResolution(u.level);let g=n.getLODInfoAt(u.level);const h=g.getXForColumn(u.col),d=g.getYForRow(u.row);g=n.getLODInfoAt(r.level);const f=g.getXForColumn(r.col),s=g.getYForRow(r.row),m=e(l)/i[0],v=t(l)/i[1],w=Math.round(m*((h-f)/a)),I=Math.round(v*(-(d-s)/a)),M=Math.round(m*i[0]*(c/a)),F=Math.round(v*i[1]*(c/a)),L=o(i);return L.getContext(\"2d\").drawImage(l,w,I,M,F,0,0,i[0],i[1]),L}function o(e){const t=document.createElement(\"canvas\");return[t.width,t.height]=e,t}export{o as createBlankImage,n as resampleImage};\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{c as t}from\"../../../chunks/mat3f32.js\";import{Bitmap as e}from\"./Bitmap.js\";import{TiledDisplayObject as s}from\"./webgl/TiledDisplayObject.js\";class r extends s{constructor(t,s,r,i,a,n=null){super(t,s,r,i,a),this.bitmap=new e(n,\"standard\",!1),this.bitmap.coordScale=[i,a],this.bitmap.once(\"isReady\",(()=>this.ready()))}destroy(){super.destroy(),this.bitmap.destroy()}beforeRender(t){super.beforeRender(t),this.bitmap.beforeRender(t)}afterRender(t){super.afterRender(t),this.bitmap.afterRender(t)}set stencilRef(t){this.bitmap.stencilRef=t}get stencilRef(){return this.bitmap.stencilRef}_createTransforms(){return{dvs:t(),tileMat3:t()}}setTransform(t,e){super.setTransform(t,e),this.bitmap.transforms.dvs=this.transforms.dvs}onAttach(){this.bitmap.stage=this.stage}onDetach(){this.bitmap&&(this.bitmap.stage=null)}}export{r as BitmapTile};\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{BitmapTile as r}from\"./BitmapTile.js\";import{brushes as s}from\"./brushes.js\";import{WGLDrawPhase as t}from\"./webgl/enums.js\";import i from\"./webgl/TileContainer.js\";class n extends i{get requiresDedicatedFBO(){return this.children.some((e=>\"additive\"===e.bitmap.blendFunction))}createTile(s){const t=this._tileInfoView.getTileBounds(e(),s),[i,n]=this._tileInfoView.tileInfo.size;return new r(s,t[0],t[3],i,n)}prepareRenderPasses(e){const r=e.registerRenderPass({name:\"bitmap (tile)\",brushes:[s.bitmap],target:()=>this.children.map((e=>e.bitmap)),drawPhase:t.MAP});return[...super.prepareRenderPasses(e),r]}doRender(e){this.visible&&e.drawPhase===t.MAP&&super.doRender(e)}}export{n as BitmapTileContainer};\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":""}