// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define(["exports","../../core/floatRGBA","../../geometry/support/jsonUtils","./Rect","../../views/2d/engine/webgl/definitions"],function(A,H,I,J,D){function F(b){switch(b.type){case "CIMPointSymbol":b=b.symbolLayers;if(!b||1!==b.length)return null;b=b[0];return"CIMVectorMarker"!==b.type?null:F(b);case "CIMVectorMarker":b=b.markerGraphics;if(!b||1!==b.length)return null;var a=b[0];if(!a)return null;b=a.geometry;if(!b)return null;a=a.symbol;return!a||"CIMPolygonSymbol"!==a.type&&"CIMLineSymbol"!==a.type|| a.symbolLayers?.some(c=>!!c.effects)?null:{type:"sdf",geom:b,asFill:"CIMPolygonSymbol"===a.type}}}function G(b){let a=Infinity,c=-Infinity,f=Infinity,e=-Infinity;for(const d of b)for(const k of d)k[0]c&&(c=k[0]),k[1]e&&(e=k[1]);return[a,f,c,e]}A.buildSDF=function(b){var a=b.geom;var c=a?a.rings?a.rings:a.paths?a.paths:void 0!==a.xmin&&void 0!==a.ymin&&void 0!==a.xmax&&void 0!==a.ymax?[[[a.xmin,a.ymin],[a.xmin,a.ymax],[a.xmax,a.ymax],[a.xmax,a.ymin],[a.xmin,a.ymin]]]: null:null;a=Infinity;var f=-Infinity;var e=Infinity;var d=-Infinity;for(var k of c)for(var l of k)l[0]f&&(f=l[0]),l[1]d&&(d=l[1]);e=new J(a,e,f-a,d-e);k=D.defaultSdfTextureSize;l=D.spritePadding;a=Math.floor(.5*(.5*k-l));d=(k-2*(a+l))/Math.max(e.width,e.height);k=Math.round(e.width*d)+2*a;l=Math.round(e.height*d)+2*a;f=[];for(var q of c)if(q&&1x&&(x=0);r>k&&(r=k);0>n&&(n=0);p>l&&(p=l);t=g[0]-d[0];const u=g[1]-d[1],w=t*t+u*u; for(;xv?(B=d[0],v=d[1]):v>w?(B=g[0],v=g[1]):(v/=w,B=d[0]+v*t,v=d[1]+v*u);y=(y-B)*(y-B)+(z-v)*(z-v);z=(l-E-1)*k+x;yk-a&&(e=k-a),gl-a&&(d=l-a);gg!==m[1]>g){n=g+.5;r=(l-g-1)*k;for(p=c;p