{"version":3,"file":"7764.4edf09c156a31c3e344d.js","mappings":"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","sources":["webpack://wingismaps/./node_modules/@arcgis/core/chunks/earcut.js","webpack://wingismaps/./node_modules/@arcgis/core/chunks/vec4f32.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushOverlay.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushDotDensity.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/vectorTiles/decluttering/config.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/Utils.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/alignmentUtils.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack://wingismaps/./node_modules/@arcgis/core/views/webgl/heatmapTextureUtils.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/color.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/effects/Effect.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/enums.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/materialKey/MaterialKey.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/number.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/techniques/Technique.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/techniques/dotDensity/TechniqueDotDensity.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/techniques/heatmap/TechniqueHeatmap.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/techniques/pieChart/TechniquePieChart.js","webpack://wingismaps/./node_modules/@arcgis/core/views/2d/engine/webgl/techniques/utils.js","webpack://wingismaps/./node_modules/@arcgis/core/views/webgl/capabilities/isWebGL2Context.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{g as e}from\"./_commonjsHelpers.js\";var n,t,r,x={exports:{}};x.exports,n=x,t=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===C(e,n,t,r)>0)for(i=n;i=n;i-=r)u=q(i,e[i],e[i+1],u);if(u&&m(u,u.next)){var v=u.next;A(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(A(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),A(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)&&M(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),A(x),A(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=_(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)&&H(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 M(e,n,t,r){var x=b(w(e,n,t)),i=b(w(e,n,r)),u=b(w(t,r,e)),v=b(w(t,r,n));return x!==i&&u!==v||!(0!==x||!z(e,t,n))||!(0!==i||!z(e,r,n))||!(0!==u||!z(t,e,r))||!(0!==v||!z(t,n,r))}function z(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 b(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&&M(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 H(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 _(e,n){var t=new B(e.i,e.x,e.y),r=new B(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 q(e,n,t,r){var x=new B(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 A(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 B(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 C(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!==(r=t())&&(n.exports=r);const i=e(x.exports);export{i as e};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/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,ONES:l,UNIT_W:N,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,ZEROS:f,clone:t,create:n,createView:e,fromValues:r,ones:o,unitW:i,unitX:u,unitY:s,unitZ:c,zeros:a},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,n as a,e as b,t 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.28/esri/copyright.txt for details.\n*/\nimport{f as e}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import t from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as o,CompareFunction as a,PrimitiveType as i,DataType as n}from\"../../../../webgl/enums.js\";import{createProgram as m}from\"../../../../webgl/ProgramTemplate.js\";const l=()=>r(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT}]});class p extends t{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:e}){e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setFaceCullingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(o.KEEP,o.KEEP,o.REPLACE),e.setStencilWriteMask(255),e.setStencilFunction(a.ALWAYS,0,255)}draw(e,r){const{context:t,state:o,requestRender:a,allowDelayedRender:p}=e,c=l(),d=r.getVAO(t,o,c.attributes,c.bufferLayouts);null!=d.indexBuffer&&(this._program||(this._program=m(t,s)),!p||null==a||this._program.compiled?(t.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",o.displayMat3),t.bindVAO(d),t.drawElements(i.TRIANGLES,d.indexBuffer.size,n.UNSIGNED_INT,0),t.bindVAO()):a())}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{textureBindingBitmap as e}from\"../definitions.js\";import{createProgramDescriptor as t}from\"../Utils.js\";import r from\"./WGLBrush.js\";import{BlendFactor as s,CompareFunction as n,PrimitiveType as o,DataType as a}from\"../../../../webgl/enums.js\";const i=()=>t(\"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 u extends r{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(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(t,r){const{context:s,painter:n,requestRender:a,allowDelayedRender:u}=t;if(!r.isReady)return;const{computedOpacity:c,dvsMat3:l,isWrapAround:d,perspectiveTransform:m,texture:p}=r;t.timeline.begin(this.name);const f=n.materialManager.getProgram(this._desc);if(u&&null!=a&&!f.compiled)return void a();const _=i(),v=r.getVAO(s,_.bufferLayouts,_.attributes);if(!v)return;s.bindVAO(v),s.useProgram(f),s.bindTexture(p,e),f.setUniformMatrix3fv(\"u_dvsMat3\",l),f.setUniform1i(\"u_texture\",e),f.setUniform1f(\"u_opacity\",c),f.setUniform2fv(\"u_perspective\",m);const y=d?10:4;s.drawArrays(o.TRIANGLE_STRIP,0,y),s.bindVAO(),t.timeline.end(this.name)}}export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{maxRepresentableInt as e,tileSize as t}from\"../definitions.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 l,DataType as m}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:m.SHORT},{location:1,name:\"a_id\",count:3,type:m.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:m.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:m.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:m.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:m.SHORT},{location:6,name:\"a_aux3\",count:4,type:m.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:m.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,m){const{context:c,painter:f,rendererInfo:p,requiredLevel:y,passOptions:_,requestRender:d,allowDelayedRender:E}=o,g=n.load(i.materialKey),N=s(g.data),S=null!=_&&\"hittest\"===_.type,T=f.materialManager,{shader:I,vertexLayout:U,hittestAttributes:x}=N.programSpec??u(g);let h=l.TRIANGLES,L=a(g.data,U);S&&(L=this._getTriangleDesc(i.materialKey,L,x),h=l.POINTS);const{attributes:O,bufferLayouts:G}=L,D=T.getMaterialProgram(o,g,I,O,m);if(E&&null!=d&&!D.compiled)return void d();c.useProgram(D),this._setSharedUniforms(D,o,r);const{row:b,col:R}=r.key,M=R*t,w=b*t;if(D.setUniform2f(\"u_tileOffset\",M%e,w%e),D.setUniform2f(\"u_maxIntNumOfCrossing\",Math.floor(M/e),Math.floor(w/e)),g.textureBinding){f.textureManager.bindTextures(c,D,g);const e=1/2**(y-r.key.level);D.setUniform1f(\"u_zoomFactor\",e)}const j=1/o.pixelRatio;D.setUniform1f(\"u_blur\",j),D.setUniform1f(\"u_antialiasing\",j),this._setSizeVVUniforms(g,D,p,r),this._setColorAndOpacityVVUniforms(g,D,p);const B=i.target.getVAO(c,G,O,S);let A=i.indexCount,F=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;S&&(A/=3,F/=3),c.bindVAO(B),this._drawFills(o,r,D,h,A,F)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,m.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{WGLSymbologyType as o}from\"../enums.js\";import r from\"./WGLGeometryBrushMarker.js\";import{assertRendererSchema as e}from\"../techniques/utils.js\";import{DataType as t}from\"../../../../webgl/enums.js\";class s extends r{supportsSymbology(r){return r===o.PIE_CHART}_drawMarkers(o,r,s,n,l,f,u){const{context:i}=o,{rendererInfo:m}=o,{rendererSchema:a}=m;e(a,\"pie-chart\"),s.setUniform4fv(\"u_colors\",a.colors),s.setUniform4fv(\"u_defaultColor\",a.defaultColor),s.setUniform4fv(\"u_othersColor\",a.othersColor),s.setUniform4fv(\"u_outlineColor\",a.outlineColor),s.setUniform1f(\"u_donutRatio\",a.holePercentage),s.setUniform1f(\"u_sectorThreshold\",a.sectorThreshold),s.setUniform1f(\"u_outlineWidth\",a.outlineWidth),i.drawElements(n,l,t.UNSIGNED_INT,f)}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{nextPowerOfTwo as t}from\"../../../../../core/mathUtils.js\";import{c as e}from\"../../../../../chunks/mat3f32.js\";import{f as r}from\"../../../../../chunks/vec4f32.js\";import{vtlTextureBindingUnitSprites as o,vtlHighResCutoff as i}from\"../definitions.js\";import{WGLDrawPhase as s}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import n from\"./WGLBrush.js\";import{BufferObject as c}from\"../../../../webgl/BufferObject.js\";import{TextureSamplingMode as l,CompareFunction as m,PrimitiveType as f,Usage as u}from\"../../../../webgl/enums.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";class _ extends n{constructor(){super(...arguments),this._color=r(1,0,0,1),this._patternMatrix=e(),this._programOptions={id:!1,pattern:!1}}dispose(){this._vao&&(this._vao.dispose(),this._vao=null)}drawMany(e,r){const{context:n,painter:c,styleLayerUID:u,requestRender:p,allowDelayedRender:_}=e;this._loadWGLResources(e);const d=e.displayLevel,h=e.styleLayer,g=h.backgroundMaterial,v=c.vectorTilesMaterialManager,y=h.getPaintValue(\"background-color\",d),b=h.getPaintValue(\"background-opacity\",d),x=h.getPaintValue(\"background-pattern\",d),M=void 0!==x,j=y[3]*b,U=1|window.devicePixelRatio,w=e.spriteMosaic;let L,A;const P=U>i?2:1,I=e.drawPhase===s.HITTEST,R=this._programOptions;R.id=I,R.pattern=M;const k=v.getMaterialProgram(n,g,R);if(!_||null==p||k.compiled){if(n.bindVAO(this._vao),n.useProgram(k),M){const t=w.getMosaicItemPosition(x,!0);if(null!=t){const{tl:e,br:r,page:i}=t;L=r[0]-e[0],A=r[1]-e[1];const s=w.getPageSize(i);null!=s&&(w.bind(n,l.LINEAR,i,o),k.setUniform4f(\"u_tlbr\",e[0],e[1],r[0],r[1]),k.setUniform2fv(\"u_mosaicSize\",s),k.setUniform1i(\"u_texture\",o))}k.setUniform1f(\"u_opacity\",b)}else this._color[0]=j*y[0],this._color[1]=j*y[1],this._color[2]=j*y[2],this._color[3]=j,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",h.z||0),I){const t=a(u+1);k.setUniform4fv(\"u_id\",t)}for(const e of r){if(k.setUniform1f(\"u_coord_range\",e.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),M){const r=Math.max(2**(Math.round(d)-e.key.level),1),o=P*e.width*r,i=o/t(L),s=o/t(A);this._patternMatrix[0]=i,this._patternMatrix[4]=s,k.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}n.setStencilFunction(m.EQUAL,0,255),n.drawArrays(f.TRIANGLE_STRIP,0,4)}}else p()}_loadWGLResources(t){if(this._vao)return;const{context:e,styleLayer:r}=t,o=r.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=c.createVertex(e,u.STATIC_DRAW,i),a=new p(e,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{_ as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{TranslateAnchor as e}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as t}from\"../enums.js\";import{u32to4Xu8 as r}from\"../number.js\";import i from\"./WGLBrush.js\";import{CompareFunction as n,PrimitiveType as a,DataType as s}from\"../../../../webgl/enums.js\";class o extends i{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(i,o){const{context:l,displayLevel:c,requiredLevel:u,state:d,drawPhase:f,painter:m,spriteMosaic:p,styleLayerUID:y,requestRender:v,allowDelayedRender:g}=i;if(!o.some((e=>e.layerData.get(y)?.circleIndexCount??!1)))return;const E=i.styleLayer,M=E.circleMaterial,T=m.vectorTilesMaterialManager,I=1.2,U=E.getPaintValue(\"circle-translate\",c),_=E.getPaintValue(\"circle-translate-anchor\",c),x=f===t.HITTEST,R=this._programOptions;R.id=x;const h=T.getMaterialProgram(l,M,R);if(g&&null!=v&&!h.compiled)return void v();l.useProgram(h),h.setUniformMatrix3fv(\"u_displayMat3\",_===e.VIEWPORT?d.displayMat3:d.displayViewMat3),h.setUniform2fv(\"u_circleTranslation\",U),h.setUniform1f(\"u_depth\",E.z),h.setUniform1f(\"u_antialiasingWidth\",I);let D=-1;if(x){const e=r(y+1);h.setUniform4fv(\"u_id\",e)}for(const e of o){if(!e.layerData.has(y))continue;e.key.level!==D&&(D=e.key.level,M.setDataUniforms(h,c,E,D,p));const t=e.layerData.get(y);if(!t.circleIndexCount)continue;t.prepareForRendering(l);const r=t.vao;null!=r&&(l.bindVAO(r),h.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u!==e.key.level?l.setStencilFunction(n.EQUAL,e.stencilRef,255):l.setStencilFunction(n.GREATER,255,255),l.drawElements(a.TRIANGLES,t.circleIndexCount,s.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t.circleIndexStart),e.triangleCount+=t.circleIndexCount/3)}}}export{o as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{TranslateAnchor as t}from\"../../vectorTiles/style/StyleDefinition.js\";import{vtlTextureBindingUnitSprites as e,vtlHighResCutoff as i}from\"../definitions.js\";import{WGLDrawPhase as n}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import r from\"./WGLBrush.js\";import{TextureSamplingMode as l,CompareFunction as o,PrimitiveType as s,DataType as f}from\"../../../../webgl/enums.js\";const u=1/65536;class d extends r{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:l,spriteMosaic:o,styleLayerUID:s}=t;let f=!1;for(const n of e)if(n.layerData.has(s)){const t=n.layerData.get(s);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=o.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\"===l)return;let E;r===n.HITTEST&&(E=a(s+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==l)&&this._drawFill(t,s,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==l&&!P&&this._drawOutline(t,s,u,e,v,M,E)}_drawFill(a,r,d,c,m,p,y,g,_,E){if(y&&!_&&null==g)return;const{context:v,displayLevel:M,state:P,drawPhase:I,painter:T,pixelRatio:U,spriteMosaic:x,requestRender:D,allowDelayedRender:h}=a,S=d.fillMaterial,R=T.vectorTilesMaterialManager,w=U>i?2:1,N=I===n.HITTEST,L=this._fillProgramOptions;L.id=N,L.pattern=y;const A=R.getMaterialProgram(v,S,L);if(h&&null!=D&&!A.compiled)return void D();if(v.useProgram(A),null!=g){const{page:t}=g,i=x.getPageSize(t);null!=i&&(x.bind(v,l.LINEAR,t,e),A.setUniform2fv(\"u_mosaicSize\",i),A.setUniform1i(\"u_texture\",e))}A.setUniformMatrix3fv(\"u_displayMat3\",p===t.VIEWPORT?P.displayMat3:P.displayViewMat3),A.setUniform2fv(\"u_fillTranslation\",m),A.setUniform1f(\"u_depth\",d.z+u),N&&A.setUniform4fv(\"u_id\",E);let V=-1;for(const t of c){if(!t.layerData.has(r))continue;t.key.level!==V&&(V=t.key.level,S.setDataUniforms(A,M,d,V,x));const i=t.layerData.get(r);if(!i.fillIndexCount)continue;i.prepareForRendering(v);const n=i.fillVAO;if(null!=n){if(v.bindVAO(n),A.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),v.setStencilFunction(o.EQUAL,t.stencilRef,255),y){const e=Math.max(2**(Math.round(M)-t.key.level),1),i=t.rangeX/(w*t.width*e);A.setUniform1f(\"u_patternFactor\",i)}if(_){const t=i.patternMap;if(!t)continue;for(const[i,n]of t){const t=x.getPageSize(i);null!=t&&(x.bind(v,l.LINEAR,i,e),A.setUniform2fv(\"u_mosaicSize\",t),A.setUniform1i(\"u_texture\",e),v.drawElements(s.TRIANGLES,n[1],f.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else v.drawElements(s.TRIANGLES,i.fillIndexCount,f.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.fillIndexStart);t.triangleCount+=i.fillIndexCount/3}}}_drawOutline(e,i,a,r,l,d,c){const{context:m,displayLevel:p,state:y,drawPhase:g,painter:_,pixelRatio:E,spriteMosaic:v,requestRender:M,allowDelayedRender:P}=e,I=a.outlineMaterial,T=_.vectorTilesMaterialManager,U=.75/E,x=g===n.HITTEST,D=this._outlineProgramOptions;D.id=x;const h=T.getMaterialProgram(m,I,D);if(P&&null!=M&&!h.compiled)return void M();m.useProgram(h),h.setUniformMatrix3fv(\"u_displayMat3\",d===t.VIEWPORT?y.displayMat3:y.displayViewMat3),h.setUniform2fv(\"u_fillTranslation\",l),h.setUniform1f(\"u_depth\",a.z+u),h.setUniform1f(\"u_outline_width\",U),x&&h.setUniform4fv(\"u_id\",c);let S=-1;for(const t of r){if(!t.layerData.has(i))continue;t.key.level!==S&&(S=t.key.level,I.setDataUniforms(h,p,a,S,v));const e=t.layerData.get(i);if(e.prepareForRendering(m),!e.outlineIndexCount)continue;const n=e.outlineVAO;null!=n&&(m.bindVAO(n),h.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),m.setStencilFunction(o.EQUAL,t.stencilRef,255),m.drawElements(s.TRIANGLES,e.outlineIndexCount,f.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*e.outlineIndexStart),t.triangleCount+=e.outlineIndexCount/3)}}}export{d as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{TranslateAnchor as e}from\"../../vectorTiles/style/StyleDefinition.js\";import{vtlTextureBindingUnitSprites as t}from\"../definitions.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import a from\"./WGLBrush.js\";import{TextureSamplingMode as r,CompareFunction as o,PrimitiveType as s,DataType as l}from\"../../../../webgl/enums.js\";class f extends a{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(a,f){const{context:u,displayLevel:m,state:d,drawPhase:c,painter:p,pixelRatio:g,spriteMosaic:y,styleLayerUID:E,requestRender:v,allowDelayedRender:M}=a;if(!f.some((e=>e.layerData.get(E)?.lineIndexCount??!1)))return;const _=a.styleLayer,U=_.lineMaterial,I=p.vectorTilesMaterialManager,P=_.getPaintValue(\"line-translate\",m),T=_.getPaintValue(\"line-translate-anchor\",m),x=_.getPaintProperty(\"line-pattern\"),D=void 0!==x,S=D&&x.isDataDriven;let L,N;if(D&&!S){const e=x.getValue(m);L=y.getMosaicItemPosition(e)}let R=!1;if(!D){const e=_.getPaintProperty(\"line-dasharray\");if(N=void 0!==e,R=N&&e.isDataDriven,N&&!R){const t=e.getValue(m),i=_.getDashKey(t,_.getLayoutValue(\"line-cap\",m));L=y.getMosaicItemPosition(i)}}const V=1/g,h=c===i.HITTEST,w=this._programOptions;w.id=h,w.pattern=D,w.sdf=N;const A=I.getMaterialProgram(u,U,w);if(M&&null!=v&&!A.compiled)return void v();if(u.useProgram(A),A.setUniformMatrix3fv(\"u_displayViewMat3\",d.displayViewMat3),A.setUniformMatrix3fv(\"u_displayMat3\",T===e.VIEWPORT?d.displayMat3:d.displayViewMat3),A.setUniform2fv(\"u_lineTranslation\",P),A.setUniform1f(\"u_depth\",_.z),A.setUniform1f(\"u_antialiasing\",V),h){const e=n(E+1);A.setUniform4fv(\"u_id\",e)}if(L&&null!=L){const{page:e}=L,i=y.getPageSize(e);null!=i&&(y.bind(u,r.LINEAR,e,t),A.setUniform2fv(\"u_mosaicSize\",i),A.setUniform1i(\"u_texture\",t))}let j=-1;for(const e of f){if(!e.layerData.has(E))continue;e.key.level!==j&&(j=e.key.level,U.setDataUniforms(A,m,_,j,y));const i=2**(m-j)/g;A.setUniform1f(\"u_zoomFactor\",i);const n=e.layerData.get(E);if(!n.lineIndexCount)continue;n.prepareForRendering(u);const a=n.vao;if(null!=a){if(u.bindVAO(a),A.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u.setStencilFunction(o.EQUAL,e.stencilRef,255),S||R){const e=n.patternMap;if(!e)continue;for(const[i,n]of e){const e=y.getPageSize(i);null!=e&&(y.bind(u,r.LINEAR,i,t),A.setUniform2fv(\"u_mosaicSize\",e),A.setUniform1i(\"u_texture\",t),u.drawElements(s.TRIANGLES,n[1],l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else u.drawElements(s.TRIANGLES,n.lineIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.lineIndexStart);e.triangleCount+=n.lineIndexCount/3}}}}export{f as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{c as e,f as t}from\"../../../../../chunks/vec2f32.js\";import{fadeDuration as i}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as a,SymbolPlacement as r,TranslateAnchor as n}from\"../../vectorTiles/style/StyleDefinition.js\";import{vtlTextureBindingUnitSprites as s,vtlTextureBindingUnitGlyphs as o}from\"../definitions.js\";import{WGLDrawPhase as l}from\"../enums.js\";import{degToByte as f}from\"../GeometryUtils.js\";import{u32to4Xu8 as c}from\"../number.js\";import u from\"./WGLBrush.js\";import{TextureSamplingMode as p,PrimitiveType as m,DataType as d,CompareFunction as g}from\"../../../../webgl/enums.js\";const y=1/65536;class _ extends u{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=e()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let n;i===l.HITTEST&&(n=c(a+1)),this._drawIcons(e,r,t,n),this._drawText(e,r,t,n)}_drawIcons(e,t,o,c){const{context:u,displayLevel:p,drawPhase:m,painter:d,spriteMosaic:g,state:y,styleLayerUID:_,requestRender:h,allowDelayedRender:M}=e,P=t.iconMaterial,U=d.vectorTilesMaterialManager;let T,E=!1;for(const i of o)if(i.layerData.has(_)&&(T=i.layerData.get(_),T.iconPerPageElementsMap.size>0)){E=!0;break}if(!E)return;const S=t.getPaintValue(\"icon-translate\",p),v=t.getPaintValue(\"icon-translate-anchor\",p);let x=t.getLayoutValue(\"icon-rotation-alignment\",p);x===a.AUTO&&(x=t.getLayoutValue(\"symbol-placement\",p)===r.POINT?a.VIEWPORT:a.MAP);const D=x===a.MAP,I=t.getLayoutValue(\"icon-keep-upright\",p)&&D,R=T.isIconSDF,V=m===l.HITTEST,w=this._iconProgramOptions;w.id=V,w.sdf=R;const A=U.getMaterialProgram(u,P,w);if(M&&null!=h&&!A.compiled)return void h();u.useProgram(A),A.setUniformMatrix3fv(\"u_displayViewMat3\",x===a.MAP?y.displayViewMat3:y.displayMat3),A.setUniformMatrix3fv(\"u_displayMat3\",v===n.VIEWPORT?y.displayMat3:y.displayViewMat3),A.setUniform2fv(\"u_iconTranslation\",S),A.setUniform1f(\"u_depth\",t.z),A.setUniform1f(\"u_mapRotation\",f(y.rotation)),A.setUniform1f(\"u_keepUpright\",I?1:0),A.setUniform1f(\"u_level\",10*p),A.setUniform1i(\"u_texture\",s),A.setUniform1f(\"u_fadeDuration\",i/1e3),V&&A.setUniform4fv(\"u_id\",c);let L=-1;for(const i of o){if(!i.layerData.has(_))continue;if(i.key.level!==L&&(L=i.key.level,P.setDataUniforms(A,p,t,L,g)),T=i.layerData.get(_),0===T.iconPerPageElementsMap.size)continue;T.prepareForRendering(u),T.updateOpacityInfo();const a=T.iconVAO;if(null!=a){u.bindVAO(a),A.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),A.setUniform1f(\"u_time\",(performance.now()-T.lastOpacityUpdate)/1e3);for(const[t,a]of T.iconPerPageElementsMap)this._renderIconRange(e,A,a,t,i)}}}_renderIconRange(e,t,i,a,r){const{context:n,spriteMosaic:o}=e;this._spritesTextureSize[0]=o.getWidth(a)/4,this._spritesTextureSize[1]=o.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),o.bind(n,p.LINEAR,a,s),this._setStencilState(e,r),n.drawElements(m.TRIANGLES,i[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(e,s,c,u){const{context:p,displayLevel:m,drawPhase:d,glyphMosaic:g,painter:_,pixelRatio:h,spriteMosaic:M,state:P,styleLayerUID:U,requestRender:T,allowDelayedRender:E}=e,S=s.textMaterial,v=_.vectorTilesMaterialManager;let x,D=!1;for(const t of c)if(t.layerData.has(U)&&(x=t.layerData.get(U),x.glyphPerPageElementsMap.size>0)){D=!0;break}if(!D)return;const I=s.getPaintProperty(\"text-opacity\");if(I&&!I.isDataDriven&&0===I.getValue(m))return;const R=s.getPaintProperty(\"text-color\"),V=!R||R.isDataDriven||R.getValue(m)[3]>0,w=s.getPaintProperty(\"text-halo-width\"),A=s.getPaintProperty(\"text-halo-color\"),L=(!w||w.isDataDriven||w.getValue(m)>0)&&(!A||A.isDataDriven||A.getValue(m)[3]>0);if(!V&&!L)return;const O=24/8;let N=s.getLayoutValue(\"text-rotation-alignment\",m);N===a.AUTO&&(N=s.getLayoutValue(\"symbol-placement\",m)===r.POINT?a.VIEWPORT:a.MAP);const z=N===a.MAP,k=s.getLayoutValue(\"text-keep-upright\",m)&&z,b=d===l.HITTEST,G=.8*O/h;this._glyphTextureSize||(this._glyphTextureSize=t(g.width/4,g.height/4));const W=s.getPaintValue(\"text-translate\",m),j=s.getPaintValue(\"text-translate-anchor\",m),F=this._sdfProgramOptions;F.id=b;const B=v.getMaterialProgram(p,S,F);if(E&&null!=T&&!B.compiled)return void T();p.useProgram(B),B.setUniformMatrix3fv(\"u_displayViewMat3\",N===a.MAP?P.displayViewMat3:P.displayMat3),B.setUniformMatrix3fv(\"u_displayMat3\",j===n.VIEWPORT?P.displayMat3:P.displayViewMat3),B.setUniform2fv(\"u_textTranslation\",W),B.setUniform1f(\"u_depth\",s.z+y),B.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),B.setUniform1f(\"u_mapRotation\",f(P.rotation)),B.setUniform1f(\"u_keepUpright\",k?1:0),B.setUniform1f(\"u_level\",10*m),B.setUniform1i(\"u_texture\",o),B.setUniform1f(\"u_antialiasingWidth\",G),B.setUniform1f(\"u_fadeDuration\",i/1e3),b&&B.setUniform4fv(\"u_id\",u);let H=-1;for(const t of c){if(!t.layerData.has(U))continue;if(t.key.level!==H&&(H=t.key.level,S.setDataUniforms(B,m,s,H,M)),x=t.layerData.get(U),0===x.glyphPerPageElementsMap.size)continue;x.prepareForRendering(p),x.updateOpacityInfo();const i=x.textVAO;if(null==i)continue;p.bindVAO(i),B.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._setStencilState(e,t);const a=(performance.now()-x.lastOpacityUpdate)/1e3;B.setUniform1f(\"u_time\",a),x.glyphPerPageElementsMap.forEach(((e,i)=>{this._renderGlyphRange(p,e,i,g,B,L,V,t)}))}}_renderGlyphRange(e,t,i,a,r,n,s,l){a.bind(e,p.LINEAR,i,o),n&&(r.setUniform1f(\"u_halo\",1),e.drawElements(m.TRIANGLES,t[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),l.triangleCount+=t[1]/3),s&&(r.setUniform1f(\"u_halo\",0),e.drawElements(m.TRIANGLES,t[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),l.triangleCount+=t[1]/3)}_setStencilState(e,t){const{context:i,is3D:a,stencilSymbols:r}=e;if(i.setStencilTestEnabled(!0),r)return i.setStencilWriteMask(255),void i.setStencilFunction(g.ALWAYS,t.stencilRef,255);i.setStencilWriteMask(0),a?i.setStencilFunction(g.EQUAL,t.stencilRef,255):i.setStencilFunction(g.GREATER,255,255)}}export{_ as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as t}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as o}from\"../materialKey/MaterialKey.js\";import{CompareFunction as n,PrimitiveType as r,DataType as s}from\"../../../../webgl/enums.js\";const i=e=>t(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:s.SHORT},{location:1,name:\"a_id\",count:4,type:s.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:s.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:s.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:s.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:s.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:s.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:s.SHORT},{location:8,name:\"a_texCoords\",count:2,type:s.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return e.LABEL}supportsSymbology(e){return!0}drawGeometry(e,t,a,l){const{context:m,painter:u,state:d,rendererInfo:f,requestRender:c,allowDelayedRender:_}=e,p=o.load(a.materialKey),E=p.mapAligned?1:0;if(!E&&Math.abs(t.key.level-Math.round(100*e.displayLevel)/100)>=1)return;const{bufferLayouts:y,attributes:N}=i(p),U=u.materialManager.getMaterialProgram(e,p,\"materials/label\",N,l);if(_&&null!=c&&!U.compiled)return void c();e.context.setStencilFunction(n.EQUAL,0,255),m.useProgram(U),this._setSharedUniforms(U,e,t),u.textureManager.bindTextures(m,U,p);const S=1===E?d.displayViewMat3:d.displayMat3;this._setSizeVVUniforms(p,U,f,t),U.setUniform1f(\"u_mapRotation\",Math.floor(d.rotation/360*254)),U.setUniform1f(\"u_mapAligned\",E),U.setUniformMatrix3fv(\"u_displayMat3\",S),U.setUniform1f(\"u_opacity\",1),U.setUniform2fv(\"u_screenSize\",e.state.size);const T=a.target.getVAO(m,y,N),g=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;m.bindVAO(T),U.setUniform1f(\"u_isHaloPass\",0),U.setUniform1f(\"u_isBackgroundPass\",1),m.drawElements(r.TRIANGLES,a.indexCount,s.UNSIGNED_INT,g),U.setUniform1f(\"u_isHaloPass\",1),U.setUniform1f(\"u_isBackgroundPass\",0),m.drawElements(r.TRIANGLES,a.indexCount,s.UNSIGNED_INT,g),U.setUniform1f(\"u_isHaloPass\",0),U.setUniform1f(\"u_isBackgroundPass\",0),m.drawElements(r.TRIANGLES,a.indexCount,s.UNSIGNED_INT,g),m.setStencilTestEnabled(!0),m.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as t}from\"../Utils.js\";import o from\"./WGLGeometryBrush.js\";import{LineMaterialKey as a}from\"../materialKey/MaterialKey.js\";import{PrimitiveType as n,DataType as r}from\"../../../../webgl/enums.js\";const i=e=>t(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 s extends o{dispose(){}getGeometryType(){return e.LINE}supportsSymbology(e){return!0}drawGeometry(e,t,o,s){const{context:l,painter:m,rendererInfo:c,displayLevel:u,passOptions:d,requestRender:p,allowDelayedRender:y}=e,_=a.load(o.materialKey),f=null!=d&&\"hittest\"===d.type;let E=i(_),N=n.TRIANGLES;f&&(E=this._getTriangleDesc(o.materialKey,E),N=n.POINTS);const{attributes:g,bufferLayouts:S}=E,T=m.materialManager.getMaterialProgram(e,_,\"materials/line\",g,s);if(y&&null!=p&&!T.compiled)return void p();const U=1/e.pixelRatio,G=0;l.useProgram(T),this._setSharedUniforms(T,e,t),_.textureBinding&&m.textureManager.bindTextures(l,T,_);const I=2**(u-t.key.level);T.setUniform1f(\"u_zoomFactor\",I),T.setUniform1f(\"u_blur\",G+U),T.setUniform1f(\"u_antialiasing\",U),this._setSizeVVUniforms(_,T,c,t),this._setColorAndOpacityVVUniforms(_,T,c),l.setFaceCullingEnabled(!1);const D=o.target.getVAO(l,S,g,f);let R=o.indexCount,x=o.indexFrom*Uint32Array.BYTES_PER_ELEMENT;f&&(R/=3,x/=3),l.bindVAO(D),l.drawElements(N,R,r.UNSIGNED_INT,x)}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as e}from\"../Utils.js\";import o from\"./WGLGeometryBrush.js\";import{TextMaterialKey as a}from\"../materialKey/MaterialKey.js\";import{PrimitiveType as n,DataType as r}from\"../../../../webgl/enums.js\";const s=t=>e(t.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_texFontSize\",count:4,type:r.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:r.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:r.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:8,name:\"a_texCoords\",count:2,type:r.UNSIGNED_SHORT}]});class i extends o{dispose(){}getGeometryType(){return t.TEXT}supportsSymbology(t){return!0}drawGeometry(t,e,o,i){const{context:m,painter:l,rendererInfo:u,state:d,passOptions:f,requestRender:_,allowDelayedRender:p}=t,c=a.load(o.materialKey),y=null!=f&&\"hittest\"===f.type,{bufferLayouts:E,attributes:N}=s(c),U=l.materialManager.getMaterialProgram(t,c,\"materials/text\",N,i);if(p&&null!=_&&!U.compiled)return void _();m.useProgram(U);let S=n.TRIANGLES;y&&(S=n.POINTS),this._setSharedUniforms(U,t,e),l.textureManager.bindTextures(m,U,c),U.setUniformMatrix3fv(\"u_displayMat3\",d.displayMat3),U.setUniformMatrix3fv(\"u_displayViewMat3\",d.displayViewMat3),this._setSizeVVUniforms(c,U,u,e),this._setColorAndOpacityVVUniforms(c,U,u),this._setRotationVVUniforms(c,U,u);const T=o.target.getVAO(m,E,N),x=o.indexFrom*Uint32Array.BYTES_PER_ELEMENT;m.bindVAO(T),U.setUniform1f(\"u_isHaloPass\",0),U.setUniform1f(\"u_isBackgroundPass\",1),m.drawElements(S,o.indexCount,r.UNSIGNED_INT,x),U.setUniform1f(\"u_isHaloPass\",1),U.setUniform1f(\"u_isBackgroundPass\",0),m.drawElements(n.TRIANGLES,o.indexCount,r.UNSIGNED_INT,x),U.setUniform1f(\"u_isHaloPass\",0),U.setUniform1f(\"u_isBackgroundPass\",0),m.drawElements(S,o.indexCount,r.UNSIGNED_INT,x)}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport r from\"./webgl/brushes/BrushBitmap.js\";import s from\"./webgl/brushes/BrushClip.js\";import e from\"./webgl/brushes/BrushOverlay.js\";import o from\"./webgl/brushes/WGLBrushDotDensity.js\";import m from\"./webgl/brushes/WGLBrushHeatmap.js\";import l from\"./webgl/brushes/WGLBrushInfo.js\";import t from\"./webgl/brushes/WGLBrushPieChart.js\";import b from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as h}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as i}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as u}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as p}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as L}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import f from\"./webgl/brushes/WGLGeometryBrushFill.js\";import B from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import g from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import j from\"./webgl/brushes/WGLGeometryBrushText.js\";const w={marker:G,line:g,fill:f,text:j,label:B,clip:s,stencil:b,bitmap:r,overlay:e,tileInfo:l,vtlBackground:h,vtlFill:u,vtlLine:p,vtlCircle:i,vtlSymbol:L,dotDensity:o,heatmap:m,pieChart:t};export{w as brushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e}from\"../../../../../core/maybe.js\";import t from\"../../../../../core/RandomLCG.js\";import{textureBindingRenderer0 as o,textureBindingRenderer1 as r,tileSize as s}from\"../definitions.js\";import{WGLGeometryType as i,WGLSymbologyType as n}from\"../enums.js\";import d from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as a}from\"../techniques/utils.js\";import{BufferObject as l}from\"../../../../webgl/BufferObject.js\";import{DataType as u,PrimitiveType as _,TextureSamplingMode as m,TextureWrapMode as c,RenderbufferFormat as f,Usage as h,PixelType as p}from\"../../../../webgl/enums.js\";import{FramebufferObject as T}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as x}from\"../../../../webgl/Renderbuffer.js\";import{RenderbufferDescriptor as w}from\"../../../../webgl/RenderbufferDescriptor.js\";import{Texture as D}from\"../../../../webgl/Texture.js\";import{TextureDescriptor as y}from\"../../../../webgl/TextureDescriptor.js\";import{VertexArrayObject as b}from\"../../../../webgl/VertexArrayObject.js\";class g extends d{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([o,r]),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 i.FILL}supportsSymbology(e){return e===n.DOT_DENSITY}_drawFills(e,t,o,r,s,i){const{passOptions:n}=e;if(null!=n&&\"hittest\"===n.type)super._drawFills(e,t,o,r,s,i);else{const r=this._drawDotLocations(e,t,o,s,i);this._drawDotDensity(e,t,r)}}_drawDotDensity(e,t,o){const{context:r,painter:s,rendererInfo:i,requestRender:n,allowDelayedRender:d}=e,l=s.materialManager.getProgram(this._dotDesc);if(d&&null!=n&&!l.compiled)return void n();const{rendererSchema:m}=i;a(m,\"dot-density\");const c=this._createDotDensityMesh(r,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:u.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});r.setStencilTestEnabled(!0),r.useProgram(l),l.setUniform1f(\"u_tileZoomFactor\",1),l.setUniform1i(\"u_texture\",this._dotSamplers[0]),l.setUniform1f(\"u_dotSize\",Math.max(m.dotSize,1)),l.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(l,e,t),r.bindTexture(o,this._dotSamplers[0]),r.bindVAO(c),r.drawArrays(_.POINTS,0,262144)}_drawDotLocations(e,t,o,r,i){const{context:n,rendererInfo:d,requiredLevel:l}=e,m=n.getViewport(),{rendererSchema:c}=d;a(c,\"dot-density\");const{dotScale:f,colors:h,activeDots:p,backgroundColor:T,dotValue:x}=c;n.setViewport(0,0,512,512);const w=n.getBoundFramebufferObject(),D=this._createFBO(n);n.bindFramebuffer(D),n.setClearColor(0,0,0,0),n.clear(n.gl.COLOR_BUFFER_BIT|n.gl.STENCIL_BUFFER_BIT),n.setStencilTestEnabled(!1);const y=1/2**(l-t.key.level),b=s,g=b*window.devicePixelRatio*b*window.devicePixelRatio,O=1/y*(1/y),S=f?e.state.scale/f:1;return o.setUniform1f(\"u_tileZoomFactor\",y),o.setUniform1f(\"u_tileDotsOverArea\",g/(s*window.devicePixelRatio*s*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",h),o.setUniform4fv(\"u_isActive\",p),o.setUniform4fv(\"u_dotBackgroundColor\",T),o.setUniform1f(\"u_dotValue\",Math.max(1,x*S*O)),this._bindDotDensityTextures(n,o,d,b),n.drawElements(_.TRIANGLES,r,u.UNSIGNED_INT,i),n.setViewport(m.x,m.y,m.width,m.height),n.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(null==this._dotFBO){const t=512,o=512,r=new y(t,o);r.samplingMode=m.NEAREST,r.wrapMode=c.CLAMP_TO_EDGE;const s=new x(e,new w(f.DEPTH_STENCIL,t,o));this._dotFBO=new T(e,r,s)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;e=0?n:n+t}function o(t){return u(t*n,256)}function c(n){return u(n*t,256)}function e(n){return Math.log(n)*r}function f(n,t,r){return n*(1-r)+t*r}function i(n,t,r){return n>=t&&n<=r||n>=r&&n<=t}export{i as between,c as degToByte,f as interpolate,e as log2,u as positiveMod,o as radToByte};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{CapType as n,JoinType as r}from\"../../../../symbols/cim/enums.js\";import{WGLGeometryType as s,WGLSymbologyType as a,VVType as i}from\"./enums.js\";import{Usage as c,DataType as o,PixelType as u}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as l}from\"../../../webgl/VertexElementDescriptor.js\";const f=t.getLogger(\"esri.views.2d.engine.webgl.Utils\"),m=\"geometry\",d=[{name:m,strideInBytes:12}],p=[{name:m,strideInBytes:36}],y=[{name:m,strideInBytes:24}],I=[{name:m,strideInBytes:12}],S=[{name:m,strideInBytes:40}],T=[{name:m,strideInBytes:36}],g=[{name:m,strideInBytes:36}];function w(e){const t={};for(const n of e)t[n.name]=n.strideInBytes;return t}const E=w([{name:m,strideInBytes:36}]),h=w(d),L=w(p),N=w(y),D=w(I),A=w(S),M=w(T),U=w(g);function R(e,t){switch(e){case s.MARKER:return t===a.HEATMAP?h:E;case s.FILL:switch(t){case a.DOT_DENSITY:return D;case a.SIMPLE:case a.OUTLINE_FILL_SIMPLE:return N;default:return L}case s.LINE:return A;case s.TEXT:return M;case s.LABEL:return U}}const _=[m],B=[m],O=[m],v=[m],C=[m];function b(e){switch(e){case s.MARKER:return _;case s.FILL:return B;case s.LINE:return O;case s.TEXT:return v;case s.LABEL:return C}}function F(e){switch(e%4){case 0:case 2:return 4;case 1:case 3:return 1}}function P(e,t){switch(t%4){case 0:case 2:return new Uint32Array(Math.floor(e*t/4));case 1:case 3:return new Uint8Array(e*t)}}function x(e,t){switch(t%4){case 0:case 2:return new Uint32Array(e);case 1:case 3:return new Uint8Array(e)}}function z(e){return null!=e}function $(e){return\"number\"==typeof e}function k(t){switch(t){case\"butt\":return n.BUTT;case\"round\":return n.ROUND;case\"square\":return n.SQUARE;default:return f.error(new e(\"mapview-invalid-type\",`Cap type ${t} is not a valid option. Defaulting to round`)),n.ROUND}}function G(t){switch(t){case\"miter\":return r.MITER;case\"bevel\":return r.BEVEL;case\"round\":return r.ROUND;default:return f.error(new e(\"mapview-invalid-type\",`Join type ${t} is not a valid option. Defaulting to round`)),r.ROUND}}function V(e){switch(e){case\"opacity\":return i.OPACITY;case\"color\":return i.COLOR;case\"rotation\":return i.ROTATION;case\"size\":return i.SIZE;default:return f.error(`Cannot interpret unknown vv: ${e}`),null}}function j(e,t,n,r,s,a,i){for(const c in a){const t=a[c].stride,r=F(t),i=a[c].data,o=n[c].data;if(null==i||null==o)continue;const u=t*s.vertexCount/r,l=t*e/r,f=t*s.vertexFrom/r;for(let e=0;e{const t=new l(e.name,e.count,e.type,s,0,e.normalized||!1);return s+=e.count*q(e.type),t})),t[n]?.forEach((e=>e.stride=s))}return t}const J=e=>{const t=new Map;for(const n in e)for(const r of e[n])t.set(r.name,r.location);return t},Q=e=>{const t={};for(const n in e){const r=e[n];t[n]=r?.length?r[0].stride:0}return t},Z=new Map,ee=(e,t)=>{if(!Z.has(e)){const n=X(t),r={strides:Q(n),bufferLayouts:n,attributes:J(t)};Z.set(e,r)}return Z.get(e)};function te(e){e(s.FILL),e(s.LINE),e(s.MARKER),e(s.TEXT),e(s.LABEL)}const ne=e=>\"path\"in e&&pe(e.path),re=e=>!(!(\"url\"in e)||!e.url)||!(!(\"imageData\"in e)||!e.imageData),se=e=>\"imageData\"in e&&e.imageData&&\"contentType\"in e&&e.contentType?`data:${e.contentType};base64,${e.imageData}`:\"url\"in e?e.url:null,ae=e=>null!=e&&e.startsWith(\"data:image/gif\"),ie=e=>\"url\"in e&&e.url&&(e.url.includes(\".gif\")||ae(e.url))||\"contentType\"in e&&\"image/gif\"===e.contentType||\"imageData\"in e&&ae(e.imageData),ce=e=>null!=e&&e.startsWith(\"data:image/png\"),oe=e=>\"url\"in e&&e.url&&(e.url.includes(\".png\")||ce(e.url))||\"contentType\"in e&&\"image/png\"===e.contentType||\"imageData\"in e&&ce(e.imageData),ue=e=>e.type&&e.type.toLowerCase().includes(\"3d\");function le(e){switch(e.type){case\"line\":{const t=e;return\"CIMSolidStroke\"===t.cim.type&&!t.dashTemplate}case\"fill\":return\"CIMSolidFill\"===e.cim.type;case\"esriSFS\":return\"esriSFSSolid\"===e.style||\"esriSFSNull\"===e.style;case\"esriSLS\":return\"esriSLSSolid\"===e.style||\"esriSLSNull\"===e.style;default:return!1}}function fe(e){switch(\"cim\"in e?e.cim.type:e.type){case\"esriSMS\":case\"esriPMS\":case\"CIMPointSymbol\":return!1;case\"CIMVectorMarker\":case\"CIMCharacterMarker\":case\"CIMPictureMarker\":return ye(e);default:return!0}}function me(e){const t=\"maxVVSize\"in e&&e.maxVVSize,n=\"width\"in e&&e.width||\"size\"in e&&e.size||0;return t||n}function de(e){const t=[];for(let n=0;n!!e&&(e=e.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\\dz]$/i.test(e)&&e.length>4)),ye=e=>\"fill\"===e.type&&\"CIMMarkerPlacementInsidePolygon\"===e?.cim?.markerPlacement?.type;export{P as allocateTypedArrayBuffer,x as allocateTypedArrayBufferwithData,Y as cVboInfo,de as charCodes,j as copyMeshData,H as createGeometryData,ee as createProgramDescriptor,te as forEachGeometryType,q as getBytes,k as getCapType,G as getJoinType,b as getNamedBuffers,me as getPMSResourceSize,W as getPixelArrayCtor,K as getPixelBytes,R as getStrides,se as getUrl,V as getVVType,ue as is3D,z as isDefined,ie as isGIF,ae as isGIFDataUri,re as isImageResource,ye as isMarkerPlacementInsidePolygon,$ as isNumber,oe as isPNG,ce as isPNGDataUri,ne as isSVGResource,le as isSimple,pe as isValidSVG,fe as shouldRepeat,F as strideToPackingFactor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/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()}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.28/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{e as r}from\"../../../../chunks/earcut.js\";import{s as n}from\"../../../../chunks/vec2.js\";import{a as s}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as o,convertFromPolygon as i}from\"../../../../layers/graphics/featureConversionUtils.js\";import c from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as a}from\"./number.js\";import{BufferObject as f}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as h,Usage as m,DataType as u}from\"../../../webgl/enums.js\";const y=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return u.UNSIGNED_BYTE;case 2:return u.UNSIGNED_SHORT;case 4:return u.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},l=(e,t,r,n)=>{let s=0;for(let o=1;o0:s<0},x=({coords:e,lengths:t},n)=>{const s=[];for(let o=0,i=0;o({...r,[n]:f.createVertex(e,t,this.vertices[n])})),{})),this._cache.vertexBuffers}}export{g as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{watch as r}from\"../../../../core/reactiveUtils.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as i}from\"../DisplayObject.js\";import o from\"./Mesh2D.js\";import{VertexArrayObject as h}from\"../../../webgl/VertexArrayObject.js\";const a=t=>parseFloat(t)/100;class c extends i{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=r((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new c(t,e)}_destroyGL(){null!=this._cache.mesh&&(this._cache.mesh.destroy(),this._cache.mesh=null),null!=this._cache.vao&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,s){const[i,o]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===i&&this._lastHeight===o||(this._lastWidth=i,this._lastHeight=o,this._destroyGL()),null==this._cache.vao){const i=this._createMesh(e,this._clip),o=i.getIndexBuffer(t),a=i.getVertexBuffers(t);this._cache.mesh=i,this._cache.vao=new h(t,r,s,a,o)}return this._cache.vao}_createTransforms(){return{dvs:s()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?a(e.left)*r:e.left,o=\"string\"==typeof e.right?a(e.right)*r:e.right,h=\"string\"==typeof e.top?a(e.top)*s:e.top,c=\"string\"==typeof e.bottom?a(e.bottom)*s:e.bottom,n=i,l=h;return{x:n,y:l,width:Math.max(r-o-n,0),height:Math.max(s-c-l,0)}}_createMesh(r,s){switch(s.type){case\"rect\":return o.fromRect(this._createScreenRect(r,s));case\"path\":return o.fromPath(s);case\"geometry\":return o.fromGeometry(r,s);default:return e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\").error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),o.fromRect({x:0,y:0,width:1,height:1})}}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{brushes as s}from\"../brushes.js\";import{Container as e}from\"../Container.js\";import r from\"./ClippingInfo.js\";import{WGLDrawPhase as i}from\"./enums.js\";class n extends e{set clips(s){super.clips=s,this._updateClippingInfo(s)}renderChildren(s){null==this._renderPasses&&(this._renderPasses=this.prepareRenderPasses(s.painter));for(const r of this._renderPasses)try{r.render(s)}catch(e){}}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[s.clip],target:()=>this._clippingInfos,drawPhase:i.MAP|i.LABEL|i.LABEL_ALPHA|i.DEBUG|i.HIGHLIGHT})]}_updateClippingInfo(s){null!=this._clippingInfos&&(this._clippingInfos.forEach((s=>s.destroy())),this._clippingInfos=null),null!=s&&s.length&&(this._clippingInfos=s.items.map((s=>r.fromClipArea(this.stage,s)))),this.requestRender()}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nvar e,t;function r(t){switch(t){case\"left\":return e.Left;case\"right\":return e.Right;case\"center\":return e.Center}}function n(e){switch(e){case\"top\":return t.Top;case\"middle\":return t.Center;case\"baseline\":return t.Baseline;case\"bottom\":return t.Bottom}}function a(r){switch(r){case\"above-left\":case\"esriServerPointLabelPlacementAboveLeft\":return[e.Right,t.Bottom];case\"above-center\":case\"above-along\":case\"esriServerPointLabelPlacementAboveCenter\":case\"esriServerLinePlacementAboveAlong\":return[e.Center,t.Bottom];case\"above-right\":case\"esriServerPointLabelPlacementAboveRight\":return[e.Left,t.Bottom];case\"center-left\":case\"esriServerPointLabelPlacementCenterLeft\":return[e.Right,t.Center];case\"center-center\":case\"center-along\":case\"esriServerPointLabelPlacementCenterCenter\":case\"esriServerLinePlacementCenterAlong\":case\"always-horizontal\":case\"esriServerPolygonPlacementAlwaysHorizontal\":return[e.Center,t.Center];case\"center-right\":case\"esriServerPointLabelPlacementCenterRight\":return[e.Left,t.Center];case\"below-left\":case\"esriServerPointLabelPlacementBelowLeft\":return[e.Right,t.Top];case\"below-center\":case\"below-along\":case\"esriServerPointLabelPlacementBelowCenter\":case\"esriServerLinePlacementBelowAlong\":return[e.Center,t.Top];case\"below-right\":case\"esriServerPointLabelPlacementBelowRight\":return[e.Left,t.Top];default:return console.debug(`Found invalid placement type ${r}`),[e.Center,t.Center]}}function c(t){switch(t){case e.Right:return-1;case e.Center:return 0;case e.Left:return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function o(e){switch(e){case t.Top:return 1;case t.Center:return 0;case t.Bottom:case t.Baseline:return-1;default:return console.debug(`Found invalid vertical alignment ${e}`),0}}function s(t){switch(t){case\"left\":return e.Left;case\"right\":return e.Right;case\"center\":return e.Center}}function i(e){switch(e){case\"above-along\":case\"below-along\":case\"center-along\":case\"esriServerLinePlacementAboveAlong\":case\"esriServerLinePlacementBelowAlong\":case\"esriServerLinePlacementCenterAlong\":return!0;default:return!1}}!function(e){e[e.Left=-1]=\"Left\",e[e.Center=0]=\"Center\",e[e.Right=1]=\"Right\"}(e||(e={})),function(e){e[e.Top=1]=\"Top\",e[e.Center=0]=\"Center\",e[e.Bottom=-1]=\"Bottom\",e[e.Baseline=2]=\"Baseline\"}(t||(t={}));export{e as HAlign,t as VAlign,a as getAlignmentFromPlacement,s as getJustification,r as getXAnchorDirection,c as getXDirection,n as getYAnchorDirection,o as getYDirection,i as isMapAligned};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{textureBindingBitmap as e}from\"../definitions.js\";import t from\"../VertexStream.js\";import i from\"./WGLBrush.js\";import{TextureSamplingMode as s,BlendFactor as n,CompareFunction as r}from\"../../../../webgl/enums.js\";const a={nearest:{defines:[],samplingMode:s.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:s.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:s.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:s.LINEAR_MIPMAP_LINEAR,mips:!0}},o=(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?a.bilinear:a.nearest}return a[i.samplingMode]};class d extends i{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}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0)}draw(i,s){const{context:a,renderingOptions:d,painter:l,requestRender:m,allowDelayedRender:c}=i;if(!s.source||!s.isReady)return;const p=o(i,s,d),u=l.materialManager.getProgram(this._desc,p.defines);if(c&&null!=m&&!u.compiled)return void m();i.timeline.begin(this.name),\"additive\"===s.blendFunction?a.setBlendFunctionSeparate(n.ONE,n.ONE,n.ONE,n.ONE):a.setBlendFunctionSeparate(n.ONE,n.ONE_MINUS_SRC_ALPHA,n.ONE,n.ONE_MINUS_SRC_ALPHA),a.setStencilFunction(r.EQUAL,s.stencilRef,255),this._quad||(this._quad=new t(a,[0,0,1,0,0,1,1,1]));const{coordScale:f,computedOpacity:_,transforms:E}=s;s.setSamplingProfile(p),s.bind(i.context,e),a.useProgram(u),u.setUniformMatrix3fv(\"u_dvsMat3\",E.dvs),u.setUniform1i(\"u_texture\",e),u.setUniform2fv(\"u_coordScale\",f),u.setUniform1f(\"u_opacity\",_),this._quad.draw(),i.timeline.end(this.name)}}export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.name=this.constructor.name||\"UnnamedBrush\",this.brushEffect=null}prepareState(t,r){}draw(t,r,s){}drawMany(t,r,s){for(const a of r)a.visible&&this.draw(t,a,s)}}export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{PixelType as t,TextureSamplingMode as r,PixelFormat as a,SizedPixelFormat as o}from\"./enums.js\";class l{constructor(e,t,r,a){this.dataType=e,this.samplingMode=t,this.pixelFormat=r,this.internalFormat=a}}function n(n,i){const{textureFloat:f,colorBufferFloat:s}=n.capabilities,u=f?.textureFloat,_=f?.textureFloatLinear,m=f?.textureHalfFloat,h=f?.textureHalfFloatLinear,p=s?.textureFloat,d=s?.textureHalfFloat,c=s?.floatBlend,x=n.driverTest.floatBufferBlend.result;if(!u&&!m)throw new e(\"heatmap:missing-texture-float\",\"HeatmapRenderer requires WebGL2 or the WebGL1 extension OES_texture_float or OES_texture_half_float.\");if(!p&&!d)throw new e(\"heatmap:missing-color-buffer-float\",\"HeatmapRenderer requires the WebGL extension EXT_color_buffer_float or EXT_color_buffer_half_float or WEBGL_color_buffer_float.\");if(!(c&&x||d))throw new e(\"heatmap:missing-float-blend\",\"HeatmapRenderer requires the WebGL extension EXT_float_blend or EXT_color_buffer_half_float.\"+(x?\"\":\" This device claims support for EXT_float_blend, but does not actually support it.\"));const b=u&&p&&c&&x,E=m&&d,R=_,F=h,L=!!s?.R32F,w=!!s?.R16F;if(b&&(R||!F))return R||i.warnOnce(\"Missing WebGL extension OES_texture_float_linear. Heatmap quality may be reduced.\"),new l(t.FLOAT,R?r.LINEAR:r.NEAREST,L?a.RED:a.RGBA,L?o.R32F:a.RGBA);if(E)return F||i.warnOnce(\"Missing WebGL extension OES_texture_half_float_linear. Heatmap quality may be reduced.\"),new l(t.HALF_FLOAT,F?r.LINEAR:r.NEAREST,w?a.RED:a.RGBA,w?o.R16F:a.RGBA);throw new e(\"heatmap:missing-hardware-support\",\"HeatmapRenderer requires WebGL extensions that allow it to render and blend to float or half float textures.\")}export{l as HeatmapTextureConfiguration,n as loadHeatmapTextureConfiguration};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from\"../../../../../core/Logger.js\";import{disposeMaybe as t}from\"../../../../../core/maybe.js\";import{WGLSymbologyType as r}from\"../enums.js\";import i from\"../VertexStream.js\";import s from\"./WGLGeometryBrushMarker.js\";import{Effect as a}from\"../effects/Effect.js\";import{assertRendererSchema as u}from\"../techniques/utils.js\";import{ContextType as n}from\"../../../../webgl/contextUtils.js\";import{CompareFunction as o,DataType as l,BlendFactor as f,ClearBufferBit as c,TextureWrapMode as h,RenderbufferFormat as m,TextureSamplingMode as p,PixelType as d}from\"../../../../webgl/enums.js\";import{FramebufferObject as _}from\"../../../../webgl/FramebufferObject.js\";import{loadHeatmapTextureConfiguration as b}from\"../../../../webgl/heatmapTextureUtils.js\";import{Renderbuffer as w}from\"../../../../webgl/Renderbuffer.js\";import{RenderbufferDescriptor as F}from\"../../../../webgl/RenderbufferDescriptor.js\";import{Texture as g}from\"../../../../webgl/Texture.js\";import{TextureDescriptor as S}from\"../../../../webgl/TextureDescriptor.js\";const T=e.getLogger(\"esri.views.2d.engine.webgl.brushes.WGLBrushHeatmap\");function v(e){return\"heatmap\"===e.type}function B(e,t){const{referenceScale:r,radius:i}=e;return i*(0!==r?r/t.scale:1)}class E extends s{constructor(){super(...arguments),this.brushEffect=new G}supportsSymbology(e){return e===r.HEATMAP}dispose(){super.dispose(),this.brushEffect.dispose(),this.brushEffect=null}prepareState(){}drawGeometry(e,t,r,i){const{defines:s}=this.brushEffect.loadQualityProfile(e.context);super.drawGeometry(e,t,r,i?[...i,...s]:s)}_drawMarkers(e,t,r,i,s,a,n){const{context:f,rendererInfo:c,state:h}=e,{rendererSchema:m}=c;u(m,\"heatmap\");const{isFieldActive:p}=m;r.setUniform1f(\"u_radius\",B(m,h)),n||(r.setUniform1f(\"u_isFieldActive\",p),f.setStencilFunction(o.GEQUAL,t.stencilRef,255)),f.drawElements(i,s,l.UNSIGNED_INT,a)}}const O={vsPath:\"heatmap/heatmapResolve\",fsPath:\"heatmap/heatmapResolve\",attributes:new Map([[\"a_position\",0]])},x=.25,y=1/(2*x);function P(e){return e0&&(i+=`, ${r}`);const s=this._canvas,o=s.getContext(\"2d\");o.font=\"24px sans-serif\",o.textAlign=\"left\",o.textBaseline=\"top\",o.clearRect(0,0,h,b),r>1e5?(o.fillStyle=\"red\",o.fillRect(0,0,h,b),o.fillStyle=\"black\"):(o.clearRect(0,0,h,b),o.fillStyle=\"blue\"),o.fillText(i,0,0);const n=new c;return n.wrapMode=u.CLAMP_TO_EDGE,n.samplingMode=m.NEAREST,n.isImmutable=d(t.gl),e.texture=new _(t,n,s),e.texture}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import t from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as i}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as o,Face as a,CompareFunction as l,PrimitiveType as n,Usage as d}from\"../../../../webgl/enums.js\";import{createProgram as m}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as _}from\"../../../../webgl/VertexArrayObject.js\";class c extends t{constructor(){super(...arguments),this._color=e(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:e}){e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(o.KEEP,o.KEEP,o.REPLACE),e.setStencilWriteMask(255)}draw(e,r){const{context:t,requestRender:s,allowDelayedRender:i}=e;this._initialized||this._initialize(t),!i||null==s||this._solidProgram.compiled?(t.setStencilFunctionSeparate(a.FRONT_AND_BACK,l.GREATER,r.stencilRef,255),t.bindVAO(this._solidVertexArrayObject),t.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[r.rangeX,r.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),t.drawArrays(n.TRIANGLE_STRIP,0,4),t.bindVAO()):s()}_initialize(e){if(this._initialized)return!0;const t=m(e,s);if(!t)return!1;const o=new Int8Array([0,0,1,0,0,1,1,1]),a=i.createVertex(e,d.STATIC_DRAW,o),l=new _(e,s.attributes,r,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{minMaxZoomPrecisionFactor as t,textureBindingAttributeData0 as e,textureBindingAttributeData1 as i,textureBindingAttributeData2 as s,textureBindingAttributeData3 as o,textureBindingAttributeData4 as a,textureBindingAttributeData5 as r}from\"../definitions.js\";import n from\"./WGLBrush.js\";import{MaterialKeyBase as u}from\"../materialKey/MaterialKey.js\";import{BlendFactor as l,CompareFunction as m}from\"../../../../webgl/enums.js\";class v extends n{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e){e&&e.includes(\"hittest\")?t.setBlendFunctionSeparate(l.ONE,l.ONE,l.ONE,l.ONE):t.setBlendFunctionSeparate(l.ONE,l.ONE_MINUS_SRC_ALPHA,l.ONE,l.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0)}draw(t,e,i){const s=this.getGeometryType();e.commit(t);const o=e.getGeometry(s);null!=o&&(t.timeline.begin(this.name),t.attributeView.bindTextures(t.context),t.context.setStencilFunction(m.EQUAL,e.stencilRef,255),o.forEachCommand((s=>{const o=u.load(s.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(t,e,s,i)})))}_setSharedUniforms(n,u,l){const{displayLevel:m,pixelRatio:v,state:f,passOptions:p}=u;null!=p&&\"hittest\"===p.type&&(n.setUniform2fv(\"u_hittestPos\",p.position),n.setUniform1f(\"u_hittestDist\",p.distance)),n.setUniform1f(\"u_pixelRatio\",v),n.setUniformMatrix3fv(\"u_tileMat3\",l.transforms.tileMat3),n.setUniformMatrix3fv(\"u_viewMat3\",f.viewMat3),n.setUniformMatrix3fv(\"u_dvsMat3\",l.transforms.dvs),n.setUniformMatrix3fv(\"u_displayViewMat3\",f.displayViewMat3),n.setUniform1f(\"u_currentZoom\",Math.floor(m*t)),n.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),n.setUniform1i(\"u_attributeData0\",e),n.setUniform1i(\"u_attributeData1\",i),n.setUniform1i(\"u_attributeData2\",s),n.setUniform1i(\"u_attributeData3\",o),n.setUniform1i(\"u_attributeData4\",a),n.setUniform1i(\"u_attributeData5\",r)}_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);null!=t&&(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),u=s.map((t=>({...t}))),l=Math.max(...e.attributes.values()),m={geometry:u};let v=0;for(const e of o){const t=s[e];m.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),m.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\",l+ ++v),n.set(t.name+\"2\",l+ ++v)}r={bufferLayouts:m,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as t,WGLSymbologyType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{MarkerMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as n}from\"../techniques/utils.js\";import{DataType as i,PrimitiveType as s}from\"../../../../webgl/enums.js\";const l={shader:\"materials/icon\",vertexLayout:{geometry:[{location:0,name:\"a_pos\",count:2,type:i.SHORT},{location:1,name:\"a_vertexOffset\",count:2,type:i.SHORT},{location:2,name:\"a_texCoords\",count:2,type:i.UNSIGNED_SHORT},{location:3,name:\"a_bitSetAndDistRatio\",count:2,type:i.UNSIGNED_SHORT},{location:4,name:\"a_id\",count:4,type:i.UNSIGNED_BYTE},{location:5,name:\"a_color\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:i.UNSIGNED_BYTE,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:i.UNSIGNED_BYTE},{location:8,name:\"a_zoomRange\",count:2,type:i.UNSIGNED_SHORT}]},hittestAttributes:[\"a_vertexOffset\",\"a_texCoords\"]};class m extends a{dispose(){}getGeometryType(){return t.MARKER}supportsSymbology(t){return t!==e.HEATMAP&&t!==e.PIE_CHART}drawGeometry(t,e,a,i){const{context:m,painter:u,rendererInfo:d,state:c,passOptions:p,requestRender:y,allowDelayedRender:_}=t,E=r.load(a.materialKey),f=n(E.data),S=null!=p&&\"hittest\"===p.type,{shader:N,vertexLayout:T,hittestAttributes:g}=f.programSpec??l;let x=s.TRIANGLES,R=o(E.data,T);S&&(R=this._getTriangleDesc(a.materialKey,R,g),x=s.POINTS);const{attributes:h,bufferLayouts:U}=R,A=u.materialManager.getMaterialProgram(t,E,N,h,i);if(_&&null!=y&&!A.compiled)return void y();m.useProgram(A),E.textureBinding&&u.textureManager.bindTextures(m,A,E,!0),this._setSharedUniforms(A,t,e);const O=E.vvRotation?c.displayViewMat3:c.displayMat3;A.setUniformMatrix3fv(\"u_displayMat3\",O),this._setSizeVVUniforms(E,A,d,e),this._setColorAndOpacityVVUniforms(E,A,d),this._setRotationVVUniforms(E,A,d);const G=a.target.getVAO(m,U,h,S);let I=a.indexCount,M=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;S&&(I/=3,M/=3),m.bindVAO(G),this._drawMarkers(t,e,A,x,I,M,S),m.bindVAO(null)}_drawMarkers(t,e,o,a,r,n,s){t.context.drawElements(a,r,i.UNSIGNED_INT,n)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{i8888to32 as n}from\"./number.js\";function r(n,r=0,t=!1){const o=n[r+3];return n[r]*=o,n[r+1]*=o,n[r+2]*=o,t||(n[r+3]*=255),n}function t(r){if(!r)return 0;const{r:t,g:o,b:u,a:i}=r;return n(t*i,o*i,u*i,255*i)}function o(r){if(!r)return 0;const[t,o,u,i]=r;return n(t*(i/255),o*(i/255),u*(i/255),i)}function u(n,r,t=0){if(null==r)return n[t]=0,n[t+1]=0,n[t+2]=0,void(n[t+3]=0);const{r:o,g:u,b:i,a:c}=r;n[t]=o*c/255,n[t+1]=u*c/255,n[t+2]=i*c/255,n[t+3]=c}export{r as premultiplyAlpha,t as premultiplyAlphaRGBA,o as premultiplyAlphaRGBAArray,u as writeColor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.name=this.constructor.name}createOptions(t,r){return null}}export{t as Effect};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nvar E,T,I,L,A,_,S;!function(E){E[E.FILL=0]=\"FILL\",E[E.LINE=1]=\"LINE\",E[E.MARKER=2]=\"MARKER\",E[E.TEXT=3]=\"TEXT\",E[E.LABEL=4]=\"LABEL\"}(E||(E={})),function(E){E[E.NONE=0]=\"NONE\",E[E.MAP=1]=\"MAP\",E[E.LABEL=2]=\"LABEL\",E[E.LABEL_ALPHA=4]=\"LABEL_ALPHA\",E[E.HITTEST=8]=\"HITTEST\",E[E.HIGHLIGHT=16]=\"HIGHLIGHT\",E[E.CLIP=32]=\"CLIP\",E[E.DEBUG=64]=\"DEBUG\",E[E.NUM_DRAW_PHASES=9]=\"NUM_DRAW_PHASES\"}(T||(T={})),function(E){E[E.SIZE=0]=\"SIZE\",E[E.COLOR=1]=\"COLOR\",E[E.OPACITY=2]=\"OPACITY\",E[E.ROTATION=3]=\"ROTATION\"}(I||(I={})),function(E){E[E.NONE=0]=\"NONE\",E[E.OPACITY=1]=\"OPACITY\",E[E.COLOR=2]=\"COLOR\",E[E.ROTATION=4]=\"ROTATION\",E[E.SIZE_MINMAX_VALUE=8]=\"SIZE_MINMAX_VALUE\",E[E.SIZE_SCALE_STOPS=16]=\"SIZE_SCALE_STOPS\",E[E.SIZE_FIELD_STOPS=32]=\"SIZE_FIELD_STOPS\",E[E.SIZE_UNIT_VALUE=64]=\"SIZE_UNIT_VALUE\"}(L||(L={})),function(E){E[E.MINMAX_TARGETS_OUTLINE=128]=\"MINMAX_TARGETS_OUTLINE\",E[E.SCALE_TARGETS_OUTLINE=256]=\"SCALE_TARGETS_OUTLINE\",E[E.FIELD_TARGETS_OUTLINE=512]=\"FIELD_TARGETS_OUTLINE\",E[E.UNIT_TARGETS_OUTLINE=1024]=\"UNIT_TARGETS_OUTLINE\"}(A||(A={})),function(E){E[E.SPRITE=0]=\"SPRITE\",E[E.GLYPH=1]=\"GLYPH\"}(_||(_={})),function(E){E[E.DEFAULT=0]=\"DEFAULT\",E[E.SIMPLE=1]=\"SIMPLE\",E[E.DOT_DENSITY=2]=\"DOT_DENSITY\",E[E.OUTLINE_FILL=3]=\"OUTLINE_FILL\",E[E.OUTLINE_FILL_SIMPLE=4]=\"OUTLINE_FILL_SIMPLE\",E[E.HEATMAP=5]=\"HEATMAP\",E[E.PIE_CHART=6]=\"PIE_CHART\"}(S||(S={}));export{_ as MosaicType,I as VVType,T as WGLDrawPhase,E as WGLGeometryType,S as WGLSymbologyType,L as WGLVVFlag,A as WGLVVTarget};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport t from\"../../../../../core/Error.js\";import{isMapAligned as e}from\"../alignmentUtils.js\";import{WGLSymbologyType as s,WGLGeometryType as i,WGLVVFlag as a,WGLVVTarget as r}from\"../enums.js\";function n(t,e,s){const n=a.SIZE_FIELD_STOPS|a.SIZE_MINMAX_VALUE|a.SIZE_SCALE_STOPS|a.SIZE_UNIT_VALUE,o=(e&(r.FIELD_TARGETS_OUTLINE|r.MINMAX_TARGETS_OUTLINE|r.SCALE_TARGETS_OUTLINE|r.UNIT_TARGETS_OUTLINE))>>>4;return t===i.LINE&&s.isOutline||t===i.FILL&&_(s.symbologyType)?n&o:n&~o}const o=0,v=8,l=7,h=8,S=11,u=11,p=12,c=13,y=14,V=15,d=16,g=17,T=18,m=19,z=20,E=21,L=26,M=Object.keys(s).filter((t=>\"number\"==typeof s[t])).reduce(((t,e)=>({...t,[e]:s[e]})),{});function I(t){return t===s.SIMPLE||t===s.OUTLINE_FILL_SIMPLE}function _(t){return t===s.OUTLINE_FILL||t===s.OUTLINE_FILL_SIMPLE}function b(t){return I(t.symbologyType)}function O(t){return _(t.symbologyType)}function f(t,e){switch(t){case i.FILL:return w.from(e);case i.LINE:return C.from(e);case i.MARKER:return N.from(e);case i.TEXT:return P.from(e);case i.LABEL:return Z.from(e);default:throw new Error(`Unable to createMaterialKey for unknown geometryType ${t}`)}}function A(t){switch(U.load(t).geometryType){case i.MARKER:return new N(t);case i.FILL:return new w(t);case i.LINE:return new C(t);case i.TEXT:return new P(t);case i.LABEL:return new Z(t)}}class U{static load(t){const e=this.shared;return e.data=t,e}constructor(t){this._data=0,this._data=t}set data(t){this._data=t??0}get data(){return this._data}get geometryType(){return this.bits(h,S)}set geometryType(t){this.setBits(t,h,S)}get mapAligned(){return!!this.bit(z)}set mapAligned(t){this.setBit(z,t)}get sdf(){return!!this.bit(u)}set sdf(t){this.setBit(u,t??!1)}get pattern(){return!!this.bit(p)}set pattern(t){this.setBit(p,t)}get textureBinding(){return this.bits(o,v)}set textureBinding(t){this.setBits(t,o,v)}get symbologyType(){return this.bits(E,L)}set symbologyType(t){this.setBits(t,E,L)}get geometryTypeString(){switch(this.geometryType){case i.FILL:return\"fill\";case i.MARKER:return\"marker\";case i.LINE:return\"line\";case i.TEXT:return\"text\";case i.LABEL:return\"label\";default:throw new t(`Unable to handle unknown geometryType: ${this.geometryType}`)}}setBit(t,e){const s=1<>t}setBits(t,e,s){for(let i=e,a=0;iclass extends t{get vvSizeMinMaxValue(){return 0!==this.bit(d)}set vvSizeMinMaxValue(t){this.setBit(d,t)}get vvSizeScaleStops(){return 0!==this.bit(g)}set vvSizeScaleStops(t){this.setBit(g,t)}get vvSizeFieldStops(){return 0!==this.bit(T)}set vvSizeFieldStops(t){this.setBit(T,t)}get vvSizeUnitValue(){return 0!==this.bit(m)}set vvSizeUnitValue(t){this.setBit(m,t)}hasSizeVV(){return this.vvSizeMinMaxValue||this.vvSizeScaleStops||this.vvSizeFieldStops||this.vvSizeUnitValue}hasVV(){return super.hasVV()||this.hasSizeVV()}setVV(t,e){super.setVV(t,e);const s=n(this.geometryType,t,e)&t;this.vvSizeMinMaxValue=!!(s&a.SIZE_MINMAX_VALUE),this.vvSizeFieldStops=!!(s&a.SIZE_FIELD_STOPS),this.vvSizeUnitValue=!!(s&a.SIZE_UNIT_VALUE),this.vvSizeScaleStops=!!(s&a.SIZE_SCALE_STOPS)}},x=t=>class extends t{get vvRotation(){return 0!==this.bit(V)}set vvRotation(t){this.setBit(V,t)}hasVV(){return super.hasVV()||this.vvRotation}setVV(t,e){super.setVV(t,e),this.vvRotation=!e.isOutline&&!!(t&a.ROTATION)}},B=t=>class extends t{get vvColor(){return 0!==this.bit(c)}set vvColor(t){this.setBit(c,t)}hasVV(){return super.hasVV()||this.vvColor}setVV(t,e){super.setVV(t,e),this.vvColor=!e.isOutline&&!!(t&a.COLOR)}},R=t=>class extends t{get vvOpacity(){return 0!==this.bit(y)}set vvOpacity(t){this.setBit(y,t)}hasVV(){return super.hasVV()||this.vvOpacity}setVV(t,e){super.setVV(t,e),this.vvOpacity=!e.isOutline&&!!(t&a.OPACITY)}};class w extends(B(R(F(U)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const{symbologyType:e,vvFlags:a}=t,r=this.load(0);return r.geometryType=i.FILL,r.symbologyType=e,e!==s.DOT_DENSITY&&r.setVV(a,t),r.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}w.shared=new w(0);class N extends(B(R(x(F(U))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const{symbologyType:e,vvFlags:a}=t,r=this.load(0);return r.geometryType=i.MARKER,r.symbologyType=e,e!==s.HEATMAP&&r.setVV(a,t),r.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvRotation:this.vvRotation,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}N.shared=new N(0);class C extends(B(R(F(U)))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=i.LINE,e.symbologyType=t.symbologyType,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}C.shared=new C(0);class P extends(B(R(x(F(U))))){static load(t){const e=this.shared;return e.data=t,e}static from(t){const e=this.load(0);return e.geometryType=i.TEXT,e.symbologyType=t.symbologyType,e.setVV(t.vvFlags,t),e.data}getVariation(){return{...super.getVariation(),vvColor:this.vvColor,vvOpacity:this.vvOpacity,vvRotation:this.vvRotation,vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}P.shared=new P(0);class Z extends(F(U)){static load(t){const e=this.shared;return e.data=t,e}static from(t){const s=this.load(0);return s.geometryType=i.LABEL,s.symbologyType=t.symbologyType,s.setVV(t.vvFlags,t),s.mapAligned=e(t.placement),s.data}getVariation(){return{...super.getVariation(),vvSizeFieldStops:this.vvSizeFieldStops,vvSizeMinMaxValue:this.vvSizeMinMaxValue,vvSizeScaleStops:this.vvSizeScaleStops,vvSizeUnitValue:this.vvSizeUnitValue}}}Z.shared=new Z(0);export{w as FillMaterialKey,Z as LabelMaterialKey,C as LineMaterialKey,N as MarkerMaterialKey,U as MaterialKeyBase,P as TextMaterialKey,f as createMaterialKey,O as hasOutlineFillSymbology,b as hasSimpleSymbology,A as hydrateMaterialKey,_ as isOutlineFillSymbology,I as isSimpleSymbology};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nconst n=new Float32Array(1),r=new Uint32Array(n.buffer);function t(n,r,t){return Math.round(Math.max(Math.min(n,t),r))}function u(n){return t(n,-128,127)}function e(n){return t(n,-32768,32767)}function o(n){return t(n,-2147483648,2147483647)}function f(n){return t(n,0,255)}function i(n){return t(n,0,65535)}function c(n){return t(n,0,4294967295)}function a(t){return n[0]=t,r[0]}function h(t){return r[0]=t,n[0]}function M(n){return[255&n,(65280&n)>>>8,(16711680&n)>>>16,(4278190080&n)>>>24]}function m(n,r){return 15&n|(15&r)<<4}function w(n,r){return 65535&n|r<<16}function x(n,r,t,u){return 255&n|(255&r)<<8|(255&t)<<16|u<<24}function y(n,r,t){return 255&n|(255&r)<<8|t<<16}function A(n){return 0|n}export{e as i16,w as i1616to32,o as i32,u as i8,y as i8816to32,x as i8888to32,A as numTo32,h as toFloat32,a as toUint32,i as u16,c as u32,M as u32to4Xu8,m as u4u4to8,f as u8};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/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.28/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.28/esri/copyright.txt for details.\n*/\nconst e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos , 0.0, 1.0);\\nv_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(in vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\nreturn (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\nreturn (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = clamp(vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b)), vec3(0.0), vec3(1.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 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(clamp(vividLight(Cb.r, Cs.r), 0.0, 1.0),\\nclamp(vividLight(Cb.g, Cs.g), 0.0, 1.0),\\nclamp(vividLight(Cb.b, Cs.b), 0.0, 1.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 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 = clamp(vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b)), vec3(0.0), vec3(1.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#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}\"},debug:{overlay:{\"overlay.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvoid main(void) {\\ngl_FragColor = v_color;\\n}\",\"overlay.vert\":\"attribute vec3 a_PositionAndFlags;\\nuniform mat3 u_dvsMat3;\\nuniform vec4 u_colors[4];\\nuniform float u_opacities[4];\\nvarying vec4 v_color;\\nvoid main(void) {\\nvec2 position = a_PositionAndFlags.xy;\\nfloat flags = a_PositionAndFlags.z;\\nint colorIndex = int(mod(flags, 4.0));\\nvec4 color;\\nfor (int i = 0; i < 4; i++) {\\ncolor = u_colors[i];\\nif (i == colorIndex) {\\nbreak;\\n}\\n}\\nint opacityIndex = int(mod(floor(flags / 4.0), 4.0));\\nfloat opacity;\\nfor (int i = 0; i < 4; i++) {\\nopacity = u_opacities[i];\\nif (i == opacityIndex) {\\nbreak;\\n}\\n}\\nv_color = color * opacity;\\ngl_Position = vec4((u_dvsMat3 * vec3(position, 1.0)).xy, 0.0, 1.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;\\nvarying vec2 v_uv;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 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 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_FILL_HAS_UNRESOLVED_REPLACEMENT_COLOR = 3;\\nconst int BITSET_FILL_HAS_PATTERN_HEIGHT_PRECISION_FACTOR = 5;\\nconst int BITSET_FILL_HAS_PATTERN_WIDTH_PRECISION_FACTOR = 6;\\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);\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\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;\\nuniform vec2 u_maxIntNumOfCrossing;\\n#include \\n#include \\n#include \\n#include \\nconst float INV_SCALE_COMPRESSION_FACTOR = 1.0 / 128.0;\\nconst float MAX_REPRESENTABLE_INT = 16777216.0;\\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;\\nif (getBit(a_bitset, BITSET_FILL_HAS_PATTERN_WIDTH_PRECISION_FACTOR) > 0.5) {\\na_width *= INV_SCALE_COMPRESSION_FACTOR;\\n}\\nif (getBit(a_bitset, BITSET_FILL_HAS_PATTERN_HEIGHT_PRECISION_FACTOR) > 0.5) {\\na_height *= INV_SCALE_COMPRESSION_FACTOR;\\n}\\nvec2 scale = INV_SCALE_COMPRESSION_FACTOR * 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 patternSize = vec2(a_width, a_height);\\nvec2 numPatternsPerMaxInt = vec2(MAX_REPRESENTABLE_INT) / patternSize;\\nvec2 maxIntCrossingOffsetCorrection = patternSize * fract(u_maxIntNumOfCrossing * numPatternsPerMaxInt);\\nvec2 tileOffset = u_tileOffset + maxIntCrossingOffsetCorrection - 0.5 * patternSize;\\ntileOffset = vec2(tileOffset.x * cosA - tileOffset.y * sinA, tileOffset.x * sinA + tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, patternSize);\\nvec2 symbolOffset = u_zoomFactor * scale * vec2(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);\\nif (getBit(a_bitSet, BITSET_FILL_HAS_UNRESOLVED_REPLACEMENT_COLOR) > 0.5) {\\n#ifdef VV_COLOR\\nv_sampleAlphaOnly *= (1.0 - float(isNan(VV_ADATA[ATTR_VV_COLOR]))) * (1.0 - getBit(a_bitSet, BITSET_GENERIC_LOCK_COLOR));\\n#else\\nv_sampleAlphaOnly = 0.0;\\n#endif\\n}\\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) {\\n#ifdef HITTEST\\nlowp vec4 fillPixelColor = vec4(1.0);\\n#else\\nlowp vec4 fillPixelColor = v_color;\\n#endif\\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;\\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 = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec3 vertexPos = centerPos + u_displayViewMat3 * vec3(v_offsetFromCenter, 0.0) * u_radius;\\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 / 128.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_isHaloPass;\\nuniform float u_isBackgroundPass;\\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_isBackground = a_glyphData.w;\\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;\\nfloat isText = 1.0 - a_isBackground;\\nfloat isBackground = u_isBackgroundPass * a_isBackground;\\nvec4 nonHaloColor = (isBackground + isText) * a_color;\\nv_color = animation * ((1.0 - u_isHaloPass) * nonHaloColor + (u_isHaloPass * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHaloPass * 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);\\nfloat isHidden = u_isBackgroundPass * isText + (1.0 - u_isBackgroundPass) * a_isBackground;\\nv_pos.z += 2.0 * isHidden;\\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 ? 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 adjustedPatternHeight = line.patternSize.y * 2.0 * lineHalfWidth / line.patternSize.x;\\nmediump float relativeTexY = fract(line.accumulatedDistance / adjustedPatternHeight);\\nmediump float relativeTexX = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\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_isHaloPass;\\nuniform float u_isBackgroundPass;\\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_isBackground = a_aux.y;\\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;\\nfloat isText = 1.0 - a_isBackground;\\nfloat isBackground = u_isBackgroundPass * a_isBackground;\\nvec4 nonHaloColor = (isBackground * a_color) + (isText * getColor(a_color, a_bitSet, 1));\\nv_color = u_isHaloPass * a_haloColor + (1.0 - u_isHaloPass) * nonHaloColor;\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nfloat isHidden = u_isBackgroundPass * isText + (1.0 - u_isBackgroundPass) * a_isBackground;\\nv_pos.z += 2.0 * isHidden;\\nv_edgeDistanceOffset = u_isHaloPass * 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;\\nuniform mediump vec2 u_perspective;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nfloat w = 1.0 + dot(a_uv, u_perspective);\\nvec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(w * pos.xy, 0.0, w);\\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() {\\nvec4 color = 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);\\ngl_FragColor = clamp(color, 0.0, 1.0);\\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\\ngl_FragColor = vec4(color.rgb * u_opacity, color.a * u_opacity);\\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}\",\"common.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}\",\"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}\\nvec3 rgb = clamp(v.rgb / 255.0, 0.0, 1.0);\\nreturn vec4(rgb, currentPixel.a);\\n}\",\"getSurfaceValues.glsl\":\"#include \\nvoid getSurfaceValues(sampler2D imageTexture, vec2 texCoord, vec2 srcImageSize, inout float values[10]) {\\nvec2 onePixel = 1.0 / srcImageSize;\\nvec4 va = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(-1.0, -1.0)));\\nvec4 vb = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(0.0, -1.0)));\\nvec4 vc = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(1.0, -1.0)));\\nvec4 vd = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(-1.0, 0.0)));\\nvec4 ve = texture2D(imageTexture, mirror(texCoord));\\nvec4 vf = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(1.0, 0.0)));\\nvec4 vg = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(-1.0, 1.0)));\\nvec4 vh = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(0.0, 1.0)));\\nvec4 vi = texture2D(imageTexture, mirror(texCoord + onePixel * vec2(1.0, 1.0)));\\nfloat alpha = va.a * vb.a * vc.a * vd.a * ve.a * vf.a * vg.a * vh.a * vi.a;\\nvalues[0] = va.r;\\nvalues[1] = vb.r;\\nvalues[2] = vc.r;\\nvalues[3] = vd.r;\\nvalues[4] = ve.r;\\nvalues[5] = vf.r;\\nvalues[6] = vg.r;\\nvalues[7] = vh.r;\\nvalues[8] = vi.r;\\nvalues[9] = alpha;\\n}\",\"inverse.glsl\":\"float invertValue(float value) {\\nfloat s = sign(value);\\nreturn (s * s) / (value + abs(s) - 1.0);\\n}\",\"mirror.glsl\":\"vec2 mirror(vec2 pos) {\\nvec2 pos1 = abs(pos);\\nreturn step(pos1, vec2(1.0, 1.0)) * pos1 + step(1.0, pos1) * (2.0 - pos1);\\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 \\n#include \\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}\\nfloat pv[10];\\ngetSurfaceValues(u_image, pixelLocation, u_srcImageSize, pv);\\nfloat alpha = pv[9];\\nfloat dzx = (pv[2] + 2.0 * pv[5] + pv[8] - pv[0] - 2.0 * pv[3] - pv[6]) * u_factor.s;\\nfloat dzy = (pv[6] + 2.0 * pv[7] + pv[8] - pv[0] - 2.0 * pv[1] - pv[2]) * 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}\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(pv[4], u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\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}\"},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}\"},rfx:{aspect:{\"aspect.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform vec2 u_cellSize;\\nuniform vec2 u_srcImageSize;\\n#include \\nconst float pi = 3.14159265359;\\nvoid main() {\\nfloat pv[10];\\ngetSurfaceValues(u_image, v_texcoord, u_srcImageSize, pv);\\nfloat alpha = pv[9];\\nfloat dzx = (pv[2] + 2.0 * pv[5] + pv[8] - pv[0] - 2.0 * pv[3] - pv[6]) / (8.0 * u_cellSize[0]);\\nfloat dzy = -(pv[6] + 2.0 * pv[7] + pv[8] - pv[0] - 2.0 * pv[1] - pv[2]) / (8.0 * u_cellSize[1]);\\nalpha *= sign(abs(dzx) + abs(dzy));\\nfloat aspect_rad = (dzx == 0.0) ? (step(0.0, dzy) * 0.5 * pi + step(dzy, 0.0) * 1.5 * pi) : mod((2.5 * pi + atan(dzy, -dzx)), 2.0 * pi);\\nfloat aspect = aspect_rad * 180.0 / pi;\\ngl_FragColor = vec4(aspect, aspect, aspect, 1.0) * alpha;\\n}\"},bandarithmetic:{\"bandarithmetic.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform mediump mat3 u_bandIndexMat3;\\nuniform float u_adjustments[3];\\n#include \\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nvec3 pv2 = u_bandIndexMat3 * pv.rgb;\\nfloat nir = pv2.r;\\nfloat red = pv2.g;\\nfloat index;\\n#ifdef NDXI\\nindex = (nir - red) * invertValue(nir + red);\\n#elif defined(SR)\\nindex = nir * invertValue(red);\\n#elif defined(CI)\\nindex = nir * invertValue(red) - 1.0;\\n#elif defined(SAVI)\\nindex = (nir - red) * invertValue(nir + red + u_adjustments[0]) * (1.0 + u_adjustments[0]);\\n#elif defined(TSAVI)\\nfloat s = u_adjustments[0];\\nfloat a = u_adjustments[1];\\nfloat x = u_adjustments[2];\\nfloat y = -a * s + x * (1.0 + s * s);\\nindex = (s * (nir - s * red - a)) * invertValue(a * nir + red + y);\\n#elif defined(MAVI)\\nindex = 0.5 * (2.0 * (nir + 1.0) - sqrt(pow((2.0 * nir + 1.0), 2.0) - 8.0 * (nir - red)));\\n#elif defined(GEMI)\\nfloat eta = (2.0 * (nir * nir - red * red) + 1.5 * nir + 0.5 * red) * invertValue(nir + red + 0.5);\\nindex = eta * (1.0 - 0.25 * eta) - (red - 0.125) * invertValue(1.0 - red);\\n#elif defined(PVI)\\nfloat a = u_adjustments[0];\\nfloat b = u_adjustments[1];\\nfloat y = sqrt(1.0 + a * a);\\nindex = (nir - a * red - b) * invertValue(y);\\n#elif defined(VARI)\\nindex = (pv2.g - pv2.r) * invertValue(pv2.g + pv2.r - pv2.b);\\n#elif defined(MTVI2)\\nfloat green = pv2.b;\\nfloat v = pow(sqrt((2.0 * nir + 1.0), 2.0) - 6.0 * nir - 5.0 * sqrt(red) - 0.5);\\nindex = 1.5 * (1.2 * (nir - green) - 2.5 * (red - green)) * v;\\n#elif defined(RTVICORE)\\nfloat green = pv2.b;\\nindex = 100.0 * (nir - red) - 10.0 * (nir - green);\\n#elif defined(EVI)\\nfloat blue = pv2.b;\\nfloat denom = nir + 6.0 * red - 7.5 * blue + 1.0;\\nindex = (2.5 * (nir - red)) * invertValue(denom);\\n#elif defined(WNDWI)\\nfloat g = pv2.r;\\nfloat n = pv2.g;\\nfloat s = pv2.s;\\nfloat a = u_adjustments[0];\\nfloat denom = g + a * n + (1.0 - a) * s;\\nindex = (g - a * n - (1 - a) * s) * invertValue(denom);\\n#elif defined(BAI)\\nindex = invertValue(pow((0.1 - red), 2.0) + pow((0.06 - nir), 2.0));\\n#else\\ngl_FragColor = pv;\\nreturn;\\n#endif\\ngl_FragColor = vec4(index, index, index, pv.a);\\n}\"},compositeband:{\"compositeband.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nuniform sampler2D u_image1;\\nuniform sampler2D u_image2;\\nvarying vec2 v_texcoord;\\nvoid main() {\\nvec4 p0 = texture2D(u_image, v_texcoord);\\nvec4 p1 = texture2D(u_image1, v_texcoord);\\nvec4 p2 = texture2D(u_image2, v_texcoord);\\ngl_FragColor = vec4(p0.r, p1.r, p2.r, p0.a * p1.a * p2.a);\\n}\"},contrast:{\"contrast.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nvec4 result = adjustContrastBrightness(pv, false) ;\\ngl_FragColor = vec4(result.rgb * 255.0, result.a);\\n}\"},convolution:{\"convolution.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform vec2 u_srcImageSize;\\n#define KERNEL_SIZE_ROWS ROWS\\n#define KERNEL_SIZE_COLS COLS\\nuniform vec2 u_clampRange;\\nuniform float u_kernel[25];\\n#include \\nvoid main() {\\nvec3 rgb = vec3(0.0, 0.0, 0.0);\\nvec2 resolution = 1.0 / u_srcImageSize;\\nfloat rowOffset = -float(floor(float(KERNEL_SIZE_ROWS) / 2.0));\\nfloat colOffset = -float(floor(float(KERNEL_SIZE_COLS) / 2.0));\\nfloat alpha = 1.0;\\nfor (int row = 0; row < KERNEL_SIZE_ROWS; row++) {\\nfloat pos_row = rowOffset + float(row);\\nfor (int col = 0; col < KERNEL_SIZE_COLS; col++) {\\nvec2 pos = v_texcoord + vec2(colOffset + float(col), pos_row) * resolution;\\nvec4 pv = texture2D(u_image, mirror(pos));\\nrgb += pv.rgb * u_kernel[row * KERNEL_SIZE_COLS + col];\\nalpha *= pv.a;\\n}\\n}\\nrgb = clamp(rgb, u_clampRange.s, u_clampRange.t);\\ngl_FragColor = vec4(rgb * alpha, alpha);\\n}\"},curvature:{\"curvature.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform float u_zlFactor;\\nuniform vec2 u_srcImageSize;\\n#include \\nvoid main() {\\nfloat pv[10];\\ngetSurfaceValues(u_image, v_texcoord, u_srcImageSize, pv);\\nfloat alpha = pv[9];\\nfloat d = ((pv[3] + pv[5]) * 0.5 - pv[4]);\\nfloat e = ((pv[1] + pv[7]) * 0.5 - pv[4]);\\nfloat curvature = 0.0;\\n#ifdef STANDARD\\ncurvature = -u_zlFactor * (d + e);\\ngl_FragColor = vec4(curvature, curvature, curvature, alpha);\\n#else\\nfloat f = (-pv[0] + pv[2] + pv[6] - pv[8]) / 4.0;\\nfloat g = (-pv[3] + pv[5]) / 2.0;\\nfloat h = (pv[1] - pv[7]) / 2.0;\\nfloat g2 = g * g;\\nfloat h2 = h * h;\\n#ifdef PROFILE\\ncurvature = (u_zlFactor * (d * g2 + e * h2 + f * g * h)) / (g2 + h2);\\n#else\\ncurvature = (-u_zlFactor * (d * h2 + e * g2 - f * g * h)) / (g2 + h2);\\n#endif\\n#endif\\ngl_FragColor = vec4(curvature, curvature, curvature, alpha);\\n}\"},extractband:{\"extractband.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform mediump mat3 u_bandIndexMat3;\\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nvec3 pv2 = u_bandIndexMat3 * pv.rgb;\\ngl_FragColor = vec4(pv2, pv.a);\\n}\"},focalstatistics:{\"focalstatistics.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform vec2 u_srcImageSize;\\n#define KERNEL_SIZE_ROWS ROWS\\n#define KERNEL_SIZE_COLS COLS\\nuniform vec2 u_clampRange;\\n#include \\n#include \\nvoid main() {\\nvec2 resolution = 1.0 / u_srcImageSize;\\nfloat rowOffset = -float(floor(float(KERNEL_SIZE_ROWS) / 2.0));\\nfloat colOffset = -float(floor(float(KERNEL_SIZE_COLS) / 2.0));\\nfloat count = 0.0;\\n#ifdef STDDEV\\nvec3 sum = vec3(0.0, 0.0, 0.0);\\nvec3 sum2 = vec3(0.0, 0.0, 0.0);\\n#endif\\nvec4 currentPixel = texture2D(u_image, v_texcoord);\\nvec3 rgb = currentPixel.rgb;\\nfor (int row = 0; row < KERNEL_SIZE_ROWS; row++) {\\nfloat pos_row = rowOffset + float(row);\\nfor (int col = 0; col < KERNEL_SIZE_COLS; col++) {\\nvec2 pos = v_texcoord + vec2(colOffset + float(col), pos_row) * resolution;\\nvec4 pv = texture2D(u_image, mirror(pos));\\ncount += pv.a;\\n#ifdef MIN\\nrgb = min(rgb, pv.rgb);\\n#elif defined(MAX)\\nrgb = max(rgb, pv.rgb);\\n#elif defined(MEAN)\\nrgb += pv.rgb;\\n#elif defined(STDDEV)\\nsum += pv.rgb;\\nsum2 += (pv.rgb * pv.rgb);\\n#endif\\n}\\n}\\n#ifdef MEAN\\nrgb *= invertValue(count);\\n#elif defined(STDDEV)\\nrgb = sqrt((sum2 - sum * sum * invertValue(count)) * invertValue(count));\\n#endif\\nfloat alpha = step(0.9999, count);\\nrgb = clamp(rgb, u_clampRange.s, u_clampRange.t);\\n#ifdef FILL\\nrgb = (1.0 - currentPixel.a) * rgb + currentPixel.a * currentPixel.rgb;\\n#endif\\ngl_FragColor = vec4(rgb * alpha, alpha);\\n}\"},local:{\"local.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nuniform sampler2D u_image1;\\n#ifdef ONE_CONSTANT\\nuniform float u_image1Const;\\n#ifdef TWO_CONSTANT\\nuniform float u_image2Const;\\n#endif\\nuniform mat3 u_imageSwap;\\n#endif\\nvarying vec2 v_texcoord;\\nuniform vec2 u_domainRange;\\n#include \\nvoid main() {\\nvec4 pv0 = texture2D(u_image, v_texcoord);\\nfloat a = pv0.r;\\n#ifdef TWO_IMAGES\\n#ifdef ONE_CONSTANT\\nfloat b = u_image1Const;\\nvec3 abc = u_imageSwap * vec3(a, b, 0);\\na = abc.s;\\nb = abc.t;\\n#else\\nvec4 pv1 = texture2D(u_image1, v_texcoord);\\nfloat b = pv1.r;\\n#endif\\n#elif defined(CONDITIONAL)\\n#ifdef TWO_CONSTANT\\nfloat b = u_image1Const;\\nfloat c = u_image2Const;\\nvec3 abc = u_imageSwap * vec3(a, b, c);\\na = abc.s;\\nb = abc.t;\\nc = abc.p;\\n#elif defined(ONE_CONSTANT)\\nvec4 pv1 = texture2D(u_image1, v_texcoord);\\nfloat b = pv1.r;\\nfloat c = u_image1Const;\\nvec3 abc = u_imageSwap * vec3(a, b, c);\\na = abc.s;\\nb = abc.t;\\nc = abc.p;\\n#else\\nvec4 pv1 = texture2D(u_image1, v_texcoord);\\nvec4 pv2 = texture2D(u_image2, v_texcoord);\\nfloat b = pv1.r;\\nfloat c = pv2.r;\\n#endif\\n#endif\\nfloat result = a;\\nfloat alpha = pv0.a;\\n#ifdef PLUS\\nresult = a + b;\\n#elif defined(MINUS)\\nresult = a - b;\\n#elif defined(TIMES)\\nresult = a * b;\\n#elif defined(DIVIDE)\\nresult = a * invertValue(b);\\nalpha *= float(abs(sign(b)));\\n#elif defined(FLOATDIVIDE)\\nresult = a * invertValue(b);\\nalpha *= float(abs(sign(b)));\\n#elif defined(FLOORDIVIDE)\\nresult = floor(a * invertValue(b));\\nalpha *= float(abs(sign(b)));\\n#elif defined(SQUARE)\\nresult = a * a;\\n#elif defined(SQRT)\\nresult = sqrt(a);\\n#elif defined(POWER)\\nresult = pow(a, b);\\n#elif defined(LN)\\nresult = a <= 0.0 ? 0.0: log(a);\\nalpha *= float(a > 0.0);\\n#elif defined(LOG_1_0)\\nresult = a <= 0.0 ? 0.0: log2(a) * invertValue(log2(10.0));\\nalpha *= float(a > 0.0);\\n#elif defined(LOG_2)\\nresult = a <= 0.0 ? 0.0: log2(a);\\nalpha *= float(a > 0.0);\\n#elif defined(EXP)\\nresult = exp(a);\\n#elif defined(EXP_1_0)\\nresult = pow(10.0, a);\\n#elif defined(EXP_2)\\nresult = pow(2.0, a);\\n#elif defined(ROUNDDOWN)\\nresult = floor(a);\\n#elif defined(ROUNDUP)\\nresult = ceil(a);\\n#elif defined(INT)\\nresult = float(sign(a)) * floor(abs(a));\\n#elif defined(MOD)\\nresult = mod(a, b);\\n#elif defined(NEGATE)\\nresult = -a;\\n#elif defined(ABS)\\nresult = abs(a);\\n#elif defined(ACOS)\\nresult = abs(a) > 1.0 ? 0.0: acos(a);\\nalpha *= step(abs(a), 1.00001);\\n#elif defined(ACOSH)\\nresult = acosh(a);\\n#elif defined(POLYFILLACOSH)\\nresult = log(a + sqrt(a * a - 1.0));\\n#elif defined(ASIN)\\nresult = abs(a) > 1.0 ? 0.0: asin(a);\\nalpha *= step(abs(a), 1.00001);\\n#elif defined(ASINH)\\nresult = asinh(a);\\n#elif defined(POLYFILLASINH)\\nresult = log(a + sqrt(a * a + 1.0));\\n#elif defined(ATAN)\\nresult = atan(a);\\n#elif defined(ATANH)\\nresult = abs(a) > 1.0 ? 0.0: atanh(a);\\nalpha *= step(abs(a), 1.0);\\n#elif defined(POLYFILLATANH)\\nresult = a == 1.0 ? 0.0 : 0.5 * log((1.0 + a)/(1.0 -a));\\n#elif defined(ATAN_2)\\nresult = atan(a, b);\\n#elif defined(COS)\\nresult = cos(a);\\n#elif defined(COSH)\\nresult = cosh(a);\\n#elif defined(POLYFILLCOSH)\\nfloat halfexp = exp(a) / 2.0;\\nresult = halfexp + 1.0 / halfexp;\\n#elif defined(SIN)\\nresult = sin(a);\\n#elif defined(SINH)\\nresult = sinh(a);\\n#elif defined(POLYFILLSINH)\\nfloat halfexp = exp(a) / 2.0;\\nresult = halfexp - 1.0 / halfexp;\\n#elif defined(TAN)\\nresult = tan(a);\\n#elif defined(TANH)\\nresult = tanh(a);\\n#elif defined(POLYFILLTANH)\\nfloat expx = exp(a);\\nresult = (expx - 1.0 / expx) / (expx + 1.0 / expx);\\n#elif defined(BITWISEAND)\\nresult = a & b;\\n#elif defined(BITWISEOR)\\nresult = a | b;\\n#elif defined(BITWISELEFTSHIFT)\\nresult = a << b;\\n#elif defined(BITWISERIGHTSHIFT)\\nresult = a >> b;\\n#elif defined(BITWISENOT)\\nresult = ~a;\\n#elif defined(BITWISEXOR)\\nresult = a ^ b;\\n#elif defined(BOOLEANAND)\\nresult = float((a != 0.0) && (b != 0.0));\\n#elif defined(BOOLEANNOT)\\nresult = float(a == 0.0);\\n#elif defined(BOOLEANOR)\\nresult = float((a != 0.0) || (b != 0.0));\\n#elif defined(BOOLEANXOR)\\nresult = float((a != 0.0) ^^ (b != 0.0));\\n#elif defined(GREATERTHAN)\\nresult = float(a > b);\\n#elif defined(GREATERTHANEQUAL)\\nresult = float(a >= b);\\n#elif defined(LESSTHAN)\\nresult = float(a < b);\\n#elif defined(LESSTHANEQUAL)\\nresult = float(a <= b);\\n#elif defined(EQUALTO)\\nresult = float(a == b);\\n#elif defined(NOTEQUAL)\\nresult = float(a != b);\\n#elif defined(ISNULL)\\nresult = float(alpha == 0.0);\\nalpha = 1.0;\\n#elif defined(SETNULL)\\nfloat maskValue = float(a == 0.0);\\nresult = maskValue * b;\\nalpha *= maskValue;\\n#elif defined(CONDITIONAL)\\nfloat weight = float(abs(sign(a)));\\nresult = weight * b + (1.0 - weight) * c;\\n#endif\\nbool isInvalid = result < u_domainRange.s || result > u_domainRange.t;\\nresult = isInvalid ? 0.0 : result;\\nalpha *= float(!isInvalid);\\n#ifdef ROUND_OUTPUT\\nresult = floor(result + 0.5);\\n#endif\\ngl_FragColor = vec4(result, result, result, alpha);\\n}\"},mask:{\"mask.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\n#define LEN_INCLUDED_RANGES 6\\n#define LEN_NODATA_VALUES 6\\nuniform highp float u_includedRanges[6];\\nuniform highp float u_noDataValues[6];\\nfloat maskFactor(float bandValue, float fromValue, float to) {\\nfloat factor = 1.0;\\nfor (int i = 0; i < LEN_NODATA_VALUES; i++) {\\nfactor *= float(u_noDataValues[i] != bandValue);\\n}\\nfactor *= step(fromValue, bandValue) * step(bandValue, to);\\nreturn factor;\\n}\\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nfloat redFactor = maskFactor(pv.r, u_includedRanges[0], u_includedRanges[1]);\\n#ifdef MULTI_BAND\\nfloat greenFactor = maskFactor(pv.g, u_includedRanges[2], u_includedRanges[3]);\\nfloat blueFactor = maskFactor(pv.b, u_includedRanges[4], u_includedRanges[5]);\\nfloat maskFactor = redFactor * greenFactor * blueFactor;\\ngl_FragColor = pv * maskFactor;\\n#else\\ngl_FragColor = pv * redFactor;\\n#endif\\n}\"},ndvi:{\"ndvi.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform mediump mat3 u_bandIndexMat3;\\n#include \\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nvec3 pv2 = u_bandIndexMat3 * pv.rgb;\\nfloat nir = pv2.r;\\nfloat red = pv2.g;\\nfloat index = (nir - red) * invertValue(nir + red);\\n#ifdef SCALED\\nindex = floor((index + 1.0) * 100.0 + 0.5);\\n#endif\\ngl_FragColor = vec4(index, index, index, pv.a);\\n}\"},remap:{\"remap.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\n#define LEN_REMAP_RANGES 18\\n#define LEN_NODATA_RANGES 12\\nuniform highp float u_rangeMaps[18];\\nuniform highp float u_noDataRanges[12];\\nuniform highp float u_unmatchMask;\\nuniform vec2 u_clampRange;\\nvoid main() {\\nvec4 pv = texture2D(u_image, v_texcoord);\\nfloat factor = 1.0;\\nfloat bandValue = pv.r;\\nfor (int i = 0; i < LEN_NODATA_RANGES; i+=2) {\\nfloat inside = 1.0 - step(u_noDataRanges[i], bandValue) * step(bandValue, u_noDataRanges[i+1]);\\nfactor *= inside;\\n}\\nfloat mapValue = 0.0;\\nfloat includeMask = 0.0;\\nfor (int i = 0; i < LEN_REMAP_RANGES; i+=3) {\\nfloat stepMask = step(u_rangeMaps[i], bandValue) * step(bandValue, u_rangeMaps[i+1]);\\nincludeMask = (1.0 - stepMask) * includeMask + stepMask;\\nmapValue = (1.0 - stepMask) * mapValue + stepMask * u_rangeMaps[i+2];\\n}\\nbandValue = factor * (mapValue + (1.0 - includeMask) * u_unmatchMask * pv.r);\\nfloat bandMask = factor * max(u_unmatchMask, includeMask);\\nbandValue = clamp(bandValue, u_clampRange.s, u_clampRange.t);\\ngl_FragColor = vec4(bandValue, bandValue, bandValue, bandMask * pv.a);\\n}\"},slope:{\"slope.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying vec2 v_texcoord;\\nuniform vec2 u_cellSize;\\nuniform float u_zFactor;\\nuniform vec2 u_srcImageSize;\\nuniform float u_pixelSizePower;\\nuniform float u_pixelSizeFactor;\\n#include \\nvoid main() {\\nfloat pv[10];\\ngetSurfaceValues(u_image, v_texcoord, u_srcImageSize, pv);\\nfloat alpha = pv[9];\\nfloat xf = (u_zFactor + pow(u_cellSize[0], u_pixelSizePower) * u_pixelSizeFactor) / (8.0 * u_cellSize[0]);\\nfloat yf = (u_zFactor + pow(u_cellSize[1], u_pixelSizePower) * u_pixelSizeFactor) / (8.0 * u_cellSize[1]);\\nfloat dzx = (pv[2] + 2.0 * pv[5] + pv[8] - pv[0] - 2.0 * pv[3] - pv[6]) * xf;\\nfloat dzy = -(pv[6] + 2.0 * pv[7] + pv[8] - pv[0] - 2.0 * pv[1] - pv[2]) * yf;\\nfloat rise2run = sqrt(dzx * dzx + dzy * dzy);\\n#ifdef PERCENT_RISE\\nfloat percentRise = rise2run * 100.0;\\ngl_FragColor = vec4(percentRise, percentRise, percentRise, alpha);\\n#else\\nfloat degree = atan(rise2run) * 57.2957795;\\ngl_FragColor = vec4(degree, degree, degree, alpha);\\n#endif\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nuniform sampler2D u_image;\\nvarying highp vec2 v_texcoord;\\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, float gamma, float gammaCorrection) {\\nval = clamp(val, minCutOff, maxCutOff);\\nfloat stretchedVal;\\n#ifdef USE_GAMMA\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\ntempf -= step(1.0, gamma) * sign(gamma - 1.0) * pow(1.0 / outRange, relativeVal * gammaCorrection);\\nstretchedVal = tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput;\\nstretchedVal = clamp(stretchedVal, minOutput, maxOutput);\\n#else\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n#endif\\n#ifdef ROUND_OUTPUT\\nstretchedVal = floor(stretchedVal + 0.5);\\n#endif\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec4 currentPixel = texture2D(u_image, v_texcoord);\\nfloat redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_gamma[0], u_gammaCorrection[0]);\\n#ifdef MULTI_BAND\\nfloat greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], 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_gamma[2], u_gammaCorrection[2]);\\ngl_FragColor = vec4(redVal, greenVal, blueVal, currentPixel.a);\\n#else\\ngl_FragColor = vec4(redVal, redVal, redVal, currentPixel.a);\\n#endif\\n}\"},vs:{\"vs.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}\"}},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}\"}},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.28/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.28/esri/copyright.txt for details.\n*/\nclass t{static getStorageSpec(t){return null}static createOrUpdateRendererSchema(t,e){return null!=t&&\"default\"===t.type?t:{type:\"default\"}}static getVariation(t){return{}}static getVariationHash(t){return 0}}t.type=\"default\",t.programSpec=null;export{t as Technique};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport{writeColor as e}from\"../../color.js\";import{dotDensityMaxFields as t}from\"../../definitions.js\";import{Technique as o}from\"../Technique.js\";import{DataType as r}from\"../../../../../webgl/enums.js\";class a extends o{static getStorageSpec({attributes:e}){return{visualVariables:!1,attributes:e??null}}static _createRendererSchema(){return{type:\"dot-density\",colors:new Float32Array(32),dotValue:-1,dotSize:-1,dotScale:-1,dotBlending:!1,backgroundColor:new Float32Array(4),activeDots:new Float32Array(8),seed:-1}}static createOrUpdateRendererSchema(o,r){const{attributes:a,dotValue:n,referenceScale:i,dotSize:l,dotBlendingEnabled:d,seed:s,backgroundColor:c}=r,u=null!=o&&\"dot-density\"===o.type?o:this._createRendererSchema();u.dotValue=n,u.dotSize=l,u.dotScale=i,u.dotBlending=d,u.seed=s;const{colors:m,activeDots:g,backgroundColor:p}=u;for(let y=0;y=a.length?null:a[y].color;e(m,t,4*y)}for(let e=0;e<8;e++)g[e]=e`${t}:${e.toString()}`)).join();let h,y=!0;return null!=a&&\"heatmap\"===a.type?(h=a,y=u!==a.gradientHash):h=this._createRendererSchema(),h.radius=e(i),h.minDensity=n,h.densityRange=p,h.referenceScale=o,h.isFieldActive=d,y&&(h.gradient=t(m),h.gradientHash=u),h}}i.type=\"heatmap\",i.programSpec={shader:\"materials/icon/heatmapAccumulate\",vertexLayout:{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:4,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE}]}};export{i as HeatmapTechnique};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from\"../../../../../../Color.js\";import{pt2px as t}from\"../../../../../../core/screenUtils.js\";import{writeColor as o}from\"../../color.js\";import{chartMaxFields as r}from\"../../definitions.js\";import{Technique as a}from\"../Technique.js\";import{DataType as n}from\"../../../../../webgl/enums.js\";class i extends a{static getStorageSpec({attributes:e}){return{visualVariables:!0,attributes:e??null}}static _createRendererSchema(){return{type:\"pie-chart\",colors:new Float32Array(4*r),defaultColor:new Float32Array(4),othersColor:new Float32Array(4),outlineColor:new Float32Array(4),holePercentage:0,sectorThreshold:0,outlineWidth:1,numberOfFields:10}}static createOrUpdateRendererSchema(a,n){const{attributes:i,defaultColor:l,holePercentage:s,othersCategory:c,outline:u}=n,m=null!=a&&\"pie-chart\"===a.type?a:this._createRendererSchema();for(let t=0;t=i.length?new e([0,0,0,0]):i[t].color;o(m.colors,r,4*t)}return o(m.defaultColor,l),o(m.othersColor,c?.color),o(m.outlineColor,u?.color),m.outlineWidth=t(u?.width||0),m.holePercentage=s,m.sectorThreshold=c?.threshold||0,m.numberOfFields=i.length,m}static getVariation(e){return{numberOfFields:e.numberOfFields}}static getVariationHash(e){return e.numberOfFields}}i.type=\"pie-chart\",i.programSpec={shader:\"materials/pie\",vertexLayout:{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT},{location:1,name:\"a_vertexOffset\",count:2,type:n.SHORT},{location:2,name:\"a_texCoords\",count:2,type:n.UNSIGNED_SHORT},{location:3,name:\"a_bitSetAndDistRatio\",count:2,type:n.UNSIGNED_SHORT},{location:4,name:\"a_id\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_color\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:n.UNSIGNED_BYTE},{location:8,name:\"a_zoomRange\",count:2,type:n.UNSIGNED_SHORT}]},hittestAttributes:[\"a_vertexOffset\",\"a_texCoords\"]};export{i as PieChartTechnique};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from\"../../../../../core/Error.js\";import{WGLGeometryType as r,WGLSymbologyType as t}from\"../enums.js\";import{MaterialKeyBase as o}from\"../materialKey/MaterialKey.js\";import{Technique as i}from\"./Technique.js\";import{DotDensityTechnique as n}from\"./dotDensity/TechniqueDotDensity.js\";import{HeatmapTechnique as a}from\"./heatmap/TechniqueHeatmap.js\";import{PieChartTechnique as m}from\"./pieChart/TechniquePieChart.js\";function s(r,t){if(r.type!==t)throw new e(\"material-view-model:unexpected-renderer-schema\",`expected to find renderer schema of type \"${t}\" but found type \"${r.type}\"`)}function c(e){switch(e?.type){case\"dot-density\":return n;case\"heatmap\":return a;case\"pie-chart\":return m;default:return i}}function p(e){const{geometryType:s,symbologyType:c}=o.load(e);switch(s){case r.FILL:if(c===t.DOT_DENSITY)return n;break;case r.MARKER:switch(c){case t.HEATMAP:return a;case t.PIE_CHART:return m}}return i}export{s as assertRendererSchema,p as getTechniqueFromMaterialKey,c as getTechniqueFromRenderer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nfunction n(n){return window.WebGL2RenderingContext&&n instanceof window.WebGL2RenderingContext}export{n as default};\n"],"names":["n","t","r","x","exports","e","i","u","v","o","y","p","a","l","length","h","s","c","next","prev","f","Z","Math","max","C","q","m","A","steiner","w","push","g","prevZ","nextZ","z","M","j","d","_","sort","abs","k","H","b","min","B","this","deviation","flatten","vertices","holes","dimensions","Float32Array","N","Object","freeze","defineProperty","__proto__","ONES","UNIT_W","UNIT_X","UNIT_Y","UNIT_Z","ZEROS","clone","create","createView","fromValues","ones","unitW","unitX","unitY","unitZ","zeros","Symbol","toStringTag","value","constructor","super","arguments","_color","dispose","_program","prepareState","context","setStencilTestEnabled","setBlendingEnabled","setFaceCullingEnabled","setColorMask","setStencilOp","KEEP","REPLACE","setStencilWriteMask","setStencilFunction","ALWAYS","draw","state","requestRender","allowDelayedRender","geometry","location","name","count","type","SHORT","getVAO","attributes","bufferLayouts","indexBuffer","compiled","useProgram","setUniform2fv","setUniform4fv","setUniformMatrix3fv","displayMat3","bindVAO","drawElements","TRIANGLES","size","UNSIGNED_INT","_desc","vsPath","fsPath","Map","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","GREATER","painter","isReady","computedOpacity","dvsMat3","isWrapAround","perspectiveTransform","texture","timeline","begin","materialManager","getProgram","FLOAT","tex","UNSIGNED_SHORT","bindTexture","setUniform1i","setUniform1f","drawArrays","TRIANGLE_STRIP","end","getGeometryType","FILL","supportsSymbology","DOT_DENSITY","drawGeometry","rendererInfo","requiredLevel","passOptions","E","load","materialKey","data","S","T","shader","I","vertexLayout","U","hittestAttributes","programSpec","UNSIGNED_BYTE","normalized","symbologyType","SIMPLE","OUTLINE_FILL_SIMPLE","splice","L","_getTriangleDesc","POINTS","O","G","D","getMaterialProgram","_setSharedUniforms","row","col","R","key","setUniform2f","floor","textureBinding","textureManager","bindTextures","level","pixelRatio","_setSizeVVUniforms","_setColorAndOpacityVVUniforms","target","indexCount","F","indexFrom","Uint32Array","BYTES_PER_ELEMENT","_drawFills","PIE_CHART","_drawMarkers","rendererSchema","colors","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","displayLevel","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","window","devicePixelRatio","spriteMosaic","P","drawPhase","HITTEST","getMosaicItemPosition","tl","br","page","getPageSize","bind","LINEAR","setUniform4f","rangeX","transforms","dvs","round","width","EQUAL","Int8Array","createVertex","STATIC_DRAW","getAttributeLocations","getLayoutInfo","some","layerData","get","circleIndexCount","circleMaterial","VIEWPORT","displayViewMat3","has","setDataUniforms","prepareForRendering","vao","stencilRef","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","V","fillVAO","patternMap","fillIndexStart","outlineMaterial","outlineVAO","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","MAP","isIconSDF","rotation","updateOpacityInfo","iconVAO","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","_setStencilState","glyphMosaic","textMaterial","glyphPerPageElementsMap","_glyphTextureSize","height","W","textVAO","forEach","_renderGlyphRange","is3D","stencilSymbols","LABEL","mapAligned","LINE","BYTE","TEXT","_setRotationVVUniforms","marker","line","fill","text","label","clip","stencil","bitmap","overlay","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","_createDotDensityMesh","divisor","offset","stride","dotSize","getViewport","dotScale","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","clear","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","samplingMode","NEAREST","wrapMode","CLAMP_TO_EDGE","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","_seed","_allocDotDensityTexture","getFloat","dataType","heatmap","pieChart","PI","LN2","log","getLogger","strideInBytes","MARKER","HEATMAP","Uint8Array","$","BUTT","ROUND","SQUARE","error","MITER","BEVEL","OPACITY","COLOR","ROTATION","SIZE","vertexCount","vertexFrom","Y","buffers","INT","K","UNSIGNED_SHORT_4_4_4_4","Uint16Array","J","set","Q","ee","map","X","strides","te","ne","pe","path","re","url","imageData","se","contentType","ae","startsWith","ie","includes","ce","oe","ue","toLowerCase","le","cim","dashTemplate","style","fe","ye","me","maxVVSize","de","charCodeAt","trim","test","markerPlacement","_rctx","_vertexBuffer","_count","unbind","coords","lengths","slice","_cache","indices","primitiveType","isMapSpace","fromRect","fromScreenExtent","xmin","ymin","xmax","ymax","fromPath","fromGeometry","fromPolygon","fromMapExtent","toScreen","destroy","vertexBuffers","elementType","getIndexBuffer","createIndex","getVertexBuffers","keys","reduce","parseFloat","_clip","stage","_handle","version","_invalidate","ready","fromClipArea","_destroyGL","mesh","remove","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","clips","_updateClippingInfo","renderChildren","_renderPasses","prepareRenderPasses","render","registerRenderPass","brushes","_clippingInfos","LABEL_ALPHA","DEBUG","HIGHLIGHT","items","Left","Right","Center","Top","Baseline","Bottom","console","debug","nearest","defines","mips","bilinear","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","resolution","isSourceScaled","_quad","renderingOptions","source","blendFunction","coordScale","setSamplingProfile","brushEffect","visible","pixelFormat","internalFormat","referenceScale","radius","loadQualityProfile","isFieldActive","GEQUAL","createOptions","_prevFBO","_accumulateFramebuffer","detachDepthStencilBuffer","_accumulateOutputStencilBuffer","_resolveGradientTexture","_tileQuad","_prevViewport","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","requiresSharedStencilBuffer","getSharedStencilBuffer","gradientHash","gradient","_prevGradientHash","resize","setData","depthStencil","descriptor","errorOnce","blitFramebuffer","_qualityProfile","textureFloat","colorBufferFloat","capabilities","textureFloatLinear","textureHalfFloat","textureHalfFloatLinear","floatBlend","driverTest","floatBufferBlend","result","R32F","R16F","warnOnce","RED","RGBA","HALF_FLOAT","WEBGL1","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","isImmutable","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","_initialize","setStencilFunctionSeparate","FRONT_AND_BACK","_computeDesc","commit","getGeometry","attributeView","forEachCommand","position","distance","tileMat3","viewMat3","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","vvRotation","vvMaterialParameters","vvRotationType","findIndex","join","NONE","CLIP","NUM_DRAW_PHASES","SIZE_MINMAX_VALUE","SIZE_SCALE_STOPS","SIZE_FIELD_STOPS","SIZE_UNIT_VALUE","MINMAX_TARGETS_OUTLINE","SCALE_TARGETS_OUTLINE","FIELD_TARGETS_OUTLINE","UNIT_TARGETS_OUTLINE","SPRITE","GLYPH","DEFAULT","OUTLINE_FILL","filter","from","Error","geometryType","shared","_data","bits","setBits","bit","setBit","geometryTypeString","hasVV","setVV","getVariation","options","namespace","getVariationHash","hasSizeVV","isOutline","vvFlags","placement","buffer","shaders","vertexShader","fragmentShader","background","bitBlit","blend","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","raster","common","flow","imagery","particles","streamlines","hillshade","lut","magdir","reproject","rfx","aspect","bandarithmetic","compositeband","contrast","convolution","curvature","extractband","focalstatistics","local","mask","ndvi","remap","slope","stretch","vs","scalar","util","split","resolveIncludes","getStorageSpec","createOrUpdateRendererSchema","visualVariables","_createRendererSchema","dotBlending","dotBlendingEnabled","color","ddDotBlending","field","valueExpression","kernel","maxDensity","colorStops","ratio","toString","numberOfFields","othersCategory","outline","threshold","WebGL2RenderingContext"],"sourceRoot":""}