@arcgis/core 4.25.0-next.20220720 → 4.25.0-next.20220721

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[176],{97575:(e,t,r)=>{r.d(t,{J:()=>a});var o,n,i,s={exports:{}};o=s,n=function(){var e=function(){function e(e){this.message="JPEG error: "+e}return e.prototype=new Error,e.prototype.name="JpegError",e.constructor=e,e}();return function(){if(!self||!self.Uint8ClampedArray)return null;var t=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),r=4017,o=799,n=3406,i=2276,s=1567,a=3784,l=5793,c=2896;function h(){this.decodeTransform=null,this.colorTransform=-1}function u(e,t){for(var r,o,n=0,i=[],s=16;s>0&&!e[s-1];)s--;i.push({children:[],index:0});var a,l=i[0];for(r=0;r<s;r++){for(o=0;o<e[r];o++){for((l=i.pop()).children[l.index]=t[n];l.index>0;)l=i.pop();for(l.index++,i.push(l);i.length<=r;)i.push(a={children:[],index:0}),l.children[l.index]=a.children,l=a;n++}r+1<s&&(i.push(a={children:[],index:0}),l.children[l.index]=a.children,l=a)}return i[0].children}function f(e,t,r){return 64*((e.blocksPerLine+1)*t+r)}function p(r,o,n,i,s,a,l,c,h){var u=n.mcusPerLine,p=n.progressive,d=o,m=0,y=0;function C(){if(y>0)return y--,m>>y&1;if(255===(m=r[o++])){var t=r[o++];if(t)throw new e("unexpected marker "+(m<<8|t).toString(16))}return y=7,m>>>7}function w(t){for(var r=t;;){if("number"==typeof(r=r[C()]))return r;if("object"!=typeof r)throw new e("invalid huffman sequence")}}function b(e){for(var t=0;e>0;)t=t<<1|C(),e--;return t}function x(e){if(1===e)return 1===C()?1:-1;var t=b(e);return t>=1<<e-1?t:t+(-1<<e)+1}var v,T=0,k=0;function S(e,t,r,o,n){var i=r%u;t(e,f(e,(r/u|0)*e.v+o,i*e.h+n))}function A(e,t,r){t(e,f(e,r/e.blocksPerLine|0,r%e.blocksPerLine))}var I,M,P,_,R,D,E=i.length;D=p?0===a?0===c?function(e,t){var r=w(e.huffmanTableDC),o=0===r?0:x(r)<<h;e.blockData[t]=e.pred+=o}:function(e,t){e.blockData[t]|=C()<<h}:0===c?function(e,r){if(T>0)T--;else for(var o=a,n=l;o<=n;){var i=w(e.huffmanTableAC),s=15&i,c=i>>4;if(0!==s){var u=t[o+=c];e.blockData[r+u]=x(s)*(1<<h),o++}else{if(c<15){T=b(c)+(1<<c)-1;break}o+=16}}}:function(r,o){for(var n,i,s=a,c=l,u=0;s<=c;){var f=t[s];switch(k){case 0:if(u=(i=w(r.huffmanTableAC))>>4,0==(n=15&i))u<15?(T=b(u)+(1<<u),k=4):(u=16,k=1);else{if(1!==n)throw new e("invalid ACn encoding");v=x(n),k=u?2:3}continue;case 1:case 2:r.blockData[o+f]?r.blockData[o+f]+=C()<<h:0==--u&&(k=2===k?3:0);break;case 3:r.blockData[o+f]?r.blockData[o+f]+=C()<<h:(r.blockData[o+f]=v<<h,k=0);break;case 4:r.blockData[o+f]&&(r.blockData[o+f]+=C()<<h)}s++}4===k&&0==--T&&(k=0)}:function(e,r){var o=w(e.huffmanTableDC),n=0===o?0:x(o);e.blockData[r]=e.pred+=n;for(var i=1;i<64;){var s=w(e.huffmanTableAC),a=15&s,l=s>>4;if(0!==a){var c=t[i+=l];e.blockData[r+c]=x(a),i++}else{if(l<15)break;i+=16}}};var L,U,G,B,O=0;for(U=1===E?i[0].blocksPerLine*i[0].blocksPerColumn:u*n.mcusPerColumn;O<U;){var N=s?Math.min(U-O,s):U;for(M=0;M<E;M++)i[M].pred=0;if(T=0,1===E)for(I=i[0],R=0;R<N;R++)A(I,D,O),O++;else for(R=0;R<N;R++){for(M=0;M<E;M++)for(G=(I=i[M]).h,B=I.v,P=0;P<B;P++)for(_=0;_<G;_++)S(I,D,O,P,_);O++}y=0,(L=g(r,o))&&L.invalid&&(console.log("decodeScan - unexpected MCU data, next marker is: "+L.invalid),o=L.offset);var F=L&&L.marker;if(!F||F<=65280)throw new e("marker was not found");if(!(F>=65488&&F<=65495))break;o+=2}return(L=g(r,o))&&L.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+L.invalid),o=L.offset),o-d}function d(t,h,u){var f,p,d,m,g,y,C,w,b,x,v,T,k,S,A,I,M,P=t.quantizationTable,_=t.blockData;if(!P)throw new e("missing required Quantization Table.");for(var R=0;R<64;R+=8)b=_[h+R],x=_[h+R+1],v=_[h+R+2],T=_[h+R+3],k=_[h+R+4],S=_[h+R+5],A=_[h+R+6],I=_[h+R+7],b*=P[R],0!=(x|v|T|k|S|A|I)?(x*=P[R+1],v*=P[R+2],T*=P[R+3],k*=P[R+4],S*=P[R+5],A*=P[R+6],I*=P[R+7],p=(f=(f=l*b+128>>8)+(p=l*k+128>>8)+1>>1)-p,M=(d=v)*a+(m=A)*s+128>>8,d=d*s-m*a+128>>8,C=(g=(g=c*(x-I)+128>>8)+(C=S<<4)+1>>1)-C,y=(w=(w=c*(x+I)+128>>8)+(y=T<<4)+1>>1)-y,m=(f=f+(m=M)+1>>1)-m,d=(p=p+d+1>>1)-d,M=g*i+w*n+2048>>12,g=g*n-w*i+2048>>12,w=M,M=y*o+C*r+2048>>12,y=y*r-C*o+2048>>12,C=M,u[R]=f+w,u[R+7]=f-w,u[R+1]=p+C,u[R+6]=p-C,u[R+2]=d+y,u[R+5]=d-y,u[R+3]=m+g,u[R+4]=m-g):(M=l*b+512>>10,u[R]=M,u[R+1]=M,u[R+2]=M,u[R+3]=M,u[R+4]=M,u[R+5]=M,u[R+6]=M,u[R+7]=M);for(var D=0;D<8;++D)b=u[D],0!=((x=u[D+8])|(v=u[D+16])|(T=u[D+24])|(k=u[D+32])|(S=u[D+40])|(A=u[D+48])|(I=u[D+56]))?(p=(f=4112+((f=l*b+2048>>12)+(p=l*k+2048>>12)+1>>1))-p,M=(d=v)*a+(m=A)*s+2048>>12,d=d*s-m*a+2048>>12,m=M,C=(g=(g=c*(x-I)+2048>>12)+(C=S)+1>>1)-C,y=(w=(w=c*(x+I)+2048>>12)+(y=T)+1>>1)-y,M=g*i+w*n+2048>>12,g=g*n-w*i+2048>>12,w=M,M=y*o+C*r+2048>>12,y=y*r-C*o+2048>>12,b=(b=(f=f+m+1>>1)+w)<16?0:b>=4080?255:b>>4,x=(x=(p=p+d+1>>1)+(C=M))<16?0:x>=4080?255:x>>4,v=(v=(d=p-d)+y)<16?0:v>=4080?255:v>>4,T=(T=(m=f-m)+g)<16?0:T>=4080?255:T>>4,k=(k=m-g)<16?0:k>=4080?255:k>>4,S=(S=d-y)<16?0:S>=4080?255:S>>4,A=(A=p-C)<16?0:A>=4080?255:A>>4,I=(I=f-w)<16?0:I>=4080?255:I>>4,_[h+D]=b,_[h+D+8]=x,_[h+D+16]=v,_[h+D+24]=T,_[h+D+32]=k,_[h+D+40]=S,_[h+D+48]=A,_[h+D+56]=I):(M=(M=l*b+8192>>14)<-2040?0:M>=2024?255:M+2056>>4,_[h+D]=M,_[h+D+8]=M,_[h+D+16]=M,_[h+D+24]=M,_[h+D+32]=M,_[h+D+40]=M,_[h+D+48]=M,_[h+D+56]=M)}function m(e,t){for(var r=t.blocksPerLine,o=t.blocksPerColumn,n=new Int16Array(64),i=0;i<o;i++)for(var s=0;s<r;s++)d(t,f(t,i,s),n);return t.blockData}function g(e,t,r){function o(t){return e[t]<<8|e[t+1]}var n=e.length-1,i=r<t?r:t;if(t>=n)return null;var s=o(t);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:t};for(var a=o(i);!(a>=65472&&a<=65534);){if(++i>=n)return null;a=o(i)}return{invalid:s.toString(16),marker:a,offset:i}}return h.prototype={parse:function(r){function o(){var e=r[l]<<8|r[l+1];return l+=2,e}function n(){var e=o(),t=l+e-2,n=g(r,t,l);n&&n.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+n.invalid),t=n.offset);var i=r.subarray(l,t);return l+=i.length,i}function i(e){for(var t=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),o=0;o<e.components.length;o++){O=e.components[o];var n=Math.ceil(Math.ceil(e.samplesPerLine/8)*O.h/e.maxH),i=Math.ceil(Math.ceil(e.scanLines/8)*O.v/e.maxV),s=t*O.h,a=r*O.v*64*(s+1);O.blockData=new Int16Array(a),O.blocksPerLine=n,O.blocksPerColumn=i}e.mcusPerLine=t,e.mcusPerColumn=r}var s,a,l=0,c=null,h=null,f=[],d=[],y=[],C=o();if(65496!==C)throw new e("SOI not found");for(C=o();65497!==C;){var w,b,x;switch(C){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var v=n();65504===C&&74===v[0]&&70===v[1]&&73===v[2]&&70===v[3]&&0===v[4]&&(c={version:{major:v[5],minor:v[6]},densityUnits:v[7],xDensity:v[8]<<8|v[9],yDensity:v[10]<<8|v[11],thumbWidth:v[12],thumbHeight:v[13],thumbData:v.subarray(14,14+3*v[12]*v[13])}),65518===C&&65===v[0]&&100===v[1]&&111===v[2]&&98===v[3]&&101===v[4]&&(h={version:v[5]<<8|v[6],flags0:v[7]<<8|v[8],flags1:v[9]<<8|v[10],transformCode:v[11]});break;case 65499:for(var T=o()+l-2;l<T;){var k=r[l++],S=new Uint16Array(64);if(k>>4==0)for(b=0;b<64;b++)S[t[b]]=r[l++];else{if(k>>4!=1)throw new e("DQT - invalid table spec");for(b=0;b<64;b++)S[t[b]]=o()}f[15&k]=S}break;case 65472:case 65473:case 65474:if(s)throw new e("Only single frame JPEGs supported");o(),(s={}).extended=65473===C,s.progressive=65474===C,s.precision=r[l++],s.scanLines=o(),s.samplesPerLine=o(),s.components=[],s.componentIds={};var A,I=r[l++],M=0,P=0;for(w=0;w<I;w++){A=r[l];var _=r[l+1]>>4,R=15&r[l+1];M<_&&(M=_),P<R&&(P=R);var D=r[l+2];x=s.components.push({h:_,v:R,quantizationId:D,quantizationTable:null}),s.componentIds[A]=x-1,l+=3}s.maxH=M,s.maxV=P,i(s);break;case 65476:var E=o();for(w=2;w<E;){var L=r[l++],U=new Uint8Array(16),G=0;for(b=0;b<16;b++,l++)G+=U[b]=r[l];var B=new Uint8Array(G);for(b=0;b<G;b++,l++)B[b]=r[l];w+=17+G,(L>>4==0?y:d)[15&L]=u(U,B)}break;case 65501:o(),a=o();break;case 65498:o();var O,N=r[l++],F=[];for(w=0;w<N;w++){var V=s.componentIds[r[l++]];O=s.components[V];var z=r[l++];O.huffmanTableDC=y[z>>4],O.huffmanTableAC=d[15&z],F.push(O)}var j=r[l++],Z=r[l++],W=r[l++],J=p(r,l,s,F,a,j,Z,W>>4,15&W);l+=J;break;case 65535:255!==r[l]&&l--;break;default:if(255===r[l-3]&&r[l-2]>=192&&r[l-2]<=254){l-=3;break}throw new e("unknown marker "+C.toString(16))}C=o()}for(this.width=s.samplesPerLine,this.height=s.scanLines,this.jfif=c,this.eof=l,this.adobe=h,this.components=[],w=0;w<s.components.length;w++){var H=f[(O=s.components[w]).quantizationId];H&&(O.quantizationTable=H),this.components.push({output:m(0,O),scaleX:O.h/s.maxH,scaleY:O.v/s.maxV,blocksPerLine:O.blocksPerLine,blocksPerColumn:O.blocksPerColumn})}this.numComponents=this.components.length},_getLinearizedBlockData:function(e,t){var r,o,n,i,s,a,l,c,h,u,f,p=this.width/e,d=this.height/t,m=0,g=this.components.length,y=e*t*g,C=new Uint8ClampedArray(y),w=new Uint32Array(e),b=4294967288;for(l=0;l<g;l++){for(o=(r=this.components[l]).scaleX*p,n=r.scaleY*d,m=l,f=r.output,i=r.blocksPerLine+1<<3,s=0;s<e;s++)c=0|s*o,w[s]=(c&b)<<3|7&c;for(a=0;a<t;a++)for(u=i*((c=0|a*n)&b)|(7&c)<<3,s=0;s<e;s++)C[m]=f[u+w[s]],m+=g}var x=this.decodeTransform;if(x)for(l=0;l<y;)for(c=0,h=0;c<g;c++,l++,h+=2)C[l]=(C[l]*x[h]>>8)+x[h+1];return C},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this.colorTransform:1===this.colorTransform},_convertYccToRgb:function(e){for(var t,r,o,n=0,i=e.length;n<i;n+=3)t=e[n],r=e[n+1],o=e[n+2],e[n]=t-179.456+1.402*o,e[n+1]=t+135.459-.344*r-.714*o,e[n+2]=t-226.816+1.772*r;return e},_convertYcckToRgb:function(e){for(var t,r,o,n,i=0,s=0,a=e.length;s<a;s+=4)t=e[s],r=e[s+1],o=e[s+2],n=e[s+3],e[i++]=r*(-660635669420364e-19*r+.000437130475926232*o-54080610064599e-18*t+.00048449797120281*n-.154362151871126)-122.67195406894+o*(-.000957964378445773*o+.000817076911346625*t-.00477271405408747*n+1.53380253221734)+t*(.000961250184130688*t-.00266257332283933*n+.48357088451265)+n*(-.000336197177618394*n+.484791561490776),e[i++]=107.268039397724+r*(219927104525741e-19*r-.000640992018297945*o+.000659397001245577*t+.000426105652938837*n-.176491792462875)+o*(-.000778269941513683*o+.00130872261408275*t+.000770482631801132*n-.151051492775562)+t*(.00126935368114843*t-.00265090189010898*n+.25802910206845)+n*(-.000318913117588328*n-.213742400323665),e[i++]=r*(-.000570115196973677*r-263409051004589e-19*o+.0020741088115012*t-.00288260236853442*n+.814272968359295)-20.810012546947+o*(-153496057440975e-19*o-.000132689043961446*t+.000560833691242812*n-.195152027534049)+t*(.00174418132927582*t-.00255243321439347*n+.116935020465145)+n*(-.000343531996510555*n+.24165260232407);return e},_convertYcckToCmyk:function(e){for(var t,r,o,n=0,i=e.length;n<i;n+=4)t=e[n],r=e[n+1],o=e[n+2],e[n]=434.456-t-1.402*o,e[n+1]=119.541-t+.344*r+.714*o,e[n+2]=481.816-t-1.772*r;return e},_convertCmykToRgb:function(e){for(var t,r,o,n,i=0,s=1/255,a=0,l=e.length;a<l;a+=4)t=e[a]*s,r=e[a+1]*s,o=e[a+2]*s,n=e[a+3]*s,e[i++]=255+t*(-4.387332384609988*t+54.48615194189176*r+18.82290502165302*o+212.25662451639585*n-285.2331026137004)+r*(1.7149763477362134*r-5.6096736904047315*o-17.873870861415444*n-5.497006427196366)+o*(-2.5217340131683033*o-21.248923337353073*n+17.5119270841813)-n*(21.86122147463605*n+189.48180835922747),e[i++]=255+t*(8.841041422036149*t+60.118027045597366*r+6.871425592049007*o+31.159100130055922*n-79.2970844816548)+r*(-15.310361306967817*r+17.575251261109482*o+131.35250912493976*n-190.9453302588951)+o*(4.444339102852739*o+9.8632861493405*n-24.86741582555878)-n*(20.737325471181034*n+187.80453709719578),e[i++]=255+t*(.8842522430003296*t+8.078677503112928*r+30.89978309703729*o-.23883238689178934*n-14.183576799673286)+r*(10.49593273432072*r+63.02378494754052*o+50.606957656360734*n-112.23884253719248)+o*(.03296041114873217*o+115.60384449646641*n-193.58209356861505)-n*(22.33816807309886*n+180.12613974708367);return e},getData:function(t,r,o){if(this.numComponents>4)throw new e("Unsupported color mode");var n=this._getLinearizedBlockData(t,r);if(1===this.numComponents&&o){for(var i=n.length,s=new Uint8ClampedArray(3*i),a=0,l=0;l<i;l++){var c=n[l];s[a++]=c,s[a++]=c,s[a++]=c}return s}if(3===this.numComponents&&this._isColorConversionNeeded())return this._convertYccToRgb(n);if(4===this.numComponents){if(this._isColorConversionNeeded())return o?this._convertYcckToRgb(n):this._convertYcckToCmyk(n);if(o)return this._convertCmykToRgb(n)}return n}},h}()},void 0!==(i=n())&&(o.exports=i);const a=s.exports},80899:(e,t,r)=>{r.d(t,{Z:()=>a});var o,n,i,s={exports:{}};n=s,void 0!==(o=function(){function e(){this.pos=0,this.bufferLength=0,this.eof=!1,this.buffer=null}return e.prototype={ensureBuffer:function(e){var t=this.buffer,r=t?t.byteLength:0;if(e<r)return t;for(var o=512;o<e;)o<<=1;for(var n=new Uint8Array(o),i=0;i<r;++i)n[i]=t[i];return this.buffer=n},getByte:function(){for(var e=this.pos;this.bufferLength<=e;){if(this.eof)return null;this.readBlock()}return this.buffer[this.pos++]},getBytes:function(e){var t=this.pos;if(e){this.ensureBuffer(t+e);for(var r=t+e;!this.eof&&this.bufferLength<r;)this.readBlock();var o=this.bufferLength;r>o&&(r=o)}else{for(;!this.eof;)this.readBlock();r=this.bufferLength}return this.pos=r,this.buffer.subarray(t,r)},lookChar:function(){for(var e=this.pos;this.bufferLength<=e;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var e=this.pos;this.bufferLength<=e;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(e,t,r){for(var o=e+t;this.bufferLength<=o&&!this.eof;)this.readBlock();return new Stream(this.buffer,e,t,r)},skip:function(e){e||(e=1),this.pos+=e},reset:function(){this.pos=0}},e}(),i=function(){if(!self||!self.Uint32Array)return null;var e=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),t=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),r=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),n=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],i=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];function s(e){throw new Error(e)}function a(e){var t=0,r=e[t++],n=e[t++];-1!=r&&-1!=n||s("Invalid header in flate stream"),8!=(15&r)&&s("Unknown compression method in flate stream"),((r<<8)+n)%31!=0&&s("Bad FCHECK in flate stream"),32&n&&s("FDICT bit set in flate stream"),this.bytes=e,this.bytesPos=2,this.codeSize=0,this.codeBuf=0,o.call(this)}return a.prototype=Object.create(o.prototype),a.prototype.getBits=function(e){for(var t,r=this.codeSize,o=this.codeBuf,n=this.bytes,i=this.bytesPos;r<e;)void 0===(t=n[i++])&&s("Bad encoding in flate stream"),o|=t<<r,r+=8;return t=o&(1<<e)-1,this.codeBuf=o>>e,this.codeSize=r-=e,this.bytesPos=i,t},a.prototype.getCode=function(e){for(var t=e[0],r=e[1],o=this.codeSize,n=this.codeBuf,i=this.bytes,a=this.bytesPos;o<r;){var l;void 0===(l=i[a++])&&s("Bad encoding in flate stream"),n|=l<<o,o+=8}var c=t[n&(1<<r)-1],h=c>>16,u=65535&c;return(0==o||o<h||0==h)&&s("Bad encoding in flate stream"),this.codeBuf=n>>h,this.codeSize=o-h,this.bytesPos=a,u},a.prototype.generateHuffmanTable=function(e){for(var t=e.length,r=0,o=0;o<t;++o)e[o]>r&&(r=e[o]);for(var n=1<<r,i=new Uint32Array(n),s=1,a=0,l=2;s<=r;++s,a<<=1,l<<=1)for(var c=0;c<t;++c)if(e[c]==s){var h=0,u=a;for(o=0;o<s;++o)h=h<<1|1&u,u>>=1;for(o=h;o<n;o+=l)i[o]=s<<16|c;++a}return[i,r]},a.prototype.readBlock=function(){function o(e,t,r,o,n){for(var i=e.getBits(r)+o;i-- >0;)t[d++]=n}var a=this.getBits(3);if(1&a&&(this.eof=!0),0!=(a>>=1)){var l,c;if(1==a)l=n,c=i;else if(2==a){for(var h=this.getBits(5)+257,u=this.getBits(5)+1,f=this.getBits(4)+4,p=Array(e.length),d=0;d<f;)p[e[d++]]=this.getBits(3);for(var m=this.generateHuffmanTable(p),g=0,y=(d=0,h+u),C=new Array(y);d<y;){var w=this.getCode(m);16==w?o(this,C,2,3,g):17==w?o(this,C,3,3,g=0):18==w?o(this,C,7,11,g=0):C[d++]=g=w}l=this.generateHuffmanTable(C.slice(0,h)),c=this.generateHuffmanTable(C.slice(h,y))}else s("Unknown block type in flate stream");for(var b=(D=this.buffer)?D.length:0,x=this.bufferLength;;){var v=this.getCode(l);if(v<256)x+1>=b&&(b=(D=this.ensureBuffer(x+1)).length),D[x++]=v;else{if(256==v)return void(this.bufferLength=x);var T=(v=t[v-=257])>>16;T>0&&(T=this.getBits(T)),g=(65535&v)+T,v=this.getCode(c),(T=(v=r[v])>>16)>0&&(T=this.getBits(T));var k=(65535&v)+T;x+g>=b&&(b=(D=this.ensureBuffer(x+g)).length);for(var S=0;S<g;++S,++x)D[x]=D[x-k]}}}else{var A,I=this.bytes,M=this.bytesPos;void 0===(A=I[M++])&&s("Bad block header in flate stream");var P=A;void 0===(A=I[M++])&&s("Bad block header in flate stream"),P|=A<<8,void 0===(A=I[M++])&&s("Bad block header in flate stream");var _=A;void 0===(A=I[M++])&&s("Bad block header in flate stream"),(_|=A<<8)!=(65535&~P)&&s("Bad uncompressed block length in flate stream"),this.codeBuf=0,this.codeSize=0;var R=this.bufferLength,D=this.ensureBuffer(R+P),E=R+P;this.bufferLength=E;for(var L=R;L<E;++L){if(void 0===(A=I[M++])){this.eof=!0;break}D[L]=A}this.bytesPos=M}},a}())&&(n.exports=i);const a=s.exports},3892:(e,t,r)=>{function o(e){return"h"in e&&"s"in e&&"v"in e}function n(e){return"l"in e&&"a"in e&&"b"in e}function i(e){return"l"in e&&"c"in e&&"h"in e}r.d(t,{Y3:()=>m,_Y:()=>d,sJ:()=>g,xr:()=>p});const s=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],a=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function l(e,t){const r=[];let o,n;if(e[0].length!==t.length)throw"dimensions do not match";const i=e.length,s=e[0].length;let a=0;for(o=0;o<i;o++){for(a=0,n=0;n<s;n++)a+=e[o][n]*t[n];r.push(a)}return r}function c(e){const t=[e.r/255,e.g/255,e.b/255].map((e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4)),r=l(s,t);return{x:100*r[0],y:100*r[1],z:100*r[2]}}function h(e){const t=l(a,[e.x/100,e.y/100,e.z/100]).map((e=>{const t=e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055;return Math.min(1,Math.max(t,0))}));return{r:Math.round(255*t[0]),g:Math.round(255*t[1]),b:Math.round(255*t[2])}}function u(e){const t=[e.x/95.047,e.y/100,e.z/108.883].map((e=>e>(6/29)**3?e**(1/3):1/3*(29/6)**2*e+4/29));return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2])}}function f(e){const t=e.l,r=[(t+16)/116+e.a/500,(t+16)/116,(t+16)/116-e.b/200].map((e=>e>6/29?e**3:3*(6/29)**2*(e-4/29)));return{x:95.047*r[0],y:100*r[1],z:108.883*r[2]}}function p(e){return"r"in(t=e)&&"g"in t&&"b"in t?e:i(e)?function(e){return h(f(function(e){const t=e.l,r=e.c,o=e.h;return{l:t,a:r*Math.cos(o),b:r*Math.sin(o)}}(e)))}(e):n(e)?function(e){return h(f(e))}(e):function(e){return"x"in e&&"y"in e&&"z"in e}(e)?h(e):o(e)?function(e){const t=(e.h+360)%360/60,r=e.s/100,o=e.v/100*255,n=o*r,i=n*(1-Math.abs(t%2-1));let s;switch(Math.floor(t)){case 0:s={r:n,g:i,b:0};break;case 1:s={r:i,g:n,b:0};break;case 2:s={r:0,g:n,b:i};break;case 3:s={r:0,g:i,b:n};break;case 4:s={r:i,g:0,b:n};break;case 5:case 6:s={r:n,g:0,b:i};break;default:s={r:0,g:0,b:0}}return s.r=Math.round(s.r+o-n),s.g=Math.round(s.g+o-n),s.b=Math.round(s.b+o-n),s}(e):e;var t}function d(e){return o(e)?e:function(e){const t=e.r,r=e.g,o=e.b,n=Math.max(t,r,o),i=n-Math.min(t,r,o);let s=n,a=0===i?0:n===t?(r-o)/i%6:n===r?(o-t)/i+2:(t-r)/i+4,l=0===i?0:i/s;return a<0&&(a+=6),a*=60,l*=100,s*=100/255,{h:a,s:l,v:s}}(p(e))}function m(e){return n(e)?e:function(e){return u(c(e))}(p(e))}function g(e){return i(e)?e:function(e){return function(e){const t=e.l,r=e.a,o=e.b,n=Math.sqrt(r*r+o*o);let i=Math.atan2(o,r);return i=i>0?i:i+2*Math.PI,{l:t,c:n,h:i}}(u(c(e)))}(p(e))}},5847:(e,t,r)=>{r.d(t,{Z:()=>m});var o,n=r(43697),i=r(20102),s=r(96674),a=r(22974),l=r(92604),c=r(70586),h=r(5600),u=r(90578),f=r(52011);class p{constructor(e=null,t=null,r=null){this.minValue=e,this.maxValue=t,this.noDataValue=r}}let d=o=class extends s.wq{constructor(e){super(e),this.width=null,this.height=null,this.pixelType="f32",this.validPixelCount=null,this.mask=null,this.maskIsAlpha=!1,this.statistics=null}static createEmptyBand(e,t){return new(o.getPixelArrayConstructor(e))(t)}static getPixelArrayConstructor(e){let t;switch(e){case"u1":case"u2":case"u4":case"u8":t=Uint8Array;break;case"u16":t=Uint16Array;break;case"u32":t=Uint32Array;break;case"s8":t=Int8Array;break;case"s16":t=Int16Array;break;case"s32":t=Int32Array;break;case"f32":case"c64":case"c128":case"unknown":t=Float32Array;break;case"f64":t=Float64Array}return t}castPixelType(e){if(!e)return"f32";let t=e.toLowerCase();return["u1","u2","u4"].includes(t)?t="u8":["unknown","u8","s8","u16","s16","u32","s32","f32","f64"].includes(t)||(t="f32"),t}getPlaneCount(){return this.pixels?.length}addData(e){if(!e.pixels||e.pixels.length!==this.width*this.height)throw new i.Z("pixelblock:invalid-or-missing-pixels","add data requires valid pixels array that has same length defined by pixel block width * height");this.pixels||(this.pixels=[]),this.statistics||(this.statistics=[]),this.pixels.push(e.pixels),this.statistics.push(e.statistics??new p)}getAsRGBA(){const e=new ArrayBuffer(this.width*this.height*4);switch(this.pixelType){case"s8":case"s16":case"u16":case"s32":case"u32":case"f32":case"f64":this._fillFromNon8Bit(e);break;default:this._fillFrom8Bit(e)}return new Uint8ClampedArray(e)}getAsRGBAFloat(){const e=new Float32Array(this.width*this.height*4);return this._fillFrom32Bit(e),e}updateStatistics(){if(!this.pixels)return;this.statistics=this.pixels.map((e=>this._calculateBandStatistics(e,this.mask)));const e=this.mask;let t=0;if((0,c.pC)(e))for(let r=0;r<e.length;r++)e[r]&&t++;else t=this.width*this.height;this.validPixelCount=t}clamp(e){if(!e||"f64"===e||"f32"===e||!this.pixels)return;let t;switch(e){case"u8":t=[0,255];break;case"u16":t=[0,65535];break;case"u32":t=[0,4294967295];break;case"s8":t=[-128,127];break;case"s16":t=[-32768,32767];break;case"s32":t=[-2147483648,2147483647];break;default:t=[-34e38,34e38]}const[r,n]=t,i=this.pixels,s=this.width*this.height,a=i.length;let l,c,h;const u=[];for(let t=0;t<a;t++){h=o.createEmptyBand(e,s),l=i[t];for(let e=0;e<s;e++)c=l[e],h[e]=c>n?n:c<r?r:c;u.push(h)}this.pixels=u,this.pixelType=e}extractBands(e){const{pixels:t,statistics:r}=this;if((0,c.Wi)(e)||0===e.length||!t||0===t.length)return this;const n=t.length,i=e.some((e=>e>=t.length)),s=n===e.length&&!e.some(((e,t)=>e!==t));return i||s?this:new o({pixelType:this.pixelType,width:this.width,height:this.height,mask:this.mask,validPixelCount:this.validPixelCount,maskIsAlpha:this.maskIsAlpha,pixels:e.map((e=>t[e])),statistics:r&&e.map((e=>r[e]))})}clone(){const e=new o({width:this.width,height:this.height,pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});let t;(0,c.pC)(this.mask)&&(this.mask instanceof Uint8Array?e.mask=new Uint8Array(this.mask):e.mask=this.mask.slice(0));const r=o.getPixelArrayConstructor(this.pixelType);if(this.pixels&&this.pixels.length>0){e.pixels=[];const o=!!this.pixels[0].slice;for(t=0;t<this.pixels.length;t++)e.pixels[t]=o?this.pixels[t].slice(0,this.pixels[t].length):new r(this.pixels[t])}if(this.statistics)for(e.statistics=[],t=0;t<this.statistics.length;t++)e.statistics[t]=(0,a.d9)(this.statistics[t]);return e}_fillFrom8Bit(e){const{mask:t,maskIsAlpha:r,pixels:o}=this;if(!e||!o||!o.length)return void l.Z.getLogger(this.declaredClass).error("getAsRGBA()","Unable to convert to RGBA. The input pixel block is empty.");let n,i,s,a;n=i=s=o[0],o.length>=3?(i=o[1],s=o[2]):2===o.length&&(i=o[1]);const h=new Uint32Array(e),u=this.width*this.height;if(n.length===u)if((0,c.pC)(t)&&t.length===u)if(r)for(a=0;a<u;a++)t[a]&&(h[a]=t[a]<<24|s[a]<<16|i[a]<<8|n[a]);else for(a=0;a<u;a++)t[a]&&(h[a]=255<<24|s[a]<<16|i[a]<<8|n[a]);else for(a=0;a<u;a++)h[a]=255<<24|s[a]<<16|i[a]<<8|n[a];else l.Z.getLogger(this.declaredClass).error("getAsRGBA()","Unable to convert to RGBA. The pixelblock is invalid.")}_fillFromNon8Bit(e){const{pixels:t,mask:r,statistics:o}=this;if(!e||!t||!t.length)return void l.Z.getLogger(this.declaredClass).error("getAsRGBA()","Unable to convert to RGBA. The input pixel block is empty.");const n=this.pixelType;let i=1,s=0,a=1;if(o&&o.length>0){for(const e of o)if(null!=e.minValue&&(s=Math.min(s,e.minValue)),null!=e.maxValue&&null!=e.minValue){const t=e.maxValue-e.minValue;a=Math.max(a,t)}i=255/a}else{let e=255;"s8"===n?(s=-128,e=127):"u16"===n?e=65535:"s16"===n?(s=-32768,e=32767):"u32"===n?e=4294967295:"s32"===n?(s=-2147483648,e=2147483647):"f32"===n?(s=-34e38,e=34e38):"f64"===n&&(s=-Number.MAX_VALUE,e=Number.MAX_VALUE),i=255/(e-s)}const h=new Uint32Array(e),u=this.width*this.height;let f,p,d,m,g;if(f=p=d=t[0],f.length!==u)return l.Z.getLogger(this.declaredClass).error("getAsRGBA()","Unable to convert to RGBA. The pixelblock is invalid.");if(t.length>=2)if(p=t[1],t.length>=3&&(d=t[2]),(0,c.pC)(r)&&r.length===u)for(m=0;m<u;m++)r[m]&&(h[m]=255<<24|(d[m]-s)*i<<16|(p[m]-s)*i<<8|(f[m]-s)*i);else for(m=0;m<u;m++)h[m]=255<<24|(d[m]-s)*i<<16|(p[m]-s)*i<<8|(f[m]-s)*i;else if((0,c.pC)(r)&&r.length===u)for(m=0;m<u;m++)g=(f[m]-s)*i,r[m]&&(h[m]=255<<24|g<<16|g<<8|g);else for(m=0;m<u;m++)g=(f[m]-s)*i,h[m]=255<<24|g<<16|g<<8|g}_fillFrom32Bit(e){const{pixels:t,mask:r}=this;if(!e||!t||!t.length)return l.Z.getLogger(this.declaredClass).error("getAsRGBAFloat()","Unable to convert to RGBA. The input pixel block is empty.");let o,n,i,s;o=n=i=t[0],t.length>=3?(n=t[1],i=t[2]):2===t.length&&(n=t[1]);const a=this.width*this.height;if(o.length!==a)return l.Z.getLogger(this.declaredClass).error("getAsRGBAFloat()","Unable to convert to RGBA. The pixelblock is invalid.");let h=0;if((0,c.pC)(r)&&r.length===a)for(s=0;s<a;s++)e[h++]=o[s],e[h++]=n[s],e[h++]=i[s],e[h++]=1&r[s];else for(s=0;s<a;s++)e[h++]=o[s],e[h++]=n[s],e[h++]=i[s],e[h++]=1}_calculateBandStatistics(e,t){let r=1/0,o=-1/0;const n=e.length;let i,s=0;if((0,c.pC)(t))for(i=0;i<n;i++)t[i]&&(s=e[i],r=s<r?s:r,o=s>o?s:o);else for(i=0;i<n;i++)s=e[i],r=s<r?s:r,o=s>o?s:o;return new p(r,o)}};(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"width",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"height",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"pixelType",void 0),(0,n._)([(0,u.p)("pixelType")],d.prototype,"castPixelType",null),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"validPixelCount",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"mask",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"maskIsAlpha",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"pixels",void 0),(0,n._)([(0,h.Cb)({json:{write:!0}})],d.prototype,"statistics",void 0),d=o=(0,n._)([(0,f.j)("esri.layers.support.PixelBlock")],d);const m=d},48526:(e,t,r)=>{r.d(t,{Z:()=>f});var o=r(43697),n=r(96674),i=r(70586),s=r(5600),a=(r(67676),r(80442),r(75215),r(52011)),l=r(6570),c=r(82971),h=r(36679);let u=class extends n.wq{constructor(e){super(e),this.attributeTable=null,this.bandCount=null,this.colormap=null,this.extent=null,this.format=void 0,this.height=null,this.width=null,this.histograms=null,this.keyProperties={},this.multidimensionalInfo=null,this.noDataValue=null,this.pixelSize=null,this.pixelType=null,this.isPseudoSpatialReference=!1,this.spatialReference=null,this.statistics=null,this.storageInfo=null,this.transform=null}get dataType(){const e=this.keyProperties?.DataType?.toLowerCase()??"generic";return"stdtime"===e?"standard-time":e}get nativeExtent(){return this._get("nativeExtent")||this.extent}set nativeExtent(e){e&&this._set("nativeExtent",e)}get nativePixelSize(){if((0,i.Wi)(this.transform)||!this.transform.affectsPixelSize)return this.pixelSize;const e=this.nativeExtent;return{x:e.width/this.width,y:e.height/this.height}}get hasMultidimensionalTranspose(){return!!this.storageInfo?.transposeInfo}};(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"attributeTable",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"bandCount",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"colormap",void 0),(0,o._)([(0,s.Cb)({type:String,readOnly:!0})],u.prototype,"dataType",null),(0,o._)([(0,s.Cb)({type:l.Z,json:{write:!0}})],u.prototype,"extent",void 0),(0,o._)([(0,s.Cb)({type:l.Z,json:{write:!0}})],u.prototype,"nativeExtent",null),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"nativePixelSize",null),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"format",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"height",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"width",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"hasMultidimensionalTranspose",null),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"histograms",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"keyProperties",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"multidimensionalInfo",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"noDataValue",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"pixelSize",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"pixelType",void 0),(0,o._)([(0,s.Cb)()],u.prototype,"isPseudoSpatialReference",void 0),(0,o._)([(0,s.Cb)({type:c.Z,json:{write:!0}})],u.prototype,"spatialReference",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"statistics",void 0),(0,o._)([(0,s.Cb)({type:h.Z,json:{write:!0}})],u.prototype,"storageInfo",void 0),(0,o._)([(0,s.Cb)({json:{write:!0}})],u.prototype,"transform",void 0),u=(0,o._)([(0,a.j)("esri.layers.support.RasterInfo")],u);const f=u},36679:(e,t,r)=>{r.d(t,{Z:()=>c});var o=r(43697),n=r(96674),i=r(5600),s=(r(67676),r(80442),r(75215),r(52011)),a=r(13473);let l=class extends n.wq{constructor(){super(...arguments),this.blockWidth=void 0,this.blockHeight=void 0,this.compression=null,this.origin=null,this.firstPyramidLevel=null,this.maximumPyramidLevel=null,this.pyramidScalingFactor=2,this.pyramidBlockWidth=null,this.pyramidBlockHeight=null,this.isVirtualTileInfo=!1,this.tileInfo=null,this.transposeInfo=null,this.blockBoundary=null}};(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"blockWidth",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"blockHeight",void 0),(0,o._)([(0,i.Cb)({type:String,json:{write:!0}})],l.prototype,"compression",void 0),(0,o._)([(0,i.Cb)({type:a.Z,json:{write:!0}})],l.prototype,"origin",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"firstPyramidLevel",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"maximumPyramidLevel",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],l.prototype,"pyramidResolutions",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"pyramidScalingFactor",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"pyramidBlockWidth",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],l.prototype,"pyramidBlockHeight",void 0),(0,o._)([(0,i.Cb)({type:Boolean,json:{write:!0}})],l.prototype,"isVirtualTileInfo",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],l.prototype,"tileInfo",void 0),(0,o._)([(0,i.Cb)()],l.prototype,"transposeInfo",void 0),(0,o._)([(0,i.Cb)()],l.prototype,"blockBoundary",void 0),l=(0,o._)([(0,s.j)("esri.layers.support.RasterStorageInfo")],l);const c=l},20095:(e,t,r)=>{function o(e,t){let r=0,o="",n=0,i=0;const s=e.length;for(;r<s;)i=e[r++],n=i>>4,n<8?n=1:15===n?(n=4,i=(7&i)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++]):14===n?(n=3,i=(15&i)<<12|(63&e[r++])<<6|63&e[r++]):(n=2,i=(31&i)<<6|63&e[r++]),(0!==i||t)&&(o+=String.fromCharCode(i));return o}r.d(t,{f:()=>o})},72955:(e,t,r)=>{r.d(t,{Jx:()=>u,zD:()=>a});var o=r(99880);const n=[{pixelType:"S8",size:1,ctor:Int8Array,range:[-128,128]},{pixelType:"U8",size:1,ctor:Uint8Array,range:[0,255]},{pixelType:"S16",size:2,ctor:Int16Array,range:[-32768,32767]},{pixelType:"U16",size:2,ctor:Uint16Array,range:[0,65536]},{pixelType:"S32",size:4,ctor:Int32Array,range:[-2147483648,2147483647]},{pixelType:"U32",size:4,ctor:Uint32Array,range:[0,4294967296]},{pixelType:"F32",size:4,ctor:Float32Array,range:[-34027999387901484e22,34027999387901484e22]},{pixelType:"F64",size:8,ctor:Float64Array,range:[-17976931348623157e292,17976931348623157e292]}];let i=null,s=null;function a(){return i||(i=r.e(6233).then(r.bind(r,26233)).then((e=>e.l)).then((({default:e})=>e({locateFile:e=>(0,o.V)(`esri/layers/support/rasterFormats/${e}`)}))).then((e=>{(function(e){const{_malloc:t,_free:r,_lerc_getBlobInfo:o,_lerc_getDataRanges:i,_lerc_decode_4D:s,asm:a}=e;let h;const u=Object.values(a).find((t=>t&&"buffer"in t&&t.buffer===e.HEAPU8.buffer)),f=e=>{const r=e.map((e=>function(e){return 16+(e>>3<<3)}(e))),o=r.reduce(((e,t)=>e+t)),n=t(o);h=new Uint8Array(u.buffer);let i=r[0];r[0]=n;for(let e=1;e<r.length;e++){const t=r[e];r[e]=r[e-1]+i,i=t}return r};l.getBlobInfo=e=>{const t=new Uint8Array(48),n=new Uint8Array(24),[s,a,l]=f([e.length,t.length,n.length]);h.set(e,s),h.set(t,a),h.set(n,l);let p=o(s,e.length,a,l,12,3);if(p)throw r(s),`lerc-getBlobInfo: error code is ${p}`;h=new Uint8Array(u.buffer),c(h,a,t),c(h,l,n);const d=new Uint32Array(t.buffer),m=new Float64Array(n.buffer),[g,y,,C,w,b,x,v,T,k,S]=d,A={version:g,depthCount:k,width:C,height:w,validPixelCount:x,bandCount:b,blobSize:v,maskCount:T,dataType:y,minValue:m[0],maxValue:m[1],maxZerror:m[2],statistics:[],bandCountWithNoData:S};if(S)return A;if(1===k&&1===b)return r(s),A.statistics.push({minValue:m[0],maxValue:m[1]}),A;const I=k*b*8,M=new Uint8Array(I),P=new Uint8Array(I);let _=s,R=0,D=0,E=!1;if(h.byteLength<s+2*I?(r(s),E=!0,[_,R,D]=f([e.length,I,I]),h.set(e,_)):[R,D]=f([I,I]),h.set(M,R),h.set(P,D),p=i(_,e.length,k,b,R,D),p)throw r(_),E||r(R),`lerc-getDataRanges: error code is ${p}`;h=new Uint8Array(u.buffer),c(h,R,M),c(h,D,P);const L=new Float64Array(M.buffer),U=new Float64Array(P.buffer),G=A.statistics;for(let e=0;e<b;e++)if(k>1){const t=L.slice(e*k,(e+1)*k),r=U.slice(e*k,(e+1)*k),o=Math.min.apply(null,t),n=Math.max.apply(null,r);G.push({minValue:o,maxValue:n,depthStats:{minValues:t,maxValues:r}})}else G.push({minValue:L[e],maxValue:U[e]});return r(_),E||r(R),A},l.decode=(e,t)=>{const{maskCount:o,depthCount:i,bandCount:a,width:l,height:p,dataType:d,bandCountWithNoData:m}=t,g=n[d],y=l*p,C=new Uint8Array(y*a),w=y*i*a*g.size,b=new Uint8Array(w),x=new Uint8Array(a),v=new Uint8Array(8*a),[T,k,S,A,I]=f([e.length,C.length,b.length,x.length,v.length]);h.set(e,T),h.set(C,k),h.set(b,S),h.set(x,A),h.set(v,I);const M=s(T,e.length,o,k,i,l,p,a,d,S,A,I);if(M)throw r(T),`lerc-decode: error code is ${M}`;h=new Uint8Array(u.buffer),c(h,S,b),c(h,k,C);let P=null;if(m){c(h,A,x),c(h,I,v),P=[];const e=new Float64Array(v.buffer);for(let t=0;t<x.length;t++)P.push(x[t]?e[t]:null)}return r(T),{data:b,maskData:C,noDataValues:P}}})(e),s=!0})),i)}const l={getBlobInfo:null,decode:null};function c(e,t,r){r.set(e.slice(t,t+r.length))}function h(e,t,r,o,n){if(r<2)return e;const i=new o(t*r);if(n)for(let o=0,n=0;o<t;o++)for(let s=0,a=o;s<r;s++,a+=t)i[a]=e[n++];else for(let o=0,n=0;o<t;o++)for(let s=0,a=o;s<r;s++,a+=t)i[n++]=e[a];return i}function u(e,t={}){const r=t.inputOffset??0,o=e instanceof Uint8Array?e.subarray(r):new Uint8Array(e,r),i=l.getBlobInfo(o),{data:s,maskData:a}=l.decode(o,i),{width:c,height:u,bandCount:f,depthCount:p,dataType:d,maskCount:m,statistics:g}=i,y=n[d],C=new y.ctor(s.buffer),w=[],b=[],x=c*u,v=x*p;for(let e=0;e<f;e++){const r=C.subarray(e*v,(e+1)*v);if(t.returnInterleaved)w.push(r);else{const e=h(r,x,p,y.ctor,!0);w.push(e)}b.push(a.subarray(e*v,(e+1)*v))}const T=0===m?null:1===m?b[0]:new Uint8Array(x);if(m>1){T.set(b[0]);for(let e=1;e<b.length;e++){const t=b[e];for(let e=0;e<x;e++)T[e]=T[e]&t[e]}}const{noDataValue:k}=t,S=null!=k&&y.range[0]<=k&&y.range[1]>=k;if(m>0&&S)for(let e=0;e<f;e++){const t=w[e],r=b[e]||T;for(let e=0;e<x;e++)0===r[e]&&(t[e]=k)}const A=m===f&&f>1?b:null,{pixelType:I}=y;return{width:c,height:u,bandCount:f,pixelType:I,depthCount:p,statistics:g,pixels:w,mask:T,bandMasks:A}}},88781:(e,t,r)=>{function o(){const e=[];for(let t=0;t<=257;t++)e[t]=[t];return e}function n(e,t){for(let r=0;r<t.length;r++)e.push(t[r])}r.d(t,{J:()=>s});const i=new Set;function s(e,t,r,s=!0){const a=function(e,t,r,o=!0){if(t%4!=0||r%4!=0){const n=new ArrayBuffer(4*Math.ceil(r/4)),i=new Uint8Array(n),s=new Uint8Array(e,t,r);if(o)for(let e=0;e<i.length;e+=4)i[e]=s[e+3],i[e+1]=s[e+2],i[e+2]=s[e+1],i[e+3]=s[e];else i.set(s);return new Uint32Array(i.buffer)}if(o){const o=new Uint8Array(e,t,r),n=new Uint8Array(o.length);for(let e=0;e<n.length;e+=4)n[e]=o[e+3],n[e+1]=o[e+2],n[e+2]=o[e+1],n[e+3]=o[e];return new Uint32Array(n.buffer)}return new Uint32Array(e,t,r/4)}(e,t,r,s);let l=9,c=o(),h=32,u=c.length,f=[],p=1,d=a[0],m=0;const g=a.length,y=8*(4*g-r),C=[];for(;null!=d;){if(h>=l)h-=l,m=d>>>32-l,d<<=l;else{m=d>>>32-h,d=a[p++];const e=l-h;h=32-e,m=(m<<e)+(d>>>h),d<<=e}if(257===m)break;if(256===m){l=9,c=o(),u=c.length,f=[];continue}const e=c[m];if(null==e){if(m>c.length)throw"data integrity issue: code does not exist on code page";f.push(f[0]),c[u++]=f.slice(),n(C,f)}else n(C,e),f.push(e[0]),f.length>1&&(c[u++]=f.slice()),f=e.slice();if(i.has(u)&&l++,0===h&&(d=a[p++],h=32),p>g||p===g&&h<=y)break}return new Uint8Array(C)}i.add(511),i.add(1023),i.add(2047),i.add(4095),i.add(8191)},75993:(e,t,r)=>{r.d(t,{J:()=>_,y:()=>P});var o=r(20102),n=r(70586),i=r(5847),s=r(95330),a=r(80899);class l{constructor(e){this._canvas=null,this._ctx=null,e&&(this._canvas=e.canvas,this._ctx=e.ctx||e.canvas&&e.canvas.getContext("2d"))}decode(e,t,r){if(!e||e.byteLength<10)throw new o.Z("imagecanvasdecoder: decode","required a valid encoded data as input.");let{width:n=0,height:i=0,format:a}=t;const{applyJpegMask:c}=t;if(c&&(!n||!i))throw new o.Z("imagecanvasdecoder: decode","image width and height are needed to apply jpeg mask directly to canvas");return new Promise(((o,h)=>{let u=null;"jpg"===a&&c&&(u=l._getMask(e,{width:n,height:i}));const f=new Blob([new Uint8Array(e)],{type:"image/"+a=="jpg"?"jpeg":a}),p=URL.createObjectURL(f),d=new Image;let m;d.src=p,d.onload=()=>{if(URL.revokeObjectURL(p),(0,s.Hc)(r))return void h((0,s.zE)());n=d.width,i=d.height,this._canvas&&this._ctx?(this._canvas.width===n&&this._canvas.height===i||(this._canvas.width=n,this._canvas.height=i),this._ctx.clearRect(0,0,n,i)):(this._canvas=document.createElement("canvas"),this._canvas.width=n,this._canvas.height=i,this._ctx=this._canvas.getContext("2d")),this._ctx.drawImage(d,0,0);const e=this._ctx.getImageData(0,0,n,i);let a;if(m=e.data,t.renderOnCanvas){if(u)for(a=0;a<u.length;a++)u[a]?m[4*a+3]=255:m[4*a+3]=0;return this._ctx.putImageData(e,0,0),void o(null)}const l=n*i,c=new Uint8Array(l),f=new Uint8Array(l),g=new Uint8Array(l);if(u)for(a=0;a<l;a++)c[a]=m[4*a],f[a]=m[4*a+1],g[a]=m[4*a+2];else for(u=new Uint8Array(l),a=0;a<l;a++)c[a]=m[4*a],f[a]=m[4*a+1],g[a]=m[4*a+2],u[a]=m[4*a+3];o({width:n,height:i,pixels:[c,f,g],mask:u,pixelType:"u8"})},d.onerror=()=>{URL.revokeObjectURL(p),h("cannot load image")}}))}static _getMask(e,t){let r=null;try{const o=new Uint8Array(e),n=Math.ceil(o.length/2);let i=0;const s=o.length-2;for(i=n;i<s&&(255!==o[i]||217!==o[i+1]);i++);if(i+=2,i<o.length-1){const e=new a.Z(o.subarray(i)).getBytes();r=new Uint8Array(t.width*t.height);let n=0;for(let t=0;t<e.length;t++)for(let o=7;o>=0;o--)r[n++]=e[t]>>o&1}}catch(e){}return r}}var c=r(97575),h=r(72955),u=r(88781);const f=(e,t)=>{const r=t.width*t.height,o=t.pixelType;return Math.floor(e.byteLength/(r*p(o)))},p=e=>{let t=1;switch(e){case Uint8Array:case Int8Array:t=1;break;case Uint16Array:case Int16Array:t=2;break;case Uint32Array:case Int32Array:case Float32Array:t=4;break;case Float64Array:t=8}return t};class d{static decode(e,t){const r=t.pixelType,o=[],n=t.width*t.height,i=f(e,t),{bandIds:s,format:a}=t,l=s&&s.length||f(e,t),c=e.byteLength-e.byteLength%(n*p(r)),h=new r(e,0,n*i);let u,d,m,g,y=null;if("bip"===a)for(u=0;u<l;u++){for(m=new r(n),g=s?s[u]:u,d=0;d<n;d++)m[d]=h[d*i+g];o.push(m)}else if("bsq"===a)for(u=0;u<l;u++)g=s?s[u]:u,o.push(h.subarray(g*n,(g+1)*n));return c<e.byteLength-1&&(y=((e,t)=>{if(8*e.byteLength<t)return null;const r=new Uint8Array(e,0,Math.ceil(t/8)),o=new Uint8Array(t);let n=0,i=0,s=0,a=0;for(s=0;s<r.length-1;s++)for(i=r[s],a=7;a>=0;a--)o[n++]=i>>a&1;for(a=7;n<t-1;)i=r[r.length-1],o[n++]=i>>a&1,a--;return o})(e.slice(c),n)),{pixels:o,mask:y}}}var m=r(94793),g=r(48279),y=function(e){var t,r,o;function n(e){var t,r,o,n,i,s,a,l,c,h,u,f,p;for(this.data=e,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},i=null;;){switch(t=this.readUInt32(),l=function(){var e,t;for(t=[],e=0;e<4;++e)t.push(String.fromCharCode(this.data[this.pos++]));return t}.call(this).join(""),l){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(t);break;case"fcTL":i&&this.animation.frames.push(i),this.pos+=4,i={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},n=this.readUInt16(),o=this.readUInt16()||100,i.delay=1e3*n/o,i.disposeOp=this.data[this.pos++],i.blendOp=this.data[this.pos++],i.data=[];break;case"IDAT":case"fdAT":for("fdAT"===l&&(this.pos+=4,t-=4),e=(null!=i?i.data:void 0)||this.imgData,u=0;0<=t?u<t:u>t;0<=t?++u:--u)e.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(t),(c=255-this.transparency.indexed.length)>0)for(f=0;0<=c?f<c:f>c;0<=c?++f:--f)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(t)[0];break;case 2:this.transparency.rgb=this.read(t)}break;case"tEXt":s=(h=this.read(t)).indexOf(0),a=String.fromCharCode.apply(String,h.slice(0,s)),this.text[a]=String.fromCharCode.apply(String,h.slice(s+1));break;case"IEND":return i&&this.animation.frames.push(i),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=t}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}return n.load=function(e,t,r){var o;return"function"==typeof t&&(r=t),(o=new XMLHttpRequest).open("GET",e,!0),o.responseType="arraybuffer",o.onload=function(){var e;return e=new n(new Uint8Array(o.response||o.mozResponseArrayBuffer)),"function"==typeof(null!=t?t.getContext:void 0)&&e.render(t),"function"==typeof r?r(e):void 0},o.send(null)},n.prototype.read=function(e){var t,r;for(r=[],t=0;0<=e?t<e:t>e;0<=e?++t:--t)r.push(this.data[this.pos++]);return r},n.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},n.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},n.prototype.decodePixels=function(e){var t,r,o,n,i,s,l,c,h,u,f,p,d,m,g,y,C,w,b,x,v,T,k;if(null==e&&(e=this.imgData),0===e.length)return new Uint8Array(0);for(e=(e=new a.Z(e)).getBytes(),y=(p=this.pixelBitlength/8)*this.width,d=new Uint8Array(y*this.height),s=e.length,g=0,m=0,r=0;m<s;){switch(e[m++]){case 0:for(n=b=0;b<y;n=b+=1)d[r++]=e[m++];break;case 1:for(n=x=0;x<y;n=x+=1)t=e[m++],i=n<p?0:d[r-p],d[r++]=(t+i)%256;break;case 2:for(n=v=0;v<y;n=v+=1)t=e[m++],o=(n-n%p)/p,C=g&&d[(g-1)*y+o*p+n%p],d[r++]=(C+t)%256;break;case 3:for(n=T=0;T<y;n=T+=1)t=e[m++],o=(n-n%p)/p,i=n<p?0:d[r-p],C=g&&d[(g-1)*y+o*p+n%p],d[r++]=(t+Math.floor((i+C)/2))%256;break;case 4:for(n=k=0;k<y;n=k+=1)t=e[m++],o=(n-n%p)/p,i=n<p?0:d[r-p],0===g?C=w=0:(C=d[(g-1)*y+o*p+n%p],w=o&&d[(g-1)*y+(o-1)*p+n%p]),l=i+C-w,c=Math.abs(l-i),u=Math.abs(l-C),f=Math.abs(l-w),h=c<=u&&c<=f?i:u<=f?C:w,d[r++]=(t+h)%256;break;default:throw new Error("Invalid filter algorithm: "+e[m-1])}g++}return d},n.prototype.decodePalette=function(){var e,t,r,o,n,i,s,a,l;for(r=this.palette,i=this.transparency.indexed||[],n=new Uint8Array((i.length||0)+r.length),o=0,r.length,e=0,t=s=0,a=r.length;s<a;t=s+=3)n[o++]=r[t],n[o++]=r[t+1],n[o++]=r[t+2],n[o++]=null!=(l=i[e++])?l:255;return n},n.prototype.copyToImageData=function(e,t){var r,o,n,i,s,a,l,c,h,u,f;if(o=this.colors,h=null,r=this.hasAlphaChannel,this.palette.length&&(h=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),o=4,r=!0),c=(n=e.data||e).length,s=h||t,i=a=0,1===o)for(;i<c;)l=h?4*t[i/4]:a,u=s[l++],n[i++]=u,n[i++]=u,n[i++]=u,n[i++]=r?s[l++]:this.transparency.grayscale&&this.transparency.grayscale===u?0:255,a=l;else for(;i<c;)l=h?4*t[i/4]:a,n[i++]=s[l++],n[i++]=s[l++],n[i++]=s[l++],n[i++]=r?s[l++]:this.transparency.rgb&&this.transparency.rgb[1]===s[l-3]&&this.transparency.rgb[3]===s[l-2]&&this.transparency.rgb[5]===s[l-1]?0:255,a=l},n.prototype.decode=function(){var e;return e=new Uint8Array(this.width*this.height*4),this.copyToImageData(e,this.decodePixels()),e},r=e.document&&e.document.createElement("canvas"),o=r&&r.getContext("2d"),t=function(e){var t;return o.width=e.width,o.height=e.height,o.clearRect(0,0,e.width,e.height),o.putImageData(e,0,0),(t=new Image).src=r.toDataURL(),t},n.prototype.decodeFrames=function(e){var r,o,n,i,s,a,l,c;if(this.animation){for(c=[],o=s=0,a=(l=this.animation.frames).length;s<a;o=++s)r=l[o],n=e.createImageData(r.width,r.height),i=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(n,i),r.imageData=n,c.push(r.image=t(n));return c}},n.prototype.renderFrame=function(e,t){var r,o,n;return r=(o=this.animation.frames)[t],n=o[t-1],0===t&&e.clearRect(0,0,this.width,this.height),1===(null!=n?n.disposeOp:void 0)?e.clearRect(n.xOffset,n.yOffset,n.width,n.height):2===(null!=n?n.disposeOp:void 0)&&e.putImageData(n.imageData,n.xOffset,n.yOffset),0===r.blendOp&&e.clearRect(r.xOffset,r.yOffset,r.width,r.height),e.drawImage(r.image,r.xOffset,r.yOffset)},n.prototype.animate=function(e){var t,r,o,n,i,s,a=this;return r=0,s=this.animation,n=s.numFrames,o=s.frames,i=s.numPlays,(t=function(){var s,l;if(s=r++%n,l=o[s],a.renderFrame(e,s),n>1&&r/n<i)return a.animation._timeout=setTimeout(t,l.delay)})()},n.prototype.stopAnimation=function(){var e;return clearTimeout(null!=(e=this.animation)?e._timeout:void 0)},n.prototype.render=function(e){var t,r;return e._png&&e._png.stopAnimation(),e._png=this,e.width=this.width,e.height=this.height,t=e.getContext("2d"),this.animation?(this.decodeFrames(t),this.animate(t)):(r=t.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),t.putImageData(r,0,0))},n}(self);const C=new Set(["jpg","png","bmp","gif"]),w=new Set(["S8","U8","S16","U16","S32","U32","F32","F64"]);async function b(e,t){if(!g.f)throw new o.Z("rasterCoded:decode","lerc decoder is not supported on big endian platform");await(0,h.zD)();const{offset:r,noDataValue:n}=t;let s=t.pixelType?.toUpperCase();s&&!w.has(s)&&(s=null);const{width:a,height:l,pixelType:c,statistics:u,pixels:f,mask:p}=(0,h.Jx)(e,{inputOffset:r,noDataValue:n,returnInterleaved:t.returnInterleaved});return new i.Z({width:a,height:l,pixelType:c.toLowerCase(),pixels:f,mask:p,statistics:u})}async function x(e,t){const r=await(0,m.Jx)(e,t),o=new i.Z({width:r.width,height:r.height,pixels:r.pixels,pixelType:r.pixelType.toLowerCase(),mask:r.mask,statistics:null});return o.updateStatistics(),o}function v(e,t){const r=t.pixelType||"u8",o=i.Z.getPixelArrayConstructor(r),n="u8"===r?e:new o(e.buffer),s=[],a=t.planes||1;if(1===a)s.push(n);else for(let r=0;r<a;r++){const i=(t.width||1)*(t.height||e.length),l=new o(i);for(let e=0;e<i;e++)l[e]=n[e*a+r];s.push(l)}const l=new i.Z({width:t.width||1,height:t.height||e.length,pixels:s,pixelType:r,statistics:null});return l.updateStatistics(),l}function T(e,t){return v(new a.Z(new Uint8Array(e)).getBytes(),t)}function k(e,t){return v((0,u.J)(e,t.offset,t.eof,!t.isInputBigEndian),t)}function S(e,t){const r=class{static decode(e,t=!1){const r=new Uint8Array(e),o=new c.J;o.parse(r);const{width:n,height:i,numComponents:s,eof:l}=o,h=o.getData(n,i,!0),u=n*i;let f,p=null,d=0,m=0,g=0;if(!t&&l<r.length-1)try{const e=new a.Z(r.subarray(l)).getBytes();p=new Uint8Array(u);let t=0;for(d=0;d<e.length;d++)for(g=7;g>=0;g--)p[t++]=e[d]>>g&1}catch{}if(1===s&&h.length===n*i)f=[h,h,h];else{for(f=[],d=0;d<3;d++)f.push(new Uint8Array(u));for(g=0,m=0;m<u;m++)for(d=0;d<3;d++)f[d][m]=h[g++]}return{width:n,height:i,pixels:f,mask:p}}}.decode(e,t.hasNoZlibMask),o=new i.Z({width:r.width,height:r.height,pixels:r.pixels,pixelType:"U8",mask:r.mask,statistics:null});return o.updateStatistics(),o}function A(e,t){const r=new Uint8Array(e),o=new y(r),{width:n,height:s}=t,a=n*s,l=o.decode();let c,h=0,u=0;const f=new Uint8Array(a);for(h=0;h<a;h++)f[h]=l[4*h+3];const p=new i.Z({width:n,height:s,pixels:[],pixelType:"U8",mask:f,statistics:[]});for(h=0;h<3;h++){for(c=new Uint8Array(a),u=0;u<a;u++)c[u]=l[4*u+h];p.addData({pixels:c})}return p.updateStatistics(),p}async function I(e,t,r,o){const n=new l,s={applyJpegMask:!1,format:t,...r},a=await n.decode(e,s,o),c=new i.Z(a);return c.updateStatistics(),c}function M(e){if(null==e)throw new o.Z("rasterCodec:decode","parameter encodeddata is required.");const t=new Uint8Array(e,0,10);let r="";return 255===t[0]&&216===t[1]?r="jpg":137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]?r="png":67===t[0]&&110===t[1]&&116===t[2]&&90===t[3]&&73===t[4]&&109===t[5]&&97===t[6]&&103===t[7]&&101===t[8]&&32===t[9]?r="lerc":76===t[0]&&101===t[1]&&114===t[2]&&99===t[3]&&50===t[4]&&32===t[5]?r="lerc2":73===t[0]&&73===t[1]&&42===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&42===t[3]||73===t[0]&&73===t[1]&&43===t[2]&&0===t[3]||77===t[0]&&77===t[1]&&0===t[2]&&43===t[3]?r="tiff":71===t[0]&&73===t[1]&&70===t[2]?r="gif":66===t[0]&&77===t[1]?r="bmp":String.fromCharCode.apply(null,t).toLowerCase().includes("error")&&(r="error"),r}function P(e){let t=M(e);return"lerc2"===t?t="lerc":"error"===t&&(t=""),t}async function _(e,t={},r){if(null==e)throw new o.Z("rasterCodec:decode","missing encodeddata parameter.");let s,a,l=t.format&&t.format.toLowerCase();if(!("bsq"!==l&&"bip"!==l||null!=t.width&&null!=t.height))throw new o.Z("rasterCodec:decode","requires width and height in options parameter.");return"tiff"===l&&t.customOptions?async function(e,t){const r=await(0,m.Uw)(e,t.customOptions),o=new i.Z({width:r.width,height:r.height,pixels:r.pixels,pixelType:r.pixelType.toLowerCase(),mask:r.mask,statistics:null});return o.updateStatistics(),o}(e,t):((!l||"bsq"!==l&&"bip"!==l&&"deflate"!==l&&"lzw"!==l)&&(l=M(e)),t.useCanvas&&C.has(l)?a=await I(e,l,t,r):(s=function(e){let t=null;switch(e){case"lerc":case"lerc2":t=b;break;case"jpg":t=S;break;case"png":t=A;break;case"bsq":case"bip":t=(t,r)=>function(e,t,r){const{pixelTypeCtor:o}=function(e){let t=null,r=null;switch(e?e.toLowerCase():"f32"){case"u1":case"u2":case"u4":case"u8":r=255,t=Uint8Array;break;case"u16":r=r||65535,t=Uint16Array;break;case"u32":r=r||2**32-1,t=Uint32Array;break;case"s8":r=r||-128,t=Int8Array;break;case"s16":r=r||-32768,t=Int16Array;break;case"s32":r=r||0-2**31,t=Int32Array;break;default:t=Float32Array}return{pixelTypeCtor:t,noDataValue:r}}(t.pixelType),n=(0,d.decode)(e,{width:t.width,height:t.height,pixelType:o,format:r}),s=new i.Z({width:t.width,height:t.height,pixels:n.pixels,pixelType:t.pixelType,mask:n.mask,statistics:null});return s.updateStatistics(),s}(t,r,e);break;case"tiff":t=x;break;case"deflate":t=T;break;case"lzw":t=k;break;case"error":t=()=>{throw new o.Z("rasterCodec:decode","input data contains error")};break;default:t=()=>{throw new o.Z("rasterCodec:decode","unsupported raster format")}}return t}(l),t.isPoint&&((t={...t}).width++,t.height++),a=await s(e,t),t.isPoint&&function(e,t=1){if(!e)return;const{pixels:r,width:o,height:s,mask:a}=e;if(!r||0===r.length)return;const l=r.length,c=o-1,h=s-1,u=[];let f,p,d,m,g,y,C;const w=i.Z.getPixelArrayConstructor(e.pixelType);if(0===t){for(f=0;f<l;f++){for(g=r[f],y=new w(c*h),p=0;p<h;p++)for(m=p*o,d=0;d<c;d++)y[p*c+d]=g[m+d];u.push(y)}if((0,n.pC)(a))for(C=new Uint8Array(c*h),p=0;p<h;p++)for(m=p*o,d=0;d<c;d++)C[p*c+d]=a[m+d]}else{for(f=0;f<l;f++){for(g=r[f],y=new w(c*h),p=0;p<h;p++)for(m=p*o,d=0;d<c;d++)y[p*c+d]=(g[m+d]+g[m+d+1]+g[m+o+d]+g[m+o+d+1])/4;u.push(y)}if(a)for(C=new Uint8Array(c*h),p=0;p<h;p++)for(m=p*o,d=0;d<c;d++)C[p*c+d]=Math.min.apply(null,[a[m+d],a[m+d+1],a[m+o+d],a[m+o+d+1]])}e.width=c,e.height=h,e.mask=C,e.pixels=u}(a)),a)}},94793:(e,t,r)=>{r.d(t,{Dq:()=>v,FI:()=>T,If:()=>k,Jx:()=>D,Uw:()=>R,cK:()=>M,vr:()=>P});var o=r(20095),n=r(97575),i=r(72955),s=r(88781),a=r(9832),l=r(48279),c=r(80899);const h=[0,1,1,2,4,8,1,1,2,4,8,4,8,-1,-1,-1,8,8,8],u=4294967296,f=new Set([1,5,6,7,8,34712,34887]);function p(e,t){let r="unknown";return 3===e?r="f32":1===e?1===t?r="u1":2===t?r="u2":4===t?r="u4":t<=8?r="u8":t<=16?r="u16":t<=32&&(r="u32"):2===e&&(t<=8?r="s8":t<=16?r="s16":t<=32&&(r="s32")),r}function d(e){let t=null;switch(e?e.toLowerCase():"f32"){case"u1":case"u2":case"u4":case"u8":t=Uint8Array;break;case"u16":t=Uint16Array;break;case"u32":t=Uint32Array;break;case"s8":t=Int8Array;break;case"s16":t=Int16Array;break;case"s32":t=Int32Array;break;default:t=Float32Array}return t}function m(e,t){return{x:t[0]*e.x+t[1]*e.y+t[2],y:t[3]*e.x+t[4]*e.y+t[5]}}function g(e,t){return e.get(t)?.values}function y(e,t){return e.get(t)?.values}function C(e,t){return e.get(t)?.values[0]}function w(e,t){return e.get(t)?.values[0]}function b(e,t,r,o=0,n=a.Z.TIFF_TAGS,i=4){const s=8===i,l=s?S(new DataView(e,r,8),0,t):new DataView(e,r,2).getUint16(0,t),c=4+2*i,h=s?8:2,u=h+l*c;if(r+u>e.byteLength)return{success:!1,ifd:null,nextIFD:null,requiredBufferSize:u};const f=r+u+4<=e.byteLength?I(new DataView(e,r+u,8===i?8:4),0,t,8===i):null,p=r+h,d=new Map;let m,g,y,C,w,b,x;for(let r=0;r<l;r++){g=new DataView(e,p+c*r,c),y=g.getUint16(0,t),w=g.getUint16(2,t),C=a.Z.getTagName(y,n);const s=[];2===i?(b=g.getUint16(4,t),x=g.getUint16(6,t)):4===i?(b=g.getUint32(4,t),x=g.getUint32(8,t)):8===i&&(b=I(g,4,t,!0),x=I(g,12,t,!0),s.push(g.getUint32(12,t)),s.push(g.getUint32(16,t))),m={id:y,type:w,valueCount:b,valueOffset:x,valueOffsets:s,values:null},v(e,t,m,o,!1,i),d.set(C,m)}return{success:!0,ifd:d,nextIFD:f,requiredBufferSize:u}}async function x(e,t,r,o,a){const h=l.f===t,u=w(r,"BITSPERSAMPLE"),f=p(w(r,"SAMPLEFORMAT")??1,u),m=w(r,"COMPRESSION")??1,g=d(f);let y,C,b,x,v,T,k;if(34887===m)return await(0,i.zD)(),((e,t)=>(0,i.Jx)(e,{inputOffset:t}).pixels[0])(e,o);if(1===m)b=e.slice(o,o+a),x=new Uint8Array(b);else if(8===m||32946===m)x=new Uint8Array(e,o,a),T=new c.Z(x),k=T.getBytes(),b=new ArrayBuffer(k.length),x=new Uint8Array(b),x.set(k);else if(6===m){x=new Uint8Array(e,o,a);const t=new n.J;t.parse(x);const r=t.getData(t.width,t.height,!0);b=new ArrayBuffer(r.length),x=new Uint8Array(b),x.set(r)}else if(7===m){const t=r.get("JPEGTABLES").values,i=t.length-2;x=new Uint8Array(i+a-2);for(let e=0;e<i;e++)x[e]=t[e];const s=new Uint8Array(e,o+2,a-2);for(let e=0;e<s.length;e++)x[i+e]=s[e];const l=new n.J;l.parse(x);const c=l.getData(l.width,l.height,!0);b=new ArrayBuffer(c.length),x=new Uint8Array(b),x.set(c)}else 5===m&&(x=(0,s.J)(e,o,a,t),b=x.buffer);if("u8"===f||"s8"===f||h)C=new g(b);else{switch(b=new ArrayBuffer(x.length),v=new Uint8Array(b),f){case"u16":case"s16":for(y=0;y<x.length;y+=2)v[y]=x[y+1],v[y+1]=x[y];break;case"u32":case"s32":case"f32":for(y=0;y<x.length;y+=4)v[y]=x[y+3],v[y+1]=x[y+2],v[y+2]=x[y+1],v[y+3]=x[y]}C=new g(b)}return C}function v(e,t,r,o=0,n=!1,i=4){if(r.values)return!0;const s=r.type,a=r.valueCount;let l=r.valueOffset,c=[];const f=h[s],p=8*f,d=a*f,m=a*h[s]*8;let g,y;const C=8===i?64:32,w=r.valueOffsets;if(m>C&&d>(n?e.byteLength:e?e.byteLength-l+o:0))return r.offlineOffsetSize=[l,d],r.values=null,!1;if(m<=C){if(!t)if(C<=32)l>>>=32-m;else{const e=w?.length?w[0]:l>>>0,t=w?.length?w[1]:Math.round((l-e)/u);m<=32?(l=e>>>32-m,w[0]=l):(l=e*2**(32-m)+(t>>>32-m),w[0]=e,w[1]=t>>>32-m)}if(1===a&&p===C)c=[l];else if(64===C){const e=w?.length?w[0]:l>>>0,t=w?.length?w[1]:Math.round((l-e)/u);let r=e,o=32;for(y=1;y<=a;y++){const e=32-p*y%32;if(o<p){const n=r<<e>>>32-o,i=t<<32-o>>>32-o;r=t,c.push(n+i*2**(p-o)),o-=32-(p-o)}else c.push(r<<e>>>32-p),o-=p;0===o&&(o=32,r=t)}}else for(y=1;y<=a;y++){const e=32-p*y;c.push(l<<e>>>32-p)}}else{l-=o,n&&(l=0);for(let r=l;r<l+d;r+=f){switch(s){case 1:case 2:case 7:g=new DataView(e,r,1).getUint8(0);break;case 3:g=new DataView(e,r,2).getUint16(0,t);break;case 4:case 13:g=new DataView(e,r,4).getUint32(0,t);break;case 5:g=new DataView(e,r,4).getUint32(0,t)/new DataView(e,r+4,4).getUint32(0,t);break;case 6:g=new DataView(e,r,1).getInt8(0);break;case 8:g=new DataView(e,r,2).getInt16(0,t);break;case 9:g=new DataView(e,r,4).getInt32(0,t);break;case 10:g=new DataView(e,r,4).getInt32(0,t)/new DataView(e,r+4,4).getInt32(0,t);break;case 11:g=new DataView(e,r,4).getFloat32(0,t);break;case 12:g=new DataView(e,r,8).getFloat64(0,t);break;case 16:case 18:g=S(new DataView(e,r,8),0,t);break;case 17:g=A(new DataView(e,r,8),0,t);break;default:g=null}c.push(g)}}if(2===s){let e="";const t=c;for(c=[],y=0;y<t.length;y++)0===t[y]&&""!==e?(c.push(e),e=""):e+=String.fromCharCode(t[y]);""===e&&0!==c.length||c.push(e)}return r.values=c,!0}function T(e){const t=e[0],r=w(t,"TILEWIDTH"),o=w(t,"TILELENGTH"),n=w(t,"IMAGEWIDTH"),i=w(t,"IMAGELENGTH"),s=w(t,"BITSPERSAMPLE"),a=w(t,"SAMPLESPERPIXEL"),l=w(t,"SAMPLEFORMAT")??1,c=p(l,s),h=k(t),u=g(t,"GDAL_NODATA");let d;u?.length&&(d=u.map((e=>parseFloat(e))),d.some((e=>isNaN(e)))&&(d=null));const b=w(t,"COMPRESSION")??1;let x;switch(b){case 1:x="NONE";break;case 2:case 3:case 4:case 32771:x="CCITT";break;case 5:x="LZW";break;case 6:case 7:x="JPEG";break;case 32773:x="PACKBITS";break;case 8:case 32946:x="DEFLATE";break;case 34712:x="JPEG2000";break;case 34887:x="LERC";break;default:x=String(b)}let v=!0,T="";f.has(b)||(v=!1,T+="unsupported tag compression "+b),l>3&&(v=!1,T+="unsupported tag sampleFormat "+l),s%8!=0&&(v=!1,T+="unsupported tag bitsPerSample "+s);const S=C(t,"GEOASCIIPARAMS");let A;if(S){const e=S.split("|").find((e=>e.includes("ESRI PE String = "))),t=e?e.replace("ESRI PE String = ",""):"";A=t.startsWith("COMPD_CS")||t.startsWith("PROJCS")||t.startsWith("GEOGCS")?{wkid:null,wkt:t}:null}const I=y(t,"GEOTIEPOINTS"),M=y(t,"GEOPIXELSCALE"),P=y(t,"GEOTRANSMATRIX"),R=t.has("GEOKEYDIRECTORY")?t.get("GEOKEYDIRECTORY").data:null;let D,E,L=!1;if(R){L=2===w(R,"GTRasterTypeGeoKey");const e=w(R,"GTModelTypeGeoKey");if(2===e){const e=w(R,"GeographicTypeGeoKey");e>=1024&&e<=32766&&(A={wkid:e})}else if(1===e){const e=w(R,"ProjectedCSTypeGeoKey");e>=1024&&e<=32766&&(A={wkid:e})}}if(M&&I&&I.length>=6?(D=[M[0],0,I[3]-I[0]*M[0],0,-Math.abs(M[1]),I[4]-I[1]*M[1]],L&&(D[2]-=.5*D[0]+.5*D[1],D[5]-=.5*D[3]+.5*D[4])):P&&16===P.length&&(D=L?[P[0],P[1],P[3]-.5*P[0],P[4],P[5],P[7]-.5*P[5]]:[P[0],P[1],P[3],P[4],P[5],P[7]]),D){const e=[{x:0,y:i},{x:0,y:0},{x:n,y:i},{x:n,y:0}];let t,r=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let n=0;n<e.length;n++)t=m(e[n],D),r=t.x>r?r:t.x,s=t.x<s?s:t.x,o=t.y>o?o:t.y,a=t.y<a?a:t.y;E={xmin:r,xmax:s,ymin:o,ymax:a,spatialReference:A}}else E={xmin:-.5,ymin:.5-i,xmax:n-.5,ymax:.5,spatialReference:A};const U=e.filter((e=>1===C(e,"NEWSUBFILETYPE")));let G,B,O,N,F;if(U.length>0){G=Math.round(Math.log(n/w(U[0],"IMAGEWIDTH"))/Math.LN2);const e=U[U.length-1];B=Math.round(Math.log(n/w(e,"IMAGEWIDTH"))/Math.LN2),O=w(e,"TILEWIDTH"),N=w(e,"TILELENGTH")}O=B>0?O||r:null,N=B>0?N||o:null,r&&(F=[{maxCol:Math.ceil(n/r)-1,maxRow:Math.ceil(i/o)-1,minRow:0,minCol:0}],U.forEach((e=>{F.push({maxCol:Math.ceil(w(e,"IMAGEWIDTH")/w(e,"TILEWIDTH"))-1,maxRow:Math.ceil(w(e,"IMAGELENGTH")/w(e,"TILELENGTH"))-1,minRow:0,minCol:0})})));const V=(e=>{if(!e)return null;const t=e.match(/<Item(.*?)Item>/gi);if(!t||0===t.length)return null;const r=new Map;let o,n,i,s,a;for(let e=0;e<t.length;e++)o=t[e],n=o.slice("<Item ".length,o.indexOf(">")),s=o.indexOf("sample="),s>-1&&(a=o.slice(s+'sample="'.length,o.indexOf('"',s+'sample="'.length))),s=o.indexOf("name="),s>-1&&(n=o.slice(s+'name="'.length,o.indexOf('"',s+'name="'.length))),n&&(i=o.slice(o.indexOf(">")+1,o.indexOf("</Item>")).trim(),null!=a?r.has(n)?r.get(n)[a]=i:r.set(n,[i]):r.set(n,i)),a=null;const l=r.get("STATISTICS_MINIMUM"),c=r.get("STATISTICS_MAXIMUM"),h=r.get("STATISTICS_MEAN"),u=r.get("STATISTICS_STDDEV");let f=null;if(l&&c){f=[];for(let e=0;e<l.length;e++)f.push({min:parseFloat(l[e]),max:parseFloat(c[e]),avg:h&&parseFloat(h[e]),stddev:u&&parseFloat(u[e])})}const p=r.get("BandName"),d=r.get("WavelengthMin"),m=r.get("WavelengthMax");let g=null;if(p){g=[];for(let e=0;e<p.length;e++)g.push({BandName:p[e],WavelengthMin:d&&parseFloat(d[e]),WavelengthMax:m&&parseFloat(m[e])})}return{statistics:f,bandProperties:g,dataType:r.get("DataType"),rawMetadata:r}})(C(e[0],"GDAL_METADATA"));return T+=" "+_({width:n,height:i,tileWidth:r,tileHeight:o,planes:a,ifds:e}),{width:n,height:i,tileWidth:r,tileHeight:o,planes:a,isBSQ:h,pixelType:c,compression:x,noData:d,isSupported:v,message:T,extent:E,affine:M?null:D,firstPyramidLevel:G,maximumPyramidLevel:B,pyramidBlockWidth:O,pyramidBlockHeight:N,tileBoundary:F,metadata:V}}function k(e,t){const r=g(e,"PLANARCONFIGURATION");return r?2===r[0]:!!t&&t.isBSQ}function S(e,t,r){const o=e.getUint32(t,r),n=e.getUint32(t+4,r);return r?n*u+o:o*u+n}function A(e,t,r){let o=r?e.getInt32(t,r):e.getUint32(t,r),n=r?e.getUint32(t+4,r):e.getInt32(t+4,r);const i=(r?o:n)>=0?1:-1;return r?o*=i:n*=i,i*(r?n*u+o:o*u+n)}function I(e,t,r,o){return o?S(e,t,r):e.getUint32(t,r)}function M(e){const t=new DataView(e,0,16),r=t.getUint16(0,!1);let o=null;if(18761===r)o=!0;else{if(19789!==r)throw"unexpected endianess byte";o=!1}const n=t.getUint16(2,o);if(42!==n&&43!==n)throw"unexpected tiff identifier";let i=4;const s=43===n;if(s){const e=t.getUint16(i,o);if(i+=2,8!==e)throw"unsupported bigtiff version";if(0!==t.getUint16(i,o))throw"unsupported bigtiff version";i+=2}return{littleEndian:o,isBigTiff:s,firstIFD:I(t,i,o,s)}}function P(e,t,r,n=0,i=a.Z.TIFF_TAGS,s=4){const l=b(e,t,r,n,i,s);let c;const h=l.ifd;if(h){if(a.Z.ifdTags.forEach(((r,o)=>{h.has(o)&&(c=h.get(o),c.data=b(e,t,c.valueOffset-n,n,r).ifd)})),h.has("GEOKEYDIRECTORY")){c=h.get("GEOKEYDIRECTORY");const r=c.values;if(r&&r.length>4){const o=r[0]+"."+r[1]+"."+r[2];c.data=b(e,t,c.valueOffset+6-n,n,a.Z.GEO_KEYS,2).ifd,c.data&&c.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[o]})}}if(h.has("XMP")){c=h.get("XMP");const e=c.values;"number"==typeof e[0]&&7===c.type&&(c.values=[(0,o.f)(new Uint8Array(e))])}}return l}function _(e){const{width:t,height:r,tileHeight:o,tileWidth:n}=e,i=e.planes,s=n?n*o:t*r,a=w(e.ifds[0],"BITSPERSAMPLE");let l="";return s*i>2**30/(a>8?a/8:1)&&(l=n?"tiled tiff exceeding 1 gigabits per tile is not supported":"scanline tiff exceeding 1 gigabits is not supported"),l}async function R(e,t){const{headerInfo:r,ifd:o,offsets:n,sizes:i}=t,s=[];for(let t=0;t<n.length;t++){const a=await x(e,r.littleEndian,o,n[t],i[t]||e.byteLength);s.push(a)}const a=k(o,r),{pixelType:l,planes:c}=r,h=d(l),u=w(o,"TILEWIDTH"),f=w(o,"TILELENGTH"),p=w(o,"COMPRESSION")??1,m=u*f;let g;const y=[];let C=s[0];const b=34887===p;for(let e=0;e<c;e++){if(g=new h(m),a&&b){if(C=s[e],C.length)for(let t=0;t<m;t++)g[t]=C[e][t+e]}else if(C.length)if(a||b&&!a)g=C.slice(m*e,m*(e+1));else for(let t=0;t<m;t++)g[t]=C[t*c+e];y.push(g)}const v=r.noData?r.noData[0]:t.noDataValue,T=r.metadata?r.metadata.statistics:null,S=T?T.map((e=>e.min)):null,A=T?T.map((e=>e.max)):null;let I,M;if(null!=v)if(I=new Uint8Array(m),Math.abs(v)>1e24)for(M=0;M<m;M++)Math.abs((y[0][M]-v)/v)<1e-6?I[M]=0:I[M]=1;else for(M=0;M<m;M++)y[0][M]===v?I[M]=0:I[M]=1;else S&&A&&t.applyMinMaxConstraint&&(I=((e,t,r)=>{if(!(e&&e.length>0&&t&&r))return null;let o,n,i;const s=e[0].length,a=e.length,l=new Uint8Array(s);for(let c=0;c<a;c++)if(o=e[c],n=t[c],i=r[c],0===c)for(let e=0;e<s;e++)l[e]=o[e]<n||o[e]>i?0:1;else for(let e=0;e<s;e++)l[e]&&(l[e]=o[e]<n||o[e]>i?0:1);return l})(y,S,A));return{pixelType:l,width:u,height:f,pixels:y,mask:I,noDataValue:v}}async function D(e,t={}){const r=t.pyramidLevel||0,o=t.headerInfo||function(e){const{littleEndian:t,isBigTiff:r,firstIFD:o}=M(e);let n=o;const i=[];do{const o=P(e,t,n,0,a.Z.TIFF_TAGS,r?8:4);if(!o.success)break;i.push(o.ifd),n=o.nextIFD}while(n>0);return{...T(i),littleEndian:t,isBigTiff:r,ifds:i}}(e),{ifds:i,noData:h}=o;if(0===i.length)throw"no valid image file directory";const u=_(o);if(u)throw u;let f,p;const m=-1===r?i[i.length-1]:i[r],g=h?h[0]:t.noDataValue;if(p=o.tileWidth?await async function(e,t,r){const o=y(r,"TILEOFFSETS");if(void 0===o)return null;const n=y(r,"TILEBYTECOUNTS"),{width:i,height:s,pixelType:a,tileWidth:l,tileHeight:c}=T([r]),h=k(r,t),u=t.planes,f=i*s,p=w(r,"BITSPERSAMPLE"),m=34887===(w(r,"COMPRESSION")??1),g=d(a),C=[];for(let e=0;e<u;e++)C.push(new g(f));let b,v,S,A,I,M,P,_,R,D,E,L,U;const G=Math.ceil(i/l);if(p%8==0)if(m&&h&&u>1){const a=Math.round(o.length/u);for(b=0;b<a;b++){M=Math.floor(b/G)*c,P=b%G*l,_=M*i+P;for(let a=0;a<u;a++){const h=b*u+a;if(0!==n[h])for(S=await x(e,t.littleEndian,r,o[h],n[h]),D=0,R=_,L=Math.min(l,i-P),E=Math.min(c,s-M),U=C[a],A=0;A<E;A++)for(R=_+A*i,D=A*l,I=0;I<L;I++,R++,D++)U[R]=S[D]}}}else for(b=0;b<o.length;b++)if(0!==n[b])for(M=Math.floor(b/G)*c,P=b%G*l,_=M*i+P,S=await x(e,t.littleEndian,r,o[b],n[b]),D=0,R=_,L=Math.min(l,i-P),E=Math.min(c,s-M),v=0;v<u;v++)if(U=C[v],h||m)for(A=0;A<E;A++)for(R=_+A*i,D=l*c*v+A*l,I=0;I<L;I++,R++,D++)U[R]=S[D];else for(A=0;A<E;A++)for(R=_+A*i,D=A*l*u+v,I=0;I<L;I++,R++,D+=u)U[R]=S[D];return{width:i,height:s,pixelType:a,pixels:C}}(e,o,m):await((e,t,r)=>{const o=l.f===t.littleEndian,i=y(r,"STRIPOFFSETS");if(void 0===i)return null;const{width:a,height:h,pixelType:u}=T([r]),f=t.planes,p=a*h,m=w(r,"BITSPERSAMPLE"),g=d(u),C=new g(p*f),b=y(r,"STRIPBYTECOUNTS"),x=w(r,"ROWSPERSTRIP"),v=w(r,"COMPRESSION")??1;let k,S,A,I,M,P,_,R,D,E,L,U=x;if(m%8==0)for(k=0;k<i.length;k++){if(M=k*(x*a)*f,U=(k+1)*x>h?h-k*x:x,"u8"===u||"s8"===u||o){if(8===v||32946===v)_=new Uint8Array(e,i[k],b[k]),E=new c.Z(_),L=E.getBytes(),P=new ArrayBuffer(L.length),_=new Uint8Array(P),_.set(L),_.length!==U*a*f*m/8&&console.log("strip byte counts is different than expected");else if(6===v){_=new Uint8Array(e,i[k],b[k]);const t=new n.J;t.parse(_);const r=t.getData(t.width,t.height,!0);P=new ArrayBuffer(r.length),_=new Uint8Array(P),_.set(r)}else 5===v?(_=(0,s.J)(e,i[k],b[k],t.littleEndian),P=_.buffer):1===v&&(b[k]!==U*a*f*m/8&&console.log("strip byte counts is different than expected"),P=e.slice(i[k],i[k]+b[k]));I=new g(P)}else{switch(6===v||8===v||32946===v?(_=new Uint8Array(e,i[k],b[k]),E=new c.Z(_),_=E.getBytes(),P=new ArrayBuffer(_.length),R=new Uint8Array(P),_.length!==U*a*f*m/8&&console.log("strip byte counts is different than expected")):1===v&&(b[k]!==U*a*f*m/8&&console.log("strip byte counts is different than expected"),P=new ArrayBuffer(b[k]),_=new Uint8Array(e,i[k],b[k]),R=new Uint8Array(P)),u){case"u16":case"s16":for(A=0;A<_.length;A+=2)R[A]=_[A+1],R[A+1]=_[A];break;case"u32":case"s32":case"f32":for(A=0;A<_.length;A+=4)R[A]=_[A+3],R[A+1]=_[A+2],R[A+2]=_[A+1],R[A+3]=_[A]}I=new g(P)}C.set(I,M)}const G=[];if(1===f)G.push(C);else for(k=0;k<f;k++){for(D=new g(p),S=0;S<p;S++)D[S]=C[S*f+k];G.push(D)}return{width:a,height:h,pixelType:u,pixels:G}})(e,o,m),null!==g){if(p.mask=new Uint8Array(p.width*p.height),Math.abs(g)>1e24)for(f=0;f<p.width*p.height;f++)Math.abs((p.pixels[0][f]-g)/g)<1e-6?p.mask[f]=0:p.mask[f]=1;else for(f=0;f<p.width*p.height;f++)p.pixels[0][f]===g?p.mask[f]=0:p.mask[f]=1;p.noDataValue=g}return p}},9832:(e,t,r)=>{r.d(t,{Z:()=>a});const o=(()=>{const e=[];return e[254]="NEWSUBFILETYPE",e[255]="SUBFILETYPE",e[256]="IMAGEWIDTH",e[257]="IMAGELENGTH",e[258]="BITSPERSAMPLE",e[259]="COMPRESSION",e[262]="PHOTOMETRICINTERPRETATION",e[263]="THRESHHOLDING",e[264]="CELLWIDTH",e[265]="CELLLENGTH",e[266]="FILLORDER",e[269]="DOCUMENTNAME",e[270]="IMAGEDESCRIPTION",e[271]="MAKE",e[272]="MODEL",e[273]="STRIPOFFSETS",e[274]="ORIENTATION",e[277]="SAMPLESPERPIXEL",e[278]="ROWSPERSTRIP",e[279]="STRIPBYTECOUNTS",e[280]="MINSAMPLEVALUE",e[281]="MAXSAMPLEVALUE",e[282]="XRESOLUTION",e[283]="YRESOLUTION",e[284]="PLANARCONFIGURATION",e[285]="PAGENAME",e[286]="XPOSITION",e[287]="YPOSITION",e[288]="FREEOFFSETS",e[289]="FREEBYTECOUNTS",e[290]="GRAYRESPONSEUNIT",e[291]="GRAYRESPONSECURVE",e[292]="T4OPTIONS",e[293]="T6OPTIONS",e[296]="RESOLUTIONUNIT",e[297]="PAGENUMBER",e[300]="COLORRESPONSEUNIT",e[301]="TRANSFERFUNCTION",e[305]="SOFTWARE",e[306]="DATETIME",e[315]="ARTIST",e[316]="HOSTCOMPUTER",e[317]="PREDICTOR",e[318]="WHITEPOINT",e[319]="PRIMARYCHROMATICITIES",e[320]="COLORMAP",e[321]="HALFTONEHINTS",e[322]="TILEWIDTH",e[323]="TILELENGTH",e[324]="TILEOFFSETS",e[325]="TILEBYTECOUNTS",e[326]="BADFAXLINES",e[327]="CLEANFAXDATA",e[328]="CONSECUTIVEBADFAXLINES",e[330]="SUBIFD",e[332]="INKSET",e[333]="INKNAMES",e[334]="NUMBEROFINKS",e[336]="DOTRANGE",e[337]="TARGETPRINTER",e[338]="EXTRASAMPLES",e[339]="SAMPLEFORMAT",e[340]="SMINSAMPLEVALUE",e[341]="SMAXSAMPLEVALUE",e[342]="TRANSFERRANGE",e[347]="JPEGTABLES",e[512]="JPEGPROC",e[513]="JPEGIFOFFSET",e[514]="JPEGIFBYTECOUNT",e[515]="JPEGRESTARTINTERVAL",e[517]="JPEGLOSSLESSPREDICTORS",e[518]="JPEGPOINTTRANSFORM",e[519]="JPEGQTABLES",e[520]="JPEGDCTABLES",e[521]="JPEGACTABLES",e[529]="YCBCRCOEFFICIENTS",e[530]="YCBCRSUBSAMPLING",e[531]="YCBCRPOSITIONING",e[532]="REFERENCEBLACKWHITE",e[700]="XMP",e[33550]="GEOPIXELSCALE",e[33922]="GEOTIEPOINTS",e[33432]="COPYRIGHT",e[42112]="GDAL_METADATA",e[42113]="GDAL_NODATA",e[50844]="RPCCOEFFICIENT",e[34264]="GEOTRANSMATRIX",e[34735]="GEOKEYDIRECTORY",e[34736]="GEODOUBLEPARAMS",e[34737]="GEOASCIIPARAMS",e[34665]="EXIFIFD",e[34853]="GPSIFD",e[40965]="INTEROPERABILITYIFD",e})(),n=(()=>{const e=o.slice();return e[36864]="ExifVersion",e[40960]="FlashpixVersion",e[40961]="ColorSpace",e[42240]="Gamma",e[37121]="ComponentsConfiguration",e[37122]="CompressedBitsPerPixel",e[40962]="PixelXDimension",e[40963]="PixelYDimension",e[37500]="MakerNote",e[37510]="UserComment",e[40964]="RelatedSoundFile",e[36867]="DateTimeOriginal",e[36868]="DateTimeDigitized",e[36880]="OffsetTime",e[36881]="OffsetTimeOriginal",e[36882]="OffsetTimeDigitized",e[37520]="SubSecTime",e[37521]="SubSecTimeOriginal",e[37522]="SubSecTimeDigitized",e[37888]="Temperature",e[37889]="Humidity",e[37890]="Pressure",e[37891]="WaterDepth",e[37892]="Acceleration",e[37893]="CameraElevationAngle",e[42016]="ImageUniqueID",e[42032]="CameraOwnerName",e[42033]="BodySerialNumber",e[42034]="LensSpecification",e[42035]="LensMake",e[42036]="LensModel",e[42037]="LensSerialNumber",e[33434]="ExposureTime",e[33437]="FNumber",e[34850]="ExposureProgram",e[34852]="SpectralSensitivity",e[34855]="PhotographicSensitivity",e[34856]="OECF",e[34864]="SensitivityType",e[34865]="StandardOutputSensitivity",e[34866]="RecommendedExposureIndex",e[34867]="ISOSpeed",e[34868]="ISOSpeedLatitudeyyy",e[34869]="ISOSpeedLatitudezzz",e[37377]="ShutterSpeedValue",e[37378]="ApertureValue",e[37379]="BrightnessValue",e[37380]="ExposureBiasValue",e[37381]="MaxApertureValue",e[37382]="SubjectDistance",e[37383]="MeteringMode",e[37384]="LightSource",e[37385]="Flash",e[37386]="FocalLength",e[37396]="SubjectArea",e[41483]="FlashEnergy",e[41484]="SpatialFrequencyResponse",e[41486]="FocalPlaneXResolution",e[41487]="FocalPlaneYResolution",e[41488]="FocalPlaneResolutionUnit",e[41492]="SubjectLocation",e[41493]="ExposureIndex",e[41495]="SensingMethod",e[41728]="FileSource",e[41729]="SceneType",e[41730]="CFAPattern",e[41985]="CustomRendered",e[41986]="ExposureMode",e[41987]="WhiteBalance",e[41988]="DigitalZoomRatio",e[41989]="FocalLengthIn35mmFilm",e[41990]="SceneCaptureType",e[41991]="GainControl",e[41992]="Contrast",e[41993]="Saturation",e[41994]="Sharpness",e[41995]="DeviceSettingDescription",e[41996]="SubjectDistanceRange",e})(),i=(()=>{const e=[];return e[1024]="GTModelTypeGeoKey",e[1025]="GTRasterTypeGeoKey",e[1026]="GTCitationGeoKey",e[2048]="GeographicTypeGeoKey",e[2049]="GeogCitationGeoKey",e[2050]="GeogGeodeticDatumGeoKey",e[2051]="GeogPrimeMeridianGeoKey",e[2052]="GeogLinearUnitsGeoKey",e[2053]="GeogLinearUnitSizeGeoKey",e[2054]="GeogAngularUnitsGeoKey",e[2055]="GeogAngularUnitSizeGeoKey",e[2056]="GeogEllipsoidGeoKey",e[2057]="GeogSemiMajorAxisGeoKey",e[2058]="GeogSemiMinorAxisGeoKey",e[2059]="GeogInvFlatteningGeoKey",e[2061]="GeogPrimeMeridianLongGeoKey",e[2060]="GeogAzimuthUnitsGeoKey",e[3072]="ProjectedCSTypeGeoKey",e[3073]="PCSCitationGeoKey",e[3074]="ProjectionGeoKey",e[3075]="ProjCoordTransGeoKey",e[3076]="ProjLinearUnitsGeoKey",e[3077]="ProjLinearUnitSizeGeoKey",e[3078]="ProjStdParallel1GeoKey",e[3079]="ProjStdParallel2GeoKey",e[3080]="ProjNatOriginLongGeoKey",e[3081]="ProjNatOriginLatGeoKey",e[3082]="ProjFalseEastingGeoKey",e[3083]="ProjFalseNorthingGeoKey",e[3084]="ProjFalseOriginLongGeoKey",e[3085]="ProjFalseOriginLatGeoKey",e[3086]="ProjFalseOriginEastingGeoKey",e[3087]="ProjFalseOriginNorthingGeoKey",e[3088]="ProjCenterLongGeoKey",e[3090]="ProjCenterEastingGeoKey",e[3091]="ProjCenterNorthingGeoKey",e[3092]="ProjScaleAtNatOriginGeoKey",e[3093]="ProjScaleAtCenterGeoKey",e[3094]="ProjAzimuthAngleGeoKey",e[3095]="ProjStraightVertPoleLongGeoKey",e[4096]="VerticalCSTypeGeoKey",e[4097]="VerticalCitationGeoKey",e[4098]="VerticalDatumGeoKey",e[4099]="VerticalUnitsGeoKey",e})(),s=new Map;s.set("EXIFIFD",n),s.set("GPSIFD",["GPSVersionID","GPSLatitudeRef","GPSLatitude","GPSLongitudeRef","GPSLongitude","GPSAltitudeRef","GPSAltitude","GPSTimeStamp","GPSSatellites","GPSStatus","GPSMeasureMode","GPSDOP","GPSSpeedRef","GPSSpeed","GPSTrackRef","GPSTrack","GPSImgDirectionRef","GPSImgDirection","GPSMapDatum","GPSDestLatitudeRef","GPSDestLatitude","GPSDestLongitudeRef","GPSDestLongitude","GPSDestBearingRef","GPSDestBearing","GPSDestDistanceRef","GPSDestDistance","GPSProcessingMethod","GPSAreaInformation","GPSDateStamp","GPSDifferential","GPSHPositioningError"]);const a={TIFF_TAGS:o,ifdTags:s,GEO_KEYS:i,getTagName:(e,t)=>{let r=(t||o)[e];return void 0===r&&(r="unknown"+String(e)),r}}},48279:(e,t,r)=>{r.d(t,{f:()=>o});const o=(()=>{const e=new ArrayBuffer(4),t=new Uint8Array(e);return new Uint32Array(e)[0]=1,1===t[0]})()},55914:(e,t,r)=>{r.d(t,{Pz:()=>a,Qh:()=>v,SJ:()=>l,Uk:()=>T,Vl:()=>b,XV:()=>c,nk:()=>i,pW:()=>p,qF:()=>s,us:()=>f,zp:()=>h});var o=r(70586),n=r(5847);function i(e){return(0,o.pC)(e)&&"esri.layers.support.PixelBlock"===e.declaredClass&&e.pixels&&e.pixels.length>0}function s(e,t){if(!t?.length||!i(e))return e;const r=e.pixels.length;return t&&t.some((e=>e>=r))||1===r&&1===t.length&&0===t[0]?e:r!==t.length||t.some(((e,t)=>e!==t))?new n.Z({pixelType:e.pixelType,width:e.width,height:e.height,mask:e.mask,validPixelCount:e.validPixelCount,maskIsAlpha:e.maskIsAlpha,pixels:t.map((t=>e.pixels[t])),statistics:e.statistics&&t.map((t=>e.statistics[t]))}):e}function a(e){if(!e)return;const t=e.colormap;if(!t||0===t.length)return;const r=t.sort(((e,t)=>e[0]-t[0]));let o=0;r[0][0]<0&&(o=r[0][0]);const n=Math.max(256,r[r.length-1][0]-o+1),i=new Uint8Array(4*n),s=[];let a,l=0,c=0;const h=5===r[0].length;if(n>65536)return r.forEach((e=>{s[e[0]-o]=h?e.slice(1):e.slice(1).concat([255])})),{indexed2DColormap:s,offset:o,alphaSpecified:h};if(e.fillUnspecified)for(a=r[c],l=a[0]-o;l<n;l++)i[4*l]=a[1],i[4*l+1]=a[2],i[4*l+2]=a[3],i[4*l+3]=h?a[4]:255,l===a[0]-o&&(a=c===r.length-1?a:r[++c]);else for(l=0;l<r.length;l++)a=r[l],c=4*(a[0]-o),i[c]=a[1],i[c+1]=a[2],i[c+2]=a[3],i[c+3]=h?a[4]:255;return{indexedColormap:i,offset:o,alphaSpecified:h}}function l(e,t){if(!i(e))return e;if(!t&&(t.indexedColormap||t.indexed2DColormap))return e;const r=e.clone(),n=r.pixels;let s=r.mask;const a=r.width*r.height;if(1!==n.length)return e;const{indexedColormap:l,indexed2DColormap:c,offset:h,alphaSpecified:u}=t,f=l.length-1;let p=0;const d=n[0],m=new Uint8Array(d.length),g=new Uint8Array(d.length),y=new Uint8Array(d.length);let C,w=0;if(l)if((0,o.pC)(s))for(p=0;p<a;p++)s[p]&&(w=4*(d[p]-h),w<h||w>f?s[p]=0:(m[p]=l[w],g[p]=l[w+1],y[p]=l[w+2],s[p]=l[w+3]));else{for(s=new Uint8Array(a),p=0;p<a;p++)w=4*(d[p]-h),w<h||w>f?s[p]=0:(m[p]=l[w],g[p]=l[w+1],y[p]=l[w+2],s[p]=l[w+3]);r.mask=s}else if((0,o.pC)(s))for(p=0;p<a;p++)s[p]&&(C=c[d[p]],m[p]=C[0],g[p]=C[1],y[p]=C[2],s[p]=C[3]);else{for(s=new Uint8Array(a),p=0;p<a;p++)C=c[d[p]],m[p]=C[0],g[p]=C[1],y[p]=C[2],s[p]=C[3];r.mask=s}return r.pixels=[m,g,y],r.statistics=null,r.pixelType="u8",r.maskIsAlpha=u,r}function c(e,t){if(!i(e))return null;const{pixels:r,mask:o}=e,s=e.width*e.height,a=r.length;let l=t.lut;const{offset:c}=t;let h,u;l&&1===l[0].length&&(l=r.map((()=>l)));const f=[];let p,d,m;if(c)if(null==o)for(h=0;h<a;h++){for(p=r[h],d=l[h],m=new Uint8Array(s),u=0;u<s;u++)m[u]=d[p[u]-c];f.push(m)}else for(h=0;h<a;h++){for(p=r[h],d=l[h],m=new Uint8Array(s),u=0;u<s;u++)o[u]&&(m[u]=d[p[u]-c]);f.push(m)}else if(null==o)for(h=0;h<a;h++){for(p=r[h],d=l[h],m=new Uint8Array(s),u=0;u<s;u++)m[u]=d[p[u]];f.push(m)}else for(h=0;h<a;h++){for(p=r[h],d=l[h],m=new Uint8Array(s),u=0;u<s;u++)o[u]&&(m[u]=d[p[u]]);f.push(m)}const g=new n.Z({width:e.width,height:e.height,pixels:f,mask:o,pixelType:"u8"});return g.updateStatistics(),g}function h(e,t){if(!i(e))return null;const r=e.clone(),{pixels:o}=r,n=r.width*r.height,s=t.length,a=Math.floor(s/2),l=t[Math.floor(a)],c=o[0];let h,u,f,p,d,m,g=!1;const y=new Uint8Array(n),C=new Uint8Array(n),w=new Uint8Array(n);let b=r.mask;const x=4===t[0].mappedColor.length;for(b||(b=new Uint8Array(n),b.fill(x?255:1),r.mask=b),d=0;d<n;d++)if(b[d]){for(h=c[d],g=!1,m=a,u=l,f=0,p=s-1;p-f>1;){if(h===u.value){g=!0;break}h>u.value?f=m:p=m,m=Math.floor((f+p)/2),u=t[Math.floor(m)]}g||(h===t[f].value?(u=t[f],g=!0):h===t[p].value?(u=t[p],g=!0):h<t[f].value?(g=!1,u=null):h>t[f].value&&(h<t[p].value?(u=t[f],g=!0):p===s-1?(g=!1,u=null):(u=t[p],g=!0))),g?(y[d]=u.mappedColor[0],C[d]=u.mappedColor[1],w[d]=u.mappedColor[2],b[d]=u.mappedColor[3]):y[d]=C[d]=w[d]=b[d]=0}return r.pixels=[y,C,w],r.mask=b,r.pixelType="u8",r.maskIsAlpha=x,r}function u(e,t,r,o,n,i){const{width:s,height:a}=r.block,{x:l,y:c}=r.offset,{width:h,height:u}=r.mosaic,f=function(e,t,r,o,n,i,s,a){return{xmin:n<=r*e?0:n<r*e+e?n-r*e:e,ymin:i<=o*t?0:i<o*t+t?i-o*t:t,xmax:n+s<=r*e?0:n+s<r*e+e?n+s-r*e:e,ymax:i+a<=o*t?0:i+a<o*t+t?i+a-o*t:t}}(s,a,o,n,l,c,h,u);let p=0,d=0;if(i){const e=i.hasGCSSShiftTransform?360:i.halfWorldWidth,t=s*i.resolutionX,r=i.startX+o*t,n=r+t;r<e&&n>e?d=i.rightPadding:r>=e&&(p=i.leftMargin-i.rightPadding,d=0)}if(f.xmax-=d,"number"!=typeof t)for(let r=f.ymin;r<f.ymax;r++){const i=(n*a+r-c)*h+(o*s-l)+p,u=r*s;for(let r=f.xmin;r<f.xmax;r++)e[i+r]=t[u+r]}else for(let r=f.ymin;r<f.ymax;r++){const i=(n*a+r-c)*h+(o*s-l)+p;for(let r=f.xmin;r<f.xmax;r++)e[i+r]=t}}function f(e,t,r={}){const{clipOffset:s,clipSize:a,alignmentInfo:l,blockWidths:c}=r;if(c)return function(e,t,r){const s=e.find((e=>(0,o.pC)(e)));if((0,o.Wi)(s))return null;const a=e.some((e=>!(0,o.pC)(e)||!!e.mask)),{width:l,height:c}=t,h=a?new Uint8Array(l*c):null,{blockWidths:u}=r,f=[],p=s.getPlaneCount(),d=n.Z.getPixelArrayConstructor(s.pixelType);if(a)for(let t=0,r=0;t<e.length;r+=u[t],t++){const n=e[t];if(!i(n))continue;const s=(0,o.Wg)(n.mask);for(let e=0;e<c;e++)for(let o=0;o<u[t];o++)h[e*l+o+r]=null==s?255:s[e*n.width+o]}for(let t=0;t<p;t++){const r=new d(l*c);for(let o=0,n=0;o<e.length;n+=u[o],o++){const s=e[o];if(!i(s))continue;const a=s.pixels[t];if(null!=a)for(let e=0;e<c;e++)for(let t=0;t<u[o];t++)r[e*l+t+n]=a[e*s.width+t]}f.push(r)}const m=new n.Z({width:l,height:c,mask:h,pixels:f,pixelType:s.pixelType});return m.updateStatistics(),m}(e,t,{blockWidths:c});const h=e.find((e=>i(e)));if((0,o.Wi)(h))return null;const f=a?a.width:t.width,p=a?a.height:t.height,d=h.width,m=h.height,g=t.width/d,y=t.height/m,C={offset:s||{x:0,y:0},mosaic:a||t,block:{width:d,height:m}},w=h.pixelType,b=n.Z.getPixelArrayConstructor(w),x=h.pixels.length,v=[];let T,k,S;for(let t=0;t<x;t++){k=new b(f*p);for(let r=0;r<y;r++)for(let o=0;o<g;o++){const n=e[r*g+o];i(n)&&(T=n.pixels[t],u(k,T,C,o,r,l))}v.push(k)}if(e.some((e=>(0,o.Wi)(e)||(0,o.pC)(e.mask)&&e.mask.length>0))){S=new Uint8Array(f*p);for(let t=0;t<y;t++)for(let r=0;r<g;r++){const n=e[t*g+r],i=(0,o.pC)(n)?n.mask:null;(0,o.pC)(i)?u(S,i,C,r,t,l):u(S,n?1:0,C,r,t,l)}}const A=new n.Z({width:f,height:p,pixels:v,pixelType:w,mask:S});return A.updateStatistics(),A}function p(e,t,r){if(!i(e))return null;const{width:o,height:n}=e,s=t.x,a=t.y,l=r.width+s,c=r.height+a;if(s<0||a<0||l>o||c>n)return e;if(0===s&&0===a&&l===o&&c===n)return e;e.mask||(e.mask=new Uint8Array(o*n));const h=e.mask;for(let e=0;e<n;e++){const t=e*o;for(let r=0;r<o;r++)h[t+r]=e<a||e>=c||r<s||r>=l?0:1}return e.updateStatistics(),e}function d(e){if(!i(e))return null;const t=e.clone(),{width:r,height:n,pixels:s}=e,a=s[0],l=t.pixels[0],c=(0,o.Wg)(e.mask);for(let e=2;e<n-1;e++){const t=new Map;for(let o=e-2;o<e+2;o++)for(let e=0;e<4;e++){const n=o*r+e;y(t,a[n],c?c[n]:1)}l[e*r]=m(t),l[e*r+1]=l[e*r+2]=l[e*r];let o=3;for(;o<r-1;o++){let n=(e-2)*r+o+1;y(t,a[n],c?c[n]:1),n=(e-1)*r+o+1,y(t,a[n],c?c[n]:1),n=e*r+o+1,y(t,a[n],c?c[n]:1),n=(e+1)*r+o+1,y(t,a[n],c?c[n]:1),n=(e-2)*r+o-3,g(t,a[n],c?c[n]:1),n=(e-1)*r+o-3,g(t,a[n],c?c[n]:1),n=e*r+o-3,g(t,a[n],c?c[n]:1),n=(e+1)*r+o-3,g(t,a[n],c?c[n]:1),l[e*r+o]=m(t)}l[e*r+o+1]=l[e*r+o]}for(let e=0;e<r;e++)l[e]=l[r+e]=l[2*r+e],l[(n-1)*r+e]=l[(n-2)*r+e];return t.updateStatistics(),t}function m(e){if(0===e.size)return 0;let t=0,r=-1,o=0;const n=e.keys();let i=n.next();for(;!i.done;)o=e.get(i.value),o>t&&(r=i.value,t=o),i=n.next();return r}function g(e,t,r){if(0===r)return;const o=e.get(t);1===o?e.delete(t):e.set(t,o-1)}function y(e,t,r){0!==r&&e.set(t,e.has(t)?e.get(t)+1:1)}function C(e,t,r){let{x:s,y:a}=t;const{width:l,height:c}=r;if(0===s&&0===a&&c===e.height&&l===e.width)return e;const{width:h,height:u}=e,f=Math.max(0,a),p=Math.max(0,s),d=Math.min(s+l,h),m=Math.min(a+c,u);if(d<0||m<0||!i(e))return null;s=Math.max(0,-s),a=Math.max(0,-a);const{pixels:g}=e,y=l*c,C=g.length,w=[];for(let t=0;t<C;t++){const r=g[t],o=n.Z.createEmptyBand(e.pixelType,y);for(let e=f;e<m;e++){const t=e*h;let n=(e+a-f)*l+s;for(let e=p;e<d;e++)o[n++]=r[t+e]}w.push(o)}const b=new Uint8Array(y),x=(0,o.Wg)(e.mask);for(let e=f;e<m;e++){const t=e*h;let r=(e+a-f)*l+s;for(let e=p;e<d;e++)b[r++]=x?x[t+e]:1}const v=new n.Z({width:r.width,height:r.height,pixelType:e.pixelType,pixels:w,mask:b});return v.updateStatistics(),v}function w(e,t=!0){if(!i(e))return null;const{pixels:r,width:s,height:a,mask:l,pixelType:c}=e,h=[],u=Math.round(s/2),f=Math.round(a/2),p=a-1,d=s-1;for(let e=0;e<r.length;e++){const o=r[e],i=n.Z.createEmptyBand(c,u*f);let l=0;for(let e=0;e<a;e+=2)for(let r=0;r<s;r+=2){const n=o[e*s+r];if(t){const t=r===d?n:o[e*s+r+1],a=e===p?n:o[e*s+r+s],c=r===d?a:e===p?t:o[e*s+r+s+1];i[l++]=(n+t+a+c)/4}else i[l++]=n}h.push(i)}let m=null;if((0,o.pC)(l)){m=new Uint8Array(u*f);let e=0;for(let r=0;r<a;r+=2)for(let o=0;o<s;o+=2){const n=l[r*s+o];if(t){const t=o===d?n:l[r*s+o+1],i=r===p?n:l[r*s+o+s],a=o===d?i:r===p?t:l[r*s+o+s+1];m[e++]=n*t*i*a?1:0}else m[e++]=n}}return new n.Z({width:u,height:f,pixelType:c,pixels:h,mask:m})}function b(e,t,r){if(!i(e))return null;const{width:o,height:n}=t;let{width:s,height:a}=e;const l=new Map,c={x:0,y:0},h=null==r?1:1+r;let u=e;for(let e=0;e<h;e++){const r=Math.ceil(s/o),i=Math.ceil(a/n);for(let s=0;s<i;s++){c.y=s*n;for(let n=0;n<r;n++){c.x=n*o;const r=C(u,c,t);l.set(`${e}/${s}/${n}`,r)}}e<h-1&&(u=w(u)),s=Math.round(s/2),a=Math.round(a/2)}return l}function x(e,t,r,o,n=.5){const{width:i,height:s}=e,{width:a,height:l}=t,c=o.cols,h=o.rows,u=Math.ceil(a/c-.1/c),f=Math.ceil(l/h-.1/h);let p,d,m,g,y,C,w;const b=u*c,x=b*f*h,v=new Float32Array(x),T=new Float32Array(x),k=new Uint32Array(x),S=new Uint32Array(x);let A,I,M=0;for(let e=0;e<f;e++)for(let t=0;t<u;t++){p=12*(e*u+t),d=r[p],m=r[p+1],g=r[p+2],y=r[p+3],C=r[p+4],w=r[p+5];for(let r=0;r<h;r++){M=(e*h+r)*b+t*c,I=(r+.5)/h;for(let e=0;e<r;e++)A=(e+.5)/c,v[M+e]=(d*A+m*I+g)*i-n,T[M+e]=(y*A+C*I+w)*s-n,k[M+e]=Math.round(v[M+e]),S[M+e]=Math.round(T[M+e])}p+=6,d=r[p],m=r[p+1],g=r[p+2],y=r[p+3],C=r[p+4],w=r[p+5];for(let r=0;r<h;r++){M=(e*h+r)*b+t*c,I=(r+.5)/h;for(let e=r;e<c;e++)A=(e+.5)/c,v[M+e]=(d*A+m*I+g)*i-n,T[M+e]=(y*A+C*I+w)*s-n,k[M+e]=Math.round(v[M+e]),S[M+e]=Math.round(T[M+e])}}return{offsets_x:v,offsets_y:T,offsets_xi:k,offsets_yi:S,gridWidth:b}}function v(e,t){const{coefficients:r,spacing:o}=t,{offsets_x:n,offsets_y:i,gridWidth:s}=x(e,e,r,{rows:o[0],cols:o[1]},.5),{width:a,height:l}=e,c=new Float32Array(a*l),h=180/Math.PI;for(let e=0;e<l;e++)for(let t=0;t<a;t++){const r=e*s+t,o=0===e?r:r-s,u=e===l-1?r:r+s,f=n[o]-n[u],p=i[u]-i[o];if(isNaN(f)||isNaN(p))c[e*a+t]=90;else{let r=Math.atan2(p,f)*h;r=(360+r)%360,c[e*a+t]=r}}return c}function T(e,t,r,s,a="nearest"){if(!i(e))return null;"majority"===a&&(e=d(e));const{pixels:l,mask:c,pixelType:h}=e,u=e.width,f=e.height,p=n.Z.getPixelArrayConstructor(h),m=l.length,{width:g,height:y}=t;let C=!1;for(let e=0;e<r.length;e+=3)-1===r[e]&&-1===r[e+1]&&-1===r[e+2]&&(C=!0);const{offsets_x:w,offsets_y:b,offsets_xi:v,offsets_yi:T,gridWidth:k}=x({width:u,height:f},t,r,s,"majority"===a?0:.5);let S;const A=(e,t,r)=>{const o=e instanceof Float32Array||e instanceof Float64Array?0:.5;for(let n=0;n<y;n++){S=n*k;for(let i=0;i<g;i++){if(w[S]<0||b[S]<0)e[n*g+i]=0;else if(r)e[n*g+i]=t[v[S]+T[S]*u];else{const r=Math.floor(w[S]),s=Math.floor(b[S]),a=Math.ceil(w[S]),l=Math.ceil(b[S]),h=w[S]-r,f=b[S]-s;if(!c||c[r+s*u]&&c[r+s*u]&&c[r+l*u]&&c[a+l*u]){const c=(1-h)*t[r+s*u]+h*t[a+s*u],p=(1-h)*t[r+l*u]+h*t[a+l*u];e[n*g+i]=(1-f)*c+f*p+o}else e[n*g+i]=t[v[S]+T[S]*u]}S++}}},I=[];let M;for(let e=0;e<m;e++)M=new p(g*y),A(M,l[e],"nearest"===a||"majority"===a),I.push(M);const P=new n.Z({width:g,height:y,pixelType:h,pixels:I});if((0,o.pC)(c))P.mask=new Uint8Array(g*y),A(P.mask,c,!0);else if(C){P.mask=new Uint8Array(g*y);for(let e=0;e<g*y;e++)P.mask[e]=w[e]<0||b[e]<0?0:1}return P.updateStatistics(),P}},15612:(e,t,r)=>{r.d(t,{AV:()=>f,Hv:()=>h,Oh:()=>u,ZF:()=>l,dy:()=>p,hE:()=>a,oc:()=>s});var o=r(70586);const n={u1:[0,1],u2:[0,3],u4:[0,15],u8:[0,255],s8:[-128,127],u16:[0,65535],s16:[-32768,32767],u32:[0,4294967295],s32:[-2147483648,2147483647],f32:[-34e38,34e38],f64:[-Number.MAX_VALUE,Number.MAX_VALUE]},i=[.299,.587,.114];function s(e,t=256){t=Math.min(t,256);const{size:r,counts:o}=e,n=new Uint8Array(r),i=o.reduce(((e,r)=>e+r/t),0);let s=0,a=0,l=0,c=i;for(let e=0;e<r;e++)if(l+=o[e],!(e<r-1&&l+o[e+1]<c)){for(;s<t-1&&c<l;)s++,c+=i;for(let t=a;t<=e;t++)n[t]=s;a=e+1}for(let e=a;e<r;e++)n[e]=t-1;return n}function a(e){const{minCutOff:t,maxCutOff:r,gamma:o,pixelType:n}=e,i=e.outMin||0,s=e.outMax||255;if(!["u8","u16","s8","s16"].includes(n))return null;const a=t.length;let l,c,h=0;"s8"===n?h=-127:"s16"===n&&(h=-32767);let u=256;["u16","s16"].includes(n)&&(u=65536);const f=[],p=s-i;for(l=0;l<a;l++)f[l]=r[l]-t[l],r[l],t[l];const d=o&&o.length>=a,m=[];if(d)for(l=0;l<a;l++)o[l]>1?o[l]>2?m[l]=6.5+(o[l]-2)**2.5:m[l]=6.5+100*(2-o[l])**4:m[l]=1;let g;const y=[];let C,w,b;if(d)for(l=0;l<a;l++){for(b=[],c=0;c<u;c++)C=c+h,g=(C-t[l])/f[l],w=1,o[l]>1&&(w-=(1/p)**(g*m[l])),C<r[l]&&C>t[l]?b[c]=Math.floor(w*p*g**(1/o[l]))+i:C>=r[l]?b[c]=s:b[c]=i;y[l]=b}else for(l=0;l<a;l++){for(b=[],c=0;c<u;c++)C=c+h,C<=t[l]?b[c]=i:C>=r[l]?b[c]=s:b[c]=Math.floor((C-t[l])/f[l]*p)+i;y[l]=b}if(null!=e.contrastOffset){const t=function(e,t){const r=Math.min(Math.max(e,-100),100),o=Math.min(Math.max(t,-100),100),n=255;let i,s;const a=new Uint8Array(256);for(i=0;i<256;i++)r>0&&r<100?s=(200*i-25500+510*o)/(2*(100-r))+128:r<=0&&r>-100?s=(200*i-25500+510*o)*(100+r)/2e4+128:100===r?(s=200*i-25500+256*(100-r)+510*o,s=s>0?n:0):-100===r&&(s=128),a[i]=s>n?n:s<0?0:s;return a}(e.contrastOffset,e.brightnessOffset);for(l=0;l<a;l++)for(b=y[l],c=0;c<u;c++)b[c]=t[b[c]]}return{lut:y,offset:h}}function l(e,t,r){const o=[];for(let n=0;n<t.length;n++){let s=0,a=0,l=0;"min"in t[n]?({min:s,max:a,avg:l}=t[n]):[s,a,l]=t[n];let h=l;"u8"!==e&&(h=255*(h-s)/(a-s)),r&&(h*=i[n]),o.push(c(h))}return o}function c(e){if(e<=0||e>=255)return 1;let t=0;150!==e&&(t=e<=150?45*Math.cos(.01047*e):17*Math.sin(.021*e));const r=e+t,o=Math.log(e/255),n=Math.log(r/255);if(0===n)return 1;const i=o/n;return isNaN(i)?1:Math.min(9.9,Math.max(.01,i))}function h(e){if((0,o.Wi)(e)||!e.pixels?.length)return null;e.statistics||e.updateStatistics();const{pixels:t,mask:r,pixelType:n,statistics:i}=e,s=e.width*e.height,a=t.length;let l,c,h,u,f;const p=[],d=[];let m,g,y,C,w,b,x,v,T,k;const S=256;for(u=0;u<a;u++){if(m=new Uint32Array(S),y=t[u],"u8"===n)if(l=-.5,c=255.5,r)for(f=0;f<s;f++)r[f]&&m[y[f]]++;else for(f=0;f<s;f++)m[y[f]]++;else{if(l=i[u].minValue,c=i[u].maxValue,h=(c-l)/S,g=new Uint32Array(257),r)for(f=0;f<s;f++)r[f]&&g[Math.floor((y[f]-l)/h)]++;else for(f=0;f<s;f++)g[Math.floor((y[f]-l)/h)]++;for(f=0;f<255;f++)m[f]=g[f];m[255]=g[255]+g[256]}for(p.push({min:l,max:c,size:S,counts:m}),C=0,w=0,v=0,f=0;f<S;f++)C+=m[f],w+=f*m[f];for(T=w/C,f=0;f<S;f++)v+=m[f]*(f-T)**2;k=Math.sqrt(v/(C-1)),h=(c-l)/S,b=(T+.5)*h+l,x=k*h,d.push({min:l,max:c,avg:b,stddev:x})}return{statistics:d,histograms:p}}function u(e){const t=[];for(let r=0;r<e.length;r++){const{min:o,max:n,size:i,counts:s}=e[r];let a=0,l=0;for(let e=0;e<i;e++)a+=s[e],l+=e*s[e];const c=l/a;let h=0;for(let e=0;e<i;e++)h+=s[e]*(e-c)**2;const u=(n-o)/i,f=(c+.5)*u+o,p=Math.sqrt(h/(a-1))*u;t.push({min:o,max:n,avg:f,stddev:p})}return t}function f(e,t){const{pixelBlock:r,bandIds:i,returnHistogramLut:a,rasterInfo:l}=t;let c,u,f=e.stretchType;if(e.dra)if("minMax"===f&&(0,o.pC)(r)&&r.statistics)c=r.statistics.map((e=>[e.minValue,e.maxValue,0,0]));else{const e=h(r);c=(0,o.pC)(e)?e.statistics:null,u=(0,o.pC)(e)?e.histograms:null}else c=e.statistics?.length>0?e.statistics:(0,o.Wg)(l.statistics),u=e.histograms||(0,o.Wg)(l.histograms);"percentClip"!==f&&"histogramEqualization"!==f||u?.length||(f="minMax");const p=c?.length||u?.length||l.bandCount,d=[],m=[];let g,y,C,w,b,x,v,T,k,S,A,I;switch(c&&!Array.isArray(c[0])&&(c=c.map((e=>[e.min,e.max,e.avg,e.stddev]))),f){case"none":{const e=n[l.pixelType]||n.f32;for(T=0;T<p;T++)d[T]=e[0],m[T]=e[1]}break;case"minMax":for(T=0;T<p;T++)d[T]=c[T][0],m[T]=c[T][1];break;case"standardDeviation":for(T=0;T<p;T++)d[T]=c[T][2]-e.numberOfStandardDeviations*c[T][3],m[T]=c[T][2]+e.numberOfStandardDeviations*c[T][3],d[T]<c[T][0]&&(d[T]=c[T][0]),m[T]>c[T][1]&&(m[T]=c[T][1]);break;case"histogramEqualization":for(T=0;T<p;T++)d[T]=u[T].min,m[T]=u[T].max;break;case"percentClip":for(T=0;T<u.length;T++){for(g=u[T],b=new Uint32Array(g.size),w=[...g.counts],w.length>=20&&(w[0]=w[1]=w[2]=w[w.length-1]=w[w.length-2]=0),C=0,y=(g.max-g.min)/g.size,v=-.5===g.min&&1===y?.5:0,k=0;k<g.size;k++)C+=w[k],b[k]=C;for(x=(e.minPercent||0)*C/100,k=0;k<g.size;k++)if(b[k]>x){d[T]=g.min+y*(k+v);break}for(x=(1-(e.maxPercent||0)/100)*C,k=g.size-2;k>=0;k--)if(b[k]<x){m[T]=g.min+y*(k+2-v);break}}break;default:for(T=0;T<p;T++)d[T]=c[T][0],m[T]=c[T][1]}return"histogramEqualization"===f?(A=u[0].size||256,S=0,a&&(I=u.map((e=>s(e))))):(A=e.max||255,S=e.min||0),function(e,t){if(null==t||0===t.length)return e;const r=Math.max.apply(null,t),{minCutOff:o,maxCutOff:n,outMin:i,outMax:s,histogramLut:a}=e;return o.length===t.length||o.length<=r?e:{minCutOff:t.map((e=>o[e])),maxCutOff:t.map((e=>n[e])),histogramLut:a?t.map((e=>a[e])):null,outMin:i,outMax:s}}({minCutOff:d,maxCutOff:m,outMax:A,outMin:S,histogramLut:I},i)}function p(e,t){if((0,o.Wi)(e)||!e.pixels?.length)return e;const r=e.clone(),{pixels:n,mask:i}=r,{minCutOff:s,maxCutOff:a,gamma:l}=t,c=t.outMin||0,h=t.outMax||255,u=r.width*r.height,f=n.length;let p,d,m,g,y;const C=h-c,w=[];for(p=0;p<f;p++)w[p]=a[p]-s[p],a[p],s[p];const b=l&&l.length>=f,x=[];if(b)for(p=0;p<f;p++)l[p]>1?l[p]>2?x[p]=6.5+(l[p]-2)**2.5:x[p]=6.5+100*(2-l[p])**4:x[p]=1;if(b)if(null!=i){for(d=0;d<u;d++)if(i[d])for(p=0;p<f;p++)m=n[p][d],y=(m-s[p])/w[p],g=1,l[p]>1&&(g-=(1/C)**(y*x[p])),m<a[p]&&m>s[p]?n[p][d]=Math.floor(g*C*y**(1/l[p]))+c:m>=a[p]?n[p][d]=h:n[p][d]=c}else for(d=0;d<u;d++)for(p=0;p<f;p++)m=n[p][d],y=(m-s[p])/w[p],g=1,l[p]>1&&(g-=(1/C)**(y*x[p])),m<a[p]&&m>s[p]?n[p][d]=Math.floor(g*C*y**(1/l[p]))+c:m>=a[p]?n[p][d]=h:n[p][d]=c;else if(null!=i){for(d=0;d<u;d++)if(i[d])for(p=0;p<f;p++)m=n[p][d],m<a[p]&&m>s[p]?n[p][d]=Math.floor((m-s[p])/w[p]*C)+c:m>=a[p]?n[p][d]=h:n[p][d]=c}else for(d=0;d<u;d++)for(p=0;p<f;p++)m=n[p][d],m<a[p]&&m>s[p]?n[p][d]=Math.floor((m-s[p])/w[p]*C)+c:m>=a[p]?n[p][d]=h:n[p][d]=c;return r.pixelType="u8",r.updateStatistics(),r}},80676:(e,t,r)=>{r.d(t,{KC:()=>m,NL:()=>c,QI:()=>g,Tg:()=>f,Yx:()=>h,xQ:()=>d});var o=r(35454),n=r(70586),i=r(5847),s=r(55914);const a=new Map;a.set("meter-per-second",1),a.set("kilometer-per-hour",.277778),a.set("knots",.514444),a.set("feet-per-second",.3048),a.set("mile-per-hour",.44704);const l=180/Math.PI,c=new o.X({esriMetersPerSecond:"meter-per-second",esriKilometersPerHour:"kilometer-per-hour",esriKnots:"knots",esriFeetPerSecond:"feet-per-second",esriMilesPerHour:"mile-per-hour"});function h(e,t){return a.get(e)/a.get(t)||1}function u(e){return(450-e)%360}function f(e,t="geographic"){const[r,o]=e,n=Math.sqrt(r*r+o*o);let i=Math.atan2(o,r)*l;return i=(360+i)%360,"geographic"===t&&(i=u(i)),[n,i]}function p(e,t="geographic"){let r=e[1];"geographic"===t&&(r=u(r)),r%=360;const o=e[0];return[o*Math.cos(r/l),o*Math.sin(r/l)]}function d(e,t,r,o="geographic"){if(!(0,s.nk)(e)||(0,n.Wi)(r))return e;const i="vector-magdir"===t?e.clone():(0,n.Wg)(m(e,t)),a=i.pixels[1];for(let e=0;e<a.length;e++)a[e]="geographic"===o?(a[e]+r[e]+270)%360:(a[e]+360-r[e])%360;return"vector-magdir"===t?i:m(i,"vector-magdir")}function m(e,t,r="geographic",o=1){if(!(0,s.nk)(e))return e;const{pixels:n,width:a,height:l}=e,c=a*l,h=n[0],u=n[1],d=e.pixelType.startsWith("f")?e.pixelType:"f32",m=i.Z.createEmptyBand(d,c),g=i.Z.createEmptyBand(d,c);let y=0;for(let e=0;e<l;e++)for(let e=0;e<a;e++)"vector-uv"===t?([m[y],g[y]]=f([h[y],u[y]],r),m[y]*=o):([m[y],g[y]]=p([h[y],u[y]],r),m[y]*=o,g[y]*=o),y++;const C=new i.Z({pixelType:d,width:e.width,height:e.height,mask:e.mask,validPixelCount:e.validPixelCount,maskIsAlpha:e.maskIsAlpha,pixels:[m,g]});return C.updateStatistics(),C}function g(e,t,r=1){if(1===r||!(0,s.nk)(e))return e;const o=e.clone(),{pixels:n,width:i,height:a}=o,l=n[0],c=n[1];let h=0;for(let e=0;e<a;e++)for(let e=0;e<i;e++)"vector-uv"===t?(l[h]*=r,c[h]*=r):l[h]*=r,h++;return o.updateStatistics(),o}function y(e,t,r,o=1){const n=Math.sqrt(e*e+t*t)/o,i=(2*Math.PI+Math.atan2(t,e))%(2*Math.PI);return[n,(2*Math.PI+i-r)%(2*Math.PI)]}!function(e=0,t=0,r=Math.PI,o=!0){o&&(r=(2*Math.PI-r)%(2*Math.PI));const n=o?-1:1,i=13*n,s=-7*n,a=-2*n,l=-16*n,c=21.75,[h,u]=y(0,t+i,r,c),[f,p]=y(e-5.5,t+s,r,c),[d,m]=y(e+5.5,t+s,r,c),[g,C]=y(e-1.5,t+a,r,c),[w,b]=y(e+1.5,t+a,r,c),[x,v]=y(e-1.5,t+l,r,c),[T,k]=y(e+1.5,t+l,r,c)}(0,0,0)},91219:(e,t,r)=>{r.d(t,{Z:()=>C});var o=r(43697),n=r(3892),i=r(96674),s=r(92604),a=r(70586),l=r(5600),c=(r(67676),r(80442),r(75215),r(52011)),h=r(48526),u=r(55914),f=r(15612),p=r(5847);function d(e){let{altitude:t,azimuth:r}=e;const{hillshadeType:o,pixelSizePower:n,pixelSizeFactor:i,scalingType:s,isGCS:a,resolution:l}=e,c="multi-directional"===o?2*e.zFactor:e.zFactor,{x:h,y:u}=l;let f=c/(8*h),p=c/(8*u);if(a&&c>.001&&(f/=111e3,p/=111e3),"adjusted"===s)if(a){const e=111e3*h,t=111e3*u;f=(c+e**n*i)/(8*e),p=(c+t**n*i)/(8*t)}else f=(c+h**n*i)/(8*h),p=(c+u**n*i)/(8*u);let d=(90-t)*Math.PI/180,m=Math.cos(d),g=(360-r+90)*Math.PI/180,y=Math.sin(d)*Math.cos(g),C=Math.sin(d)*Math.sin(g);const w=[315,270,225,360,180,0],b=[60,60,60,60,60,90],x=new Float32Array([3,5,3,2,1,4]),v=x.reduce(((e,t)=>e+t)),T=x.map((e=>e/v)),k="multi-directional"===o?w.length:1,S=new Float32Array(6),A=new Float32Array(6),I=new Float32Array(6);if("multi-directional"===o)for(let e=0;e<k;e++)t=b[e],r=w[e],d=(90-t)*Math.PI/180,m=Math.cos(d),g=(360-r+90)*Math.PI/180,y=Math.sin(d)*Math.cos(g),C=Math.sin(d)*Math.sin(g),S[e]=m,A[e]=y,I[e]=C;else S.fill(m),A.fill(y),I.fill(C);return{resolution:l,factor:[f,p],sinZcosA:y,sinZsinA:C,cosZ:m,sinZcosAs:A,sinZsinAs:I,cosZs:S,weights:T,hillshadeType:["traditional","multi-directional"].indexOf(o)}}var m=r(93010);let g=class extends i.wq{constructor(e){super(e)}bind(){const{rendererJSON:e}=this;if(!e)return{success:!1};let t;switch(this.lookup={rendererJSON:{}},e.type){case"uniqueValue":t=this._updateUVRenderer(e);break;case"rasterColormap":t=this._updateColormapRenderer(e);break;case"rasterStretch":t=this._updateStretchRenderer(e);break;case"classBreaks":t=this._updateClassBreaksRenderer(e);break;case"rasterShadedRelief":t=this._updateShadedReliefRenderer(e);break;case"vectorField":t=this._updateVectorFieldRenderer();break;case"flowRenderer":t=this._updateFlowRenderer()}return t}symbolize(e){let t=e&&e.pixelBlock;if(!y(t))return t;if(e.simpleStretchParams&&"rasterStretch"===this.rendererJSON.type)return this.simpleStretch(t,e.simpleStretchParams);try{let r;switch(t.pixels.length>3&&(t=(0,u.qF)(t,[0,1,2])),this.rendererJSON.type){case"uniqueValue":case"rasterColormap":r=this._symbolizeColormap(t);break;case"classBreaks":r=this._symbolizeClassBreaks(t);break;case"rasterStretch":r=this._symbolizeStretch(t,e.bandIds);break;case"rasterShadedRelief":{const{extent:o}=e,n=o.spatialReference.isGeographic,i={x:(o.xmax-o.xmin)/t.width,y:(o.ymax-o.ymin)/t.height};r=this._symbolizeShadedRelief(t,{isGCS:n,resolution:i});break}}return r}catch(e){return s.Z.getLogger(this.declaredClass).error("symbolize",e.message),t}}simpleStretch(e,t){if(!y(e))return e;try{return e.pixels.length>3&&(e=(0,u.qF)(e,[0,1,2])),(0,f.dy)(e,t)}catch(t){return s.Z.getLogger(this.declaredClass).error("symbolize",t.message),e}}generateWebGLParameters(e){if(["uniqueValue","rasterColormap","classBreaks"].includes(this.rendererJSON.type)){const{indexedColormap:e,offset:t}=this.lookup?.colormapLut||{};return{colormap:e,colormapOffset:t,type:"lut"}}const{pixelBlock:t,isGCS:r,resolution:o,bandIds:n}=e,{rendererJSON:i}=this;return"rasterStretch"===i.type?this._generateStretchWebGLParams(t,i,n):"rasterShadedRelief"===i.type?this._generateShadedReliefWebGLParams(i,r,o):"vectorField"===i.type?this._generateVectorFieldWebGLParams(i):null}_isLUTChanged(e){if(!this.lookup||!this.lookup.rendererJSON)return!0;if("colorRamp"in this.rendererJSON){const t=this.rendererJSON.colorRamp;return e?JSON.stringify(t)!==JSON.stringify(this.lookup.rendererJSON.colorRamp):(this.rendererJSON,this.lookup.rendererJSON,JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON))}return JSON.stringify(this.rendererJSON)!==JSON.stringify(this.lookup.rendererJSON)}_symbolizeColormap(e){return this._isLUTChanged()&&!this.bind().success?e:(0,u.SJ)(e,this.lookup.colormapLut)}_symbolizeClassBreaks(e){const{canUseIndexedLUT:t}=this._analyzeClassBreaks(this.rendererJSON);return this._isLUTChanged()&&!this.bind().success?e:t?(0,u.SJ)(e,this.lookup.colormapLut):(0,u.zp)(e,this.lookup.remapLut)}_symbolizeStretch(e,t){const{rasterInfo:r}=this,{pixelType:o,bandCount:n}=r,i=this.rendererJSON,s=["u8","u16","s8","s16"].includes(o);let l,c;const{dra:h}=i,{gamma:p}=this.lookup;if("histogramEqualization"===i.stretchType){const o=h?null:this.lookup.histogramLut,n=(0,f.AV)(i,{rasterInfo:r,pixelBlock:e,bandIds:t,returnHistogramLut:!o}),s=(0,f.dy)(e,{...n,gamma:p});c=(0,u.XV)(s,{lut:h?n.histogramLut:o,offset:0})}else if(s){if(h){const n=(0,f.AV)(i,{rasterInfo:r,pixelBlock:e,bandIds:t});l=(0,f.hE)({pixelType:o,...n,gamma:p})}else if(this._isLUTChanged()){if(!this.bind().success)return e;l=this.lookup?this.lookup.stretchLut:null}else l=this.lookup?this.lookup.stretchLut:null;if(!l)return e;n>1&&t?.length===(0,a.Wg)(e)?.pixels.length&&l?.lut.length===n&&(l={lut:t.map((e=>l.lut[e])),offset:l.offset}),c=(0,u.XV)(e,l)}else{const o=(0,f.AV)(i,{rasterInfo:r,pixelBlock:e,bandIds:t});c=(0,f.dy)(e,{...o,gamma:p})}if(i.colorRamp){if(this._isLUTChanged(!0)&&!this.bind().success)return e;c=(0,u.SJ)(c,this.lookup.colormapLut)}return c}_symbolizeShadedRelief(e,t){const r=this.rendererJSON,o=function(e,t){if(!(0,u.nk)(e))return e;const{width:r,height:o,mask:n}=e,i=new Uint8Array(r*o);let s=1;if((0,a.pC)(n)){for(let e=0;e<n.length;e++)if(n[e]){s=n[e];break}i.set(n)}const{factor:l,sinZcosA:c,sinZsinA:h,cosZ:f,sinZcosAs:m,sinZsinAs:g,cosZs:y,weights:C}=d(t),[w,b]=l,{hillshadeType:x}=t,v=e.pixels[0],T=new Uint8Array(r*o);let k,S,A,I,M,P,_,R;const D=(0,a.pC)(n);for(let e=1;e<o-1;e++){const t=e*r;for(let e=1;e<r-1;e++){if(n&&!n[t+e]){T[t+e]=0;continue}let o=8;if(D&&(o=(n[t-r+e-1]+n[t-r+e]+n[t-r+e+1]+n[t+e-1]+n[t+e+1]+n[t+r+e-1]+n[t+r+e]+n[t+r+e+1])/s,o<7)){T[t+e]=0,i[t+e]=0;continue}7===o?(k=n[t-r+e-1]?v[t-r+e-1]:v[t+e],S=n[t-r+e]?v[t-r+e]:v[t+e],A=n[t-r+e+1]?v[t-r+e+1]:v[t+e],I=n[t+e-1]?v[t+e-1]:v[t+e],M=n[t+e+1]?v[t+e+1]:v[t+e],P=n[t+r+e-1]?v[t+r+e-1]:v[t+e],_=n[t+r+e]?v[t+r+e]:v[t+e],R=n[t+r+e+1]?v[t+r+e+1]:v[t+e]):(k=v[t-r+e-1],S=v[t-r+e],A=v[t-r+e+1],I=v[t+e-1],M=v[t+e+1],P=v[t+r+e-1],_=v[t+r+e],R=v[t+r+e+1]);const a=(A+M+M+R-(k+I+I+P))*w,l=(P+_+_+R-(k+S+S+A))*b,u=Math.sqrt(1+a*a+l*l);let p=0;if("traditional"===x){let e=255*(f+h*l-c*a)/u;e<0&&(e=0),p=e}else{const e=g.length;for(let t=0;t<e;t++){let e=255*(y[t]+g[t]*l-m[t]*a)/u;e<0&&(e=0),p+=e*C[t]}}T[t+e]=255&p}}for(let e=0;e<o;e++)T[e*r]=T[e*r+1],T[(e+1)*r-1]=T[(e+1)*r-2];for(let e=1;e<r-1;e++)T[e]=T[e+r],T[e+(o-1)*r]=T[e+(o-2)*r];return new p.Z({width:r,height:o,pixels:[T],mask:n?i:null,pixelType:"u8",validPixelCount:e.validPixelCount,statistics:[{minValue:0,maxValue:255}]})}(e,{...r,...t});if(!r.colorRamp)return o;let n;if(this._isLUTChanged(!0)){if(!this.bind().success)return o;n=this.lookup?this.lookup.hsvMap:null}else n=this.lookup?this.lookup.hsvMap:null;return n?(function(e,t,r,o){if(!(0,u.nk)(e)||!(0,u.nk)(t))return;const{min:n,max:i}=o,s=e.pixels[0],{pixels:a,mask:l}=t,c=a[0],h=255.00001/(i-n),f=new Uint8ClampedArray(c.length),p=new Uint8ClampedArray(c.length),d=new Uint8ClampedArray(c.length),m=r.length-1;for(let e=0;e<c.length;e++){if(l&&0===l[e])continue;const t=Math.floor((c[e]-n)*h),[o,i]=r[t<0?0:t>m?m:t],a=s[e],u=a*i,g=u*(1-Math.abs(o%2-1)),y=a-u;switch(Math.floor(o)){case 0:f[e]=u+y,p[e]=g+y,d[e]=y;break;case 1:f[e]=g+y,p[e]=u+y,d[e]=y;break;case 2:f[e]=y,p[e]=u+y,d[e]=g+y;break;case 3:f[e]=y,p[e]=g+y,d[e]=u+y;break;case 4:f[e]=g+y,p[e]=y,d[e]=u+y;break;case 5:case 6:f[e]=u+y,p[e]=y,d[e]=g+y}}e.pixels=[f,p,d],e.updateStatistics()}(o,e,n,(0,a.Wg)(this.rasterInfo.statistics)?.[0]??{min:0,max:8e3}),o):o}_isVectorFieldData(){const{bandCount:e,dataType:t}=this.rasterInfo;return 2===e&&("vector-magdir"===t||"vector-uv"===t)}_updateVectorFieldRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; VectorFieldRenderer only supports "vector-magdir" and "vector-uv".`}}_updateFlowRenderer(){return this._isVectorFieldData()?{success:!0}:{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; FlowRenderer only supports "vector-magdir" and "vector-uv".`}}_updateUVRenderer(e){const{bandCount:t,attributeTable:r,pixelType:o}=this.rasterInfo,n=e.field1;if(!n)return{success:!1,error:"Unsupported renderer; missing UniqueValueRenderer.field."};const i=e.defaultSymbol,s=1===t&&["u8","s8"].includes(o);if(!function(e,t){const{attributeTable:r,bandCount:o}=e;return!((0,a.Wi)(r)||o>1||t&&null==r.fields.find((e=>e.name.toLowerCase()===t.toLowerCase())))}(this.rasterInfo,n)&&!s)return{success:!1,error:"Unsupported data; UniqueValueRenderer is only supported on single band data with a valid raster attribute table."};const l=[];if((0,a.pC)(r)){const t=r.fields.find((e=>"value"===e.name.toLowerCase()));if(!t)return{success:!1,error:"Unsupported data; the data's raster attribute table does not have a value field."};r.features.forEach((r=>{const o=e.uniqueValueInfos.find((e=>String(e.value)===String(r.attributes[n])))?.symbol?.color;o?l.push([r.attributes[t.name]].concat(o)):i&&l.push([r.attributes[t.name]].concat(i.color))}))}else{if("value"!==n.toLowerCase())return{success:!1,error:'Unsupported renderer; UniqueValueRenderer.field must be "Value" when raster attribute table is not availalbe.'};e.uniqueValueInfos.forEach((e=>{const t=e?.symbol?.color;t?l.push([parseInt(""+e.value,10)].concat(t)):i&&l.push([parseInt(""+e.value,10)].concat(i.color))}))}if(0===l.length)return{success:!1,error:"Invalid UniqueValueRenderer. Cannot find matching records in the raster attribute table."};const c=(0,u.Pz)({colormap:l});return this.lookup={rendererJSON:e,colormapLut:c},this.canRenderInWebGL=!0,{success:!0}}_updateColormapRenderer(e){if(!function(e){const{bandCount:t,colormap:r}=e;return(0,a.pC)(r)&&r.length&&1===t}(this.rasterInfo))return{success:!1,error:"Unsupported data; the data source does not have a colormap."};const t=e.colormapInfos.map((e=>[e.value].concat(e.color))).sort(((e,t)=>e[0]-t[0]));if(!t||0===t.length)return{success:!1,error:"Unsupported renderer; ColormapRenderer must have meaningful colormapInfos."};const r=(0,u.Pz)({colormap:t});return this.lookup={rendererJSON:e,colormapLut:r},this.canRenderInWebGL=!0,{success:!0}}_updateShadedReliefRenderer(e){if(!function(e){const{bandCount:t,dataType:r,pixelType:o}=e;return"elevation"===r||"generic"===r&&1===t&&("s16"===o||"f32"===o||"f64"===o)}(this.rasterInfo))return{success:!1,error:`Unsupported data type "${this.rasterInfo.dataType}"; ShadedReliefRenderer only supports "elevation", or single band float/s16 data.`};if(e.colorRamp){const t=(0,m.Jw)(e.colorRamp,256,!0),r=(0,u.Pz)({colormap:t}),o=[],i=r.indexedColormap;for(let e=0;e<i.length;e+=4){const t=(0,n._Y)({r:i[e],g:i[e+1],b:i[e+2]});o.push([t.h/60,t.s/100,255*t.v/100])}this.lookup={rendererJSON:e,colormapLut:r,hsvMap:o}}else this.lookup=null;return this.canRenderInWebGL=!0,{success:!0}}_analyzeClassBreaks(e){const{attributeTable:t,pixelType:r}=this.rasterInfo,o=(0,a.pC)(t)?t.fields.find((e=>"value"===e.name.toLowerCase())):null,n=(0,a.pC)(t)?t.fields.find((t=>t.name.toLowerCase()===e.field.toLowerCase())):null,i=null!=o&&null!==n;return{canUseIndexedLUT:["u8","u16","s8","s16"].includes(r)||i,tableValueField:o,tableBreakField:n}}_updateClassBreaksRenderer(e){const{attributeTable:t}=this.rasterInfo,{canUseIndexedLUT:r,tableValueField:o,tableBreakField:n}=this._analyzeClassBreaks(e),i=e.classBreakInfos;if(!i?.length)return{success:!1,error:"Unsupported renderer; missing or invalid ClassBreaksRenderer.classBreakInfos."};const s=i.sort(((e,t)=>e.classMaxValue-t.classMaxValue)),l=s[s.length-1];let c=e.minValue;if(!r){const t=[];for(let e=0;e<s.length;e++)t.push({value:s[e].classMinValue??c,mappedColor:s[e].symbol.color}),c=s[e].classMaxValue;return t.push({value:l.classMaxValue,mappedColor:l.symbol.color}),this.lookup={rendererJSON:e,remapLut:t},this.canRenderInWebGL=!1,{success:!0}}const h=[];if((0,a.pC)(t)&&null!=o&&null!==n&&o!==n){const r=o.name,i=n.name,a=s[s.length-1],{classMaxValue:l}=a;c=e.minValue;for(const e of t.features){const t=e.attributes[r],o=e.attributes[i],n=o===l?a:o<c?null:s.find((({classMaxValue:e})=>e>o));n&&h.push([t].concat(n.symbol.color))}}else{c=Math.floor(e.minValue);for(let e=0;e<s.length;e++){const t=s[e];for(let e=c;e<t.classMaxValue;e++)h.push([e].concat(t.symbol.color));c=Math.ceil(t.classMaxValue)}l.classMaxValue===c&&h.push([l.classMaxValue].concat(l.symbol.color))}const f=(0,u.Pz)({colormap:h,fillUnspecified:!1});return this.lookup={rendererJSON:e,colormapLut:f},this.canRenderInWebGL=!0,{success:!0}}_isHistogramRequired(e){return"percentClip"===e||"histogramEqualization"===e}_isValidRasterStatistics(e){return(0,a.pC)(e)&&e.length>0&&null!=e[0].min&&null!=e[0].max}_updateStretchRenderer(e){let{stretchType:t,dra:r}=e;if(!("none"===t||e.statistics?.length||this._isValidRasterStatistics(this.rasterInfo.statistics)||r))return{success:!1,error:"Unsupported renderer; StretchRenderer.statistics is required when dynamic range adjustment is not used."};const o=(0,a.Wg)(e.histograms||this.rasterInfo.histograms);!this._isHistogramRequired(e.stretchType)||o?.length||r||(t="minMax");const{computeGamma:n,useGamma:i,colorRamp:s}=e;let{gamma:l}=e;if(i&&n&&!l?.length){const t=e.statistics?.length?e.statistics:(0,a.Wg)(this.rasterInfo.statistics);l=(0,f.ZF)(this.rasterInfo.pixelType,t)}const c=this.rasterInfo.pixelType,h=!r&&["u8","u16","s8","s16"].includes(c);if("histogramEqualization"===t){const t=o.map((e=>(0,f.oc)(e)));this.lookup={rendererJSON:e,histogramLut:t}}else if(h){const t=(0,f.AV)(e,{rasterInfo:this.rasterInfo}),r=(0,f.hE)({pixelType:c,...t,gamma:i?l:null});this.lookup={rendererJSON:e,stretchLut:r}}if(s){const t=(0,m.Jw)(s,256,!0);this.lookup||(this.lookup={rendererJSON:e}),this.lookup.colormapLut=(0,u.Pz)({colormap:t}),this.lookup.rendererJSON=e}return this.lookup.gamma=i&&l?.length?l:null,this.canRenderInWebGL=!0,{success:!0}}_generateStretchWebGLParams(e,t,r){let o=null,n=null;const i=this.lookup&&this.lookup.colormapLut;t.colorRamp&&i&&(o=i.indexedColormap,n=i.offset),"histogramEqualization"===t.stretchType&&(t={...t,stretchType:"minMax"});const{gamma:s}=this.lookup,l=!!(t.useGamma&&s&&s.some((e=>1!==e))),{minCutOff:c,maxCutOff:h,outMin:u,outMax:p}=(0,f.AV)(t,{rasterInfo:this.rasterInfo,pixelBlock:e,bandIds:r});let d=0;(0,a.pC)(e)&&(d=e.getPlaneCount(),2===d&&((e=e.clone()).statistics=[e.statistics[0]],e.pixels=[e.pixels[0]]));const m=Math.min(3,r?.length||d||this.rasterInfo.bandCount),g=new Float32Array(m),y=o||l?1:255;let C;for(C=0;C<m;C++)g[C]=(p-u)/(h[C]-c[C])/y;const w=new Float32Array(m);if(l)for(C=0;C<m;C++)s[C]>1?s[C]>2?w[C]=6.5+(s[C]-2)**2.5:w[C]=6.5+100*(2-s[C])**4:w[C]=1;return{bandCount:m,outMin:u/y,outMax:p/y,minCutOff:c,maxCutOff:h,factor:g,useGamma:l,gamma:l?s:[1,1,1],gammaCorrection:l?w:[1,1,1],colormap:o,colormapOffset:n,stretchType:t.stretchType,type:"stretch"}}_generateShadedReliefWebGLParams(e,t,r){let o=null,n=null;const i=this.lookup&&this.lookup.colormapLut;e.colorRamp&&i&&(o=i.indexedColormap,n=i.offset);const s=d({...e,isGCS:t,resolution:r}),l=(0,a.Wg)(this.rasterInfo.statistics)?.[0];return{...s,minValue:l?.min??0,maxValue:l?.max??8e3,hillshadeType:"traditional"===e.hillshadeType?0:1,type:"hillshade",colormap:o,colormapOffset:n}}_generateVectorFieldWebGLParams(e){const{style:t,inputUnit:r,outputUnit:o,visualVariables:n,symbolTileSize:i,flowRepresentation:s}=e;let l;const c=this.rasterInfo.statistics?.[0].min??0,h=this.rasterInfo.statistics?.[0].max??50,u=n?.find((e=>"sizeInfo"===e.type))??{type:"sizeInfo",field:"Magnitude",maxDataValue:h,maxSize:.8*i,minDataValue:c,minSize:.2*i},f=u.minDataValue??c,p=u.maxDataValue??h,d=(0,a.pC)(u.maxSize)&&(0,a.pC)(u.minSize)?[u.minSize/i,u.maxSize/i]:[.2,.8];if("wind_speed"===t){const e=(d[0]+d[1])/2;d[0]=d[1]=e}const m=(0,a.pC)(f)&&(0,a.pC)(p)?[f,p]:null;if("classified_arrow"===t)if((0,a.pC)(f)&&(0,a.pC)(p)&&(0,a.pC)(u)){l=[];const e=(u.maxDataValue-u.minDataValue)/5;for(let t=0;t<6;t++)l.push(u.minDataValue+e*t)}else l=[0,1e-6,3.5,7,10.5,14];const g="flow_to"===s==("ocean_current_kn"===t||"ocean_current_m"===t)?0:Math.PI,y=n?.find((e=>"rotationInfo"===e.type));return{breakValues:l,dataRange:m,inputUnit:r,outputUnit:o,symbolTileSize:i,symbolPercentRange:d,style:t||"single_arrow",rotation:g,rotationType:this.rasterInfo.storageInfo?.tileInfo&&"vector-uv"===this.rasterInfo.dataType?"geographic":y?.rotationType||e.rotationType,type:"vectorField"}}};function y(e){return(0,u.nk)(e)&&0!==e.validPixelCount}(0,o._)([(0,l.Cb)({json:{write:!0}})],g.prototype,"rendererJSON",void 0),(0,o._)([(0,l.Cb)({type:h.Z,json:{write:!0}})],g.prototype,"rasterInfo",void 0),(0,o._)([(0,l.Cb)({json:{write:!0}})],g.prototype,"lookup",void 0),(0,o._)([(0,l.Cb)()],g.prototype,"canRenderInWebGL",void 0),g=(0,o._)([(0,c.j)("esri.renderers.support.RasterSymbolizer")],g);const C=g},93010:(e,t,r)=>{r.d(t,{Jw:()=>u,Ms:()=>i,Uh:()=>l,io:()=>m,pM:()=>f});var o=r(22303),n=r(3892);const i=[{id:"aspect_predefined",type:"multipart",colorRamps:[{fromColor:[190,190,190],toColor:[255,45,8]},{fromColor:[255,45,8],toColor:[255,181,61]},{fromColor:[255,181,61],toColor:[255,254,52]},{fromColor:[255,254,52],toColor:[0,251,50]},{fromColor:[0,251,50],toColor:[255,254,52]},{fromColor:[0,253,255],toColor:[0,181,255]},{fromColor:[0,181,255],toColor:[26,35,253]},{fromColor:[26,35,253],toColor:[255,57,251]},{fromColor:[255,57,251],toColor:[255,45,8]}]},{id:"blackToWhite_predefined",fromColor:[0,0,0],toColor:[255,255,255]},{id:"blueBright_predefined",fromColor:[204,204,255],toColor:[0,0,224]},{id:"blueLightToDark_predefined",fromColor:[211,229,232],toColor:[46,100,140]},{id:"blueGreenBright_predefined",fromColor:[203,245,234],toColor:[48,207,146]},{id:"blueGreenLightToDark_predefined",fromColor:[216,242,237],toColor:[21,79,74]},{id:"brownLightToDark_predefined",fromColor:[240,236,170],toColor:[102,72,48]},{id:"brownToBlueGreenDivergingBright_predefined",type:"multipart",colorRamps:[{fromColor:[156,85,31],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[33,130,145]}]},{id:"brownToBlueGreenDivergingDark_predefined",type:"multipart",colorRamps:[{fromColor:[110,70,45],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[48,100,102]}]},{id:"coefficientBias_predefined",fromColor:[214,214,255],toColor:[0,57,148]},{id:"coldToHotDiverging_predefined",type:"multipart",colorRamps:[{fromColor:[69,117,181],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[214,47,39]}]},{id:"conditionNumber_predefined",type:"multipart",colorRamps:[{fromColor:[0,97,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,34,0]}]},{id:"cyanToPurple_predefined",type:"multipart",colorRamps:[{fromColor:[0,245,245],toColor:[0,0,245]},{fromColor:[0,0,245],toColor:[245,0,245]}]},{id:"cyanLightToBlueDark_predefined",type:"multipart",colorRamps:[{fromColor:[182,237,240],toColor:[31,131,224]},{fromColor:[31,131,224],toColor:[9,9,145]}]},{id:"distance_predefined",fromColor:[255,200,0],toColor:[0,0,255]},{id:"elevation1_predefined",type:"multipart",colorRamps:[{fromColor:[175,240,233],toColor:[255,255,179]},{fromColor:[255,255,179],toColor:[0,128,64]},{fromColor:[0,128,64],toColor:[252,186,3]},{fromColor:[252,186,3],toColor:[128,0,0]},{fromColor:[120,0,0],toColor:[105,48,13]},{fromColor:[105,48,13],toColor:[171,171,171]},{fromColor:[171,171,171],toColor:[255,252,255]}]},{id:"elevation2_predefined",type:"multipart",colorRamps:[{fromColor:[118,219,211],toColor:[255,255,199]},{fromColor:[255,255,199],toColor:[255,255,128]},{fromColor:[255,255,128],toColor:[217,194,121]},{fromColor:[217,194,121],toColor:[135,96,38]},{fromColor:[135,96,38],toColor:[150,150,181]},{fromColor:[150,150,181],toColor:[181,150,181]},{fromColor:[181,150,181],toColor:[255,252,255]}]},{id:"errors_predefined",fromColor:[255,235,214],toColor:[196,10,10]},{id:"grayLightToDark_predefined",fromColor:[219,219,219],toColor:[69,69,69]},{id:"greenBright_predefined",fromColor:[204,255,204],toColor:[14,204,14]},{id:"greenLightToDark_predefined",fromColor:[220,245,233],toColor:[34,102,51]},{id:"greenToBlue_predefined",type:"multipart",colorRamps:[{fromColor:[32,204,16],toColor:[0,242,242]},{fromColor:[0,242,242],toColor:[2,33,227]}]},{id:"orangeBright_predefined",fromColor:[255,235,204],toColor:[240,118,5]},{id:"orangeLightToDark_predefined",fromColor:[250,233,212],toColor:[171,65,36]},{id:"partialSpectrum_predefined",type:"multipart",colorRamps:[{fromColor:[242,241,162],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]},{fromColor:[252,3,69],toColor:[176,7,237]},{fromColor:[176,7,237],toColor:[2,29,173]}]},{id:"partialSpectrum1Diverging_predefined",type:"multipart",colorRamps:[{fromColor:[135,38,38],toColor:[240,149,12]},{fromColor:[240,149,12],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[74,80,181]},{fromColor:[74,80,181],toColor:[39,32,122]}]},{id:"partialSpectrum2Diverging_predefined",type:"multipart",colorRamps:[{fromColor:[115,77,42],toColor:[201,137,52]},{fromColor:[201,137,52],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[91,63,176]},{fromColor:[91,63,176],toColor:[81,13,97]}]},{id:"pinkToYellowGreenDivergingBright_predefined",type:"multipart",colorRamps:[{fromColor:[158,30,113],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[99,110,45]}]},{id:"pinkToYellowGreenDivergingDark_predefined",type:"multipart",colorRamps:[{fromColor:[97,47,73],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[22,59,15]}]},{id:"precipitation_predefined",type:"multipart",colorRamps:[{fromColor:[194,82,60],toColor:[237,161,19]},{fromColor:[237,161,19],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[0,219,0]},{fromColor:[0,219,0],toColor:[32,153,143]},{fromColor:[32,153,143],toColor:[11,44,122]}]},{id:"prediction_predefined",type:"multipart",colorRamps:[{fromColor:[40,146,199],toColor:[250,250,100]},{fromColor:[250,250,100],toColor:[232,16,20]}]},{id:"purpleBright_predefined",fromColor:[255,204,255],toColor:[199,0,199]},{id:"purpleToGreenDivergingBright_predefined",type:"multipart",colorRamps:[{fromColor:[77,32,150],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[20,122,11]}]},{id:"purpleToGreenDivergingDark_predefined",type:"multipart",colorRamps:[{fromColor:[67,14,89],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[24,79,15]}]},{id:"purpleBlueBright_predefined",fromColor:[223,184,230],toColor:[112,12,242]},{id:"purpleBlueLightToDark_predefined",fromColor:[229,213,242],toColor:[93,44,112]},{id:"purpleRedBright_predefined",fromColor:[255,204,225],toColor:[199,0,99]},{id:"purpleRedLightToDark_predefined",fromColor:[250,215,246],toColor:[143,17,57]},{id:"redBright_predefined",fromColor:[255,204,204],toColor:[219,0,0]},{id:"redLightToDark_predefined",fromColor:[255,224,224],toColor:[143,10,10]},{id:"redToBlueDivergingBright_predefined",type:"multipart",colorRamps:[{fromColor:[196,69,57],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[48,95,207]}]},{id:"redToBlueDivergingDark_predefined",type:"multipart",colorRamps:[{fromColor:[107,13,13],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[13,53,97]}]},{id:"redToGreen_predefined",type:"multipart",colorRamps:[{fromColor:[245,0,0],toColor:[245,245,0]},{fromColor:[245,245,0],toColor:[0,245,0]}]},{id:"redToGreenDivergingBright_predefined",type:"multipart",colorRamps:[{fromColor:[186,20,20],toColor:[255,255,191]},{fromColor:[255,255,191],toColor:[54,145,33]}]},{id:"redToGreenDivergingDark_predefined",type:"multipart",colorRamps:[{fromColor:[97,21,13],toColor:[204,204,102]},{fromColor:[204,204,102],toColor:[16,69,16]}]},{id:"slope_predefined",type:"multipart",colorRamps:[{fromColor:[56,168,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,0,0]}]},{id:"spectrumFullBright_predefined",type:"multipart",colorRamps:[{fromColor:[255,0,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[0,0,255]}]},{id:"spectrumFullDark_predefined",type:"multipart",colorRamps:[{fromColor:[153,0,0],toColor:[153,153,0]},{fromColor:[153,153,0],toColor:[0,153,153]},{fromColor:[0,153,153],toColor:[0,0,153]}]},{id:"spectrumFullLight_predefined",type:"multipart",colorRamps:[{fromColor:[255,153,153],toColor:[255,255,153]},{fromColor:[255,255,153],toColor:[153,255,255]},{fromColor:[153,255,255],toColor:[153,153,255]}]},{id:"surface_predefined",type:"multipart",colorRamps:[{fromColor:[112,153,89],toColor:[242,238,162]},{fromColor:[242,238,162],toColor:[242,206,133]},{fromColor:[242,206,133],toColor:[194,140,124]},{fromColor:[194,140,124],toColor:[255,242,255]}]},{id:"temperature_predefined",type:"multipart",colorRamps:[{fromColor:[255,252,255],toColor:[255,0,255]},{fromColor:[255,0,255],toColor:[0,0,255]},{fromColor:[0,0,255],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[0,255,0]},{fromColor:[0,255,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[255,128,0]},{fromColor:[255,128,0],toColor:[128,0,0]}]},{id:"whiteToBlack_predefined",fromColor:[255,255,255],toColor:[0,0,0]},{id:"yellowToDarkRed_predefined",type:"multipart",colorRamps:[{fromColor:[255,255,128],toColor:[242,167,46]},{fromColor:[242,167,46],toColor:[107,0,0]}]},{id:"yellowToGreenToDarkBlue_predefined",type:"multipart",colorRamps:[{fromColor:[255,255,128],toColor:[56,224,9]},{fromColor:[56,224,9],toColor:[26,147,171]},{fromColor:[26,147,171],toColor:[12,16,120]}]},{id:"yellowToRed_predefined",fromColor:[245,245,0],toColor:[255,0,0]},{id:"yellowGreenBright_predefined",fromColor:[236,252,204],toColor:[157,204,16]},{id:"yellowGreenLightToDark_predefined",fromColor:[215,240,175],toColor:[96,107,45]}],s={aspect_predefined:"Aspect",blackToWhite_predefined:"Black to White",blueBright_predefined:"Blue Bright",blueLightToDark_predefined:"Blue Light to Dark",blueGreenBright_predefined:"Blue-Green Bright",blueGreenLightToDark_predefined:"Blue-Green Light to Dark",brownLightToDark_predefined:"Brown Light to Dark",brownToBlueGreenDivergingBright_predefined:"Brown to Blue Green Diverging, Bright",brownToBlueGreenDivergingDark_predefined:"Brown to Blue Green Diverging, Dark",coefficientBias_predefined:"Coefficient Bias",coldToHotDiverging_predefined:"Cold to Hot Diverging",conditionNumber_predefined:"Condition Number",cyanToPurple_predefined:"Cyan to Purple",cyanLightToBlueDark_predefined:"Cyan-Light to Blue-Dark",distance_predefined:"Distance",elevation1_predefined:"Elevation #1",elevation2_predefined:"Elevation #2",errors_predefined:"Errors",grayLightToDark_predefined:"Gray Light to Dark",greenBright_predefined:"Green Bright",greenLightToDark_predefined:"Green Light to Dark",greenToBlue_predefined:"Green to Blue",orangeBright_predefined:"Orange Bright",orangeLightToDark_predefined:"Orange Light to Dark",partialSpectrum_predefined:"Partial Spectrum",partialSpectrum1Diverging_predefined:"Partial Spectrum 1 Diverging",partialSpectrum2Diverging_predefined:"Partial Spectrum 2 Diverging",pinkToYellowGreenDivergingBright_predefined:"Pink to YellowGreen Diverging, Bright",pinkToYellowGreenDivergingDark_predefined:"Pink to YellowGreen Diverging, Dark",precipitation_predefined:"Precipitation",prediction_predefined:"Prediction",purpleBright_predefined:"Purple Bright",purpleToGreenDivergingBright_predefined:"Purple to Green Diverging, Bright",purpleToGreenDivergingDark_predefined:"Purple to Green Diverging, Dark",purpleBlueBright_predefined:"Purple-Blue Bright",purpleBlueLightToDark_predefined:"Purple-Blue Light to Dark",purpleRedBright_predefined:"Purple-Red Bright",purpleRedLightToDark_predefined:"Purple-Red Light to Dark",redBright_predefined:"Red Bright",redLightToDark_predefined:"Red Light to Dark",redToBlueDivergingBright_predefined:"Red to Blue Diverging, Bright",redToBlueDivergingDark_predefined:"Red to Blue Diverging, Dark",redToGreen_predefined:"Red to Green",redToGreenDivergingBright_predefined:"Red to Green Diverging, Bright",redToGreenDivergingDark_predefined:"Red to Green Diverging, Dark",slope_predefined:"Slope",spectrumFullBright_predefined:"Spectrum-Full Bright",spectrumFullDark_predefined:"Spectrum-Full Dark",spectrumFullLight_predefined:"Spectrum-Full Light",surface_predefined:"Surface",temperature_predefined:"Temperature",whiteToBlack_predefined:"White to Black",yellowToDarkRed_predefined:"Yellow to Dark Red",yellowToGreenToDarkBlue_predefined:"Yellow to Green to Dark Blue",yellowToRed_predefined:"Yellow to Red",yellowGreenBright_predefined:"Yellow-Green Bright",yellowGreenLightToDark_predefined:"Yellow-Green Light to Dark"};function a(e,t){if(!e||!t||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]>t[r]+2||e[r]<t[r]-2)return!1;return!0}function l(e){const t=function(e,t){if(!e)return;const r=i;let n,s=null;return"algorithmic"===e.type?r.some((t=>{if(a(e.fromColor.toRgb(),t.fromColor)&&a(e.toColor.toRgb(),t.toColor))return s=t.id,!0})):"multipart"===e.type&&r.some((t=>{if(e.colorRamps&&t.colorRamps&&e.colorRamps.length===t.colorRamps.length&&(n=e.colorRamps,!t.colorRamps.some(((e,t)=>{if(!a(n[t].fromColor.toRgb(),new o.Z(e.fromColor).toRgb())||!a(n[t].toColor.toRgb(),new o.Z(e.toColor).toRgb()))return!0})))){if(s)return!0;s=t.id}})),s}(e);return t?s[t]:null}function c(e){const t=(e=e||{}).numColors||256,r=e.distanceOffset||0,o=null!=e.isCustomInterval?e.isCustomInterval:null!==e.distanceInterval&&e.distanceInterval!==1/(t-1),n=e.distanceInterval||1/(t-1);return{...e,numColors:t,distanceOffset:r,interpolateAlpha:!!e.interpolateAlpha,distanceInterval:n,isCustomInterval:o,weights:e.weights}}function h(e,t){let{fromColor:r,toColor:o}=e;3===r.length&&(r=r.concat([255])),3===o.length&&(o=o.concat([255]));const i=e.algorithm||"esriCIELabAlgorithm",{numColors:s,distanceOffset:a,isCustomInterval:l,interpolateAlpha:h}=c(t);if(1===s&&0===a)return[r];if(2===s&&0===a&&!l)return[r,o];const u={r:r[0],g:r[1],b:r[2]},f={r:o[0],g:o[1],b:o[2]},p="esriCIELabAlgorithm"===i?function(e,t,r){const{numColors:o,distanceOffset:n,distanceInterval:i,isCustomInterval:s}=c(r);let{l:a,a:l,b:h}=e;const u=(t.l-a)*i,f=(t.a-l)*i,p=(t.b-h)*i,d=[];if(n){const e=n/i;a+=e*u,l+=e*f,h+=e*p}for(let e=0;e<o-1;e++)d.push({l:a,a:l,b:h}),a+=u,l+=f,h+=p;return d.push(s?{l:a,a:l,b:h}:t),d}((0,n.Y3)(u),(0,n.Y3)(f),t):"esriHSVAlgorithm"===i?function(e,t,r){const{numColors:o,distanceOffset:n,distanceInterval:i,isCustomInterval:s}=c(r),a=0===e.s,l=0===t.s;let h=e.h,u=t.h;a&&!l?h=u:l&&!a&&(t={...t,h},u=h);let f,p=Math.abs(u-h);const d=360;p<180?f=(u-h)*i:(p=d-p,f=h>u?p*i:-p*i);const m=(t.s-e.s)*i,g=(t.v-e.v)*i;let{s:y,v:C}=e,w=h;if(n){const e=n/i;w=(w+e*f+d)%d,y+=e*m,C+=e*g}const b=[];for(let e=0;e<o-1;e++)b.push({h:w,s:y,v:C}),w=(w+f+d)%d,y+=m,C+=g;return b.push(s?{h:w,s:y,v:C}:t),b}((0,n._Y)(u),(0,n._Y)(f),t):function(e,t,r){const{numColors:o,distanceOffset:n,distanceInterval:i,isCustomInterval:s}=c(r),a=e.h,l=t.h,h=2*Math.PI;let u;if(a<=l){const e=l-a,t=l-a-h;u=Math.abs(t)<Math.abs(e)?t:e}else{const e=l+h-a,t=l-a;u=Math.abs(t)<Math.abs(e)?t:e}const f=u*i,p=(t.l-e.l)*i,d=(t.c-e.c)*i;let{l:m,c:g,h:y}=e;if(n){const e=n/i;m+=e*p,g+=e*d,y=(y+e*f+h)%h}const C=[];for(let e=0;e<o-1;e++)C.push({l:m,c:g,h:y}),m+=p,g+=d,y=(y+f+h)%h;return C.push(s?{l:m,c:g,h:y}:t),C}((0,n.sJ)(u),(0,n.sJ)(f),t),d=[],m=r[3]??255,g=((o[3]??255)-m)/(s-1);for(let e=0;e<s;e++){const{r:t,g:r,b:o}=(0,n.xr)(p[e]),i=h?Math.round(m+g*e):255;d.push([t,r,o,i])}return d}function u(e,t=256,r=!1){const o=function(e,t=256,r=!1){const o="toJSON"in e?e.toJSON():e,n={numColors:t,interpolateAlpha:r};return"multipart"===o.type?function(e,t){const{numColors:r,interpolateAlpha:o}=c(t);let n=t?.weights;const{colorRamps:i}=e;if(n){const e=n.reduce(((e,t)=>e+t));n=n.map((t=>t/e))}else{n=[];for(let e=0;e<i.length;e++)n[e]=1/i.length}const s=[];let a=0,l=0;const u=1/(r-1);let f=!1;for(let e=0;e<i.length;e++){let t=f?0:a*u-l,c=e===i.length-1?r-1-a:(n[e]-t)/u;if(f=Math.ceil(c)===c,c=Math.ceil(c),0===c)continue;t/=n[e];const p=h(i[e],{numColors:c,interpolateAlpha:o,distanceOffset:t,distanceInterval:u/n[e]});a+=p.length,s.push(...p),l+=n[e]}const p=[...i[i.length-1].toColor];return 3===p.length&&p.push(255),s.push(p),s}(o,n):h(o,n)}(e,t,r);return o.forEach(((e,t)=>{e.unshift(t),r||e.pop()})),o}function f(e){const t=l(e);if(e){if("algorithmic"===e.type)return{...p(e),Name:t};if(e.colorRamps){const r=e.colorRamps.map(p);return{type:"MultiPartColorRamp",NumColorRamps:r.length,ArrayOfColorRamp:r,Name:t}}}}function p(e){if(e)return{Algorithm:e.toJSON()?.Algorithm||"esriHSVAlgorithm",type:"AlgorithmicColorRamp",FromColor:d(e.fromColor),ToColor:d(e.toColor)}}function d(e){const t=(0,n._Y)(e);return{type:"HsvColor",Hue:t.h,Saturation:t.s,Value:t.v,AlphaValue:255}}function m(e){const t=e.reverse().map((e=>{const t=e.toString(16);return t.length<2?"0"+t:t}));return 4294967295&Number.parseInt(t.join(""),16)}},23808:(e,t,r)=>{r.d(t,{GE:()=>l}),r(66577);var o=r(80442),n=r(92604),i=(r(22021),r(95330)),s=r(77734);r(8744),r(6570);const a=n.Z.getLogger("esri.views.2d.engine.flow.dataUtils");async function l(e,t,r,n){const l=performance.now(),c=function(e,t){const r=function(e,t,r,o){if(0===o)return e;const n=Math.round(3*o),i=new Array(2*n+1);let s=0;for(let e=-n;e<=n;e++){const t=Math.exp(-e*e/(o*o));i[e+n]=t,s+=t}for(let e=-n;e<=n;e++)i[e+n]/=s;const a=new Float32Array(e.length);for(let o=0;o<r;o++)for(let r=0;r<t;r++){let s=0,l=0;for(let a=-n;a<=n;a++){if(r+a<0||r+a>=t)continue;const c=i[a+n];s+=c*e[2*(o*t+(r+a))+0],l+=c*e[2*(o*t+(r+a))+1]}a[2*(o*t+r)+0]=s,a[2*(o*t+r)+1]=l}const l=new Float32Array(e.length);for(let e=0;e<t;e++)for(let o=0;o<r;o++){let s=0,c=0;for(let l=-n;l<=n;l++){if(o+l<0||o+l>=r)continue;const h=i[l+n];s+=h*a[2*((o+l)*t+e)+0],c+=h*a[2*((o+l)*t+e)+1]}l[2*(o*t+e)+0]=s,l[2*(o*t+e)+1]=c}return l}(t.data,t.width,t.height,e.smoothing);return e.interpolate?(e,o)=>{const n=Math.floor(e),i=Math.floor(o);if(n<0||n>=t.width)return[0,0];if(i<0||i>=t.height)return[0,0];const s=e-n,a=o-i,l=n,c=i,h=n<t.width-1?n+1:n,u=i<t.height-1?i+1:i,f=r[2*(c*t.width+l)],p=r[2*(c*t.width+h)],d=r[2*(u*t.width+l)],m=r[2*(u*t.width+h)],g=r[2*(c*t.width+l)+1],y=r[2*(c*t.width+h)+1];return[(f*(1-a)+d*a)*(1-s)+(p*(1-a)+m*a)*s,(g*(1-a)+r[2*(u*t.width+l)+1]*a)*(1-s)+(y*(1-a)+r[2*(u*t.width+h)+1]*a)*s]}:(e,o)=>{const n=Math.round(e),i=Math.round(o);return n<0||n>=t.width||i<0||i>=t.height?[0,0]:[r[2*(i*t.width+n)+0],r[2*(i*t.width+n)+1]]}}(t,r),u=performance.now(),f=h(t,c,r.width,r.height),p=performance.now(),d=function(e,t){const r=new s.Z,o=e.reduce(((e,t)=>e+t.length),0),n=new Float32Array(4*o),i=new Array(e.length);let a=0,l=0;for(const t of e){const e=a;for(const e of t)n[4*a+0]=e.x,n[4*a+1]=e.y,n[4*a+2]=e.t,n[4*a+3]=e.speed,a++;i[l++]={startVertex:e,numberOfVertices:t.length,totalTime:t[t.length-1].t,timeSeed:r.getFloat()}}return{lineVertices:n,lineDescriptors:i}}(f),m=performance.now(),g="Streamlines"===e?function(e,t){const{lineVertices:r,lineDescriptors:o}=e;let n=0,i=0;for(const e of o)n+=2*e.numberOfVertices,i+=6*(e.numberOfVertices-1);const s=new Float32Array(9*n),a=new Uint32Array(i);let l=0,c=0;function h(){a[c++]=l-2,a[c++]=l,a[c++]=l-1,a[c++]=l,a[c++]=l+1,a[c++]=l-1}function u(e,t,r,o,n,i,a,c){const h=9*l;let u=0;s[h+u++]=e,s[h+u++]=t,s[h+u++]=1,s[h+u++]=r,s[h+u++]=i,s[h+u++]=a,s[h+u++]=o/2,s[h+u++]=n/2,s[h+u++]=c,l++,s[h+u++]=e,s[h+u++]=t,s[h+u++]=-1,s[h+u++]=r,s[h+u++]=i,s[h+u++]=a,s[h+u++]=-o/2,s[h+u++]=-n/2,s[h+u++]=c,l++}for(const e of o){const{totalTime:t,timeSeed:o}=e;let n=null,i=null,s=null,a=null,l=null,c=null;for(let f=0;f<e.numberOfVertices;f++){const p=r[4*(e.startVertex+f)+0],d=r[4*(e.startVertex+f)+1],m=r[4*(e.startVertex+f)+2],g=r[4*(e.startVertex+f)+3];let y=null,C=null,w=null,b=null;if(f>0){y=p-n,C=d-i;const e=Math.sqrt(y*y+C*C);if(y/=e,C/=e,f>1){let e=y+l,t=C+c;const r=Math.sqrt(e*e+t*t);e/=r,t/=r;const o=Math.min(1/(e*y+t*C),10);e*=o,t*=o,w=-t,b=e}else w=-C,b=y;null!==w&&null!==b&&(u(n,i,s,w,b,t,o,g),h())}n=p,i=d,s=m,l=y,c=C,a=g}u(n,i,s,-c,l,t,o,a)}return{vertexData:s,indexData:a}}(d):function(e){const{lineVertices:t,lineDescriptors:r}=e;let o=0,n=0;for(const e of r){const t=e.numberOfVertices-1;o+=4*t*2,n+=6*t*2}const i=new Float32Array(16*o),s=new Uint32Array(n);let a,l,c,h,u,f,p,d,m,g,y,C,w,b,x=0,v=0;function T(){s[v++]=x-8,s[v++]=x-7,s[v++]=x-6,s[v++]=x-7,s[v++]=x-5,s[v++]=x-6,s[v++]=x-4,s[v++]=x-3,s[v++]=x-2,s[v++]=x-3,s[v++]=x-1,s[v++]=x-2}function k(e,t,r,o,n,s,a,l,c,h,u,f,p,d){const m=16*x;let g=0;for(const y of[1,2])for(const C of[1,2,3,4])i[m+g++]=e,i[m+g++]=t,i[m+g++]=r,i[m+g++]=o,i[m+g++]=a,i[m+g++]=l,i[m+g++]=c,i[m+g++]=h,i[m+g++]=y,i[m+g++]=C,i[m+g++]=p,i[m+g++]=d,i[m+g++]=n/2,i[m+g++]=s/2,i[m+g++]=u/2,i[m+g++]=f/2,x++}function S(e,t){let r=m+y,o=g+C;const n=Math.sqrt(r*r+o*o);r/=n,o/=n;const i=m*r+g*o;r/=i,o/=i;let s=y+w,x=C+b;const v=Math.sqrt(s*s+x*x);s/=v,x/=v;const S=y*s+C*x;s/=S,x/=S,k(a,l,c,h,-o,r,u,f,p,d,-x,s,e,t),T()}function A(e,t,r,o,n,i){if(m=y,g=C,y=w,C=b,null==m&&null==g&&(m=y,g=C),null!=u&&null!=f){w=e-u,b=t-f;const r=Math.sqrt(w*w+b*b);w/=r,b/=r}null!=m&&null!=g&&S(n,i),a=u,l=f,c=p,h=d,u=e,f=t,p=r,d=o}function I(e,t){m=y,g=C,y=w,C=b,null==m&&null==g&&(m=y,g=C),null!=m&&null!=g&&S(e,t)}for(const e of r){a=null,l=null,c=null,h=null,u=null,f=null,p=null,d=null,m=null,g=null,y=null,C=null,w=null,b=null;const{totalTime:r,timeSeed:o}=e;for(let n=0;n<e.numberOfVertices;n++)A(t[4*(e.startVertex+n)+0],t[4*(e.startVertex+n)+1],t[4*(e.startVertex+n)+2],t[4*(e.startVertex+n)+3],r,o);I(r,o)}return{vertexData:i,indexData:s}}(d),y=performance.now();return(0,o.Z)("esri-2d-profiler")&&(a.info("I.1","_createFlowFieldFromData (ms)",Math.round(u-l)),a.info("I.2","_getStreamlines (ms)",Math.round(p-u)),a.info("I.3","createAnimatedLinesData (ms)",Math.round(m-p)),a.info("I.4","create{Streamlines|Particles}Mesh (ms)",Math.round(y-m)),a.info("I.5","createFlowMesh (ms)",Math.round(y-l)),a.info("I.6","Mesh size (bytes)",g.vertexData.buffer.byteLength+g.indexData.buffer.byteLength)),await Promise.resolve(),(0,i.k_)(n),g}function c(e,t,r,o,n,i,s,a,l){const c=[];let h=r,u=o,f=0,[p,d]=t(h,u);p*=e.velocityScale,d*=e.velocityScale;const m=Math.sqrt(p*p+d*d);let g,y;c.push({x:h,y:u,t:f,speed:m});for(let r=0;r<e.verticesPerLine;r++){let[r,o]=t(h,u);r*=e.velocityScale,o*=e.velocityScale;const p=Math.sqrt(r*r+o*o);if(p<e.minSpeedThreshold)return c;const d=r/p,m=o/p;if(h+=d*e.segmentLength,u+=m*e.segmentLength,f+=e.segmentLength/p,Math.acos(d*g+m*y)>e.maxTurnAngle)return c;if(e.collisions){const e=Math.round(h*l),t=Math.round(u*l);if(e<0||e>s-1||t<0||t>a-1)return c;const r=i[t*s+e];if(-1!==r&&r!==n)return c;i[t*s+e]=n}c.push({x:h,y:u,t:f,speed:p}),g=d,y=m}return c}function h(e,t,r,o){const n=[],i=new s.Z,a=1/Math.max(e.lineCollisionWidth,1),l=Math.round(r*a),h=Math.round(o*a),u=new Int32Array(l*h);for(let e=0;e<u.length;e++)u[e]=-1;const f=[];for(let t=0;t<o;t+=e.lineSpacing)for(let o=0;o<r;o+=e.lineSpacing)f.push({x:o,y:t,sort:i.getFloat()});f.sort(((e,t)=>e.sort-t.sort));for(const{x:r,y:o}of f)if(i.getFloat()<e.density){const i=c(e,t,r,o,n.length,u,l,h,a);if(i.length<2)continue;n.push(i)}return n}}}]);
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- function t(t,n){for(var e=0;e<n.length;e++){const r=n[e];if("string"!=typeof r&&!Array.isArray(r))for(const n in r)if("default"!==n&&!(n in t)){const e=Object.getOwnPropertyDescriptor(r,n);e&&Object.defineProperty(t,n,e.get?e:{enumerable:!0,get:()=>r[n]})}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n,e,r,i={exports:{}};n=i,e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(e=e||__filename),r=function(t){var n,r;(t=void 0!==(t=t||{})?t:{}).ready=new Promise((function(t,e){n=t,r=e}));var i,o={};for(i in t)t.hasOwnProperty(i)&&(o[i]=t[i]);var u,s,a,f,c,l="object"==typeof window,p="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,d="";function m(n){return t.locateFile?t.locateFile(n,d):d+n}h?(d=p?require("path").dirname(d)+"/":__dirname+"/",u=function(t,n){return f||(f=require("fs")),c||(c=require("path")),t=c.normalize(t),f.readFileSync(t,n?null:"utf8")},a=function(t){var n=u(t,!0);return n.buffer||(n=new Uint8Array(n)),b(n.buffer),n},s=function(t,n,e){f||(f=require("fs")),c||(c=require("path")),t=c.normalize(t),f.readFile(t,(function(t,r){t?e(t):n(r.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof ct))throw t})),process.on("unhandledRejection",G),t.inspect=function(){return"[Emscripten Module object]"}):(l||p)&&(p?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),e&&(d=e),d=0!==d.indexOf("blob:")?d.substr(0,d.lastIndexOf("/")+1):"",u=function(t){var n=new XMLHttpRequest;return n.open("GET",t,!1),n.send(null),n.responseText},p&&(a=function(t){var n=new XMLHttpRequest;return n.open("GET",t,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),s=function(t,n,e){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?n(r.response):e()},r.onerror=e,r.send(null)}),t.print||console.log.bind(console);var y,g,_=t.printErr||console.warn.bind(console);for(i in o)o.hasOwnProperty(i)&&(t[i]=o[i]);o=null,t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.quit&&t.quit,t.wasmBinary&&(y=t.wasmBinary),t.noExitRuntime,"object"!=typeof WebAssembly&&G("no native wasm support detected");var w=!1;function b(t,n){t||G("Assertion failed: "+n)}var v,A,R,S,P,E="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function I(t,n,e){for(var r=n+e,i=n;t[i]&&!(i>=r);)++i;if(i-n>16&&t.subarray&&E)return E.decode(t.subarray(n,i));for(var o="";n<i;){var u=t[n++];if(128&u){var s=63&t[n++];if(192!=(224&u)){var a=63&t[n++];if((u=224==(240&u)?(15&u)<<12|s<<6|a:(7&u)<<18|s<<12|a<<6|63&t[n++])<65536)o+=String.fromCharCode(u);else{var f=u-65536;o+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else o+=String.fromCharCode((31&u)<<6|s)}else o+=String.fromCharCode(u)}return o}function x(t,n){return t?I(R,t,n):""}function T(t,n){return t%n>0&&(t+=n-t%n),t}function j(n){v=n,t.HEAP8=A=new Int8Array(n),t.HEAP16=new Int16Array(n),t.HEAP32=S=new Int32Array(n),t.HEAPU8=R=new Uint8Array(n),t.HEAPU16=new Uint16Array(n),t.HEAPU32=new Uint32Array(n),t.HEAPF32=new Float32Array(n),t.HEAPF64=new Float64Array(n)}t.INITIAL_MEMORY;var D=[],H=[],M=[];function O(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)U(t.preRun.shift());Z(D)}function W(){Z(H)}function q(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)F(t.postRun.shift());Z(M)}function U(t){D.unshift(t)}function C(t){H.unshift(t)}function F(t){M.unshift(t)}var B=0,k=null;function z(n){B++,t.monitorRunDependencies&&t.monitorRunDependencies(B)}function L(n){if(B--,t.monitorRunDependencies&&t.monitorRunDependencies(B),0==B&&k){var e=k;k=null,e()}}function G(n){t.onAbort&&t.onAbort(n),_(n+=""),w=!0,n="abort("+n+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(n);throw r(e),e}t.preloadedImages={},t.preloadedAudios={};var X,N="data:application/octet-stream;base64,";function Y(t){return t.startsWith(N)}function J(t){return t.startsWith("file://")}function K(t){try{if(t==X&&y)return new Uint8Array(y);if(a)return a(t);throw"both async and sync fetching of the wasm failed"}catch(_){G(_)}}function Q(){if(!y&&(l||p)){if("function"==typeof fetch&&!J(X))return fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return K(X)}));if(s)return new Promise((function(t,n){s(X,(function(n){t(new Uint8Array(n))}),n)}))}return Promise.resolve().then((function(){return K(X)}))}function V(){var n={a:st};function e(n,e){var r=n.exports;t.asm=r,j((g=t.asm.g).buffer),P=t.asm.m,C(t.asm.h),L()}function i(t){e(t.instance)}function o(t){return Q().then((function(t){return WebAssembly.instantiate(t,n)})).then(t,(function(t){_("failed to asynchronously prepare wasm: "+t),G(t)}))}function u(){return y||"function"!=typeof WebAssembly.instantiateStreaming||Y(X)||J(X)||"function"!=typeof fetch?o(i):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,n).then(i,(function(t){return _("wasm streaming compile failed: "+t),_("falling back to ArrayBuffer instantiation"),o(i)}))}))}if(z(),t.instantiateWasm)try{return t.instantiateWasm(n,e)}catch(s){return _("Module.instantiateWasm callback failed with error: "+s),!1}return u().catch(r),{}}function Z(n){for(;n.length>0;){var e=n.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?P.get(r)():P.get(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(t)}}function $(t,n,e,r){G("Assertion failed: "+x(t)+", at: "+[n?x(n):"unknown filename",e,r?x(r):"unknown function"])}function tt(t){return ft(t+16)+16}function nt(t){this.excPtr=t,this.ptr=t-16,this.set_type=function(t){S[this.ptr+4>>2]=t},this.get_type=function(){return S[this.ptr+4>>2]},this.set_destructor=function(t){S[this.ptr+8>>2]=t},this.get_destructor=function(){return S[this.ptr+8>>2]},this.set_refcount=function(t){S[this.ptr>>2]=t},this.set_caught=function(t){t=t?1:0,A[this.ptr+12>>0]=t},this.get_caught=function(){return 0!=A[this.ptr+12>>0]},this.set_rethrown=function(t){t=t?1:0,A[this.ptr+13>>0]=t},this.get_rethrown=function(){return 0!=A[this.ptr+13>>0]},this.init=function(t,n){this.set_type(t),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var t=S[this.ptr>>2];S[this.ptr>>2]=t+1},this.release_ref=function(){var t=S[this.ptr>>2];return S[this.ptr>>2]=t-1,1===t}}function et(t,n,e){throw new nt(t).init(n,e),t}function rt(){G()}function it(t,n,e){R.copyWithin(t,n,n+e)}function ot(t){try{return g.grow(t-v.byteLength+65535>>>16),j(g.buffer),1}catch(n){}}function ut(t){var n=R.length,e=2147483648;if((t>>>=0)>e)return!1;for(var r=1;r<=4;r*=2){var i=n*(1+.2/r);if(i=Math.min(i,t+100663296),ot(Math.min(e,T(Math.max(t,i),65536))))return!0}return!1}Y(X="lerc-wasm.wasm")||(X=m(X));var st={a:$,c:tt,b:et,f:rt,d:it,e:ut};V(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.h).apply(null,arguments)},t._lerc_getBlobInfo=function(){return(t._lerc_getBlobInfo=t.asm.i).apply(null,arguments)},t._lerc_getDataRanges=function(){return(t._lerc_getDataRanges=t.asm.j).apply(null,arguments)},t._lerc_decode=function(){return(t._lerc_decode=t.asm.k).apply(null,arguments)},t._lerc_decode_4D=function(){return(t._lerc_decode_4D=t.asm.l).apply(null,arguments)};var at,ft=t._malloc=function(){return(ft=t._malloc=t.asm.n).apply(null,arguments)};function ct(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function lt(e){function r(){at||(at=!0,t.calledRun=!0,w||(W(),n(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),q()))}B>0||(O(),B>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),r()}),1)):r()))}if(t._free=function(){return(t._free=t.asm.o).apply(null,arguments)},k=function t(){at||lt(),at||(k=t)},t.run=lt,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return lt(),t.ready},n.exports=r;const o=t({__proto__:null,default:i.exports},[i.exports]);export{o as l};
5
+ function t(t,n){for(var e=0;e<n.length;e++){const r=n[e];if("string"!=typeof r&&!Array.isArray(r))for(const n in r)if("default"!==n&&!(n in t)){const e=Object.getOwnPropertyDescriptor(r,n);e&&Object.defineProperty(t,n,e.get?e:{enumerable:!0,get:()=>r[n]})}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n,e,r,i={exports:{}};n=i,e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(e=e||__filename),r=function(t){var n,r;(t=void 0!==(t=t||{})?t:{}).ready=new Promise((function(t,e){n=t,r=e}));var i,o,u,s,a,c,f=Object.assign({},t),p="object"==typeof window,l="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,d="";function m(n){return t.locateFile?t.locateFile(n,d):d+n}h?(d=l?require("path").dirname(d)+"/":__dirname+"/",c=()=>{a||(s=require("fs"),a=require("path"))},i=function(t,n){return c(),t=a.normalize(t),s.readFileSync(t,n?void 0:"utf8")},u=t=>{var n=i(t,!0);return n.buffer||(n=new Uint8Array(n)),n},o=(t,n,e)=>{c(),t=a.normalize(t),s.readFile(t,(function(t,r){t?e(t):n(r.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof ht))throw t})),process.on("unhandledRejection",(function(t){throw t})),t.inspect=function(){return"[Emscripten Module object]"}):(p||l)&&(l?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),e&&(d=e),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=t=>{var n=new XMLHttpRequest;return n.open("GET",t,!1),n.send(null),n.responseText},l&&(u=t=>{var n=new XMLHttpRequest;return n.open("GET",t,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),o=(t,n,e)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?n(r.response):e()},r.onerror=e,r.send(null)}),t.print||console.log.bind(console);var _,y,g=t.printErr||console.warn.bind(console);Object.assign(t,f),f=null,t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.quit&&t.quit,t.wasmBinary&&(_=t.wasmBinary),t.noExitRuntime,"object"!=typeof WebAssembly&&L("no native wasm support detected");var v,w,b,A,R,x,S=!1,P="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function E(t,n,e){for(var r=n+e,i=n;t[i]&&!(i>=r);)++i;if(i-n>16&&t.buffer&&P)return P.decode(t.subarray(n,i));for(var o="";n<i;){var u=t[n++];if(128&u){var s=63&t[n++];if(192!=(224&u)){var a=63&t[n++];if((u=224==(240&u)?(15&u)<<12|s<<6|a:(7&u)<<18|s<<12|a<<6|63&t[n++])<65536)o+=String.fromCharCode(u);else{var c=u-65536;o+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else o+=String.fromCharCode((31&u)<<6|s)}else o+=String.fromCharCode(u)}return o}function I(t,n){return t?E(b,t,n):""}function j(n){v=n,t.HEAP8=w=new Int8Array(n),t.HEAP16=new Int16Array(n),t.HEAP32=A=new Int32Array(n),t.HEAPU8=b=new Uint8Array(n),t.HEAPU16=new Uint16Array(n),t.HEAPU32=R=new Uint32Array(n),t.HEAPF32=new Float32Array(n),t.HEAPF64=new Float64Array(n)}t.INITIAL_MEMORY;var T=[],D=[],H=[];function M(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)U(t.preRun.shift());V(T)}function O(){V(D)}function W(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)C(t.postRun.shift());V(H)}function U(t){T.unshift(t)}function q(t){D.unshift(t)}function C(t){H.unshift(t)}var F=0,B=null;function k(n){F++,t.monitorRunDependencies&&t.monitorRunDependencies(F)}function z(n){if(F--,t.monitorRunDependencies&&t.monitorRunDependencies(F),0==F&&B){var e=B;B=null,e()}}function L(n){t.onAbort&&t.onAbort(n),g(n="Aborted("+n+")"),S=!0,n+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(n);throw r(e),e}var G,X="data:application/octet-stream;base64,";function N(t){return t.startsWith(X)}function Y(t){return t.startsWith("file://")}function J(t){try{if(t==G&&_)return new Uint8Array(_);if(u)return u(t);throw"both async and sync fetching of the wasm failed"}catch(g){L(g)}}function K(){if(!_&&(p||l)){if("function"==typeof fetch&&!Y(G))return fetch(G,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+G+"'";return t.arrayBuffer()})).catch((function(){return J(G)}));if(o)return new Promise((function(t,n){o(G,(function(n){t(new Uint8Array(n))}),n)}))}return Promise.resolve().then((function(){return J(G)}))}function Q(){var n={a:ct};function e(n,e){var r=n.exports;t.asm=r,j((y=t.asm.g).buffer),x=t.asm.m,q(t.asm.h),z()}function i(t){e(t.instance)}function o(t){return K().then((function(t){return WebAssembly.instantiate(t,n)})).then((function(t){return t})).then(t,(function(t){g("failed to asynchronously prepare wasm: "+t),L(t)}))}function u(){return _||"function"!=typeof WebAssembly.instantiateStreaming||N(G)||Y(G)||h||"function"!=typeof fetch?o(i):fetch(G,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,n).then(i,(function(t){return g("wasm streaming compile failed: "+t),g("falling back to ArrayBuffer instantiation"),o(i)}))}))}if(k(),t.instantiateWasm)try{return t.instantiateWasm(n,e)}catch(s){return g("Module.instantiateWasm callback failed with error: "+s),!1}return u().catch(r),{}}function V(n){for(;n.length>0;){var e=n.shift();if("function"!=typeof e){var r=e.func;"number"==typeof r?void 0===e.arg?$(r)():$(r)(e.arg):r(void 0===e.arg?null:e.arg)}else e(t)}}N(G="lerc-wasm.wasm")||(G=m(G));var Z=[];function $(t){var n=Z[t];return n||(t>=Z.length&&(Z.length=t+1),Z[t]=n=x.get(t)),n}function tt(t,n,e,r){L("Assertion failed: "+I(t)+", at: "+[n?I(n):"unknown filename",e,r?I(r):"unknown function"])}function nt(t){return ft(t+24)+24}function et(t){this.excPtr=t,this.ptr=t-24,this.set_type=function(t){R[this.ptr+4>>2]=t},this.get_type=function(){return R[this.ptr+4>>2]},this.set_destructor=function(t){R[this.ptr+8>>2]=t},this.get_destructor=function(){return R[this.ptr+8>>2]},this.set_refcount=function(t){A[this.ptr>>2]=t},this.set_caught=function(t){t=t?1:0,w[this.ptr+12>>0]=t},this.get_caught=function(){return 0!=w[this.ptr+12>>0]},this.set_rethrown=function(t){t=t?1:0,w[this.ptr+13>>0]=t},this.get_rethrown=function(){return 0!=w[this.ptr+13>>0]},this.init=function(t,n){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var t=A[this.ptr>>2];A[this.ptr>>2]=t+1},this.release_ref=function(){var t=A[this.ptr>>2];return A[this.ptr>>2]=t-1,1===t},this.set_adjusted_ptr=function(t){R[this.ptr+16>>2]=t},this.get_adjusted_ptr=function(){return R[this.ptr+16>>2]},this.get_exception_ptr=function(){if(lt(this.get_type()))return R[this.excPtr>>2];var t=this.get_adjusted_ptr();return 0!==t?t:this.excPtr}}function rt(t,n,e){throw new et(t).init(n,e),t}function it(){L("")}function ot(t,n,e){b.copyWithin(t,n,n+e)}function ut(){return 2147483648}function st(t){try{return y.grow(t-v.byteLength+65535>>>16),j(y.buffer),1}catch(n){}}function at(t){var n=b.length;t>>>=0;var e=ut();if(t>e)return!1;let r=(t,n)=>t+(n-t%n)%n;for(var i=1;i<=4;i*=2){var o=n*(1+.2/i);if(o=Math.min(o,t+100663296),st(Math.min(e,r(Math.max(t,o),65536))))return!0}return!1}var ct={a:tt,c:nt,b:rt,d:it,f:ot,e:at};Q(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.h).apply(null,arguments)},t._lerc_getBlobInfo=function(){return(t._lerc_getBlobInfo=t.asm.i).apply(null,arguments)},t._lerc_getDataRanges=function(){return(t._lerc_getDataRanges=t.asm.j).apply(null,arguments)},t._lerc_decode=function(){return(t._lerc_decode=t.asm.k).apply(null,arguments)},t._lerc_decode_4D=function(){return(t._lerc_decode_4D=t.asm.l).apply(null,arguments)};var ft=t._malloc=function(){return(ft=t._malloc=t.asm.n).apply(null,arguments)};t._free=function(){return(t._free=t.asm.o).apply(null,arguments)};var pt,lt=t.___cxa_is_pointer_type=function(){return(lt=t.___cxa_is_pointer_type=t.asm.p).apply(null,arguments)};function ht(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function dt(e){function r(){pt||(pt=!0,t.calledRun=!0,S||(O(),n(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),W()))}F>0||(M(),F>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),r()}),1)):r()))}if(B=function t(){pt||dt(),pt||(B=t)},t.run=dt,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return dt(),t.ready},n.exports=r;const o=t({__proto__:null,default:i.exports},[i.exports]);export{o as l};
package/interfaces.d.ts CHANGED
@@ -70153,12 +70153,6 @@ declare namespace __esri {
70153
70153
  * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#zoom)
70154
70154
  */
70155
70155
  zoom: number;
70156
- /**
70157
- * Represents an ongoing view animation initialized by [goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#goTo).
70158
- *
70159
- * [Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-SceneView.html#get)
70160
- */
70161
- get(): void;
70162
70156
  /**
70163
70157
  * Sets the view to a given target.
70164
70158
  *
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{isNone as r,isSome as i}from"../../../core/maybe.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../RasterInfo.js";import n from"../RasterStorageInfo.js";import l from"../TileInfo.js";import f from"./BaseRaster.js";import m from"./DBFParser.js";import{isTransformSupported as c,readTransform as p}from"../rasterTransforms/utils.js";import d from"../../../rest/support/FeatureSet.js";import u from"../../../geometry/SpatialReference.js";import h from"../../../geometry/Extent.js";import g from"../../../geometry/Point.js";const y=new Map;y.set("int16","esriFieldTypeSmallInteger"),y.set("int32","esriFieldTypeInteger"),y.set("int64","esriFieldTypeInteger"),y.set("float32","esriFieldTypeSingle"),y.set("float64","esriFieldTypeDouble"),y.set("text","esriFieldTypeString");const x=8;let S=class extends f{constructor(){super(...arguments),this.storageInfo=null,this.datasetFormat="CRF"}async open(e){await this.init();const{data:r}=await this.request(this.url+"/conf.json",{signal:e?.signal});if(!this._validateHeader(r))throw new t("cloudraster:open","Invalid or unsupported conf.json.");this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{storageInfo:i,rasterInfo:o}=this._parseHeader(r);if("thematic"===o.dataType){const e=await this._fetchAuxiliaryInformation();o.attributeTable=e}this._set("storageInfo",i),this._set("rasterInfo",o),this.ioConfig.retryCount=this.ioConfig.retryCount||0}async fetchRawTile(e,t,r,i={}){const{transposeInfo:o}=this.rasterInfo.storageInfo,{transposedVariableName:s}=i,a=!(!o||!s),n=a?0:this.rasterInfo.storageInfo.maximumPyramidLevel-e;if(n<0)return null;const l=this._buildCacheFilePath(n,t,r,i.multidimensionalDefinition,s),f=this._getIndexRecordFromBundle(t,r,a),m=await this.request(l,{range:{from:0,to:this.storageInfo.headerSize-1},responseType:"array-buffer",signal:i.signal});if(!m)return null;const c=new Uint8Array(m.data),p=this._getTileEndAndContentType(c,f);if(0===p.recordSize)return null;const d=await this.request(l,{range:{from:p.position,to:p.position+p.recordSize},responseType:"array-buffer",signal:i.signal});if(!d)return null;const[u,h]=this._getTileSize(a);return this.decodePixelBlock(d.data,{width:u,height:h,planes:null,pixelType:null,returnPixelInterleavedDims:a})}_validateHeader(e){const t=["origin","extent","geodataXform","LODInfos","blockWidth","blockHeight","bandCount","pixelType","pixelSizeX","pixelSizeY","format","packetSize"];return e&&"RasterInfo"===e.type&&!t.some((t=>!e[t]))}_parseHeader(e){const t=["u1","u2","u4","u8","s8","u16","s16","u32","s32","f32","f64"][e.pixelType],{bandCount:r,histograms:i,colormap:o,blockWidth:s,blockHeight:f,firstPyramidLevel:m,maximumPyramidLevel:c}=e,p=e.statistics&&e.statistics.map((e=>({min:e.min,max:e.max,avg:e.mean,stddev:e.standardDeviation,median:e.median,mode:e.mode}))),d=e.extent.spatialReference,y=e.geodataXform?.spatialReference,S=new u(d?.wkid||d?.wkt?d:y);let I=new h({xmin:e.extent.xmin,ymin:e.extent.ymin,xmax:e.extent.xmax,ymax:e.extent.ymax,spatialReference:S});const w=new g({x:e.pixelSizeX,y:e.pixelSizeY,spatialReference:S}),_=Math.round((I.xmax-I.xmin)/w.x),v=Math.round((I.ymax-I.ymin)/w.y),b=this._parseTransform(e.geodataXform),z=b?I:null;b&&(I=b.forwardTransform(I),w.x=(I.xmax-I.xmin)/_,w.y=(I.ymax-I.ymin)/v);const T=e.properties??{},k=e.format.toLowerCase().replace("cache/",""),j=new g(e.origin.x,e.origin.y,S);let C,R,F,P;if(o&&o.colors)for(C=[],R=0;R<o.colors.length;R++)F=o.colors[R],P=o.values?o.values[R]:R,C.push([P,255&F,F<<16>>>24,F<<8>>>24,F>>>24]);const H=e.LODInfos,D=[];for(R=0;R<H.levels.length;R++)D.push({level:H.levels[R],resolution:H.resolutions[R],scale:96/.0254*H.resolutions[R]});const L=new l({dpi:96,lods:D,format:k,origin:j,size:[s,f],spatialReference:S}),M={recordSize:x,packetSize:e.packetSize,headerSize:e.packetSize*e.packetSize*x+64},B=[{maxCol:Math.ceil(_/s)-1,maxRow:Math.ceil(v/f)-1,minCol:0,minRow:0}];let O=2;if(c>0)for(R=0;R<c;R++)B.push({maxCol:Math.ceil(_/O/s)-1,maxRow:Math.ceil(v/O/f)-1,minCol:0,minRow:0}),O*=2;const $=e.mdInfo;let N=null;if($&&T._yxs){const e=T._yxs;N={packetSize:e.PacketSize,tileSize:[e.TileXSize,e.TileYSize]}}return{storageInfo:M,rasterInfo:new a({width:_,height:v,pixelType:t,bandCount:r,extent:I,nativeExtent:z,transform:b,spatialReference:S,pixelSize:w,keyProperties:T,statistics:p,histograms:i,multidimensionalInfo:$,colormap:C,storageInfo:new n({blockWidth:s,blockHeight:f,pyramidBlockWidth:s,pyramidBlockHeight:f,origin:j,tileInfo:L,transposeInfo:N,firstPyramidLevel:m,maximumPyramidLevel:c,blockBoundary:B})})}}_parseTransform(e){if(!c(e))throw new t("cloudraster:open","the data contains unsupported geodata transform types");const r=p(e);if("identity"===r.type)return null;if("polynomial"!==r.type||!r.forwardCoefficients?.length||!r.inverseCoefficients?.length)throw new t("cloudraster:open","the data contains unsupported geodata transforms - both forward and inverse coefficients are required currently");return r}async _fetchAuxiliaryInformation(e){const t=this.request(this.url+"/conf.vat.json",{signal:e}).then((e=>e.data)).catch((()=>null)),r=this.request(this.url+"/conf.vat.dbf",{responseType:"array-buffer",signal:e}).then((e=>e.data)).catch((()=>null)),i=await Promise.all([t,r]);let o;if(i[0]){let e=i[0].fields;const t=i[0].values;if(e&&t){e=e.map((e=>({type:"OID"===e.name?"esriFieldTypeOID":y.get(e.type),name:e.name,alias:e.alias||e.name})));const r=t.map((e=>({attributes:e})));e&&t&&(o={fields:e,features:r})}}if(!o&&i[1]){o=m.parse(i[1]).recordSet}return d.fromJSON(o)}_buildCacheFilePath(e,t,i,o,s){const a=this._getPackageSize(!!s),n=Math.floor(t/a)*a,l=Math.floor(i/a)*a,f="R"+this._toHexString4(n)+"C"+this._toHexString4(l);let m="L";m+=e>=10?e.toString():"0"+e.toString();const{multidimensionalInfo:c}=this.rasterInfo,p=o?.[0];if(r(c)||!p)return`${this.url}/_alllayers/${m}/${f}.bundle`;let d="_yxs";if(!s){d=c.variables.find((e=>e.name===p.variableName)).dimensions[0].values.indexOf(p.values[0]).toString(16);const e=4-d.length;for(let t=0;t<e;t++)d="0"+d;d="S"+d}const u=this._getVariableFolderName(s||p.variableName);return`${this.url}/_alllayers/${u}/${d}/${m}/${f}.bundle`}_getPackageSize(e=!1){const{transposeInfo:t}=this.rasterInfo.storageInfo;return e&&i(t)?t.packetSize:this.storageInfo.packetSize}_getTileSize(e=!1){const{storageInfo:t}=this.rasterInfo,{transposeInfo:r}=t;return e&&i(r)?r.tileSize:t.tileInfo.size}_getVariableFolderName(e){return""===(e=e.trim())?"_v":e.replace(/[\{|\}\-]/g,"_").replace("\\*","_v")}_getIndexRecordFromBundle(e,t,r=!1){const i=this._getPackageSize(r),o=i*(e%i)+t%i;if(o<0)throw"Invalid level / row / col";return 20+o*this.storageInfo.recordSize+44}_getTileEndAndContentType(e,t){const r=e.subarray(t,t+8);let i,o=0;for(i=0;i<5;i++)o|=(255&r[i])<<8*i;const s=0xffffffffff&o;for(o=0,i=5;i<8;i++)o|=(255&r[i])<<8*(i-5);return{position:s,recordSize:0xffffffffff&o}}_toHexString4(e){let t=e.toString(16);if(4!==t.length){let e=4-t.length;for(;e-- >0;)t="0"+t}return t}};e([o({readOnly:!0})],S.prototype,"storageInfo",void 0),e([o({type:String,json:{write:!0}})],S.prototype,"datasetFormat",void 0),S=e([s("esri.layers.support.rasterDatasets.CloudRaster")],S);const I=S;export{I as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{isNone as r,isSome as i}from"../../../core/maybe.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../RasterInfo.js";import n from"../RasterStorageInfo.js";import l from"../TileInfo.js";import f from"./BaseRaster.js";import m from"./DBFParser.js";import{isTransformSupported as c,readTransform as p}from"../rasterTransforms/utils.js";import d from"../../../rest/support/FeatureSet.js";import u from"../../../geometry/SpatialReference.js";import h from"../../../geometry/Extent.js";import g from"../../../geometry/Point.js";const y=new Map;y.set("int16","esriFieldTypeSmallInteger"),y.set("int32","esriFieldTypeInteger"),y.set("int64","esriFieldTypeInteger"),y.set("float32","esriFieldTypeSingle"),y.set("float64","esriFieldTypeDouble"),y.set("text","esriFieldTypeString");const x=8;let S=class extends f{constructor(){super(...arguments),this.storageInfo=null,this.datasetFormat="CRF"}async open(e){await this.init();const{data:r}=await this.request(this.url+"/conf.json",{signal:e?.signal});if(!this._validateHeader(r))throw new t("cloudraster:open","Invalid or unsupported conf.json.");this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const{storageInfo:i,rasterInfo:o}=this._parseHeader(r);if("thematic"===o.dataType){const e=await this._fetchAuxiliaryInformation();o.attributeTable=e}this._set("storageInfo",i),this._set("rasterInfo",o),this.ioConfig.retryCount=this.ioConfig.retryCount||0}async fetchRawTile(e,t,r,i={}){const{transposeInfo:o}=this.rasterInfo.storageInfo,{transposedVariableName:s}=i,a=!(!o||!s),n=a?0:this.rasterInfo.storageInfo.maximumPyramidLevel-e;if(n<0)return null;const l=this._buildCacheFilePath(n,t,r,i.multidimensionalDefinition,s),f=this._getIndexRecordFromBundle(t,r,a),m=await this.request(l,{range:{from:0,to:this.storageInfo.headerSize-1},responseType:"array-buffer",signal:i.signal});if(!m)return null;const c=new Uint8Array(m.data),p=this._getTileEndAndContentType(c,f);if(0===p.recordSize)return null;const d=await this.request(l,{range:{from:p.position,to:p.position+p.recordSize},responseType:"array-buffer",signal:i.signal});if(!d)return null;const[u,h]=this._getTileSize(a);return this.decodePixelBlock(d.data,{width:u,height:h,planes:null,pixelType:null,returnInterleaved:a})}_validateHeader(e){const t=["origin","extent","geodataXform","LODInfos","blockWidth","blockHeight","bandCount","pixelType","pixelSizeX","pixelSizeY","format","packetSize"];return e&&"RasterInfo"===e.type&&!t.some((t=>!e[t]))}_parseHeader(e){const t=["u1","u2","u4","u8","s8","u16","s16","u32","s32","f32","f64"][e.pixelType],{bandCount:r,histograms:i,colormap:o,blockWidth:s,blockHeight:f,firstPyramidLevel:m,maximumPyramidLevel:c}=e,p=e.statistics&&e.statistics.map((e=>({min:e.min,max:e.max,avg:e.mean,stddev:e.standardDeviation,median:e.median,mode:e.mode}))),d=e.extent.spatialReference,y=e.geodataXform?.spatialReference,S=new u(d?.wkid||d?.wkt?d:y);let I=new h({xmin:e.extent.xmin,ymin:e.extent.ymin,xmax:e.extent.xmax,ymax:e.extent.ymax,spatialReference:S});const w=new g({x:e.pixelSizeX,y:e.pixelSizeY,spatialReference:S}),_=Math.round((I.xmax-I.xmin)/w.x),v=Math.round((I.ymax-I.ymin)/w.y),b=this._parseTransform(e.geodataXform),z=b?I:null;b&&(I=b.forwardTransform(I),w.x=(I.xmax-I.xmin)/_,w.y=(I.ymax-I.ymin)/v);const T=e.properties??{},k=e.format.toLowerCase().replace("cache/",""),j=new g(e.origin.x,e.origin.y,S);let C,R,F,P;if(o&&o.colors)for(C=[],R=0;R<o.colors.length;R++)F=o.colors[R],P=o.values?o.values[R]:R,C.push([P,255&F,F<<16>>>24,F<<8>>>24,F>>>24]);const H=e.LODInfos,D=[];for(R=0;R<H.levels.length;R++)D.push({level:H.levels[R],resolution:H.resolutions[R],scale:96/.0254*H.resolutions[R]});const L=new l({dpi:96,lods:D,format:k,origin:j,size:[s,f],spatialReference:S}),M={recordSize:x,packetSize:e.packetSize,headerSize:e.packetSize*e.packetSize*x+64},B=[{maxCol:Math.ceil(_/s)-1,maxRow:Math.ceil(v/f)-1,minCol:0,minRow:0}];let O=2;if(c>0)for(R=0;R<c;R++)B.push({maxCol:Math.ceil(_/O/s)-1,maxRow:Math.ceil(v/O/f)-1,minCol:0,minRow:0}),O*=2;const $=e.mdInfo;let N=null;if($&&T._yxs){const e=T._yxs;N={packetSize:e.PacketSize,tileSize:[e.TileXSize,e.TileYSize]}}return{storageInfo:M,rasterInfo:new a({width:_,height:v,pixelType:t,bandCount:r,extent:I,nativeExtent:z,transform:b,spatialReference:S,pixelSize:w,keyProperties:T,statistics:p,histograms:i,multidimensionalInfo:$,colormap:C,storageInfo:new n({blockWidth:s,blockHeight:f,pyramidBlockWidth:s,pyramidBlockHeight:f,origin:j,tileInfo:L,transposeInfo:N,firstPyramidLevel:m,maximumPyramidLevel:c,blockBoundary:B})})}}_parseTransform(e){if(!c(e))throw new t("cloudraster:open","the data contains unsupported geodata transform types");const r=p(e);if("identity"===r.type)return null;if("polynomial"!==r.type||!r.forwardCoefficients?.length||!r.inverseCoefficients?.length)throw new t("cloudraster:open","the data contains unsupported geodata transforms - both forward and inverse coefficients are required currently");return r}async _fetchAuxiliaryInformation(e){const t=this.request(this.url+"/conf.vat.json",{signal:e}).then((e=>e.data)).catch((()=>null)),r=this.request(this.url+"/conf.vat.dbf",{responseType:"array-buffer",signal:e}).then((e=>e.data)).catch((()=>null)),i=await Promise.all([t,r]);let o;if(i[0]){let e=i[0].fields;const t=i[0].values;if(e&&t){e=e.map((e=>({type:"OID"===e.name?"esriFieldTypeOID":y.get(e.type),name:e.name,alias:e.alias||e.name})));const r=t.map((e=>({attributes:e})));e&&t&&(o={fields:e,features:r})}}if(!o&&i[1]){o=m.parse(i[1]).recordSet}return d.fromJSON(o)}_buildCacheFilePath(e,t,i,o,s){const a=this._getPackageSize(!!s),n=Math.floor(t/a)*a,l=Math.floor(i/a)*a,f="R"+this._toHexString4(n)+"C"+this._toHexString4(l);let m="L";m+=e>=10?e.toString():"0"+e.toString();const{multidimensionalInfo:c}=this.rasterInfo,p=o?.[0];if(r(c)||!p)return`${this.url}/_alllayers/${m}/${f}.bundle`;let d="_yxs";if(!s){d=c.variables.find((e=>e.name===p.variableName)).dimensions[0].values.indexOf(p.values[0]).toString(16);const e=4-d.length;for(let t=0;t<e;t++)d="0"+d;d="S"+d}const u=this._getVariableFolderName(s||p.variableName);return`${this.url}/_alllayers/${u}/${d}/${m}/${f}.bundle`}_getPackageSize(e=!1){const{transposeInfo:t}=this.rasterInfo.storageInfo;return e&&i(t)?t.packetSize:this.storageInfo.packetSize}_getTileSize(e=!1){const{storageInfo:t}=this.rasterInfo,{transposeInfo:r}=t;return e&&i(r)?r.tileSize:t.tileInfo.size}_getVariableFolderName(e){return""===(e=e.trim())?"_v":e.replace(/[\{|\}\-]/g,"_").replace("\\*","_v")}_getIndexRecordFromBundle(e,t,r=!1){const i=this._getPackageSize(r),o=i*(e%i)+t%i;if(o<0)throw"Invalid level / row / col";return 20+o*this.storageInfo.recordSize+44}_getTileEndAndContentType(e,t){const r=e.subarray(t,t+8);let i,o=0;for(i=0;i<5;i++)o|=(255&r[i])<<8*i;const s=0xffffffffff&o;for(o=0,i=5;i<8;i++)o|=(255&r[i])<<8*(i-5);return{position:s,recordSize:0xffffffffff&o}}_toHexString4(e){let t=e.toString(16);if(4!==t.length){let e=4-t.length;for(;e-- >0;)t="0"+t}return t}};e([o({readOnly:!0})],S.prototype,"storageInfo",void 0),e([o({type:String,json:{write:!0}})],S.prototype,"datasetFormat",void 0),S=e([s("esri.layers.support.rasterDatasets.CloudRaster")],S);const I=S;export{I as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{isNone as i,isSome as s,unwrap as r}from"../../../core/maybe.js";import{urlToObject as a}from"../../../core/urlUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../RasterInfo.js";import c from"../RasterStorageInfo.js";import{readServiceTileInfo as m}from"../serviceTileInfoProperty.js";import h from"../TileInfo.js";import{TilemapCache as f}from"../TilemapCache.js";import p from"./BaseRaster.js";import{setValidBoundary as u}from"../rasterFunctions/pixelUtils.js";import y from"../rasterTransforms/GCSShiftTransform.js";import{fetchServiceRasterInfo as d}from"../../../rest/imageService/fetchRasterInfo.js";import x from"../../../geometry/SpatialReference.js";import g from"../../../geometry/Point.js";import v from"../../../geometry/Extent.js";let S=class extends p{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer"}async open(e){await this.init();const s=e&&e.signal,r=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:s});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const l=r.data;if(this.sourceJSON=l,!l)throw new t("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!l.tileInfo)throw new t("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();const o=["jpg","jpeg","png","png8","png24","png32","mixed"];this.tileType=l.cacheType,null==this.tileType&&(o.includes(l.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===l.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=l.name?.slice(l.name.indexOf("/")+1)??"";const n=await this._fetchRasterInfo({signal:s});if(i(n))throw new t("image-server-raster:open","cannot initialize image service");const p="Map"===this.tileType?m(l.tileInfo,l):h.fromJSON(l.tileInfo),[u,y]=this._computeMinMaxLOD(n,p),{extent:d,pixelSize:x}=n,g=.5/n.width*x.x,v=Math.max(x.x,x.y),{lods:S}=p;("Map"!==this.tileType&&0!==l.maxScale||Math.abs(x.x-x.y)>g||!S.some((e=>Math.abs(e.resolution-v)<g)))&&(x.x=x.y=u.resolution,n.width=Math.ceil((d.xmax-d.xmin)/x.x-.1),n.height=Math.ceil((d.ymax-d.ymin)/x.y-.1));const I=u.level-y.level,[w,j]=p.size,b=[];S.forEach((e=>{e.level>=y.level&&e.level<=u.level&&b.push({x:e.resolution,y:e.resolution})})),b.sort(((e,t)=>e.x-t.x));const T=this.computeBlockBoundary(d,w,j,p.origin,b,I),_=b.length>1?b.slice(1):null;let M;if(l.transposeInfo&&(M={tileSize:[l.transposeInfo.rows,l.transposeInfo.cols],packetSize:n.keyProperties?._yxs.PacketSize??0}),n.storageInfo=new c({blockWidth:p.size[0],blockHeight:p.size[1],pyramidBlockWidth:p.size[0],pyramidBlockHeight:p.size[1],pyramidResolutions:_,compression:p.format,origin:p.origin,firstPyramidLevel:1,maximumPyramidLevel:I,tileInfo:p,transposeInfo:M,blockBoundary:T}),this._fixGCSShift(n),this._set("rasterInfo",n),l.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:n.storageInfo.tileInfo,parsedUrl:a(this.url),url:this.url,tileServers:[],type:"tile"};this._tilemapCache=new f({layer:e})}}async fetchRawTile(e,t,i,r={}){const{storageInfo:a,extent:l}=this.rasterInfo,{transposeInfo:o}=a,n=s(o)&&!!r.transposedVariableName;if(this._slices&&!n&&null==r.sliceId)return null;const c=n?0:a.maximumPyramidLevel-e+this._levelOffset,m=`${this.url}/tile/${c}/${t}/${i}`,h=this._slices?n?{variable:r.transposedVariableName}:{sliceId:r.sliceId||0}:null,{data:f}=await this.request(m,{query:h,responseType:"array-buffer",signal:r.signal});if(!f)return null;const p=n?o.tileSize:a.tileInfo.size,y=await this.decodePixelBlock(f,{width:p[0],height:p[1],planes:null,pixelType:null,isPoint:"Elevation"===this.tileType,returnPixelInterleavedDims:n}),d=a.blockBoundary[e];if("jpg"!==a.compression||i>d.minCol&&i<d.maxCol&&t>d.minRow&&t<d.maxRow)return y;const{origin:x,blockWidth:g,blockHeight:v}=a,{x:S,y:I}=this.getPyramidPixelSize(e),w=Math.round((l.xmin-x.x)/S)%g,j=Math.round((l.xmax-x.x)/S)%g||g,b=Math.round((x.y-l.ymax)/I)%v,T=Math.round((x.y-l.ymin)/I)%v||v,_=i===d.minCol?w:0,M=t===d.minRow?b:0,R=i===d.maxCol?j:g,z=t===d.maxRow?T:v;return u(y,{x:_,y:M},{width:R-_,height:z-M}),y}getSliceIndex(e){if(!this._slices||i(e)||0===e.length)return null;const t=e;for(let i=0;i<this._slices.length;i++){const e=this._slices[i].multidimensionalDefinition;if(e.length===t.length&&!e.some((e=>{const i=t.find((t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName));if(!i)return!0;return(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])})))return i}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then((e=>e.data?.statistics)),s=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then((e=>e.data?.histograms)),r=await Promise.all([i,s]);return r[0]&&r[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,r(t.datumTransformation));if(null===i)return null;let s=0;const{maximumPyramidLevel:a}=this.rasterInfo.storageInfo;let l=a-s+this._levelOffset;const o=i.srcLocation;for(;l>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(l,i.row,i.col,t))break}catch{}if(l--,s++,i=this.identifyPixelLocation(o,s,r(t.datumTransformation)),null===i)return null}return-1===l||null==i?null:s}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),s=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=x.fromJSON(t.spatialReference||e.spatialReference),a=new g({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new n({width:i,height:s,bandCount:3,extent:v.fromJSON(e),spatialReference:r,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const{signal:i}=e,s=d(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),r=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:"json"},signal:i}).then((e=>e.data&&e.data.slices)).catch((()=>null)):null,a=await Promise.all([s,r]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_fixGCSShift(e){const{extent:t,spatialReference:i}=e;0===t.xmin&&360===t.xmax&&i.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new y,e.extent=e.transform.forwardTransform(t))}_computeMinMaxLOD(e,t){const{pixelSize:i}=e,s=.5/e.width*i.x,{lods:r}=t,a=t.lodAt(Math.max.apply(null,r.map((e=>e.level)))),l=t.lodAt(Math.min.apply(null,r.map((e=>e.level)))),{tileType:o}=this;if("Map"===o)return this._levelOffset=r[0].level,[a,l];if("Raster"===o){return[r.find((e=>e.resolution===i.x))??a,l]}const{minScale:n,maxScale:c}=this.sourceJSON;let m=a;c>0&&(m=r.find((e=>Math.abs(e.scale-c)<s)),m||(m=r.filter((e=>e.scale>c)).sort(((e,t)=>e.scale>t.scale?1:-1))[0]??a));let h=l;return n>0&&(h=r.find((e=>Math.abs(e.scale-n)<s))??l,this._levelOffset=h.level-l.level),[m,h]}};e([l({type:String,json:{write:!0}})],S.prototype,"datasetFormat",void 0),e([l()],S.prototype,"tileType",void 0),S=e([o("esri.layers.support.rasterDatasets.ImageServerRaster")],S);const I=S;export{I as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import t from"../../../core/Error.js";import{isNone as i,isSome as s,unwrap as r}from"../../../core/maybe.js";import{urlToObject as a}from"../../../core/urlUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import n from"../RasterInfo.js";import c from"../RasterStorageInfo.js";import{readServiceTileInfo as m}from"../serviceTileInfoProperty.js";import h from"../TileInfo.js";import{TilemapCache as f}from"../TilemapCache.js";import p from"./BaseRaster.js";import{setValidBoundary as u}from"../rasterFunctions/pixelUtils.js";import y from"../rasterTransforms/GCSShiftTransform.js";import{fetchServiceRasterInfo as d}from"../../../rest/imageService/fetchRasterInfo.js";import x from"../../../geometry/SpatialReference.js";import g from"../../../geometry/Point.js";import v from"../../../geometry/Extent.js";let S=class extends p{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer"}async open(e){await this.init();const s=e&&e.signal,r=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:s});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const l=r.data;if(this.sourceJSON=l,!l)throw new t("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!l.tileInfo)throw new t("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo();const o=["jpg","jpeg","png","png8","png24","png32","mixed"];this.tileType=l.cacheType,null==this.tileType&&(o.includes(l.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===l.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=l.name?.slice(l.name.indexOf("/")+1)??"";const n=await this._fetchRasterInfo({signal:s});if(i(n))throw new t("image-server-raster:open","cannot initialize image service");const p="Map"===this.tileType?m(l.tileInfo,l):h.fromJSON(l.tileInfo),[u,y]=this._computeMinMaxLOD(n,p),{extent:d,pixelSize:x}=n,g=.5/n.width*x.x,v=Math.max(x.x,x.y),{lods:S}=p;("Map"!==this.tileType&&0!==l.maxScale||Math.abs(x.x-x.y)>g||!S.some((e=>Math.abs(e.resolution-v)<g)))&&(x.x=x.y=u.resolution,n.width=Math.ceil((d.xmax-d.xmin)/x.x-.1),n.height=Math.ceil((d.ymax-d.ymin)/x.y-.1));const I=u.level-y.level,[w,j]=p.size,b=[];S.forEach((e=>{e.level>=y.level&&e.level<=u.level&&b.push({x:e.resolution,y:e.resolution})})),b.sort(((e,t)=>e.x-t.x));const T=this.computeBlockBoundary(d,w,j,p.origin,b,I),_=b.length>1?b.slice(1):null;let M;if(l.transposeInfo&&(M={tileSize:[l.transposeInfo.rows,l.transposeInfo.cols],packetSize:n.keyProperties?._yxs.PacketSize??0}),n.storageInfo=new c({blockWidth:p.size[0],blockHeight:p.size[1],pyramidBlockWidth:p.size[0],pyramidBlockHeight:p.size[1],pyramidResolutions:_,compression:p.format,origin:p.origin,firstPyramidLevel:1,maximumPyramidLevel:I,tileInfo:p,transposeInfo:M,blockBoundary:T}),this._fixGCSShift(n),this._set("rasterInfo",n),l.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:n.storageInfo.tileInfo,parsedUrl:a(this.url),url:this.url,tileServers:[],type:"tile"};this._tilemapCache=new f({layer:e})}}async fetchRawTile(e,t,i,r={}){const{storageInfo:a,extent:l}=this.rasterInfo,{transposeInfo:o}=a,n=s(o)&&!!r.transposedVariableName;if(this._slices&&!n&&null==r.sliceId)return null;const c=n?0:a.maximumPyramidLevel-e+this._levelOffset,m=`${this.url}/tile/${c}/${t}/${i}`,h=this._slices?n?{variable:r.transposedVariableName}:{sliceId:r.sliceId||0}:null,{data:f}=await this.request(m,{query:h,responseType:"array-buffer",signal:r.signal});if(!f)return null;const p=n?o.tileSize:a.tileInfo.size,y=await this.decodePixelBlock(f,{width:p[0],height:p[1],planes:null,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:n}),d=a.blockBoundary[e];if("jpg"!==a.compression||i>d.minCol&&i<d.maxCol&&t>d.minRow&&t<d.maxRow)return y;const{origin:x,blockWidth:g,blockHeight:v}=a,{x:S,y:I}=this.getPyramidPixelSize(e),w=Math.round((l.xmin-x.x)/S)%g,j=Math.round((l.xmax-x.x)/S)%g||g,b=Math.round((x.y-l.ymax)/I)%v,T=Math.round((x.y-l.ymin)/I)%v||v,_=i===d.minCol?w:0,M=t===d.minRow?b:0,R=i===d.maxCol?j:g,z=t===d.maxRow?T:v;return u(y,{x:_,y:M},{width:R-_,height:z-M}),y}getSliceIndex(e){if(!this._slices||i(e)||0===e.length)return null;const t=e;for(let i=0;i<this._slices.length;i++){const e=this._slices[i].multidimensionalDefinition;if(e.length===t.length&&!e.some((e=>{const i=t.find((t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName));if(!i)return!0;return(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])})))return i}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then((e=>e.data?.statistics)),s=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then((e=>e.data?.histograms)),r=await Promise.all([i,s]);return r[0]&&r[0].forEach((e=>{e.avg=e.mean,e.stddev=e.standardDeviation})),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,r(t.datumTransformation));if(null===i)return null;let s=0;const{maximumPyramidLevel:a}=this.rasterInfo.storageInfo;let l=a-s+this._levelOffset;const o=i.srcLocation;for(;l>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(l,i.row,i.col,t))break}catch{}if(l--,s++,i=this.identifyPixelLocation(o,s,r(t.datumTransformation)),null===i)return null}return-1===l||null==i?null:s}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),s=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=x.fromJSON(t.spatialReference||e.spatialReference),a=new g({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new n({width:i,height:s,bandCount:3,extent:v.fromJSON(e),spatialReference:r,pixelSize:a,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const{signal:i}=e,s=d(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),r=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:"json"},signal:i}).then((e=>e.data&&e.data.slices)).catch((()=>null)):null,a=await Promise.all([s,r]);return this._slices=a[1],a[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_fixGCSShift(e){const{extent:t,spatialReference:i}=e;0===t.xmin&&360===t.xmax&&i.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new y,e.extent=e.transform.forwardTransform(t))}_computeMinMaxLOD(e,t){const{pixelSize:i}=e,s=.5/e.width*i.x,{lods:r}=t,a=t.lodAt(Math.max.apply(null,r.map((e=>e.level)))),l=t.lodAt(Math.min.apply(null,r.map((e=>e.level)))),{tileType:o}=this;if("Map"===o)return this._levelOffset=r[0].level,[a,l];if("Raster"===o){return[r.find((e=>e.resolution===i.x))??a,l]}const{minScale:n,maxScale:c}=this.sourceJSON;let m=a;c>0&&(m=r.find((e=>Math.abs(e.scale-c)<s)),m||(m=r.filter((e=>e.scale>c)).sort(((e,t)=>e.scale>t.scale?1:-1))[0]??a));let h=l;return n>0&&(h=r.find((e=>Math.abs(e.scale-n)<s))??l,this._levelOffset=h.level-l.level),[m,h]}};e([l({type:String,json:{write:!0}})],S.prototype,"datasetFormat",void 0),e([l()],S.prototype,"tileType",void 0),S=e([o("esri.layers.support.rasterDatasets.ImageServerRaster")],S);const I=S;export{I as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{getAssetUrl as e}from"../../../assets.js";const t=[{pixelType:"S8",size:1,ctor:Int8Array,range:[-128,128]},{pixelType:"U8",size:1,ctor:Uint8Array,range:[0,255]},{pixelType:"S16",size:2,ctor:Int16Array,range:[-32768,32767]},{pixelType:"U16",size:2,ctor:Uint16Array,range:[0,65536]},{pixelType:"S32",size:4,ctor:Int32Array,range:[-2147483648,2147483647]},{pixelType:"U32",size:4,ctor:Uint32Array,range:[0,4294967296]},{pixelType:"F32",size:4,ctor:Float32Array,range:[-34027999387901484e22,34027999387901484e22]},{pixelType:"F64",size:8,ctor:Float64Array,range:[-17976931348623157e292,17976931348623157e292]}];let n=null,r=!1;function a(){return n||(n=import("../../../chunks/lerc-wasm.js").then((e=>e.l)).then((({default:t})=>t({locateFile:t=>e(`esri/layers/support/rasterFormats/${t}`)}))).then((e=>{u(e),r=!0})),n)}function l(){return r}const i={getBlobInfo:null,decode:null};function o(e){return 16+(e>>3<<3)}function s(e,t,n){n.set(e.slice(t,t+n.length))}function u(e){const{_malloc:n,_free:r,_lerc_getBlobInfo:a,_lerc_getDataRanges:l,_lerc_decode_4D:u,asm:f}=e;let c;const y=Object.values(f).find((t=>t&&"buffer"in t&&t.buffer===e.HEAPU8.buffer)),p=e=>{const t=e.map((e=>o(e))),r=t.reduce(((e,t)=>e+t)),a=n(r);c=new Uint8Array(y.buffer);let l=t[0];t[0]=a;for(let n=1;n<t.length;n++){const e=t[n];t[n]=t[n-1]+l,l=e}return t};i.getBlobInfo=e=>{const t=12,n=3,i=new Uint8Array(4*t),o=new Uint8Array(8*n),[u,f,h]=p([e.length,i.length,o.length]);c.set(e,u),c.set(i,f),c.set(o,h);let g=a(u,e.length,f,h,t,n);if(g)throw r(u),`lerc-getBlobInfo: error code is ${g}`;c=new Uint8Array(y.buffer),s(c,f,i),s(c,h,o);const d=new Uint32Array(i.buffer),b=new Float64Array(o.buffer),[m,A,w,U,x,T,C,V,z,,D]=d,F={version:m,dimCount:w,width:U,height:x,validPixelCount:C,bandCount:T,blobSize:V,maskCount:z,dataType:A,minValue:b[0],maxValue:b[1],maxZerror:b[2],statistics:[],bandCountWithNoData:D};if(D)return F;if(1===w&&1===T)return r(u),F.statistics.push({minValue:b[0],maxValue:b[1]}),F;const I=w*T*8,_=new Uint8Array(I),k=new Uint8Array(I);let B=u,v=0,S=0,O=!1;if(c.byteLength<u+2*I?(r(u),O=!0,[B,v,S]=p([e.length,I,I]),c.set(e,B)):[v,S]=p([I,I]),c.set(_,v),c.set(k,S),g=l(B,e.length,w,T,v,S),g)throw r(B),O||r(v),`lerc-getDataRanges: error code is ${g}`;c=new Uint8Array(y.buffer),s(c,v,_),s(c,S,k);const $=new Float64Array(_.buffer),j=new Float64Array(k.buffer),M=F.statistics;for(let r=0;r<T;r++)if(w>1){const e=$.slice(r*w,(r+1)*w),t=j.slice(r*w,(r+1)*w),n=Math.min.apply(null,e),a=Math.max.apply(null,t);M.push({minValue:n,maxValue:a,dimStats:{minValues:e,maxValues:t}})}else M.push({minValue:$[r],maxValue:j[r]});return r(B),O||r(v),F},i.decode=(e,n)=>{const{maskCount:a,dimCount:l,bandCount:i,width:o,height:f,dataType:h,bandCountWithNoData:g}=n,d=t[h],b=o*f,m=new Uint8Array(b*i),A=b*l*i*d.size,w=new Uint8Array(A),U=new Uint8Array(i),x=new Uint8Array(8*i),[T,C,V,z,D]=p([e.length,m.length,w.length,U.length,x.length]);c.set(e,T),c.set(m,C),c.set(w,V),c.set(U,z),c.set(x,D);const F=u(T,e.length,a,C,l,o,f,i,h,V,z,D);if(F)throw r(T),`lerc-decode: error code is ${F}`;c=new Uint8Array(y.buffer),s(c,V,w),s(c,C,m);let I=null;if(g){s(c,z,U),s(c,D,x),I=[];const e=new Float64Array(x.buffer);for(let t=0;t<U.length;t++)I.push(U[t]?e[t]:null)}return r(T),{data:w,maskData:m,noDataValues:I}}}function f(e,t,n,r,a){if(n<2)return e;const l=new r(t*n);if(a)for(let i=0,o=0;i<t;i++)for(let r=0,a=i;r<n;r++,a+=t)l[a]=e[o++];else for(let i=0,o=0;i<t;i++)for(let r=0,a=i;r<n;r++,a+=t)l[o++]=e[a];return l}function c(e,n={}){const r=n.inputOffset??0,a=e instanceof Uint8Array?e.subarray(r):new Uint8Array(e,r),l=i.getBlobInfo(a),{data:o,maskData:s}=i.decode(a,l),{width:u,height:c,bandCount:y,dimCount:p,dataType:h,maskCount:g,statistics:d}=l,b=t[h],m=new b.ctor(o.buffer),A=[],w=[],U=u*c,x=U*p;for(let t=0;t<y;t++){const e=m.subarray(t*x,(t+1)*x);if(n.returnPixelInterleavedDims)A.push(e);else{const t=f(e,U,p,b.ctor,!0);A.push(t)}w.push(s.subarray(t*x,(t+1)*x))}const T=0===g?null:1===g?w[0]:new Uint8Array(U);if(g>1){T.set(w[0]);for(let e=1;e<w.length;e++){const t=w[e];for(let e=0;e<U;e++)T[e]=T[e]&t[e]}}const{noDataValue:C}=n,V=null!=C&&b.range[0]<=C&&b.range[1]>=C;if(g>0&&V)for(let t=0;t<y;t++){const e=A[t],n=w[t]||T;for(let t=0;t<U;t++)0===n[t]&&(e[t]=C)}const z=g===y&&y>1?w:null;return{width:u,height:c,bandCount:y,pixelType:n.pixelType&&0===l.version?n.pixelType:b.pixelType,dimCount:p,statistics:d,pixels:A,mask:T,bandMasks:z}}function y(e,t={}){const n=e instanceof Uint8Array?e.subarray(t.inputOffset??0):new Uint8Array(e,t.inputOffset??0);return i.getBlobInfo(n)}export{c as decode,y as getBlobInfo,l as isLoaded,a as load};
5
+ import{getAssetUrl as e}from"../../../assets.js";const t=[{pixelType:"S8",size:1,ctor:Int8Array,range:[-128,128]},{pixelType:"U8",size:1,ctor:Uint8Array,range:[0,255]},{pixelType:"S16",size:2,ctor:Int16Array,range:[-32768,32767]},{pixelType:"U16",size:2,ctor:Uint16Array,range:[0,65536]},{pixelType:"S32",size:4,ctor:Int32Array,range:[-2147483648,2147483647]},{pixelType:"U32",size:4,ctor:Uint32Array,range:[0,4294967296]},{pixelType:"F32",size:4,ctor:Float32Array,range:[-34027999387901484e22,34027999387901484e22]},{pixelType:"F64",size:8,ctor:Float64Array,range:[-17976931348623157e292,17976931348623157e292]}];let n=null,r=!1;function a(){return n||(n=import("../../../chunks/lerc-wasm.js").then((e=>e.l)).then((({default:t})=>t({locateFile:t=>e(`esri/layers/support/rasterFormats/${t}`)}))).then((e=>{u(e),r=!0})),n)}function o(){return r}const l={getBlobInfo:null,decode:null};function s(e){return 16+(e>>3<<3)}function i(e,t,n){n.set(e.slice(t,t+n.length))}function u(e){const{_malloc:n,_free:r,_lerc_getBlobInfo:a,_lerc_getDataRanges:o,_lerc_decode_4D:u,asm:f}=e;let c;const h=Object.values(f).find((t=>t&&"buffer"in t&&t.buffer===e.HEAPU8.buffer)),y=e=>{const t=e.map((e=>s(e))),r=t.reduce(((e,t)=>e+t)),a=n(r);c=new Uint8Array(h.buffer);let o=t[0];t[0]=a;for(let n=1;n<t.length;n++){const e=t[n];t[n]=t[n-1]+o,o=e}return t};l.getBlobInfo=e=>{const t=12,n=3,l=new Uint8Array(4*t),s=new Uint8Array(8*n),[u,f,p]=y([e.length,l.length,s.length]);c.set(e,u),c.set(l,f),c.set(s,p);let g=a(u,e.length,f,p,t,n);if(g)throw r(u),`lerc-getBlobInfo: error code is ${g}`;c=new Uint8Array(h.buffer),i(c,f,l),i(c,p,s);const d=new Uint32Array(l.buffer),b=new Float64Array(s.buffer),[A,w,,m,U,x,C,T,V,z,F]=d,I={version:A,depthCount:z,width:m,height:U,validPixelCount:C,bandCount:x,blobSize:T,maskCount:V,dataType:w,minValue:b[0],maxValue:b[1],maxZerror:b[2],statistics:[],bandCountWithNoData:F};if(F)return I;if(1===z&&1===x)return r(u),I.statistics.push({minValue:b[0],maxValue:b[1]}),I;const D=z*x*8,_=new Uint8Array(D),k=new Uint8Array(D);let B=u,S=0,v=0,O=!1;if(c.byteLength<u+2*D?(r(u),O=!0,[B,S,v]=y([e.length,D,D]),c.set(e,B)):[S,v]=y([D,D]),c.set(_,S),c.set(k,v),g=o(B,e.length,z,x,S,v),g)throw r(B),O||r(S),`lerc-getDataRanges: error code is ${g}`;c=new Uint8Array(h.buffer),i(c,S,_),i(c,v,k);const $=new Float64Array(_.buffer),j=new Float64Array(k.buffer),M=I.statistics;for(let r=0;r<x;r++)if(z>1){const e=$.slice(r*z,(r+1)*z),t=j.slice(r*z,(r+1)*z),n=Math.min.apply(null,e),a=Math.max.apply(null,t);M.push({minValue:n,maxValue:a,depthStats:{minValues:e,maxValues:t}})}else M.push({minValue:$[r],maxValue:j[r]});return r(B),O||r(S),I},l.decode=(e,n)=>{const{maskCount:a,depthCount:o,bandCount:l,width:s,height:f,dataType:p,bandCountWithNoData:g}=n,d=t[p],b=s*f,A=new Uint8Array(b*l),w=b*o*l*d.size,m=new Uint8Array(w),U=new Uint8Array(l),x=new Uint8Array(8*l),[C,T,V,z,F]=y([e.length,A.length,m.length,U.length,x.length]);c.set(e,C),c.set(A,T),c.set(m,V),c.set(U,z),c.set(x,F);const I=u(C,e.length,a,T,o,s,f,l,p,V,z,F);if(I)throw r(C),`lerc-decode: error code is ${I}`;c=new Uint8Array(h.buffer),i(c,V,m),i(c,T,A);let D=null;if(g){i(c,z,U),i(c,F,x),D=[];const e=new Float64Array(x.buffer);for(let t=0;t<U.length;t++)D.push(U[t]?e[t]:null)}return r(C),{data:m,maskData:A,noDataValues:D}}}function f(e,t,n,r,a){if(n<2)return e;const o=new r(t*n);if(a)for(let l=0,s=0;l<t;l++)for(let r=0,a=l;r<n;r++,a+=t)o[a]=e[s++];else for(let l=0,s=0;l<t;l++)for(let r=0,a=l;r<n;r++,a+=t)o[s++]=e[a];return o}function c(e,n={}){const r=n.inputOffset??0,a=e instanceof Uint8Array?e.subarray(r):new Uint8Array(e,r),o=l.getBlobInfo(a),{data:s,maskData:i}=l.decode(a,o),{width:u,height:c,bandCount:h,depthCount:y,dataType:p,maskCount:g,statistics:d}=o,b=t[p],A=new b.ctor(s.buffer),w=[],m=[],U=u*c,x=U*y;for(let t=0;t<h;t++){const e=A.subarray(t*x,(t+1)*x);if(n.returnInterleaved)w.push(e);else{const t=f(e,U,y,b.ctor,!0);w.push(t)}m.push(i.subarray(t*x,(t+1)*x))}const C=0===g?null:1===g?m[0]:new Uint8Array(U);if(g>1){C.set(m[0]);for(let e=1;e<m.length;e++){const t=m[e];for(let e=0;e<U;e++)C[e]=C[e]&t[e]}}const{noDataValue:T}=n,V=null!=T&&b.range[0]<=T&&b.range[1]>=T;if(g>0&&V)for(let t=0;t<h;t++){const e=w[t],n=m[t]||C;for(let t=0;t<U;t++)0===n[t]&&(e[t]=T)}const z=g===h&&h>1?m:null,{pixelType:F}=b;return{width:u,height:c,bandCount:h,pixelType:F,depthCount:y,statistics:d,pixels:w,mask:C,bandMasks:z}}function h(e,t={}){const n=e instanceof Uint8Array?e.subarray(t.inputOffset??0):new Uint8Array(e,t.inputOffset??0);return l.getBlobInfo(n)}export{c as decode,h as getBlobInfo,o as isLoaded,a as load};