@etu-wiki/sharp-iiif-shims 0.1.25 → 0.1.26
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.
- package/dist/index.cjs +4 -4
- package/dist/index.mjs +5 -5
- package/package.json +4 -2
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var ua=Object.create;var
|
|
1
|
+
var ua=Object.create;var Je=Object.defineProperty;var Ca=Object.getOwnPropertyDescriptor;var Ea=Object.getOwnPropertyNames;var Qa=Object.getPrototypeOf,da=Object.prototype.hasOwnProperty;var cA=(e,t)=>()=>(e&&(t=e(e=0)),t);var QA=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),GA=(e,t)=>{for(var A in t)Je(e,A,{get:t[A],enumerable:!0})},cn=(e,t,A,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ea(t))!da.call(e,n)&&n!==A&&Je(e,n,{get:()=>t[n],enumerable:!(i=Ca(t,n))||i.enumerable});return e};var HA=(e,t,A)=>(A=e!=null?ua(Qa(e)):{},cn(t||!e||!e.__esModule?Je(A,"default",{value:e,enumerable:!0}):A,e)),xa=e=>cn(Je({},"__esModule",{value:!0}),e);var Nn=QA((ec,ti)=>{function Ln(e,t,A){let i=A&&A.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+e);let n=typeof e=="object"?e.outer:e,r=n.slice(0,n.indexOf(">")+1),g=['"',"'"];for(let o=0;o<g.length;o++){let l=g[o],a=t+"\\="+l+"([^"+l+"]*)"+l;i&&console.log("[xml-utils] pattern:",a);let I=new RegExp(a).exec(r);if(i&&console.log("[xml-utils] match:",I),I)return I[1]}}ti.exports=Ln;ti.exports.default=Ln});var On=QA((tc,ii)=>{function Tn(e,t,A){let n=new RegExp(t).exec(e.slice(A));return n?A+n.index:-1}ii.exports=Tn;ii.exports.default=Tn});var Hn=QA((ic,ni)=>{function qn(e,t,A){let n=new RegExp(t).exec(e.slice(A));return n?A+n.index+n[0].length-1:-1}ni.exports=qn;ni.exports.default=qn});var Jn=QA((nc,ri)=>{function Yn(e,t){let A=new RegExp(t,"g"),i=e.match(A);return i?i.length:0}ri.exports=Yn;ri.exports.default=Yn});var Pn=QA((rc,ai)=>{var Na=On(),oi=Hn(),Kn=Jn();function zn(e,t,A){let i=A&&A.debug||!1,n=!(A&&typeof A.nested===!1),r=A&&A.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",A);let g=Na(e,`<${t}[
|
|
2
2
|
>/]`,r);if(i&&console.log("[xml-utils] start:",g),g===-1)return;let o=e.slice(g+t.length),l=oi(o,"^[^<]*[ /]>",0),a=l!==-1&&o[l-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",a),a===!1)if(n){let f=0,h=1,B=0;for(;(l=oi(o,"[ /]"+t+">",f))!==-1;){let u=o.substring(f,l+1);if(h+=Kn(u,"<"+t+`[
|
|
3
|
-
>]`),B+=Kn(u,"</"+t+">"),B>=h)break;f=l}}else l=oi(o,"[ /]"+t+">",0);let s=g+t.length+l+1;if(i&&console.log("[xml-utils] end:",s),s===-1)return;let I=e.slice(g,s),c;return a?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:g,end:s}}ai.exports=zn;ai.exports.default=zn});var Zn=QA((oc,si)=>{var Ta=Pn();function Vn(e,t,A){let i=[],n=A&&A.debug||!1,r=A&&typeof A.nested=="boolean"?A.nested:!0,g=A&&A.startIndex||0,o;for(;o=Ta(e,t,{debug:n,startIndex:g});)r?g=o.start+1+t.length:g=o.end,i.push(o);return n&&console.log("findTagsByName found",i.length,"tags"),i}si.exports=Vn;si.exports.default=Vn});var ee,wA,Xn,li,q,oA,jn,Wn,nt,de,Oa,rt=cA(()=>{ee={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},wA={};for(let e in ee)ee.hasOwnProperty(e)&&(wA[ee[e]]=parseInt(e,10));Xn=[wA.BitsPerSample,wA.ExtraSamples,wA.SampleFormat,wA.StripByteCounts,wA.StripOffsets,wA.StripRowCounts,wA.TileByteCounts,wA.TileOffsets,wA.SubIFDs],li={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},q={};for(let e in li)li.hasOwnProperty(e)&&(q[li[e]]=parseInt(e,10));oA={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},jn={Unspecified:0,Assocalpha:1,Unassalpha:2},Wn={Version:0,AddCompression:1},nt={None:0,Deflate:1,Zstandard:2},de={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Oa={};for(let e in de)de.hasOwnProperty(e)&&(Oa[de[e]]=parseInt(e,10))});function Ja(e,t){let A=e.length-t,i=0;do{for(let n=t;n>0;n--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Ka(e,t,A){let i=0,n=e.length,r=n/A;for(;n>t;){for(let o=t;o>0;--o)e[i+t]+=e[i],++i;n-=t}let g=e.slice();for(let o=0;o<r;++o)for(let l=0;l<A;++l)e[A*o+l]=g[(A-l-1)*r+o]}function rr(e,t,A,i,n,r){if(!t||t===1)return e;for(let l=0;l<n.length;++l){if(n[l]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(n[l]!==n[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let g=n[0]/8,o=r===2?1:n.length;for(let l=0;l<i&&!(l*o*A*g>=e.byteLength);++l){let a;if(t===2){switch(n[0]){case 8:a=new Uint8Array(e,l*o*A*g,o*A*g);break;case 16:a=new Uint16Array(e,l*o*A*g,o*A*g/2);break;case 32:a=new Uint32Array(e,l*o*A*g,o*A*g/4);break;default:throw new Error(`Predictor 2 not allowed with ${n[0]} bits per sample.`)}Ja(a,o,g)}else t===3&&(a=new Uint8Array(e,l*o*A*g,o*A*g),Ka(a,o,g))}return e}var or=cA(()=>{});var $,DA=cA(()=>{or();$=class{async decode(t,A){let i=await this.decodeBlock(A),n=t.Predictor||1;if(n!==1){let r=!t.StripOffsets,g=r?t.TileWidth:t.ImageWidth,o=r?t.TileLength:t.RowsPerStrip||t.ImageLength;return rr(i,n,g,o,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var ar={};GA(ar,{default:()=>ot});var ot,sr=cA(()=>{DA();ot=class extends ${decodeBlock(t){return t}}});var gr={};GA(gr,{default:()=>at});function Pa(e,t,A){let i=t%8,n=Math.floor(t/8),r=8-i,g=t+A-(n+1)*8,o=8*(n+2)-(t+A),l=(n+2)*8-t;if(o=Math.max(0,o),n>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),ci;let a=e[n]&2**(8-i)-1;a<<=A-r;let s=a;if(n+1<e.length){let I=e[n+1]>>>o;I<<=Math.max(0,A-l),s+=I}if(g>8&&n+2<e.length){let I=(n+3)*8-(t+A),c=e[n+2]>>>I;s+=c}return s}function fi(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function Va(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,n=lr,r=0;function g(){i=258,n=lr}function o(h){let B=Pa(h,r,n);return r+=n,B}function l(h,B){return A[i]=B,t[i]=h,i++,i-1}function a(h){let B=[];for(let u=h;u!==4096;u=t[u])B.push(A[u]);return B}let s=[];g();let I=new Uint8Array(e),c=o(I),f;for(;c!==ci;){if(c===gi){for(g(),c=o(I);c===gi;)c=o(I);if(c===ci)break;if(c>gi)throw new Error(`corrupted code at scanline ${c}`);{let h=a(c);fi(s,h),f=c}}else if(c<i){let h=a(c);fi(s,h),l(f,h[h.length-1]),f=c}else{let h=a(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${r}`);fi(s,h),s.push(h[h.length-1]),l(f,h[h.length-1]),f=c}i+1>=2**n&&(n===za?f=void 0:n++),c=o(I)}return new Uint8Array(s)}var lr,gi,ci,za,at,fr=cA(()=>{DA();lr=9,gi=256,ci=257,za=12;at=class extends ${decodeBlock(t){return Va(t,!1).buffer}}});var Ir={};GA(Ir,{default:()=>Bt});function cr(e,t){let A=0,i=[],n=16;for(;n>0&&!e[n-1];)--n;i.push({children:[],index:0});let r=i[0],g;for(let o=0;o<n;o++){for(let l=0;l<e[o];l++){for(r=i.pop(),r.children[r.index]=t[A];r.index>0;)r=i.pop();for(r.index++,i.push(r);i.length<=o;)i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g;A++}o+1<n&&(i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g)}return i[0].children}function Za(e,t,A,i,n,r,g,o,l){let{mcusPerLine:a,progressive:s}=A,I=t,c=t,f=0,h=0;function B(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let L=e[c++];if(L)throw new Error(`unexpected marker: ${(f<<8|L).toString(16)}`)}return h=7,f>>>7}function u(L){let G=L,N;for(;(N=B())!==null;){if(G=G[N],typeof G=="number")return G;if(typeof G!="object")throw new Error("invalid huffman sequence")}return null}function d(L){let G=L,N=0;for(;G>0;){let V=B();if(V===null)return;N=N<<1|V,--G}return N}function E(L){let G=d(L);return G>=1<<L-1?G:G+(-1<<L)+1}function x(L,G){let N=u(L.huffmanTableDC),V=N===0?0:E(N);L.pred+=V,G[0]=L.pred;let Z=1;for(;Z<64;){let W=u(L.huffmanTableAC),j=W&15,tA=W>>4;if(j===0){if(tA<15)break;Z+=16}else{Z+=tA;let gA=xe[Z];G[gA]=E(j),Z++}}}function w(L,G){let N=u(L.huffmanTableDC),V=N===0?0:E(N)<<l;L.pred+=V,G[0]=L.pred}function Q(L,G){G[0]|=B()<<l}let C=0;function y(L,G){if(C>0){C--;return}let N=r,V=g;for(;N<=V;){let Z=u(L.huffmanTableAC),W=Z&15,j=Z>>4;if(W===0){if(j<15){C=d(j)+(1<<j)-1;break}N+=16}else{N+=j;let tA=xe[N];G[tA]=E(W)*(1<<l),N++}}}let p=0,b;function m(L,G){let N=r,V=g,Z=0;for(;N<=V;){let W=xe[N],j=G[W]<0?-1:1;switch(p){case 0:{let tA=u(L.huffmanTableAC),gA=tA&15;if(Z=tA>>4,gA===0)Z<15?(C=d(Z)+(1<<Z),p=4):(Z=16,p=1);else{if(gA!==1)throw new Error("invalid ACn encoding");b=E(gA),p=Z?2:3}continue}case 1:case 2:G[W]?G[W]+=(B()<<l)*j:(Z--,Z===0&&(p=p===2?3:0));break;case 3:G[W]?G[W]+=(B()<<l)*j:(G[W]=b<<l,p=0);break;case 4:G[W]&&(G[W]+=(B()<<l)*j);break;default:break}N++}p===4&&(C--,C===0&&(p=0))}function k(L,G,N,V,Z){let W=N/a|0,j=N%a,tA=W*L.v+V,gA=j*L.h+Z;G(L,L.blocks[tA][gA])}function S(L,G,N){let V=N/L.blocksPerLine|0,Z=N%L.blocksPerLine;G(L,L.blocks[V][Z])}let T=i.length,D,_,v,O,F,M;s?r===0?M=o===0?w:Q:M=o===0?y:m:M=x;let U=0,H,J;T===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=a*A.mcusPerColumn;let K=n||J;for(;U<J;){for(_=0;_<T;_++)i[_].pred=0;if(C=0,T===1)for(D=i[0],F=0;F<K;F++)S(D,M,U),U++;else for(F=0;F<K;F++){for(_=0;_<T;_++){D=i[_];let{h:L,v:G}=D;for(v=0;v<G;v++)for(O=0;O<L;O++)k(D,M,U,v,O)}if(U++,U===J)break}if(h=0,H=e[c]<<8|e[c+1],H<65280)throw new Error("marker was not found");if(H>=65488&&H<=65495)c+=2;else break}return c-I}function Xa(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:n}=t,r=i<<3,g=new Int32Array(64),o=new Uint8Array(64);function l(a,s,I){let c=t.quantizationTable,f,h,B,u,d,E,x,w,Q,C=I,y;for(y=0;y<64;y++)C[y]=a[y]*c[y];for(y=0;y<8;++y){let p=8*y;if(C[1+p]===0&&C[2+p]===0&&C[3+p]===0&&C[4+p]===0&&C[5+p]===0&&C[6+p]===0&&C[7+p]===0){Q=te*C[0+p]+512>>10,C[0+p]=Q,C[1+p]=Q,C[2+p]=Q,C[3+p]=Q,C[4+p]=Q,C[5+p]=Q,C[6+p]=Q,C[7+p]=Q;continue}f=te*C[0+p]+128>>8,h=te*C[4+p]+128>>8,B=C[2+p],u=C[6+p],d=ht*(C[1+p]-C[7+p])+128>>8,w=ht*(C[1+p]+C[7+p])+128>>8,E=C[3+p]<<4,x=C[5+p]<<4,Q=f-h+1>>1,f=f+h+1>>1,h=Q,Q=B*It+u*ct+128>>8,B=B*ct-u*It+128>>8,u=Q,Q=d-x+1>>1,d=d+x+1>>1,x=Q,Q=w+E+1>>1,E=w-E+1>>1,w=Q,Q=f-u+1>>1,f=f+u+1>>1,u=Q,Q=h-B+1>>1,h=h+B+1>>1,B=Q,Q=d*ft+w*gt+2048>>12,d=d*gt-w*ft+2048>>12,w=Q,Q=E*lt+x*st+2048>>12,E=E*st-x*lt+2048>>12,x=Q,C[0+p]=f+w,C[7+p]=f-w,C[1+p]=h+x,C[6+p]=h-x,C[2+p]=B+E,C[5+p]=B-E,C[3+p]=u+d,C[4+p]=u-d}for(y=0;y<8;++y){let p=y;if(C[1*8+p]===0&&C[2*8+p]===0&&C[3*8+p]===0&&C[4*8+p]===0&&C[5*8+p]===0&&C[6*8+p]===0&&C[7*8+p]===0){Q=te*I[y+0]+8192>>14,C[0*8+p]=Q,C[1*8+p]=Q,C[2*8+p]=Q,C[3*8+p]=Q,C[4*8+p]=Q,C[5*8+p]=Q,C[6*8+p]=Q,C[7*8+p]=Q;continue}f=te*C[0*8+p]+2048>>12,h=te*C[4*8+p]+2048>>12,B=C[2*8+p],u=C[6*8+p],d=ht*(C[1*8+p]-C[7*8+p])+2048>>12,w=ht*(C[1*8+p]+C[7*8+p])+2048>>12,E=C[3*8+p],x=C[5*8+p],Q=f-h+1>>1,f=f+h+1>>1,h=Q,Q=B*It+u*ct+2048>>12,B=B*ct-u*It+2048>>12,u=Q,Q=d-x+1>>1,d=d+x+1>>1,x=Q,Q=w+E+1>>1,E=w-E+1>>1,w=Q,Q=f-u+1>>1,f=f+u+1>>1,u=Q,Q=h-B+1>>1,h=h+B+1>>1,B=Q,Q=d*ft+w*gt+2048>>12,d=d*gt-w*ft+2048>>12,w=Q,Q=E*lt+x*st+2048>>12,E=E*st-x*lt+2048>>12,x=Q,C[0*8+p]=f+w,C[7*8+p]=f-w,C[1*8+p]=h+x,C[6*8+p]=h-x,C[2*8+p]=B+E,C[5*8+p]=B-E,C[3*8+p]=u+d,C[4*8+p]=u-d}for(y=0;y<64;++y){let p=128+(C[y]+8>>4);p<0?s[y]=0:p>255?s[y]=255:s[y]=p}}for(let a=0;a<n;a++){let s=a<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(r));for(let I=0;I<i;I++){l(t.blocks[a][I],o,g);let c=0,f=I<<3;for(let h=0;h<8;h++){let B=A[s+h];for(let u=0;u<8;u++)B[f+u]=o[c++]}}}return A}var xe,st,lt,gt,ft,ct,It,te,ht,Ii,Bt,hr=cA(()=>{DA();xe=new Int32Array([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]),st=4017,lt=799,gt=3406,ft=2276,ct=1567,It=3784,te=5793,ht=2896;Ii=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let o=t[A]<<8|t[A+1];return A+=2,o}function n(){let o=i(),l=t.subarray(A,A+o-2);return A+=l.length,l}function r(o){let l=0,a=0,s,I;for(I in o.components)o.components.hasOwnProperty(I)&&(s=o.components[I],l<s.h&&(l=s.h),a<s.v&&(a=s.v));let c=Math.ceil(o.samplesPerLine/8/l),f=Math.ceil(o.scanLines/8/a);for(I in o.components)if(o.components.hasOwnProperty(I)){s=o.components[I];let h=Math.ceil(Math.ceil(o.samplesPerLine/8)*s.h/l),B=Math.ceil(Math.ceil(o.scanLines/8)*s.v/a),u=c*s.h,d=f*s.v,E=[];for(let x=0;x<d;x++){let w=[];for(let Q=0;Q<u;Q++)w.push(new Int32Array(64));E.push(w)}s.blocksPerLine=h,s.blocksPerColumn=B,s.blocks=E}o.maxH=l,o.maxV=a,o.mcusPerLine=c,o.mcusPerColumn=f}let g=i();if(g!==65496)throw new Error("SOI not found");for(g=i();g!==65497;){switch(g){case 65280:break;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:{let o=n();g===65504&&o[0]===74&&o[1]===70&&o[2]===73&&o[3]===70&&o[4]===0&&(this.jfif={version:{major:o[5],minor:o[6]},densityUnits:o[7],xDensity:o[8]<<8|o[9],yDensity:o[10]<<8|o[11],thumbWidth:o[12],thumbHeight:o[13],thumbData:o.subarray(14,14+3*o[12]*o[13])}),g===65518&&o[0]===65&&o[1]===100&&o[2]===111&&o[3]===98&&o[4]===101&&o[5]===0&&(this.adobe={version:o[6],flags0:o[7]<<8|o[8],flags1:o[9]<<8|o[10],transformCode:o[11]});break}case 65499:{let l=i()+A-2;for(;A<l;){let a=t[A++],s=new Int32Array(64);if(a>>4)if(a>>4===1)for(let I=0;I<64;I++){let c=xe[I];s[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=xe[I];s[c]=t[A++]}this.quantizationTables[a&15]=s}break}case 65472:case 65473:case 65474:{i();let o={extended:g===65473,progressive:g===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},l=t[A++],a;for(let s=0;s<l;s++){a=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];o.componentsOrder.push(a),o.components[a]={h:I,v:c,quantizationIdx:f},A+=3}r(o),this.frames.push(o);break}case 65476:{let o=i();for(let l=2;l<o;){let a=t[A++],s=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)s[f]=t[A],I+=s[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];l+=17+I,a>>4?this.huffmanTablesAC[a&15]=cr(s,c):this.huffmanTablesDC[a&15]=cr(s,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let o=t[A++],l=[],a=this.frames[0];for(let h=0;h<o;h++){let B=a.components[t[A++]],u=t[A++];B.huffmanTableDC=this.huffmanTablesDC[u>>4],B.huffmanTableAC=this.huffmanTablesAC[u&15],l.push(B)}let s=t[A++],I=t[A++],c=t[A++],f=Za(t,A,a,l,this.resetInterval,s,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${g.toString(16)}`)}g=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let s=0;s<this.frames.length;s++){let I=this.frames[s].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:n}=A,r=[],g=A.samplesPerLine,o=A.scanLines;for(let s=0;s<n.length;s++){let I=i[n[s]];r.push({lines:Xa(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let l=new Uint8Array(g*o*r.length),a=0;for(let s=0;s<o;++s)for(let I=0;I<g;++I)for(let c=0;c<r.length;++c){let f=r[c];l[a]=f.lines[0|s*f.scaleY][0|I*f.scaleX],++a}return l}},Bt=class extends ${constructor(t){super(),this.reader=new Ii,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function se(e){let t=e.length;for(;--t>=0;)e[t]=0}function Bi(e,t,A,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}function ui(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pA(e,t,A,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=n}function Ws(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_t,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Ys*2),this.dyn_dtree=new Uint16Array((2*qs+1)*2),this.bl_tree=new Uint16Array((2*Hs+1)*2),MA(this.dyn_ltree),MA(this.dyn_dtree),MA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Js+1),this.heap=new Uint16Array(2*Fi+1),MA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Fi+1),MA(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function dl(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function Ne(e){this.options=mt.assign({level:ml,method:bl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Dl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=me.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==pt)throw new Error(zA[A]);if(t.header&&me.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Ue.string2buf(t.dictionary):wo.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=me.deflateSetDictionary(this.strm,i),A!==pt)throw new Error(zA[A]);this._dict_set=!0}}function Hi(e,t){let A=new Ne(t);if(A.push(e,!0),A.err)throw A.msg||zA[A.err];return A.result}function kl(e,t){return t=t||{},t.raw=!0,Hi(e,t)}function Sl(e,t){return t=t||{},t.gzip=!0,Hi(e,t)}function $l(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ug(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function Te(e){this.options=mt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=SA.inflateInit2(this.strm,t.windowBits);if(A!==Ge)throw new Error(zA[A]);if(this.header=new Cg,SA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ue.string2buf(t.dictionary):Uo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=SA.inflateSetDictionary(this.strm,t.dictionary),A!==Ge)))throw new Error(zA[A])}function Yi(e,t){let A=new Te(t);if(A.push(e),A.err)throw A.msg||zA[A.err];return A.result}function wg(e,t){return t=t||{},t.raw=!0,Yi(e,t)}var ja,$r,Wa,$a,As,Li,Me,be,re,Ni,Ao,YA,hi,es,Ti,eo,to,io,bi,xt,ts,no,is,kA,_e,ke,Se,Oi,wt,ro,oo,ao,so,Fe,aA,yA,lo,ns,rs,go,os,fo,co,Br,Ci,ur,ki,Cr,Er,as,ss,ls,Qr,gs,Io,fs,cs,Is,hs,Bs,us,Cs,Es,Qs,ds,Re,xs,ws,ps,AA,zA,le,ys,Si,_s,NA,ms,TA,Ds,bs,IA,dr,eA,xr,_A,ks,Ei,Ss,Fs,ut,Rs,vs,Us,Gs,_t,Ms,Ls,Ns,Ts,Os,Fi,qs,Hs,Ys,Js,Y,LA,mA,Ks,oe,qi,Ri,vi,Ui,Gi,JA,pe,nA,ge,PA,fe,zs,KA,wr,MA,Ps,Vs,OA,sA,lA,z,we,Mi,ho,ae,Bo,Qi,ie,Zs,Xs,ye,js,Le,uo,Co,$s,Eo,Al,el,tl,il,nl,rl,ol,al,sl,ll,gl,fl,cl,me,Il,hl,Bl,mt,Qo,ve,ul,Cl,El,Ql,Ue,xo,wo,xl,wl,pl,yl,pt,_l,ml,Dl,bl,Fl,Rl,vl,Ul,Gl,Ml,Ct,Ll,Nl,ne,pr,yr,_r,di,mr,Tl,Ol,ql,Hl,Yl,De,Jl,po,yo,Dr,Kl,Et,VA,zl,Pl,hA,_o,mo,Vl,br,Dt,kr,Sr,Fr,Rr,vr,Ur,Gr,Mr,Lr,yt,bA,xi,Nr,wi,Tr,Or,qr,Hr,Qt,dt,Yr,Jr,Kr,zr,Pr,pi,Vr,Zr,X,Do,bo,Zl,Xl,jl,Wl,Xr,ZA,ko,So,Fo,Ro,Ag,jr,yi,_i,eg,vo,tg,ig,ng,rg,og,ag,sg,lg,gg,fg,cg,Ig,hg,Bg,SA,Cg,Uo,Eg,Qg,Ge,mi,Di,dg,Wr,xg,pg,yg,_g,mg,Dg,bg,Bc,uc,Cc,Ec,Qc,kg,dc,xc,bt,Ji=cA(()=>{ja=0,$r=1,Wa=2,$a=3,As=258,Li=29,Me=256,be=Me+1+Li,re=30,Ni=19,Ao=2*be+1,YA=15,hi=16,es=7,Ti=256,eo=16,to=17,io=18,bi=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),xt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),ts=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),no=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),is=512,kA=new Array((be+2)*2);se(kA);_e=new Array(re*2);se(_e);ke=new Array(is);se(ke);Se=new Array(As-$a+1);se(Se);Oi=new Array(Li);se(Oi);wt=new Array(re);se(wt);so=e=>e<256?ke[e]:ke[256+(e>>>7)],Fe=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},aA=(e,t,A)=>{e.bi_valid>hi-A?(e.bi_buf|=t<<e.bi_valid&65535,Fe(e,e.bi_buf),e.bi_buf=t>>hi-e.bi_valid,e.bi_valid+=A-hi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},yA=(e,t,A)=>{aA(e,A[t*2],A[t*2+1])},lo=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ns=e=>{e.bi_valid===16?(Fe(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},rs=(e,t)=>{let A=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,g=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,l=t.stat_desc.max_length,a,s,I,c,f,h,B=0;for(c=0;c<=YA;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,a=e.heap_max+1;a<Ao;a++)s=e.heap[a],c=A[A[s*2+1]*2+1]+1,c>l&&(c=l,B++),A[s*2+1]=c,!(s>i)&&(e.bl_count[c]++,f=0,s>=o&&(f=g[s-o]),h=A[s*2],e.opt_len+=h*(c+f),r&&(e.static_len+=h*(n[s*2+1]+f)));if(B!==0){do{for(c=l-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[l]--,B-=2}while(B>0);for(c=l;c!==0;c--)for(s=e.bl_count[c];s!==0;)I=e.heap[--a],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),s--)}},go=(e,t,A)=>{let i=new Array(YA+1),n=0,r,g;for(r=1;r<=YA;r++)n=n+A[r-1]<<1,i[r]=n;for(g=0;g<=t;g++){let o=e[g*2+1];o!==0&&(e[g*2]=lo(i[o]++,o))}},os=()=>{let e,t,A,i,n,r=new Array(YA+1);for(A=0,i=0;i<Li-1;i++)for(Oi[i]=A,e=0;e<1<<bi[i];e++)Se[A++]=i;for(Se[A-1]=i,n=0,i=0;i<16;i++)for(wt[i]=n,e=0;e<1<<xt[i];e++)ke[n++]=i;for(n>>=7;i<re;i++)for(wt[i]=n<<7,e=0;e<1<<xt[i]-7;e++)ke[256+n++]=i;for(t=0;t<=YA;t++)r[t]=0;for(e=0;e<=143;)kA[e*2+1]=8,e++,r[8]++;for(;e<=255;)kA[e*2+1]=9,e++,r[9]++;for(;e<=279;)kA[e*2+1]=7,e++,r[7]++;for(;e<=287;)kA[e*2+1]=8,e++,r[8]++;for(go(kA,be+1,r),e=0;e<re;e++)_e[e*2+1]=5,_e[e*2]=lo(e,5);ro=new Bi(kA,bi,Me+1,be,YA),oo=new Bi(_e,xt,0,re,YA),ao=new Bi(new Array(0),ts,0,Ni,es)},fo=e=>{let t;for(t=0;t<be;t++)e.dyn_ltree[t*2]=0;for(t=0;t<re;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ni;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ti*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},co=e=>{e.bi_valid>8?Fe(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Br=(e,t,A,i)=>{let n=t*2,r=A*2;return e[n]<e[r]||e[n]===e[r]&&i[t]<=i[A]},Ci=(e,t,A)=>{let i=e.heap[A],n=A<<1;for(;n<=e.heap_len&&(n<e.heap_len&&Br(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!Br(t,i,e.heap[n],e.depth));)e.heap[A]=e.heap[n],A=n,n<<=1;e.heap[A]=i},ur=(e,t,A)=>{let i,n,r=0,g,o;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+r++]&255,i+=(e.pending_buf[e.sym_buf+r++]&255)<<8,n=e.pending_buf[e.sym_buf+r++],i===0?yA(e,n,t):(g=Se[n],yA(e,g+Me+1,t),o=bi[g],o!==0&&(n-=Oi[g],aA(e,n,o)),i--,g=so(i),yA(e,g,A),o=xt[g],o!==0&&(i-=wt[g],aA(e,i,o)));while(r<e.sym_next);yA(e,Ti,t)},ki=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,r=t.stat_desc.elems,g,o,l=-1,a;for(e.heap_len=0,e.heap_max=Ao,g=0;g<r;g++)A[g*2]!==0?(e.heap[++e.heap_len]=l=g,e.depth[g]=0):A[g*2+1]=0;for(;e.heap_len<2;)a=e.heap[++e.heap_len]=l<2?++l:0,A[a*2]=1,e.depth[a]=0,e.opt_len--,n&&(e.static_len-=i[a*2+1]);for(t.max_code=l,g=e.heap_len>>1;g>=1;g--)Ci(e,A,g);a=r;do g=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ci(e,A,1),o=e.heap[1],e.heap[--e.heap_max]=g,e.heap[--e.heap_max]=o,A[a*2]=A[g*2]+A[o*2],e.depth[a]=(e.depth[g]>=e.depth[o]?e.depth[g]:e.depth[o])+1,A[g*2+1]=A[o*2+1]=a,e.heap[1]=a++,Ci(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],rs(e,t),go(A,l,e.bl_count)},Cr=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],o=0,l=7,a=4;for(g===0&&(l=138,a=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)r=g,g=t[(i+1)*2+1],!(++o<l&&r===g)&&(o<a?e.bl_tree[r*2]+=o:r!==0?(r!==n&&e.bl_tree[r*2]++,e.bl_tree[eo*2]++):o<=10?e.bl_tree[to*2]++:e.bl_tree[io*2]++,o=0,n=r,g===0?(l=138,a=3):r===g?(l=6,a=3):(l=7,a=4))},Er=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],o=0,l=7,a=4;for(g===0&&(l=138,a=3),i=0;i<=A;i++)if(r=g,g=t[(i+1)*2+1],!(++o<l&&r===g)){if(o<a)do yA(e,r,e.bl_tree);while(--o!==0);else r!==0?(r!==n&&(yA(e,r,e.bl_tree),o--),yA(e,eo,e.bl_tree),aA(e,o-3,2)):o<=10?(yA(e,to,e.bl_tree),aA(e,o-3,3)):(yA(e,io,e.bl_tree),aA(e,o-11,7));o=0,n=r,g===0?(l=138,a=3):r===g?(l=6,a=3):(l=7,a=4)}},as=e=>{let t;for(Cr(e,e.dyn_ltree,e.l_desc.max_code),Cr(e,e.dyn_dtree,e.d_desc.max_code),ki(e,e.bl_desc),t=Ni-1;t>=3&&e.bl_tree[no[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},ss=(e,t,A,i)=>{let n;for(aA(e,t-257,5),aA(e,A-1,5),aA(e,i-4,4),n=0;n<i;n++)aA(e,e.bl_tree[no[n]*2+1],3);Er(e,e.dyn_ltree,t-1),Er(e,e.dyn_dtree,A-1)},ls=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<Me;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},Qr=!1,gs=e=>{Qr||(os(),Qr=!0),e.l_desc=new ui(e.dyn_ltree,ro),e.d_desc=new ui(e.dyn_dtree,oo),e.bl_desc=new ui(e.bl_tree,ao),e.bi_buf=0,e.bi_valid=0,fo(e)},Io=(e,t,A,i)=>{aA(e,(ja<<1)+(i?1:0),3),co(e),Fe(e,A),Fe(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},fs=e=>{aA(e,$r<<1,3),yA(e,Ti,kA),ns(e)},cs=(e,t,A,i)=>{let n,r,g=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=ls(e)),ki(e,e.l_desc),ki(e,e.d_desc),g=as(e),n=e.opt_len+3+7>>>3,r=e.static_len+3+7>>>3,r<=n&&(n=r)):n=r=A+5,A+4<=n&&t!==-1?Io(e,t,A,i):e.strategy===4||r===n?(aA(e,($r<<1)+(i?1:0),3),ur(e,kA,_e)):(aA(e,(Wa<<1)+(i?1:0),3),ss(e,e.l_desc.max_code+1,e.d_desc.max_code+1,g+1),ur(e,e.dyn_ltree,e.dyn_dtree)),fo(e),i&&co(e)},Is=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(Se[A]+Me+1)*2]++,e.dyn_dtree[so(t)*2]++),e.sym_next===e.sym_end),hs=gs,Bs=Io,us=cs,Cs=Is,Es=fs,Qs={_tr_init:hs,_tr_stored_block:Bs,_tr_flush_block:us,_tr_tally:Cs,_tr_align:Es},ds=(e,t,A,i)=>{let n=e&65535|0,r=e>>>16&65535|0,g=0;for(;A!==0;){g=A>2e3?2e3:A,A-=g;do n=n+t[i++]|0,r=r+n|0;while(--g);n%=65521,r%=65521}return n|r<<16|0},Re=ds,xs=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},ws=new Uint32Array(xs()),ps=(e,t,A,i)=>{let n=ws,r=i+A;e^=-1;for(let g=i;g<r;g++)e=e>>>8^n[(e^t[g])&255];return e^-1},AA=ps,zA={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},le={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:ys,_tr_stored_block:Si,_tr_flush_block:_s,_tr_tally:NA,_tr_align:ms}=Qs,{Z_NO_FLUSH:TA,Z_PARTIAL_FLUSH:Ds,Z_FULL_FLUSH:bs,Z_FINISH:IA,Z_BLOCK:dr,Z_OK:eA,Z_STREAM_END:xr,Z_STREAM_ERROR:_A,Z_DATA_ERROR:ks,Z_BUF_ERROR:Ei,Z_DEFAULT_COMPRESSION:Ss,Z_FILTERED:Fs,Z_HUFFMAN_ONLY:ut,Z_RLE:Rs,Z_FIXED:vs,Z_DEFAULT_STRATEGY:Us,Z_UNKNOWN:Gs,Z_DEFLATED:_t}=le,Ms=9,Ls=15,Ns=8,Ts=29,Os=256,Fi=Os+1+Ts,qs=30,Hs=19,Ys=2*Fi+1,Js=15,Y=3,LA=258,mA=LA+Y+1,Ks=32,oe=42,qi=57,Ri=69,vi=73,Ui=91,Gi=103,JA=113,pe=666,nA=1,ge=2,PA=3,fe=4,zs=3,KA=(e,t)=>(e.msg=zA[t],t),wr=e=>e*2-(e>4?9:0),MA=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Ps=e=>{let t,A,i,n=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=n?A-n:0;while(--t);t=n,i=t;do A=e.prev[--i],e.prev[i]=A>=n?A-n:0;while(--t)},Vs=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,OA=Vs,sA=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},lA=(e,t)=>{_s(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,sA(e.strm)},z=(e,t)=>{e.pending_buf[e.pending++]=t},we=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Mi=(e,t,A,i)=>{let n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,t.set(e.input.subarray(e.next_in,e.next_in+n),A),e.state.wrap===1?e.adler=Re(e.adler,t,n,A):e.state.wrap===2&&(e.adler=AA(e.adler,t,n,A)),e.next_in+=n,e.total_in+=n,n)},ho=(e,t)=>{let A=e.max_chain_length,i=e.strstart,n,r,g=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-mA?e.strstart-(e.w_size-mA):0,a=e.window,s=e.w_mask,I=e.prev,c=e.strstart+LA,f=a[i+g-1],h=a[i+g];e.prev_length>=e.good_match&&(A>>=2),o>e.lookahead&&(o=e.lookahead);do if(n=t,!(a[n+g]!==h||a[n+g-1]!==f||a[n]!==a[i]||a[++n]!==a[i+1])){i+=2,n++;do;while(a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&i<c);if(r=LA-(c-i),i=c-LA,r>g){if(e.match_start=t,g=r,r>=o)break;f=a[i+g-1],h=a[i+g]}}while((t=I[t&s])>l&&--A!==0);return g<=e.lookahead?g:e.lookahead},ae=e=>{let t=e.w_size,A,i,n;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-mA)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Ps(e),i+=t),e.strm.avail_in===0)break;if(A=Mi(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=Y)for(n=e.strstart-e.insert,e.ins_h=e.window[n],e.ins_h=OA(e,e.ins_h,e.window[n+1]);e.insert&&(e.ins_h=OA(e,e.ins_h,e.window[n+Y-1]),e.prev[n&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=n,n++,e.insert--,!(e.lookahead+e.insert<Y)););}while(e.lookahead<mA&&e.strm.avail_in!==0)},Bo=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,n,r,g=0,o=e.strm.avail_in;do{if(i=65535,r=e.bi_valid+42>>3,e.strm.avail_out<r||(r=e.strm.avail_out-r,n=e.strstart-e.block_start,i>n+e.strm.avail_in&&(i=n+e.strm.avail_in),i>r&&(i=r),i<A&&(i===0&&t!==IA||t===TA||i!==n+e.strm.avail_in)))break;g=t===IA&&i===n+e.strm.avail_in?1:0,Si(e,0,0,g),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,sA(e.strm),n&&(n>i&&(n=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+n),e.strm.next_out),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n,e.block_start+=n,i-=n),i&&(Mi(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(g===0);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),g?fe:t!==TA&&t!==IA&&e.strm.avail_in===0&&e.strstart===e.block_start?ge:(r=e.window_size-e.strstart,e.strm.avail_in>r&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,r+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),r>e.strm.avail_in&&(r=e.strm.avail_in),r&&(Mi(e.strm,e.window,e.strstart,r),e.strstart+=r,e.insert+=r>e.w_size-e.insert?e.w_size-e.insert:r),e.high_water<e.strstart&&(e.high_water=e.strstart),r=e.bi_valid+42>>3,r=e.pending_buf_size-r>65535?65535:e.pending_buf_size-r,A=r>e.w_size?e.w_size:r,n=e.strstart-e.block_start,(n>=A||(n||t===IA)&&t!==TA&&e.strm.avail_in===0&&n<=r)&&(i=n>r?r:n,g=t===IA&&e.strm.avail_in===0&&i===n?1:0,Si(e,e.block_start,i,g),e.block_start+=i,sA(e.strm)),g?PA:nA)},Qi=(e,t)=>{let A,i;for(;;){if(e.lookahead<mA){if(ae(e),e.lookahead<mA&&t===TA)return nA;if(e.lookahead===0)break}if(A=0,e.lookahead>=Y&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-mA&&(e.match_length=ho(e,A)),e.match_length>=Y)if(i=NA(e,e.strstart-e.match_start,e.match_length-Y),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Y){e.match_length--;do e.strstart++,e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=OA(e,e.ins_h,e.window[e.strstart+1]);else i=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=e.strstart<Y-1?e.strstart:Y-1,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},ie=(e,t)=>{let A,i,n;for(;;){if(e.lookahead<mA){if(ae(e),e.lookahead<mA&&t===TA)return nA;if(e.lookahead===0)break}if(A=0,e.lookahead>=Y&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Y-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-mA&&(e.match_length=ho(e,A),e.match_length<=5&&(e.strategy===Fs||e.match_length===Y&&e.strstart-e.match_start>4096)&&(e.match_length=Y-1)),e.prev_length>=Y&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-Y,i=NA(e,e.strstart-1-e.prev_match,e.prev_length-Y),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Y-1,e.strstart++,i&&(lA(e,!1),e.strm.avail_out===0))return nA}else if(e.match_available){if(i=NA(e,0,e.window[e.strstart-1]),i&&lA(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return nA}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=NA(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Y-1?e.strstart:Y-1,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},Zs=(e,t)=>{let A,i,n,r,g=e.window;for(;;){if(e.lookahead<=LA){if(ae(e),e.lookahead<=LA&&t===TA)return nA;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Y&&e.strstart>0&&(n=e.strstart-1,i=g[n],i===g[++n]&&i===g[++n]&&i===g[++n])){r=e.strstart+LA;do;while(i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&n<r);e.match_length=LA-(r-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Y?(A=NA(e,1,e.match_length-Y),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=0,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},Xs=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(ae(e),e.lookahead===0)){if(t===TA)return nA;break}if(e.match_length=0,A=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=0,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge};ye=[new pA(0,0,0,0,Bo),new pA(4,4,8,4,Qi),new pA(4,5,16,8,Qi),new pA(4,6,32,32,Qi),new pA(4,4,16,16,ie),new pA(8,16,32,32,ie),new pA(8,16,128,128,ie),new pA(8,32,128,256,ie),new pA(32,128,258,1024,ie),new pA(32,258,258,4096,ie)],js=e=>{e.window_size=2*e.w_size,MA(e.head),e.max_lazy_match=ye[e.level].max_lazy,e.good_match=ye[e.level].good_length,e.nice_match=ye[e.level].nice_length,e.max_chain_length=ye[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Y-1,e.match_available=0,e.ins_h=0};Le=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==oe&&t.status!==qi&&t.status!==Ri&&t.status!==vi&&t.status!==Ui&&t.status!==Gi&&t.status!==JA&&t.status!==pe?1:0},uo=e=>{if(Le(e))return KA(e,_A);e.total_in=e.total_out=0,e.data_type=Gs;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?qi:t.wrap?oe:JA,e.adler=t.wrap===2?0:1,t.last_flush=-2,ys(t),eA},Co=e=>{let t=uo(e);return t===eA&&js(e.state),t},$s=(e,t)=>Le(e)||e.state.wrap!==2?_A:(e.state.gzhead=t,eA),Eo=(e,t,A,i,n,r)=>{if(!e)return _A;let g=1;if(t===Ss&&(t=6),i<0?(g=0,i=-i):i>15&&(g=2,i-=16),n<1||n>Ms||A!==_t||i<8||i>15||t<0||t>9||r<0||r>vs||i===8&&g!==1)return KA(e,_A);i===8&&(i=9);let o=new Ws;return e.state=o,o.strm=e,o.status=oe,o.wrap=g,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Y-1)/Y),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=t,o.strategy=r,o.method=A,Co(e)},Al=(e,t)=>Eo(e,t,_t,Ls,Ns,Us),el=(e,t)=>{if(Le(e)||t>dr||t<0)return e?KA(e,_A):_A;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===pe&&t!==IA)return KA(e,e.avail_out===0?Ei:_A);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(sA(e),e.avail_out===0)return A.last_flush=-1,eA}else if(e.avail_in===0&&wr(t)<=wr(i)&&t!==IA)return KA(e,Ei);if(A.status===pe&&e.avail_in!==0)return KA(e,Ei);if(A.status===oe&&A.wrap===0&&(A.status=JA),A.status===oe){let n=_t+(A.w_bits-8<<4)<<8,r=-1;if(A.strategy>=ut||A.level<2?r=0:A.level<6?r=1:A.level===6?r=2:r=3,n|=r<<6,A.strstart!==0&&(n|=Ks),n+=31-n%31,we(A,n),A.strstart!==0&&(we(A,e.adler>>>16),we(A,e.adler&65535)),e.adler=1,A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(A.status===qi){if(e.adler=0,z(A,31),z(A,139),z(A,8),A.gzhead)z(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),z(A,A.gzhead.time&255),z(A,A.gzhead.time>>8&255),z(A,A.gzhead.time>>16&255),z(A,A.gzhead.time>>24&255),z(A,A.level===9?2:A.strategy>=ut||A.level<2?4:0),z(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(z(A,A.gzhead.extra.length&255),z(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=AA(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=Ri;else if(z(A,0),z(A,0),z(A,0),z(A,0),z(A,0),z(A,A.level===9?2:A.strategy>=ut||A.level<2?4:0),z(A,zs),A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(A.status===Ri){if(A.gzhead.extra){let n=A.pending,r=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+r>A.pending_buf_size;){let o=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+o),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex+=o,sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0,r-=o}let g=new Uint8Array(A.gzhead.extra);A.pending_buf.set(g.subarray(A.gzindex,A.gzindex+r),A.pending),A.pending+=r,A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=vi}if(A.status===vi){if(A.gzhead.name){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0}A.gzindex<A.gzhead.name.length?r=A.gzhead.name.charCodeAt(A.gzindex++)&255:r=0,z(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=Ui}if(A.status===Ui){if(A.gzhead.comment){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0}A.gzindex<A.gzhead.comment.length?r=A.gzhead.comment.charCodeAt(A.gzindex++)&255:r=0,z(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n))}A.status=Gi}if(A.status===Gi){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(sA(e),A.pending!==0))return A.last_flush=-1,eA;z(A,e.adler&255),z(A,e.adler>>8&255),e.adler=0}if(A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(e.avail_in!==0||A.lookahead!==0||t!==TA&&A.status!==pe){let n=A.level===0?Bo(A,t):A.strategy===ut?Xs(A,t):A.strategy===Rs?Zs(A,t):ye[A.level].func(A,t);if((n===PA||n===fe)&&(A.status=pe),n===nA||n===PA)return e.avail_out===0&&(A.last_flush=-1),eA;if(n===ge&&(t===Ds?ms(A):t!==dr&&(Si(A,0,0,!1),t===bs&&(MA(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),sA(e),e.avail_out===0))return A.last_flush=-1,eA}return t!==IA?eA:A.wrap<=0?xr:(A.wrap===2?(z(A,e.adler&255),z(A,e.adler>>8&255),z(A,e.adler>>16&255),z(A,e.adler>>24&255),z(A,e.total_in&255),z(A,e.total_in>>8&255),z(A,e.total_in>>16&255),z(A,e.total_in>>24&255)):(we(A,e.adler>>>16),we(A,e.adler&65535)),sA(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?eA:xr)},tl=e=>{if(Le(e))return _A;let t=e.state.status;return e.state=null,t===JA?KA(e,ks):eA},il=(e,t)=>{let A=t.length;if(Le(e))return _A;let i=e.state,n=i.wrap;if(n===2||n===1&&i.status!==oe||i.lookahead)return _A;if(n===1&&(e.adler=Re(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){n===0&&(MA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let l=new Uint8Array(i.w_size);l.set(t.subarray(A-i.w_size,A),0),t=l,A=i.w_size}let r=e.avail_in,g=e.next_in,o=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,ae(i);i.lookahead>=Y;){let l=i.strstart,a=i.lookahead-(Y-1);do i.ins_h=OA(i,i.ins_h,i.window[l+Y-1]),i.prev[l&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=l,l++;while(--a);i.strstart=l,i.lookahead=Y-1,ae(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=Y-1,i.match_available=0,e.next_in=g,e.input=o,e.avail_in=r,i.wrap=n,eA},nl=Al,rl=Eo,ol=Co,al=uo,sl=$s,ll=el,gl=tl,fl=il,cl="pako deflate (from Nodeca project)",me={deflateInit:nl,deflateInit2:rl,deflateReset:ol,deflateResetKeep:al,deflateSetHeader:sl,deflate:ll,deflateEnd:gl,deflateSetDictionary:fl,deflateInfo:cl},Il=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),hl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)Il(A,i)&&(e[i]=A[i])}}return e},Bl=e=>{let t=0;for(let i=0,n=e.length;i<n;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,n=0,r=e.length;i<r;i++){let g=e[i];A.set(g,n),n+=g.length}return A},mt={assign:hl,flattenChunks:Bl},Qo=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Qo=!1}ve=new Uint8Array(256);for(let e=0;e<256;e++)ve[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;ve[254]=ve[254]=1;ul=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,n,r,g=e.length,o=0;for(n=0;n<g;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),o+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(o),r=0,n=0;r<o;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),A<128?t[r++]=A:A<2048?(t[r++]=192|A>>>6,t[r++]=128|A&63):A<65536?(t[r++]=224|A>>>12,t[r++]=128|A>>>6&63,t[r++]=128|A&63):(t[r++]=240|A>>>18,t[r++]=128|A>>>12&63,t[r++]=128|A>>>6&63,t[r++]=128|A&63);return t},Cl=(e,t)=>{if(t<65534&&e.subarray&&Qo)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},El=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,n,r=new Array(A*2);for(n=0,i=0;i<A;){let g=e[i++];if(g<128){r[n++]=g;continue}let o=ve[g];if(o>4){r[n++]=65533,i+=o-1;continue}for(g&=o===2?31:o===3?15:7;o>1&&i<A;)g=g<<6|e[i++]&63,o--;if(o>1){r[n++]=65533;continue}g<65536?r[n++]=g:(g-=65536,r[n++]=55296|g>>10&1023,r[n++]=56320|g&1023)}return Cl(r,n)},Ql=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+ve[e[A]]>t?A:t},Ue={string2buf:ul,buf2string:El,utf8border:Ql};xo=dl,wo=Object.prototype.toString,{Z_NO_FLUSH:xl,Z_SYNC_FLUSH:wl,Z_FULL_FLUSH:pl,Z_FINISH:yl,Z_OK:pt,Z_STREAM_END:_l,Z_DEFAULT_COMPRESSION:ml,Z_DEFAULT_STRATEGY:Dl,Z_DEFLATED:bl}=le;Ne.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n,r;if(this.ended)return!1;for(t===~~t?r=t:r=t===!0?yl:xl,typeof e=="string"?A.input=Ue.string2buf(e):wo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(r===wl||r===pl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(n=me.deflate(A,r),n===_l)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),n=me.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===pt;if(A.avail_out===0){this.onData(A.output);continue}if(r>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};Ne.prototype.onData=function(e){this.chunks.push(e)};Ne.prototype.onEnd=function(e){e===pt&&(this.result=mt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};Fl=Ne,Rl=Hi,vl=kl,Ul=Sl,Gl=le,Ml={Deflate:Fl,deflate:Rl,deflateRaw:vl,gzip:Ul,constants:Gl},Ct=16209,Ll=16191,Nl=function(t,A){let i,n,r,g,o,l,a,s,I,c,f,h,B,u,d,E,x,w,Q,C,y,p,b,m,k=t.state;i=t.next_in,b=t.input,n=i+(t.avail_in-5),r=t.next_out,m=t.output,g=r-(A-t.avail_out),o=r+(t.avail_out-257),l=k.dmax,a=k.wsize,s=k.whave,I=k.wnext,c=k.window,f=k.hold,h=k.bits,B=k.lencode,u=k.distcode,d=(1<<k.lenbits)-1,E=(1<<k.distbits)-1;A:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),x=B[f&d];e:for(;;){if(w=x>>>24,f>>>=w,h-=w,w=x>>>16&255,w===0)m[r++]=x&65535;else if(w&16){Q=x&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),Q+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),x=u[f&E];t:for(;;){if(w=x>>>24,f>>>=w,h-=w,w=x>>>16&255,w&16){if(C=x&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),C+=f&(1<<w)-1,C>l){t.msg="invalid distance too far back",k.mode=Ct;break A}if(f>>>=w,h-=w,w=r-g,C>w){if(w=C-w,w>s&&k.sane){t.msg="invalid distance too far back",k.mode=Ct;break A}if(y=0,p=c,I===0){if(y+=a-w,w<Q){Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}}else if(I<w){if(y+=a+I-w,w-=I,w<Q){Q-=w;do m[r++]=c[y++];while(--w);if(y=0,I<Q){w=I,Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}}}else if(y+=I-w,w<Q){Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}for(;Q>2;)m[r++]=p[y++],m[r++]=p[y++],m[r++]=p[y++],Q-=3;Q&&(m[r++]=p[y++],Q>1&&(m[r++]=p[y++]))}else{y=r-C;do m[r++]=m[y++],m[r++]=m[y++],m[r++]=m[y++],Q-=3;while(Q>2);Q&&(m[r++]=m[y++],Q>1&&(m[r++]=m[y++]))}}else if(w&64){t.msg="invalid distance code",k.mode=Ct;break A}else{x=u[(x&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){k.mode=Ll;break A}else{t.msg="invalid literal/length code",k.mode=Ct;break A}else{x=B[(x&65535)+(f&(1<<w)-1)];continue e}break}}while(i<n&&r<o);Q=h>>3,i-=Q,h-=Q<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=r,t.avail_in=i<n?5+(n-i):5-(i-n),t.avail_out=r<o?257+(o-r):257-(r-o),k.hold=f,k.bits=h},ne=15,pr=852,yr=592,_r=0,di=1,mr=2,Tl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Ol=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ql=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Hl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Yl=(e,t,A,i,n,r,g,o)=>{let l=o.bits,a=0,s=0,I=0,c=0,f=0,h=0,B=0,u=0,d=0,E=0,x,w,Q,C,y,p=null,b,m=new Uint16Array(ne+1),k=new Uint16Array(ne+1),S=null,T,D,_;for(a=0;a<=ne;a++)m[a]=0;for(s=0;s<i;s++)m[t[A+s]]++;for(f=l,c=ne;c>=1&&m[c]===0;c--);if(f>c&&(f=c),c===0)return n[r++]=1<<24|64<<16|0,n[r++]=1<<24|64<<16|0,o.bits=1,0;for(I=1;I<c&&m[I]===0;I++);for(f<I&&(f=I),u=1,a=1;a<=ne;a++)if(u<<=1,u-=m[a],u<0)return-1;if(u>0&&(e===_r||c!==1))return-1;for(k[1]=0,a=1;a<ne;a++)k[a+1]=k[a]+m[a];for(s=0;s<i;s++)t[A+s]!==0&&(g[k[t[A+s]]++]=s);if(e===_r?(p=S=g,b=20):e===di?(p=Tl,S=Ol,b=257):(p=ql,S=Hl,b=0),E=0,s=0,a=I,y=r,h=f,B=0,Q=-1,d=1<<f,C=d-1,e===di&&d>pr||e===mr&&d>yr)return 1;for(;;){T=a-B,g[s]+1<b?(D=0,_=g[s]):g[s]>=b?(D=S[g[s]-b],_=p[g[s]-b]):(D=96,_=0),x=1<<a-B,w=1<<h,I=w;do w-=x,n[y+(E>>B)+w]=T<<24|D<<16|_|0;while(w!==0);for(x=1<<a-1;E&x;)x>>=1;if(x!==0?(E&=x-1,E+=x):E=0,s++,--m[a]===0){if(a===c)break;a=t[A+g[s]]}if(a>f&&(E&C)!==Q){for(B===0&&(B=f),y+=I,h=a-B,u=1<<h;h+B<c&&(u-=m[h+B],!(u<=0));)h++,u<<=1;if(d+=1<<h,e===di&&d>pr||e===mr&&d>yr)return 1;Q=E&C,n[Q]=f<<24|h<<16|y-r|0}}return E!==0&&(n[y+E]=a-B<<24|64<<16|0),o.bits=f,0},De=Yl,Jl=0,po=1,yo=2,{Z_FINISH:Dr,Z_BLOCK:Kl,Z_TREES:Et,Z_OK:VA,Z_STREAM_END:zl,Z_NEED_DICT:Pl,Z_STREAM_ERROR:hA,Z_DATA_ERROR:_o,Z_MEM_ERROR:mo,Z_BUF_ERROR:Vl,Z_DEFLATED:br}=le,Dt=16180,kr=16181,Sr=16182,Fr=16183,Rr=16184,vr=16185,Ur=16186,Gr=16187,Mr=16188,Lr=16189,yt=16190,bA=16191,xi=16192,Nr=16193,wi=16194,Tr=16195,Or=16196,qr=16197,Hr=16198,Qt=16199,dt=16200,Yr=16201,Jr=16202,Kr=16203,zr=16204,Pr=16205,pi=16206,Vr=16207,Zr=16208,X=16209,Do=16210,bo=16211,Zl=852,Xl=592,jl=15,Wl=jl,Xr=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);ZA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<Dt||t.mode>bo?1:0},ko=e=>{if(ZA(e))return hA;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Dt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Zl),t.distcode=t.distdyn=new Int32Array(Xl),t.sane=1,t.back=-1,VA},So=e=>{if(ZA(e))return hA;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,ko(e)},Fo=(e,t)=>{let A;if(ZA(e))return hA;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?hA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,So(e))},Ro=(e,t)=>{if(!e)return hA;let A=new $l;e.state=A,A.strm=e,A.window=null,A.mode=Dt;let i=Fo(e,t);return i!==VA&&(e.state=null),i},Ag=e=>Ro(e,Wl),jr=!0,eg=e=>{if(jr){yi=new Int32Array(512),_i=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(De(po,e.lens,0,288,yi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;De(yo,e.lens,0,32,_i,0,e.work,{bits:5}),jr=!1}e.lencode=yi,e.lenbits=9,e.distcode=_i,e.distbits=5},vo=(e,t,A,i)=>{let n,r=e.state;return r.window===null&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),i>=r.wsize?(r.window.set(t.subarray(A-r.wsize,A),0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),r.window.set(t.subarray(A-i,A-i+n),r.wnext),i-=n,i?(r.window.set(t.subarray(A-i,A),0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0},tg=(e,t)=>{let A,i,n,r,g,o,l,a,s,I,c,f,h,B,u=0,d,E,x,w,Q,C,y,p,b=new Uint8Array(4),m,k,S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ZA(e)||!e.output||!e.input&&e.avail_in!==0)return hA;A=e.state,A.mode===bA&&(A.mode=xi),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,o=e.avail_in,a=A.hold,s=A.bits,I=o,c=l,p=VA;A:for(;;)switch(A.mode){case Dt:if(A.wrap===0){A.mode=xi;break}for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&2&&a===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0),a=0,s=0,A.mode=kr;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((a&255)<<8)+(a>>8))%31){e.msg="incorrect header check",A.mode=X;break}if((a&15)!==br){e.msg="unknown compression method",A.mode=X;break}if(a>>>=4,s-=4,y=(a&15)+8,A.wbits===0&&(A.wbits=y),y>15||y>A.wbits){e.msg="invalid window size",A.mode=X;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=a&512?Lr:bA,a=0,s=0;break;case kr:for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.flags=a,(A.flags&255)!==br){e.msg="unknown compression method",A.mode=X;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=X;break}A.head&&(A.head.text=a>>8&1),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0,A.mode=Sr;case Sr:for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.head&&(A.head.time=a),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,b[2]=a>>>16&255,b[3]=a>>>24&255,A.check=AA(A.check,b,4,0)),a=0,s=0,A.mode=Fr;case Fr:for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.head&&(A.head.xflags=a&255,A.head.os=a>>8),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0,A.mode=Rr;case Rr:if(A.flags&1024){for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.length=a,A.head&&(A.head.extra_len=a),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0}else A.head&&(A.head.extra=null);A.mode=vr;case vr:if(A.flags&1024&&(f=A.length,f>o&&(f=o),f&&(A.head&&(y=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(r,r+f),y)),A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,A.length-=f),A.length))break A;A.length=0,A.mode=Ur;case Ur:if(A.flags&2048){if(o===0)break A;f=0;do y=i[r+f++],A.head&&y&&A.length<65536&&(A.head.name+=String.fromCharCode(y));while(y&&f<o);if(A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,y)break A}else A.head&&(A.head.name=null);A.length=0,A.mode=Gr;case Gr:if(A.flags&4096){if(o===0)break A;f=0;do y=i[r+f++],A.head&&y&&A.length<65536&&(A.head.comment+=String.fromCharCode(y));while(y&&f<o);if(A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,y)break A}else A.head&&(A.head.comment=null);A.mode=Mr;case Mr:if(A.flags&512){for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&4&&a!==(A.check&65535)){e.msg="header crc mismatch",A.mode=X;break}a=0,s=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=bA;break;case Lr:for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}e.adler=A.check=Xr(a),a=0,s=0,A.mode=yt;case yt:if(A.havedict===0)return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,Pl;e.adler=A.check=1,A.mode=bA;case bA:if(t===Kl||t===Et)break A;case xi:if(A.last){a>>>=s&7,s-=s&7,A.mode=pi;break}for(;s<3;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}switch(A.last=a&1,a>>>=1,s-=1,a&3){case 0:A.mode=Nr;break;case 1:if(eg(A),A.mode=Qt,t===Et){a>>>=2,s-=2;break A}break;case 2:A.mode=Or;break;case 3:e.msg="invalid block type",A.mode=X}a>>>=2,s-=2;break;case Nr:for(a>>>=s&7,s-=s&7;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if((a&65535)!==(a>>>16^65535)){e.msg="invalid stored block lengths",A.mode=X;break}if(A.length=a&65535,a=0,s=0,A.mode=wi,t===Et)break A;case wi:A.mode=Tr;case Tr:if(f=A.length,f){if(f>o&&(f=o),f>l&&(f=l),f===0)break A;n.set(i.subarray(r,r+f),g),o-=f,r+=f,l-=f,g+=f,A.length-=f;break}A.mode=bA;break;case Or:for(;s<14;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.nlen=(a&31)+257,a>>>=5,s-=5,A.ndist=(a&31)+1,a>>>=5,s-=5,A.ncode=(a&15)+4,a>>>=4,s-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=X;break}A.have=0,A.mode=qr;case qr:for(;A.have<A.ncode;){for(;s<3;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.lens[S[A.have++]]=a&7,a>>>=3,s-=3}for(;A.have<19;)A.lens[S[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,m={bits:A.lenbits},p=De(Jl,A.lens,0,19,A.lencode,0,A.work,m),A.lenbits=m.bits,p){e.msg="invalid code lengths set",A.mode=X;break}A.have=0,A.mode=Hr;case Hr:for(;A.have<A.nlen+A.ndist;){for(;u=A.lencode[a&(1<<A.lenbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(x<16)a>>>=d,s-=d,A.lens[A.have++]=x;else{if(x===16){for(k=d+2;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(a>>>=d,s-=d,A.have===0){e.msg="invalid bit length repeat",A.mode=X;break}y=A.lens[A.have-1],f=3+(a&3),a>>>=2,s-=2}else if(x===17){for(k=d+3;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=d,s-=d,y=0,f=3+(a&7),a>>>=3,s-=3}else{for(k=d+7;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=d,s-=d,y=0,f=11+(a&127),a>>>=7,s-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=X;break}for(;f--;)A.lens[A.have++]=y}}if(A.mode===X)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=X;break}if(A.lenbits=9,m={bits:A.lenbits},p=De(po,A.lens,0,A.nlen,A.lencode,0,A.work,m),A.lenbits=m.bits,p){e.msg="invalid literal/lengths set",A.mode=X;break}if(A.distbits=6,A.distcode=A.distdyn,m={bits:A.distbits},p=De(yo,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,m),A.distbits=m.bits,p){e.msg="invalid distances set",A.mode=X;break}if(A.mode=Qt,t===Et)break A;case Qt:A.mode=dt;case dt:if(o>=6&&l>=258){e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,Nl(e,c),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,o=e.avail_in,a=A.hold,s=A.bits,A.mode===bA&&(A.back=-1);break}for(A.back=0;u=A.lencode[a&(1<<A.lenbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(E&&!(E&240)){for(w=d,Q=E,C=x;u=A.lencode[C+((a&(1<<w+Q)-1)>>w)],d=u>>>24,E=u>>>16&255,x=u&65535,!(w+d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=w,s-=w,A.back+=w}if(a>>>=d,s-=d,A.back+=d,A.length=x,E===0){A.mode=Pr;break}if(E&32){A.back=-1,A.mode=bA;break}if(E&64){e.msg="invalid literal/length code",A.mode=X;break}A.extra=E&15,A.mode=Yr;case Yr:if(A.extra){for(k=A.extra;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.length+=a&(1<<A.extra)-1,a>>>=A.extra,s-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Jr;case Jr:for(;u=A.distcode[a&(1<<A.distbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(!(E&240)){for(w=d,Q=E,C=x;u=A.distcode[C+((a&(1<<w+Q)-1)>>w)],d=u>>>24,E=u>>>16&255,x=u&65535,!(w+d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=w,s-=w,A.back+=w}if(a>>>=d,s-=d,A.back+=d,E&64){e.msg="invalid distance code",A.mode=X;break}A.offset=x,A.extra=E&15,A.mode=Kr;case Kr:if(A.extra){for(k=A.extra;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.offset+=a&(1<<A.extra)-1,a>>>=A.extra,s-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=X;break}A.mode=zr;case zr:if(l===0)break A;if(f=c-l,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=X;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),B=A.window}else B=n,h=g-A.offset,f=A.length;f>l&&(f=l),l-=f,A.length-=f;do n[g++]=B[h++];while(--f);A.length===0&&(A.mode=dt);break;case Pr:if(l===0)break A;n[g++]=A.length,l--,A.mode=dt;break;case pi:if(A.wrap){for(;s<32;){if(o===0)break A;o--,a|=i[r++]<<s,s+=8}if(c-=l,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?AA(A.check,n,c,g-c):Re(A.check,n,c,g-c)),c=l,A.wrap&4&&(A.flags?a:Xr(a))!==A.check){e.msg="incorrect data check",A.mode=X;break}a=0,s=0}A.mode=Vr;case Vr:if(A.wrap&&A.flags){for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&4&&a!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=X;break}a=0,s=0}A.mode=Zr;case Zr:p=zl;break A;case X:p=_o;break A;case Do:return mo;case bo:default:return hA}return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,(A.wsize||c!==e.avail_out&&A.mode<X&&(A.mode<pi||t!==Dr))&&vo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?AA(A.check,n,c,e.next_out-c):Re(A.check,n,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===bA?128:0)+(A.mode===Qt||A.mode===wi?256:0),(I===0&&c===0||t===Dr)&&p===VA&&(p=Vl),p},ig=e=>{if(ZA(e))return hA;let t=e.state;return t.window&&(t.window=null),e.state=null,VA},ng=(e,t)=>{if(ZA(e))return hA;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,VA):hA},rg=(e,t)=>{let A=t.length,i,n,r;return ZA(e)||(i=e.state,i.wrap!==0&&i.mode!==yt)?hA:i.mode===yt&&(n=1,n=Re(n,t,A,0),n!==i.check)?_o:(r=vo(e,t,A,A),r?(i.mode=Do,mo):(i.havedict=1,VA))},og=So,ag=Fo,sg=ko,lg=Ag,gg=Ro,fg=tg,cg=ig,Ig=ng,hg=rg,Bg="pako inflate (from Nodeca project)",SA={inflateReset:og,inflateReset2:ag,inflateResetKeep:sg,inflateInit:lg,inflateInit2:gg,inflate:fg,inflateEnd:cg,inflateGetHeader:Ig,inflateSetDictionary:hg,inflateInfo:Bg};Cg=ug,Uo=Object.prototype.toString,{Z_NO_FLUSH:Eg,Z_FINISH:Qg,Z_OK:Ge,Z_STREAM_END:mi,Z_NEED_DICT:Di,Z_STREAM_ERROR:dg,Z_DATA_ERROR:Wr,Z_MEM_ERROR:xg}=le;Te.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n=this.options.dictionary,r,g,o;if(this.ended)return!1;for(t===~~t?g=t:g=t===!0?Qg:Eg,Uo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),r=SA.inflate(A,g),r===Di&&n&&(r=SA.inflateSetDictionary(A,n),r===Ge?r=SA.inflate(A,g):r===Wr&&(r=Di));A.avail_in>0&&r===mi&&A.state.wrap>0&&e[A.next_in]!==0;)SA.inflateReset(A),r=SA.inflate(A,g);switch(r){case dg:case Wr:case Di:case xg:return this.onEnd(r),this.ended=!0,!1}if(o=A.avail_out,A.next_out&&(A.avail_out===0||r===mi))if(this.options.to==="string"){let l=Ue.utf8border(A.output,A.next_out),a=A.next_out-l,s=Ue.buf2string(A.output,l);A.next_out=a,A.avail_out=i-a,a&&A.output.set(A.output.subarray(l,l+a),0),this.onData(s)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(r===Ge&&o===0)){if(r===mi)return r=SA.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};Te.prototype.onData=function(e){this.chunks.push(e)};Te.prototype.onEnd=function(e){e===Ge&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};pg=Te,yg=Yi,_g=wg,mg=Yi,Dg=le,bg={Inflate:pg,inflate:yg,inflateRaw:_g,ungzip:mg,constants:Dg},{Deflate:Bc,deflate:uc,deflateRaw:Cc,gzip:Ec}=Ml,{Inflate:Qc,inflate:kg,inflateRaw:dc,ungzip:xc}=bg,bt=kg});var Go={};GA(Go,{default:()=>kt});var kt,Mo=cA(()=>{Ji();DA();kt=class extends ${decodeBlock(t){return bt(new Uint8Array(t)).buffer}}});var Lo={};GA(Lo,{default:()=>St});var St,No=cA(()=>{DA();St=class extends ${decodeBlock(t){let A=new DataView(t),i=[];for(let n=0;n<t.byteLength;++n){let r=A.getInt8(n);if(r<0){let g=A.getUint8(n+1);r=-r;for(let o=0;o<=r;++o)i.push(g);n+=1}else{for(let g=0;g<=r;++g)i.push(A.getUint8(n+g+1));n+=r+1}}return new Uint8Array(i).buffer}}});var To=QA((mc,Ft)=>{(function(){var e=function(){var n={};n.defaultNoDataValue=-34027999387901484e22,n.decode=function(s,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=l(s,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:n.defaultNoDataValue,B=r(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),u={width:f.width,height:f.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return B.resultMask&&(u.maskData=B.resultMask),I.returnEncodedMask&&f.mask&&(u.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(u.fileInfo=g(f),I.computeUsedBitDepths&&(u.fileInfo.bitDepths=o(f))),u};var r=function(s,I,c,f,h){var B=0,u=s.pixels.numBlocksX,d=s.pixels.numBlocksY,E=Math.floor(s.width/u),x=Math.floor(s.height/d),w=2*s.maxZError,Q=Number.MAX_VALUE,C;c=c||(s.mask?s.mask.bitset:null);var y,p;y=new I(s.width*s.height),h&&c&&(p=new Uint8Array(s.width*s.height));for(var b=new Float32Array(E*x),m,k,S=0;S<=d;S++){var T=S!==d?x:s.height%d;if(T!==0)for(var D=0;D<=u;D++){var _=D!==u?E:s.width%u;if(_!==0){var v=S*s.width*x+D*E,O=s.width-_,F=s.pixels.blocks[B],M,U,H;F.encoding<2?(F.encoding===0?M=F.rawData:(a(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,s.pixels.maxValue),M=b),U=0):F.encoding===2?H=0:H=F.offset;var J;if(c)for(k=0;k<T;k++){for(v&7&&(J=c[v>>3],J<<=v&7),m=0;m<_;m++)v&7||(J=c[v>>3]),J&128?(p&&(p[v]=1),C=F.encoding<2?M[U++]:H,Q=Q>C?C:Q,y[v++]=C):(p&&(p[v]=0),y[v++]=f),J<<=1;v+=O}else if(F.encoding<2)for(k=0;k<T;k++){for(m=0;m<_;m++)C=M[U++],Q=Q>C?C:Q,y[v++]=C;v+=O}else for(Q=Q>H?H:Q,k=0;k<T;k++){for(m=0;m<_;m++)y[v++]=H;v+=O}if(F.encoding===1&&U!==F.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:y,resultMask:p,minValue:Q}},g=function(s){return{fileIdentifierString:s.fileIdentifierString,fileVersion:s.fileVersion,imageType:s.imageType,height:s.height,width:s.width,maxZError:s.maxZError,eofOffset:s.eofOffset,mask:s.mask?{numBlocksX:s.mask.numBlocksX,numBlocksY:s.mask.numBlocksY,numBytes:s.mask.numBytes,maxValue:s.mask.maxValue}:null,pixels:{numBlocksX:s.pixels.numBlocksX,numBlocksY:s.pixels.numBlocksY,numBytes:s.pixels.numBytes,maxValue:s.pixels.maxValue,noDataValue:s.noDataValue}}},o=function(s){for(var I=s.pixels.numBlocksX*s.pixels.numBlocksY,c={},f=0;f<I;f++){var h=s.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},l=function(s,I,c){var f={},h=new Uint8Array(s,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var B=new DataView(s,I,24);if(f.fileVersion=B.getInt32(0,!0),f.imageType=B.getInt32(4,!0),f.height=B.getUint32(8,!0),f.width=B.getUint32(12,!0),f.maxZError=B.getFloat64(16,!0),I+=24,!c)if(B=new DataView(s,I,16),f.mask={},f.mask.numBlocksY=B.getUint32(0,!0),f.mask.numBlocksX=B.getUint32(4,!0),f.mask.numBytes=B.getUint32(8,!0),f.mask.maxValue=B.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var u=new Uint8Array(Math.ceil(f.width*f.height/8));B=new DataView(s,I,f.mask.numBytes);var d=B.getInt16(0,!0),E=2,x=0;do{if(d>0)for(;d--;)u[x++]=B.getUint8(E++);else{var w=B.getUint8(E++);for(d=-d;d--;)u[x++]=w}d=B.getInt16(E,!0),E+=2}while(E<f.mask.numBytes);if(d!==-32768||x<u.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=u,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));B=new DataView(s,I,16),f.pixels={},f.pixels.numBlocksY=B.getUint32(0,!0),f.pixels.numBlocksX=B.getUint32(4,!0),f.pixels.numBytes=B.getUint32(8,!0),f.pixels.maxValue=B.getFloat32(12,!0),I+=16;var Q=f.pixels.numBlocksX,C=f.pixels.numBlocksY,y=Q+(f.width%Q>0?1:0),p=C+(f.height%C>0?1:0);f.pixels.blocks=new Array(y*p);for(var b=0,m=0;m<p;m++)for(var k=0;k<y;k++){var S=0,T=s.byteLength-I;B=new DataView(s,I,Math.min(10,T));var D={};f.pixels.blocks[b++]=D;var _=B.getUint8(0);if(S++,D.encoding=_&63,D.encoding>3)throw"Invalid block encoding ("+D.encoding+")";if(D.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,D.offsetType=_,_===2)D.offset=B.getInt8(1),S++;else if(_===1)D.offset=B.getInt16(1,!0),S+=2;else if(_===0)D.offset=B.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(D.encoding===1)if(_=B.getUint8(S),S++,D.bitsPerPixel=_&63,_>>=6,D.numValidPixelsType=_,_===2)D.numValidPixels=B.getUint8(S),S++;else if(_===1)D.numValidPixels=B.getUint16(S,!0),S+=2;else if(_===0)D.numValidPixels=B.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(I+=S,D.encoding!==3){var v,O;if(D.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";v=new ArrayBuffer(F*4),O=new Uint8Array(v),O.set(new Uint8Array(s,I,F*4));var M=new Float32Array(v);D.rawData=M,I+=F*4}else if(D.encoding===1){var U=Math.ceil(D.numValidPixels*D.bitsPerPixel/8),H=Math.ceil(U/4);v=new ArrayBuffer(H*4),O=new Uint8Array(v),O.set(new Uint8Array(s,I,U)),D.stuffedData=new Uint32Array(v),I+=U}}}return f.eofOffset=I,f},a=function(s,I,c,f,h,B,u){var d=(1<<I)-1,E=0,x,w=0,Q,C,y=Math.ceil((u-f)/h),p=s.length*4-Math.ceil(I*c/8);for(s[s.length-1]<<=8*p,x=0;x<c;x++){if(w===0&&(C=s[E++],w=32),w>=I)Q=C>>>w-I&d,w-=I;else{var b=I-w;Q=(C&d)<<b&d,C=s[E++],w=32-b,Q+=C>>>w}B[x]=Q<y?f+Q*h:u}return B};return n}(),t=function(){"use strict";var n={unstuff:function(l,a,s,I,c,f,h,B){var u=(1<<s)-1,d=0,E,x=0,w,Q,C,y,p=l.length*4-Math.ceil(s*I/8);if(l[l.length-1]<<=8*p,c)for(E=0;E<I;E++)x===0&&(Q=l[d++],x=32),x>=s?(w=Q>>>x-s&u,x-=s):(C=s-x,w=(Q&u)<<C&u,Q=l[d++],x=32-C,w+=Q>>>x),a[E]=c[w];else for(y=Math.ceil((B-f)/h),E=0;E<I;E++)x===0&&(Q=l[d++],x=32),x>=s?(w=Q>>>x-s&u,x-=s):(C=s-x,w=(Q&u)<<C&u,Q=l[d++],x=32-C,w+=Q>>>x),a[E]=w<y?f+w*h:B},unstuffLUT:function(l,a,s,I,c,f){var h=(1<<a)-1,B=0,u=0,d=0,E=0,x=0,w,Q=[],C=l.length*4-Math.ceil(a*s/8);l[l.length-1]<<=8*C;var y=Math.ceil((f-I)/c);for(u=0;u<s;u++)E===0&&(w=l[B++],E=32),E>=a?(x=w>>>E-a&h,E-=a):(d=a-E,x=(w&h)<<d&h,w=l[B++],E=32-d,x+=w>>>E),Q[u]=x<y?I+x*c:f;return Q.unshift(I),Q},unstuff2:function(l,a,s,I,c,f,h,B){var u=(1<<s)-1,d=0,E,x=0,w=0,Q,C,y;if(c)for(E=0;E<I;E++)x===0&&(C=l[d++],x=32,w=0),x>=s?(Q=C>>>w&u,x-=s,w+=s):(y=s-x,Q=C>>>w&u,C=l[d++],x=32-y,Q|=(C&(1<<y)-1)<<s-y,w=y),a[E]=c[Q];else{var p=Math.ceil((B-f)/h);for(E=0;E<I;E++)x===0&&(C=l[d++],x=32,w=0),x>=s?(Q=C>>>w&u,x-=s,w+=s):(y=s-x,Q=C>>>w&u,C=l[d++],x=32-y,Q|=(C&(1<<y)-1)<<s-y,w=y),a[E]=Q<p?f+Q*h:B}return a},unstuffLUT2:function(l,a,s,I,c,f){var h=(1<<a)-1,B=0,u=0,d=0,E=0,x=0,w=0,Q,C=[],y=Math.ceil((f-I)/c);for(u=0;u<s;u++)E===0&&(Q=l[B++],E=32,w=0),E>=a?(x=Q>>>w&h,E-=a,w+=a):(d=a-E,x=Q>>>w&h,Q=l[B++],E=32-d,x|=(Q&(1<<d)-1)<<a-d,w=d),C[u]=x<y?I+x*c:f;return C.unshift(I),C},originalUnstuff:function(l,a,s,I){var c=(1<<s)-1,f=0,h,B=0,u,d,E,x=l.length*4-Math.ceil(s*I/8);for(l[l.length-1]<<=8*x,h=0;h<I;h++)B===0&&(d=l[f++],B=32),B>=s?(u=d>>>B-s&c,B-=s):(E=s-B,u=(d&c)<<E&c,d=l[f++],B=32-E,u+=d>>>B),a[h]=u;return a},originalUnstuff2:function(l,a,s,I){var c=(1<<s)-1,f=0,h,B=0,u=0,d,E,x;for(h=0;h<I;h++)B===0&&(E=l[f++],B=32,u=0),B>=s?(d=E>>>u&c,B-=s,u+=s):(x=s-B,d=E>>>u&c,E=l[f++],B=32-x,d|=(E&(1<<x)-1)<<s-x,u=x),a[h]=d;return a}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(l){for(var a=65535,s=65535,I=l.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do a+=l[f++]<<8,s+=a+=l[f++];while(--h);a=(a&65535)+(a>>>16),s=(s&65535)+(s>>>16)}return I&1&&(s+=a+=l[f]<<8),a=(a&65535)+(a>>>16),s=(s&65535)+(s>>>16),(s<<16|a)>>>0},readHeaderInfo:function(l,a){var s=a.ptr,I=new Uint8Array(l,s,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;s+=6;var f=new DataView(l,s,8),h=f.getInt32(0,!0);c.fileVersion=h,s+=4,h>=3&&(c.checksum=f.getUint32(4,!0),s+=4),f=new DataView(l,s,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),s+=8,h>=4?(c.numDims=f.getUint32(8,!0),s+=4):c.numDims=1,f=new DataView(l,s,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),s+=40,a.headerInfo=c,a.ptr=s;var B,u;if(h>=3&&(u=h>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(l,s-u,c.blobSize-14)),B!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(l,a){var s=a.headerInfo,I=this.getDataTypeArray(s.imageType),c=s.numDims*this.getDataTypeSize(s.imageType),f=this.readSubArray(l,a.ptr,I,c),h=this.readSubArray(l,a.ptr+c,I,c);a.ptr+=2*c;var B,u=!0;for(B=0;B<s.numDims;B++)if(f[B]!==h[B]){u=!1;break}return s.minValues=f,s.maxValues=h,u},readSubArray:function(l,a,s,I){var c;if(s===Uint8Array)c=new Uint8Array(l,a,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(l,a,I)),c=new s(f)}return c},readMask:function(l,a){var s=a.ptr,I=a.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(l,s,4),B={};if(B.numBytes=h.getUint32(0,!0),s+=4,(f===0||c===f)&&B.numBytes!==0)throw"invalid mask";var u,d;if(f===0)u=new Uint8Array(Math.ceil(c/8)),B.bitset=u,d=new Uint8Array(c),a.pixels.resultMask=d,s+=B.numBytes;else if(B.numBytes>0){u=new Uint8Array(Math.ceil(c/8)),h=new DataView(l,s,B.numBytes);var E=h.getInt16(0,!0),x=2,w=0,Q=0;do{if(E>0)for(;E--;)u[w++]=h.getUint8(x++);else for(Q=h.getUint8(x++),E=-E;E--;)u[w++]=Q;E=h.getInt16(x,!0),x+=2}while(x<B.numBytes);if(E!==-32768||w<u.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(c);var C=0,y=0;for(y=0;y<c;y++)y&7?(C=u[y>>3],C<<=y&7):C=u[y>>3],C&128&&(d[y]=1);a.pixels.resultMask=d,B.bitset=u,s+=B.numBytes}return a.ptr=s,a.mask=B,!0},readDataOneSweep:function(l,a,s,I){var c=a.ptr,f=a.headerInfo,h=f.numDims,B=f.width*f.height,u=f.imageType,d=f.numValidPixel*r.getDataTypeSize(u)*h,E,x=a.pixels.resultMask;if(s===Uint8Array)E=new Uint8Array(l,c,d);else{var w=new ArrayBuffer(d),Q=new Uint8Array(w);Q.set(new Uint8Array(l,c,d)),E=new s(w)}if(E.length===B*h)I?a.pixels.resultPixels=r.swapDimensionOrder(E,B,h,s,!0):a.pixels.resultPixels=E;else{a.pixels.resultPixels=new s(B*h);var C=0,y=0,p=0,b=0;if(h>1){if(I){for(y=0;y<B;y++)if(x[y])for(b=y,p=0;p<h;p++,b+=B)a.pixels.resultPixels[b]=E[C++]}else for(y=0;y<B;y++)if(x[y])for(b=y*h,p=0;p<h;p++)a.pixels.resultPixels[b+p]=E[C++]}else for(y=0;y<B;y++)x[y]&&(a.pixels.resultPixels[y]=E[C++])}return c+=d,a.ptr=c,!0},readHuffmanTree:function(l,a){var s=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(l,a.ptr,16);a.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),B=I.getInt32(12,!0);if(h>=B)return!1;var u=new Uint32Array(B-h);r.decodeBits(l,a,u);var d=[],E,x,w,Q;for(E=h;E<B;E++)x=E-(E<f?0:f),d[x]={first:u[E-h],second:null};var C=l.byteLength-a.ptr,y=Math.ceil(C/4),p=new ArrayBuffer(y*4),b=new Uint8Array(p);b.set(new Uint8Array(l,a.ptr,C));var m=new Uint32Array(p),k=0,S,T=0;for(S=m[0],E=h;E<B;E++)x=E-(E<f?0:f),Q=d[x].first,Q>0&&(d[x].second=S<<k>>>32-Q,32-k>=Q?(k+=Q,k===32&&(k=0,T++,S=m[T])):(k+=Q-32,T++,S=m[T],d[x].second|=S>>>32-k));var D=0,_=0,v=new g;for(E=0;E<d.length;E++)d[E]!==void 0&&(D=Math.max(D,d[E].first));D>=s?_=s:_=D;var O=[],F,M,U,H,J,K;for(E=h;E<B;E++)if(x=E-(E<f?0:f),Q=d[x].first,Q>0)if(F=[Q,x],Q<=_)for(M=d[x].second<<_-Q,U=1<<_-Q,w=0;w<U;w++)O[M|w]=F;else for(M=d[x].second,K=v,H=Q-1;H>=0;H--)J=M>>>H&1,J?(K.right||(K.right=new g),K=K.right):(K.left||(K.left=new g),K=K.left),H===0&&!K.val&&(K.val=F[1]);return{decodeLut:O,numBitsLUTQick:_,numBitsLUT:D,tree:v,stuffedData:m,srcPtr:T,bitPos:k}},readHuffman:function(l,a,s,I){var c=a.headerInfo,f=c.numDims,h=a.headerInfo.height,B=a.headerInfo.width,u=B*h,d=this.readHuffmanTree(l,a),E=d.decodeLut,x=d.tree,w=d.stuffedData,Q=d.srcPtr,C=d.bitPos,y=d.numBitsLUTQick,p=d.numBitsLUT,b=a.headerInfo.imageType===0?128:0,m,k,S,T=a.pixels.resultMask,D,_,v,O,F,M,U,H=0;C>0&&(Q++,C=0);var J=w[Q],K=a.encodeMode===1,L=new s(u*f),G=L,N;if(f<2||K){for(N=0;N<f;N++)if(f>1&&(G=new s(L.buffer,u*N,u),H=0),a.headerInfo.numValidPixel===B*h)for(M=0,O=0;O<h;O++)for(F=0;F<B;F++,M++){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,U=0;U<p;U++)if(v=D>>>p-U-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+U+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,K?(F>0?S+=H:O>0?S+=G[M-B]:S+=H,S&=255,G[M]=S,H=S):G[M]=S}else for(M=0,O=0;O<h;O++)for(F=0;F<B;F++,M++)if(T[M]){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,U=0;U<p;U++)if(v=D>>>p-U-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+U+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,K?(F>0&&T[M-1]?S+=H:O>0&&T[M-B]?S+=G[M-B]:S+=H,S&=255,G[M]=S,H=S):G[M]=S}}else for(M=0,O=0;O<h;O++)for(F=0;F<B;F++)if(M=O*B+F,!T||T[M])for(N=0;N<f;N++,M+=u){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,U=0;U<p;U++)if(v=D>>>p-U-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+U+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,G[M]=S}a.ptr=a.ptr+(Q+1)*4+(C>0?4:0),a.pixels.resultPixels=L,f>1&&!I&&(a.pixels.resultPixels=r.swapDimensionOrder(L,u,f,s))},decodeBits:function(l,a,s,I,c){{var f=a.headerInfo,h=f.fileVersion,B=0,u=l.byteLength-a.ptr>=5?5:l.byteLength-a.ptr,d=new DataView(l,a.ptr,u),E=d.getUint8(0);B++;var x=E>>6,w=x===0?4:3-x,Q=(E&32)>0,C=E&31,y=0;if(w===1)y=d.getUint8(B),B++;else if(w===2)y=d.getUint16(B,!0),B+=2;else if(w===4)y=d.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var p=2*f.maxZError,b,m,k,S,T,D,_,v,O,F,M=f.numDims>1?f.maxValues[c]:f.zMax;if(Q){for(a.counter.lut++,v=d.getUint8(B),O=C,B++,S=Math.ceil((v-1)*C/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),a.ptr+=B,k.set(new Uint8Array(l,a.ptr,S)),_=new Uint32Array(m),a.ptr+=S,F=0;v-1>>>F;)F++;S=Math.ceil(y*F/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),k.set(new Uint8Array(l,a.ptr,S)),b=new Uint32Array(m),a.ptr+=S,h>=3?D=n.unstuffLUT2(_,C,v-1,I,p,M):D=n.unstuffLUT(_,C,v-1,I,p,M),h>=3?n.unstuff2(b,s,F,y,D):n.unstuff(b,s,F,y,D)}else a.counter.bitstuffer++,F=C,a.ptr+=B,F>0&&(S=Math.ceil(y*F/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),k.set(new Uint8Array(l,a.ptr,S)),b=new Uint32Array(m),a.ptr+=S,h>=3?I==null?n.originalUnstuff2(b,s,F,y):n.unstuff2(b,s,F,y,!1,I,p,M):I==null?n.originalUnstuff(b,s,F,y):n.unstuff(b,s,F,y,!1,I,p,M))}},readTiles:function(l,a,s,I){var c=a.headerInfo,f=c.width,h=c.height,B=f*h,u=c.microBlockSize,d=c.imageType,E=r.getDataTypeSize(d),x=Math.ceil(f/u),w=Math.ceil(h/u);a.pixels.numBlocksY=w,a.pixels.numBlocksX=x,a.pixels.ptr=0;var Q=0,C=0,y=0,p=0,b=0,m=0,k=0,S=0,T=0,D=0,_=0,v=0,O=0,F=0,M=0,U=0,H,J,K,L,G,N,V=new s(u*u),Z=h%u||u,W=f%u||u,j,tA,gA=c.numDims,qA,EA=a.pixels.resultMask,fA=a.pixels.resultPixels,Ba=c.fileVersion,fn=Ba>=5?14:15,vA,zt=c.zMax,UA;for(y=0;y<w;y++)for(b=y!==w-1?u:Z,p=0;p<x;p++)for(m=p!==x-1?u:W,_=y*f*u+p*u,v=f-m,qA=0;qA<gA;qA++){if(gA>1?(UA=fA,_=y*f*u+p*u,fA=new s(a.pixels.resultPixels.buffer,B*qA*E,B),zt=c.maxValues[qA]):UA=null,k=l.byteLength-a.ptr,H=new DataView(l,a.ptr,Math.min(10,k)),J={},U=0,S=H.getUint8(0),U++,vA=c.fileVersion>=5?S&4:0,T=S>>6&255,D=S>>2&fn,D!==(p*u>>3&fn)||vA&&qA===0)throw"integrity issue";if(N=S&3,N>3)throw a.ptr+=U,"Invalid block encoding ("+N+")";if(N===2){if(vA)if(EA)for(Q=0;Q<b;Q++)for(C=0;C<m;C++)EA[_]&&(fA[_]=UA[_]),_++;else for(Q=0;Q<b;Q++)for(C=0;C<m;C++)fA[_]=UA[_],_++;a.counter.constant++,a.ptr+=U;continue}else if(N===0){if(vA)throw"integrity issue";if(a.counter.uncompressed++,a.ptr+=U,O=b*m*E,F=l.byteLength-a.ptr,O=O<F?O:F,K=new ArrayBuffer(O%E===0?O:O+E-O%E),L=new Uint8Array(K),L.set(new Uint8Array(l,a.ptr,O)),G=new s(K),M=0,EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=G[M++]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_++]=G[M++];_+=v}a.ptr+=M*E}else if(j=r.getDataTypeUsed(vA&&d<6?4:d,T),tA=r.getOnePixel(J,U,j,H),U+=r.getDataTypeSize(j),N===3)if(a.ptr+=U,a.counter.constantoffset++,EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=vA?Math.min(zt,UA[_]+tA):tA),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_]=vA?Math.min(zt,UA[_]+tA):tA,_++;_+=v}else if(a.ptr+=U,r.decodeBits(l,a,V,tA,qA),U=0,vA)if(EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=V[U++]+UA[_]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_]=V[U++]+UA[_],_++;_+=v}else if(EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=V[U++]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_++]=V[U++];_+=v}}gA>1&&!I&&(a.pixels.resultPixels=r.swapDimensionOrder(a.pixels.resultPixels,B,gA,s))},formatFileInfo:function(l){return{fileIdentifierString:l.headerInfo.fileIdentifierString,fileVersion:l.headerInfo.fileVersion,imageType:l.headerInfo.imageType,height:l.headerInfo.height,width:l.headerInfo.width,numValidPixel:l.headerInfo.numValidPixel,microBlockSize:l.headerInfo.microBlockSize,blobSize:l.headerInfo.blobSize,maxZError:l.headerInfo.maxZError,pixelType:r.getPixelType(l.headerInfo.imageType),eofOffset:l.eofOffset,mask:l.mask?{numBytes:l.mask.numBytes}:null,pixels:{numBlocksX:l.pixels.numBlocksX,numBlocksY:l.pixels.numBlocksY,maxValue:l.headerInfo.zMax,minValue:l.headerInfo.zMin,noDataValue:l.noDataValue}}},constructConstantSurface:function(l,a){var s=l.headerInfo.zMax,I=l.headerInfo.zMin,c=l.headerInfo.maxValues,f=l.headerInfo.numDims,h=l.headerInfo.height*l.headerInfo.width,B=0,u=0,d=0,E=l.pixels.resultMask,x=l.pixels.resultPixels;if(E)if(f>1){if(a)for(B=0;B<f;B++)for(d=B*h,s=c[B],u=0;u<h;u++)E[u]&&(x[d+u]=s);else for(u=0;u<h;u++)if(E[u])for(d=u*f,B=0;B<f;B++)x[d+f]=c[B]}else for(u=0;u<h;u++)E[u]&&(x[u]=s);else if(f>1&&I!==s)if(a)for(B=0;B<f;B++)for(d=B*h,s=c[B],u=0;u<h;u++)x[d+u]=s;else for(u=0;u<h;u++)for(d=u*f,B=0;B<f;B++)x[d+B]=c[B];else for(u=0;u<h*f;u++)x[u]=s},getDataTypeArray:function(l){var a;switch(l){case 0:a=Int8Array;break;case 1:a=Uint8Array;break;case 2:a=Int16Array;break;case 3:a=Uint16Array;break;case 4:a=Int32Array;break;case 5:a=Uint32Array;break;case 6:a=Float32Array;break;case 7:a=Float64Array;break;default:a=Float32Array}return a},getPixelType:function(l){var a;switch(l){case 0:a="S8";break;case 1:a="U8";break;case 2:a="S16";break;case 3:a="U16";break;case 4:a="S32";break;case 5:a="U32";break;case 6:a="F32";break;case 7:a="F64";break;default:a="F32"}return a},isValidPixelValue:function(l,a){if(a==null)return!1;var s;switch(l){case 0:s=a>=-128&&a<=127;break;case 1:s=a>=0&&a<=255;break;case 2:s=a>=-32768&&a<=32767;break;case 3:s=a>=0&&a<=65536;break;case 4:s=a>=-2147483648&&a<=2147483647;break;case 5:s=a>=0&&a<=4294967296;break;case 6:s=a>=-34027999387901484e22&&a<=34027999387901484e22;break;case 7:s=a>=-17976931348623157e292&&a<=17976931348623157e292;break;default:s=!1}return s},getDataTypeSize:function(l){var a=0;switch(l){case 0:case 1:a=1;break;case 2:case 3:a=2;break;case 4:case 5:case 6:a=4;break;case 7:a=8;break;default:a=l}return a},getDataTypeUsed:function(l,a){var s=l;switch(l){case 2:case 4:s=l-a;break;case 3:case 5:s=l-2*a;break;case 6:a===0?s=l:a===1?s=2:s=1;break;case 7:a===0?s=l:s=l-2*a+1;break;default:s=l;break}return s},getOnePixel:function(l,a,s,I){var c=0;switch(s){case 0:c=I.getInt8(a);break;case 1:c=I.getUint8(a);break;case 2:c=I.getInt16(a,!0);break;case 3:c=I.getUint16(a,!0);break;case 4:c=I.getInt32(a,!0);break;case 5:c=I.getUInt32(a,!0);break;case 6:c=I.getFloat32(a,!0);break;case 7:c=I.getFloat64(a,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(l,a,s,I,c){var f=0,h=0,B=0,u=0,d=l;if(s>1)if(d=new I(a*s),c)for(f=0;f<a;f++)for(u=f,B=0;B<s;B++,u+=a)d[u]=l[h++];else for(f=0;f<a;f++)for(u=f,B=0;B<s;B++,u+=a)d[h++]=l[u];return d}},g=function(l,a,s){this.val=l,this.left=a,this.right=s},o={decode:function(l,a){a=a||{};var s=a.noDataValue,I=0,c={};if(c.ptr=a.inputOffset||0,c.pixels={},!!r.readHeaderInfo(l,c)){var f=c.headerInfo,h=f.fileVersion,B=r.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;r.readMask(l,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=a.maskData);var u=f.width*f.height;c.pixels.resultPixels=new B(u*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!a.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)r.constructConstantSurface(c,d);else if(h>=4&&r.checkMinMaxRanges(l,c))r.constructConstantSurface(c,d);else{var E=new DataView(l,c.ptr,2),x=E.getUint8(0);if(c.ptr++,x)r.readDataOneSweep(l,c,B,d);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=E.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?r.readHuffman(l,c,B,d):r.readTiles(l,c,B,d)}else r.readTiles(l,c,B,d)}c.eofOffset=c.ptr;var Q;a.inputOffset?(Q=c.headerInfo.blobSize+a.inputOffset-c.ptr,Math.abs(Q)>=1&&(c.eofOffset=a.inputOffset+c.headerInfo.blobSize)):(Q=c.headerInfo.blobSize-c.ptr,Math.abs(Q)>=1&&(c.eofOffset=c.headerInfo.blobSize));var C={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&r.isValidPixelValue(f.imageType,s)){var y=c.pixels.resultMask;for(I=0;I<u;I++)y[I]||(C.pixelData[I]=s);C.noDataValue=s}return c.noDataValue=s,a.returnFileInfo&&(C.fileInfo=r.formatFileInfo(c)),C}},getBandCount:function(l){var a=0,s=0,I={};for(I.ptr=0,I.pixels={};s<l.byteLength-58;)r.readHeaderInfo(l,I),s+=I.headerInfo.blobSize,a++,I.ptr=s;return a}};return o}(),A=function(){var n=new ArrayBuffer(4),r=new Uint8Array(n),g=new Uint32Array(n);return g[0]=1,r[0]===1}(),i={decode:function(n,r){if(!A)throw"Big endian system is not supported.";r=r||{};var g=r.inputOffset||0,o=new Uint8Array(n,g,10),l=String.fromCharCode.apply(null,o),a,s;if(l.trim()==="CntZImage")a=e,s=1;else if(l.substring(0,5)==="Lerc2")a=t,s=2;else throw"Unexpected file identifier string: "+l;for(var I=0,c=n.byteLength-10,f,h=[],B,u,d={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]},E=0;g<c;){var x=a.decode(n,{inputOffset:g,encodedMaskData:f,maskData:u,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:r.returnPixelInterleavedDims,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});g=x.fileInfo.eofOffset,u=x.maskData,I===0&&(f=x.encodedMaskData,d.width=x.width,d.height=x.height,d.dimCount=x.dimCount||1,d.pixelType=x.pixelType||x.fileInfo.pixelType,d.mask=u),s>1&&(u&&h.push(u),x.fileInfo.mask&&x.fileInfo.mask.numBytes>0&&E++),I++,d.pixels.push(x.pixelData),d.statistics.push({minValue:x.minValue,maxValue:x.maxValue,noDataValue:x.noDataValue,dimStats:x.dimStats})}var w,Q,C;if(s>1&&E>1){for(C=d.width*d.height,d.bandMasks=h,u=new Uint8Array(C),u.set(h[0]),w=1;w<h.length;w++)for(B=h[w],Q=0;Q<C;Q++)u[Q]=u[Q]&B[Q];d.maskData=u}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Ft<"u"&&Ft.exports?Ft.exports=i:this.Lerc=i})()});var Oe,FA,zi,Ki,Rt,Oo,qo=cA(()=>{Ki={env:{emscripten_notify_memory_growth:function(e){zi=new Uint8Array(FA.exports.memory.buffer)}}},Rt=class{init(){return Oe||(typeof fetch<"u"?Oe=fetch("data:application/wasm;base64,"+Oo).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Ki)).then(this._init):Oe=WebAssembly.instantiate(Buffer.from(Oo,"base64"),Ki).then(this._init),Oe)}_init(t){FA=t.instance,Ki.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!FA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,n=FA.exports.malloc(i);zi.set(t,n),A=A||Number(FA.exports.ZSTD_findDecompressedSize(n,i));let r=FA.exports.malloc(A),g=FA.exports.ZSTD_decompress(r,A,n,i),o=zi.slice(r,r+g);return FA.exports.free(n),FA.exports.free(r),o}},Oo="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var Jo={};GA(Jo,{default:()=>vt,zstd:()=>Yo});var Ho,Yo,vt,Ko=cA(()=>{Ji();Ho=HA(To(),1);qo();DA();rt();Yo=new Rt,vt=class extends ${constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[Wn.AddCompression]}decodeBlock(t){switch(this.addCompression){case nt.None:break;case nt.Deflate:t=bt(new Uint8Array(t)).buffer;break;case nt.Zstandard:t=Yo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Ho.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var zo={};GA(zo,{default:()=>Ut});var Ut,Po=cA(()=>{DA();Ut=class extends ${constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),n=await createImageBitmap(i),r;typeof document<"u"?(r=document.createElement("canvas"),r.width=n.width,r.height=n.height):r=new OffscreenCanvas(n.width,n.height);let g=r.getContext("2d");return g.drawImage(n,0,0),g.getImageData(0,0,n.width,n.height).data.buffer}}});var oa=QA(()=>{});var aa=QA(()=>{});var sa=QA(()=>{});var Vg={};GA(Vg,{default:()=>Je});module.exports=xa(Vg);var XA=HA(require("sharp"),1);var R=Ze;(function(e,t){let A=Ze,i=e();for(;;)try{if(-parseInt(A(365))/1*(-parseInt(A(467))/2)+-parseInt(A(345))/3+parseInt(A(447))/4*(parseInt(A(489))/5)+parseInt(A(356))/6+parseInt(A(355))/7*(parseInt(A(323))/8)+parseInt(A(495))/9+parseInt(A(287))/10*(-parseInt(A(370))/11)===t)break;i.push(i.shift())}catch{i.push(i.shift())}})(Ve,603387);function Ve(){let e=["uQBHp","eQVTD","default","KPfDT","YtkrU","fkhIG","NLoVA","jIKLi","RxHDh","_sizePctScale","SUSkv","should not upscale without ^","qFvGD","DTGol","fSSlr","UuooB","BMYhd","native","3.0","^\\^pct:","uUcmT","^\\^max$","gray","LQCuB","height","ltIxe","yfnPz","HOTwp","10075550gNEBRq","iXOUU","THouJ","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level","WxvXk","pdf","image/tiff","CGVuk","body","application/pdf","BFSnG","QBGmW","2|0|5|6|7|8|1|3|4|9","mTGOL","QRmjG","TIoKn","vRTMx","qRRXU","2.1","@id","plpvh","dAIQK","mZsQf","identifier","tvDFQ","maxArea","http://iiif.io/api/image/2/level","zsgTN","lYRdp","map","tile_width","ppBBC","[0-9]*","AgArR","invalid IIIF width ","erhnU","71192Whxdbm","profile","kKOMT","Qudhv","qyXyb","^pct:","uuBce","http://library.stanford.edu/iiif/image-api/compliance.html#level","3|4|2|0|6|5|1","size","OFaPg","width","^\\^","tiles","qVPni","igQUT","PXoHE","split","version","image/webp","charAt","OvbkW","509799BWekFQ","azHlE","tif","qualities","pct:","image/jpeg","_sizeBangScale","IleAX","WecSj","ceil","609CatGvb","1859562tiBZnL","quality","UPGlZ","uriPattern","format","BLmeE","http://iiif.io/api/image/3/context.json","http://iiif.io/api/image","DtISw","80278PhXhsX","[1-9][0-9]*","sizes","KkPgx","EpRCl","22LfWwWh","XZpaR","grey","sfgay","substring","jpg","image/gif","wWBSf","floor","_regionXYWH","LZnUx","CXIVI","bTdut","1.0","KLuZo","@context","_regionSquare","max","maxHeight","iFZaa","vecFM","fNDeP","VyrgU","Lsgrq","QNrls","rdQXF","stringify","jp2","IqBfs","application/json","invalid IIIF height ","fKYnd","png","yqaOV","normalizeRotationParams","bitonal","CMihE","uYMlB","GBJAx","vgtgS","OUXYc","DnOKX","abs","mDnyx","WyNef","^\\^,","factors","square","vjEez","AhyOf","min","maxWidth","IFZem","okJel","gif",".json","cbiIY","sjZEV","dEhEY","MkATO","match","compliance","tQczi","invalid region dimensions: ","_regionPct","CAEmx","rotation","^\\^!","scale_factors","normalizeQualityParams","ruLhO","image/png","type","http://library.stanford.edu/iiif/image-api/1.1/context.json","normalizeRegionParams","gBtRT","BEQau","1166884ksTMMb","webp","iBFJy","tile_height","^full$","BCiWk","protocol","\\d+(\\.\\d+)?","normalizeFormatParams","QzbST","invalid IIIF url ","join","NBnnk","XPpNk","info","push","level","dxVCA","PhMFU","xsPxg","18QnWAxa","IMBac","test","WvsZA","contentType","YIvcn","SVPjw","formats","cxRjs","wDfPk","bEdgg","http://iiif.io/api/image/2/context.json","KrWAr","icqYR","jPZQO","context","2.0","sqrt","fjYJt","validate","EPbKG","TKMfx","5hWSwhd","ImageService3","HhKNN","mWHtF","LfOCA","slMkq","6210603QdprKH","lEJwQ","mqVmJ","length","1.1","mCuCI","lNOYq","replace","full","dTNfo","URvZR","pkUIP","region"];return Ve=function(){return e},Ve()}function Ze(e,t){let A=Ve();return Ze=function(i,n){return i=i-276,A[i]},Ze(e,t)}var rA=R(366),In=R(319),ze="(?=.*[1-9])\\d+(\\.\\d+)?",Pt=R(454),Vt={jpg:R(350),jpeg:R(350),png:R(441),webp:R(342),tif:R(293),tiff:R(293),gif:R(376),jp2:"image/jp2",pdf:R(296)},Ce={version:[R(383),"1.1",R(483),R(305),"3.0"],level:["0","1","2"],region:["full",R(417),In+","+In+","+rA+","+rA,R(349)+Pt+","+Pt+","+ze+","+ze],rotation:"!?"+Pt,quality:["color",R(281),R(405),R(510),"native",R(372)],format:[R(375),R(402),R(448),R(347),R(424),R(397),R(292)],size:[R(451),"^"+rA+",$","^,"+rA+"$",R(328)+ze+"$","^"+rA+","+rA+"$","^!"+rA+","+rA+"$","^max$",R(280),R(335)+rA+",$",R(415)+rA+"$",R(278)+ze+"$",R(335)+rA+","+rA+"$",R(437)+rA+","+rA+"$"]},Pe=/^pct:([\d,\.]+)/,Ee=class{constructor(t,A,i){let n=R;this[n(312)]=t,this[n(421)]=A,this[n(388)]=i}[R(486)](t,A){let i=R,n={MkOaY:function(o,l){return o/l},erhnU:function(o,l){return o*l},Qudhv:function(o,l){return o===l},qBhtZ:function(o,l){return o!==l},ZMqWE:i(315),iFZaa:function(o,l){return o+l},EPbKG:function(o,l){return o===l},azHlE:"bEdgg",xsPxg:function(o,l){return o(l)}},r=Ce[t];if(r instanceof Array&&(n.qBhtZ(n.ZMqWE,i(315))?(_0x258bb7=_0x18287a.ceil(n.MkOaY(n[i(322)](_0x29a716,_0x2b195a),_0x31125e)),_0x38fd6f=n[i(326)](_0x1c210a,0)?1:_0x1bbe45):r=r[i(458)]("|")),!new RegExp(n[i(389)](n.iFZaa("^(",r),")$"))[i(469)](A)){if(n[i(487)](i(477),n[i(346)]))throw n[i(466)](Error,i(457)+t+": "+A);_0x5e1149="level"+_0xee9799,_0x1f779c=i(362)}return!0}[R(444)](t,A){let i=R,n={QNrls:i(507),dTNfo:"full",QzbST:function(r,g){return r===g}};if(this[i(486)](n[i(394)],t),t===n[i(504)])return null;if(n[i(456)](t,i(417)))return this[i(386)](A);if(Pe[i(469)](t))return this[i(434)](t[i(430)](Pe)[1],A);{let r=t.split(",")[i(316)](g=>Number(g));return this[i(379)](r,A)}}[R(386)](t){let A=R,i={PhMFU:function(l,a){return l-a},qFNsO:function(l,a){return l>a},BMYhd:function(l,a){return l*a},cxRjs:function(l,a){return l!==a},QzQZk:A(303),eQVTD:A(423),Ulaip:function(l,a){return l===a},yqaOV:A(480),EpRCl:A(377)},n,r,g=t[A(334)],o=t[A(283)];if(g!==o)if(i[A(475)](i.QzQZk,i[A(509)])){let l=Math[A(420)](g,o),a=Math.abs(Math[A(378)](i[A(465)](g,o)/2));if(g>o)if(i.Ulaip(i[A(403)],i[A(369)])){let s=_0x1dcef9[A(420)](_0x3826c1,_0x2d7805),I=_0x326c63[A(412)](_0x55eb6d[A(378)](i.PhMFU(_0x5d0039,_0x19c73b)/2));return i.qFNsO(_0x380afc,_0x1fd30f)?(_0x5290fc=I,_0x5b67fa=0):(_0xd4d119=0,_0x2dffae=I),this[A(379)]([_0x282c19,_0x37f8be,s,s],_0x233bdf)}else n=a,r=0;else n=0,r=a;return this[A(379)]([n,r,l,l],t)}else return _0x58a6f9[A(354)](i[A(524)](_0x42ec49[A(283)],_0x454bf6));return null}[R(434)](t,A){let i=R,n={FVzXe:function(g,o){return g/o},CGVuk:function(g,o){return g(o)},YIvcn:function(g,o){return g===o},iYfEl:function(g,o){return g===o},LfOCA:function(g,o){return g!==o},fKYnd:i(320),qRRXU:function(g,o){return g*o},rZSoM:function(g,o){return g*o}},r=t[i(340)](",")[i(316)]((g,o)=>{let l=i,a=n.FVzXe(n[l(294)](Number,g),100);if(n[l(472)](o,0)||n.iYfEl(o,2)){if(n[l(493)](l(288),n[l(401)]))return Math[l(354)](n[l(304)](A[l(334)],a));_0x94c8eb=_0x269e4d-_0x26ce26}else if(n.YIvcn(o,1)||n[l(472)](o,3))return Math[l(354)](n.rZSoM(A.height,a));return null});return this._regionXYWH(r,A)}[R(379)](t,A){let i=R,n={dAIQK:function(I,c){return I>c},dxVCA:function(I,c){return I+c},fkhIG:function(I,c){return I-c},XZpaR:function(I,c){return I>c},WecSj:function(I,c){return I===c},DtISw:i(515),LQCuB:function(I,c){return I<=c},OFaPg:function(I,c){return I(c)}},r=A[i(334)],g=A[i(283)],[o,l,a,s]=t;if(n[i(308)](n[i(464)](o,a),r)&&(a=n[i(513)](r,o)),n[i(371)](n.dxVCA(l,s),g))if(n[i(353)](n.DtISw,n[i(364)]))s=n[i(513)](g,l);else return null;if(n.LQCuB(a,0))throw n.OFaPg(Error,i(321)+a);if(n[i(282)](s,0))throw n[i(333)](Error,i(400)+s);return{x:o,y:l,w:a,h:s}}normalizeSizeParams(t,A){let i=R,n={MkATO:i(385),LNvZq:i(482),HOTwp:"compliance",NLoVA:function(s,I){return s===I},IMBac:i(291),CAEmx:function(s,I){return s(I)},igQUT:i(332),OCPxo:function(s,I){return s===I},xyReF:function(s,I){return s===I},ICtCN:i(503),BFSnG:function(s,I){return s===I},MTMhD:i(446),mDnyx:function(s,I){return s!==I},YIChU:i(481),QzXPD:i(373),txErT:function(s,I){return s===I},QWaqC:function(s,I){return s*I},kKOMT:function(s,I){return s!==I},yfnPz:"qSMKk"},r=t,g=A.width,o=A.height;if(!A||!g&&!o)if(n[i(514)](n[i(468)],"mNwNT"))_0x163d5b=!0,_0x36f0fc=_0x343877[i(374)](1);else throw n[i(435)](Error,"invalid region dimensions: "+JSON.stringify(A,null,2));this[i(486)](n[i(338)],r);let l=!1;n.OCPxo(r[i(343)](0),"^")&&(l=!0,r=r[i(374)](1));let a=null;if(n.xyReF(r,n.ICtCN))return null;if(n[i(297)](r,i(387)))a=this._sizeMaxScale(A);else if(Pe[i(469)](r)){if(n[i(297)](i(440),n.MTMhD))return null;a=this._sizePctScale(r[i(430)](Pe)[1])}else r.charAt(0)==="!"&&(n[i(413)](n.YIChU,n.QzXPD)?(r=r[i(374)](1),a=this[i(351)](r,l,A)):(_0x3b1d7f[n[i(429)]]=this[i(359)](n.LNvZq,_0x4072b9,_0x7bbe1a),_0x55ec87[i(306)]=_0x3b6ef1,_0x563c5d[i(334)]=_0x9e51d7.width,_0x25dfe9[i(283)]=_0x4651a8[i(283)],_0x3cb33a[i(438)]=this[i(416)](_0x3bfdb1,_0x1f4734,_0xab03cc),_0x4bc1cb[i(317)]=_0x933c99,_0x3d3883[i(450)]=_0xa8684c,_0x4afdb1[i(474)]=_0x39d869[i(360)],_0x326097[i(348)]=_0x470235[i(357)],_0x1cab31[i(324)]=this[i(359)](n[i(286)],_0x21dadb,_0x392660)));if(n.txErT(a,1))return null;if(a){let s=Math.ceil(g*a),I=Math[i(354)](n.QWaqC(o,a));return this._sizeWH(s+","+I,l,A)}else if(n[i(325)](n.yfnPz,n[i(285)]))_0x506af8[i(462)](1);else return this._sizeWH(r,l,A)}_sizeBangScale(t,A,i){let n=R,r={pkUIP:function(I,c){return I/c},URvZR:function(I,c){return I>c},uYMlB:function(I,c){return I>c},Lsgrq:function(I,c){return I===c},IleAX:n(392),fNDeP:function(I,c){return I(c)},CXIVI:n(519)},g=i.width,o=i[n(283)],[l,a]=t[n(340)](",")[n(316)](I=>I===""?null:Number(I)),s=Math[n(420)](r.pkUIP(l,g),r[n(506)](a,o));if(r[n(505)](l,g)&&r[n(407)](a,o)&&!A){if(r[n(393)](n(392),r[n(352)]))throw r[n(391)](Error,r[n(381)]);_0x5a66ad=this[n(517)](_0x25813c[n(430)](_0x151c15)[1])}return s}_sizeMaxScale(t){let A=R,i={CMihE:function(o,l){return o<=l},gBtRT:function(o,l){return o*l},vgtgS:function(o,l){return o<=l},TKMfx:function(o,l){return o===l},NBnnk:function(o,l){return o*l},mZsQf:function(o,l){return o!==l},QBGmW:A(311),ltIxe:"GdxeE",uQBHp:function(o,l){return o/l},YtkrU:function(o,l){return o/l},qVPni:function(o,l){return o<l},DnOKX:A(428),RxHDh:A(520),FGQcZ:function(o,l){return o/l}},n=t[A(334)],r=t[A(283)],g=1;if(this[A(312)]&&this[A(312)]<i[A(459)](n,r))if(i[A(309)](i[A(298)],i[A(284)]))g=Math[A(484)](i[A(508)](this[A(312)],i[A(459)](n,r)));else{let o=1,l=[];for(;i[A(406)](i.gBtRT(_0x4469bc,o),_0x123da6[A(334)])||i[A(409)](i[A(445)](_0x1731b5,o),_0x4d4598.height);)l.push(o),o*=2;return i.TKMfx(l[A(498)],0)&&l.push(1),l}return this.maxWidth&&this[A(421)]<n&&(g=Math.min(g,i[A(512)](this[A(421)],n))),this[A(388)]&&i[A(337)](this[A(388)],r)&&(i[A(488)](i[A(411)],i[A(516)])?(_0x15f652=0,_0x2face4=_0x3bdaec):g=Math[A(420)](g,i.FGQcZ(this[A(388)],r))),g}[R(517)](t){let A=R,i={Qfpqp:function(r,g){return r/g},mTGOL:function(r,g){return r(g)}};return i.Qfpqp(i[A(300)](Number,t),100)}_sizeWH(t,A,i){let n=R,r={IqBfs:function(s,I){return s/I},lEJwQ:function(s,I){return s===I},UuooB:function(s,I){return s*I},xVSBb:function(s,I){return s>I},WyNef:function(s,I){return s(I)},TnVDE:n(519)},g=i.width,o=i[n(283)],[l,a]=t.split(",")[n(316)](s=>s===""?null:Number(s));if(l?!a&&(a=Math[n(354)](r[n(523)](o,l)/g),a=a===0?1:a):(l=Math[n(354)](r[n(398)](g*a,o)),l=r[n(496)](l,0)?1:l),(l>g||r.xVSBb(a,o))&&!A)throw r[n(414)](Error,r.TnVDE);return{width:l,height:a}}[R(404)](t){let A=R,i={rdQXF:function(g,o){return g===o},wAwsS:function(g,o){return g(o)}};this[A(486)](A(436),t);let n=!1;if(i[A(395)](t,"0"))return null;t[0]==="!"&&(n=!0);let r=i.wAwsS(Number,t[A(502)](/^!/,""));return{isMirror:n,degree:r}}[R(439)](t){let A=R,i={fjYJt:function(n,r){return n===r},SVPjw:A(276),lNOYq:function(n,r){return n===r},zsgTN:A(510)};return this[A(486)](A(357),t),i[A(485)](t,i[A(473)])||i[A(501)](t,i[A(314)])?null:t}[R(455)](t,A){let i=R,n={KkPgx:function(o,l){return o===l}};this[i(486)](i(360),t);let r=Vt[t],g=Vt[A];return n[i(368)](r,g)?null:t}getContentType(t){return Vt[t]}generateImageInfoTemp(t,A,i,n="2",r=512,g=512){let o=R,l={BGopY:function(I,c){return I/c},QRmjG:function(I,c){return I>c},mCuCI:function(I,c){return I(c)},CNQCo:"should not upscale without ^",nUCew:o(463),DTGol:function(I,c){return I===c},ppBBC:o(383),AhyOf:"9|8|1|4|0|7|5|6|3|10|2",cbiIY:"1.1",TIoKn:o(299),IFZem:o(306),BCiWk:o(385),SUSkv:"context",bTdut:o(431),sjZEV:function(I,c){return I===c},iBFJy:function(I,c){return I===c},plpvh:o(305),PXoHE:function(I,c){return I!==c},IlBex:"OOtiw",UPGlZ:"jndtN",qyXyb:o(331),KrWAr:o(277),fSSlr:function(I,c){return I!==c},LZnUx:o(511),FpbXK:o(490),uuBce:"http://iiif.io/api/image",tQczi:"application/ld+json"};this[o(486)](o(341),i),this[o(486)](l.nUCew,n);let a={},s={};if(a[o(461)]=s,l[o(521)](i,l[o(318)])){let I=l[o(419)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[o(317)]=r;continue;case"1":s[o(283)]=A.height;continue;case"2":a[o(295)]=JSON.stringify(s);continue;case"3":s.profile=this[o(359)]("compliance",i,n);continue;case"4":s[o(438)]=this[o(416)](A,r,g);continue;case"5":s[o(474)]=Ce[o(360)];continue;case"6":s[o(348)]=Ce[o(357)];continue;case"7":s[o(450)]=g;continue;case"8":s[o(334)]=A[o(334)];continue;case"9":s[o(310)]=t;continue;case"10":a[o(471)]=o(399);continue}break}}else{if(l.DTGol(i,l[o(426)])){let I=l[o(302)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[l[o(422)]]=t;continue;case"1":s[o(450)]=g;continue;case"2":s[l[o(452)]]=this[o(359)](l[o(518)],i,n);continue;case"3":s[o(474)]=Ce[o(360)];continue;case"4":s[o(348)]=Ce[o(357)];continue;case"5":s[o(334)]=A[o(334)];continue;case"6":s[o(283)]=A[o(283)];continue;case"7":s[o(438)]=this.factors(A,r,g);continue;case"8":s.tile_width=r;continue;case"9":s[o(324)]=this[o(359)](l[o(382)],i,n);continue}break}}else if(l[o(427)](i,o(483))||l.iBFJy(i,l[o(307)]))if(l[o(339)](l.IlBex,l[o(358)])){let I=l[o(327)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[o(334)]=A[o(334)];continue;case"1":s[o(324)]=[this[o(359)](l[o(382)],i,n)];continue;case"2":s[o(453)]=o(363);continue;case"3":s[l[o(452)]]=this.uriPattern(l[o(518)],i,n);continue;case"4":s[l[o(422)]]=t;continue;case"5":l[o(449)](n,"0")?s[o(367)]=this[o(367)](A):s.tiles=[{scaleFactors:this[o(416)](A,r,g),width:r,height:g}];continue;case"6":s[o(283)]=A[o(283)];continue}break}}else return null;else if(l[o(521)](i,l[o(479)]))if(l[o(522)](l[o(380)],o(511))){let I=_0x3dd55f[o(334)],c=_0x804ef9[o(283)],[f,h]=_0x3f0d2e[o(340)](",")[o(316)](u=>u===""?null:_0x383279(u)),B=_0x44b159[o(420)](l.BGopY(f,I),h/c);if(l[o(301)](f,I)&&l[o(301)](h,c)&&!_0x1ac8c8)throw l[o(500)](_0xda0967,l.CNQCo);return B}else{if(s[o(385)]=[this[o(359)](l[o(518)],i,n)],s.id=t,s[o(442)]=l.FpbXK,s.protocol=l[o(329)],s[o(334)]=A[o(334)],s[o(283)]=A[o(283)],n==="0")if(l[o(427)](o(491),"HhKNN"))s.sizes=this[o(367)](A);else return[{width:_0x84acd3[o(334)],height:_0x5aba10[o(283)]}];else s[o(336)]=[{scaleFactors:this.factors(A,r,g),width:r,height:g}];s[o(324)]=this[o(359)](l[o(382)],i,n)}a[o(471)]=l[o(432)]}return a}factors(t,A,i){let n=R,r={OvbkW:function(l,a){return l*a},mqVmJ:function(l,a){return l<=a},GBJAx:function(l,a){return l!==a},BAWor:n(494),XPpNk:function(l,a){return l===a}},g=1,o=[];for(;r[n(497)](r[n(344)](A,g),t[n(334)])||r[n(497)](i*g,t[n(283)]);)if(r[n(408)](r.BAWor,"slMkq")){let l=_0x512ab3.ceil(r.OvbkW(_0x1e1b5a,_0x5b6bfb)),a=_0x3b6f5d[n(354)](_0x5dbb95*_0x5f4886);return this._sizeWH(l+","+a,_0x354331,_0x4649db)}else o.push(g),g*=2;return r[n(460)](o[n(498)],0)&&o[n(462)](1),o}uriPattern(t,A,i){let n=R,r={THouJ:function(l,a){return l(a)},KLuZo:function(l,a){return l===a},OUXYc:n(383),pqszV:n(499),GhfhN:n(443),WvsZA:n(483),wDfPk:n(478),BLmeE:function(l,a){return l===a},BZWdw:n(277),vjEez:n(362),uUcmT:n(431),mWHtF:function(l,a){return l===a},DAZIq:n(390)},g="",o="";if(r[n(384)](A,r[n(410)])?g=n(330)+i:r[n(384)](A,r.pqszV)?(g=n(290)+i,o=r.GhfhN):r[n(384)](A,r[n(470)])||r.KLuZo(A,n(305))?(g=n(313)+i+n(425),o=r[n(476)]):r[n(361)](A,r.BZWdw)&&(g=n(463)+i,o=r[n(418)]),r[n(384)](t,r[n(279)]))return g;if(r[n(384)](t,"context")){if(r[n(492)](r.DAZIq,r.DAZIq))return o;throw r[n(289)](_0x5a9a89,n(433)+_0x4793de[n(396)](_0x2e7a04,null,2))}else return""}sizes(t){let A=R;return[{width:t[A(334)],height:t[A(283)]}]}};var hn="Cannot convert undefined or null to object";function P(e){return(t,...A)=>wa(e,t,A)}function jA(e,t){return P(Xe(e,t).get)}var{apply:wa,construct:$g,defineProperty:Af,get:ef,getOwnPropertyDescriptor:Xe,getPrototypeOf:je,has:tf,ownKeys:un,set:nf,setPrototypeOf:rf}=Reflect;var{EPSILON:Cn,MAX_SAFE_INTEGER:of,isFinite:pa,isNaN:ya}=Number,{iterator:WA,species:af,toStringTag:_a,for:sf}=Symbol,We=Object,{create:$e,defineProperty:En,freeze:lf,is:gf}=We,Zt=We.prototype,ff=Zt.__lookupGetter__?P(Zt.__lookupGetter__):(e,t)=>{if(e==null)throw ka(hn);let A=We(e);do{let i=Xe(A,t);if(i!==void 0)return ma(i,"get")?i.get:void 0}while((A=je(A))!==null)},ma=We.hasOwn||P(Zt.hasOwnProperty),Qn=Array,cf=Qn.isArray,At=Qn.prototype,If=P(At.join),hf=P(At.push),Bf=P(At.toLocaleString),Xt=At[WA],dn=P(Xt),{abs:Da,trunc:uf}=Math,et=ArrayBuffer,Cf=et.isView,xn=et.prototype,Ef=P(xn.slice),Qf=jA(xn,"byteLength"),Bn=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,df=Bn&&jA(Bn.prototype,"byteLength"),wn=je(Uint8Array),xf=wn.from,iA=wn.prototype,wf=iA[WA],pf=P(iA.keys),yf=P(iA.values),_f=P(iA.entries),mf=P(iA.set),Df=P(iA.reverse),bf=P(iA.fill),kf=P(iA.copyWithin),Sf=P(iA.sort),Ff=P(iA.slice),Rf=P(iA.subarray),vf=jA(iA,"buffer"),Uf=jA(iA,"byteOffset"),Gf=jA(iA,"length"),Mf=jA(iA,_a),pn=Uint8Array,jt=Uint16Array;var tt=Uint32Array,yn=Float32Array,$A=je([][WA]()),Wt=P($A.next),_n=P(function*(){}().next),mn=je($A),Dn=DataView.prototype,bn=P(Dn.getUint16),ba=P(Dn.setUint16),ka=TypeError;var Sa=WeakSet,kn=Sa.prototype,Lf=P(kn.add),Nf=P(kn.has),it=WeakMap,$t=it.prototype,Ai=P($t.get),Tf=P($t.has),Sn=P($t.set);var Fn=new it,Fa=$e(null,{next:{value:function(){let t=Ai(Fn,this);return Wt(t)}},[WA]:{value:function(){return this}}});function Rn(e){if(e[WA]===Xt&&$A.next===Wt)return e;let t=$e(Fa);return Sn(Fn,t,dn(e)),t}var Ra=new it,va=$e(mn,{next:{value:function(){let t=Ai(Ra,this);return _n(t)},writable:!0,configurable:!0}});for(let e of un($A))e!=="next"&&En(va,e,Xe($A,e));var Ua=1/Cn;var Ga=6103515625e-14;var vn=.0009765625,Jf=vn*Ga,Kf=vn*Ua;var Un=new et(4),Ma=new yn(Un),La=new tt(Un),dA=new jt(512),xA=new pn(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(dA[e]=0,dA[e|256]=32768,xA[e]=24,xA[e|256]=24):t<-14?(dA[e]=1024>>-t-14,dA[e|256]=1024>>-t-14|32768,xA[e]=-t-1,xA[e|256]=-t-1):t<=15?(dA[e]=t+15<<10,dA[e|256]=t+15<<10|32768,xA[e]=13,xA[e|256]=13):t<128?(dA[e]=31744,dA[e|256]=64512,xA[e]=24,xA[e|256]=24):(dA[e]=31744,dA[e|256]=64512,xA[e]=13,xA[e|256]=13)}var ei=new tt(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,ei[e]=t|A}for(let e=1024;e<2048;++e)ei[e]=939524096+(e-1024<<13);var Ae=new tt(64);for(let e=1;e<31;++e)Ae[e]=e<<23;Ae[31]=1199570944;Ae[32]=2147483648;for(let e=33;e<63;++e)Ae[e]=2147483648+(e-32<<23);Ae[63]=3347054592;var Gn=new jt(64);for(let e=1;e<64;++e)e!==32&&(Gn[e]=1024);function Mn(e){let t=e>>10;return La[0]=ei[Gn[t]+(e&1023)]+Ae[t],Ma[0]}function Qe(e,t,...A){return Mn(bn(e,t,...Rn(A)))}var Mt=HA(Nn(),1),jo=HA(Zn(),1);rt();function $n(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,o=0;g<e.length;++g,o+=3)r=256-e[g]/t*256,n[o]=r,n[o+1]=r,n[o+2]=r;return n}function Ar(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,o=0;g<e.length;++g,o+=3)r=e[g]/t*256,n[o]=r,n[o+1]=r,n[o+2]=r;return n}function er(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r=t.length/3,g=t.length/3*2;for(let o=0,l=0;o<e.length;++o,l+=3){let a=e[o];n[l]=t[a]/65536*256,n[l+1]=t[a+r]/65536*256,n[l+2]=t[a+g]/65536*256}return n}function tr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=4,r+=3){let g=e[n],o=e[n+1],l=e[n+2],a=e[n+3];i[r]=255*((255-g)/256)*((255-a)/256),i[r+1]=255*((255-o)/256)*((255-a)/256),i[r+2]=255*((255-l)/256)*((255-a)/256)}return i}function ir(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n],o=e[n+1],l=e[n+2];i[r]=g+1.402*(l-128),i[r+1]=g-.34414*(o-128)-.71414*(l-128),i[r+2]=g+1.772*(o-128)}return i}var qa=.95047,Ha=1,Ya=1.08883;function nr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n+0],o=e[n+1]<<24>>24,l=e[n+2]<<24>>24,a=(g+16)/116,s=o/500+a,I=a-l/200,c,f,h;s=qa*(s*s*s>.008856?s*s*s:(s-16/116)/7.787),a=Ha*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),I=Ya*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=s*3.2406+a*-1.5372+I*-.4986,f=s*-.9689+a*1.8758+I*.0415,h=s*.0557+a*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[r]=Math.max(0,Math.min(1,c))*255,i[r+1]=Math.max(0,Math.min(1,f))*255,i[r+2]=Math.max(0,Math.min(1,h))*255}return i}var Vo=new Map;function CA(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Vo.set(A,t))}async function Pi(e){let t=Vo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}CA([void 0,1],()=>Promise.resolve().then(()=>(sr(),ar)).then(e=>e.default));CA(5,()=>Promise.resolve().then(()=>(fr(),gr)).then(e=>e.default));CA(6,()=>{throw new Error("old style JPEG compression is not supported.")});CA(7,()=>Promise.resolve().then(()=>(hr(),Ir)).then(e=>e.default));CA([8,32946],()=>Promise.resolve().then(()=>(Mo(),Go)).then(e=>e.default));CA(32773,()=>Promise.resolve().then(()=>(No(),Lo)).then(e=>e.default));CA(34887,()=>Promise.resolve().then(()=>(Ko(),Jo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));CA(50001,()=>Promise.resolve().then(()=>(Po(),zo)).then(e=>e.default));function Gt(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function Sg(e,t,A,i,n){let r=t/i,g=A/n;return e.map(o=>{let l=Gt(o,i,n);for(let a=0;a<n;++a){let s=Math.min(Math.round(g*a),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(r*I),t-1),f=o[s*t+c];l[a*i+I]=f}}return l})}function ce(e,t,A){return(1-A)*e+A*t}function Fg(e,t,A,i,n){let r=t/i,g=A/n;return e.map(o=>{let l=Gt(o,i,n);for(let a=0;a<n;++a){let s=g*a,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=r*f,B=h%1,u=Math.floor(h),d=Math.min(Math.ceil(h),t-1),E=o[I*t+u],x=o[I*t+d],w=o[c*t+u],Q=o[c*t+d],C=ce(ce(E,x,B),ce(w,Q,B),s%1);l[a*i+f]=C}}return l})}function Zo(e,t,A,i,n,r="nearest"){switch(r.toLowerCase()){case"nearest":return Sg(e,t,A,i,n);case"bilinear":case"linear":return Fg(e,t,A,i,n);default:throw new Error(`Unsupported resampling method: '${r}'`)}}function Rg(e,t,A,i,n,r){let g=t/i,o=A/n,l=Gt(e,i,n,r);for(let a=0;a<n;++a){let s=Math.min(Math.round(o*a),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(g*I),t-1);for(let f=0;f<r;++f){let h=e[s*t*r+c*r+f];l[a*i*r+I*r+f]=h}}}return l}function vg(e,t,A,i,n,r){let g=t/i,o=A/n,l=Gt(e,i,n,r);for(let a=0;a<n;++a){let s=o*a,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=g*f,B=h%1,u=Math.floor(h),d=Math.min(Math.ceil(h),t-1);for(let E=0;E<r;++E){let x=e[I*t*r+u*r+E],w=e[I*t*r+d*r+E],Q=e[c*t*r+u*r+E],C=e[c*t*r+d*r+E],y=ce(ce(x,w,B),ce(Q,C,B),s%1);l[a*i*r+f*r+E]=y}}}return l}function Xo(e,t,A,i,n,r,g="nearest"){switch(g.toLowerCase()){case"nearest":return Rg(e,t,A,i,n,r);case"bilinear":case"linear":return vg(e,t,A,i,n,r);default:throw new Error(`Unsupported resampling method: '${g}'`)}}function Ug(e,t,A){let i=0;for(let n=t;n<A;++n)i+=e[n];return i}function Vi(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Gg(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function Mg(e,t,A,i,n,r,g){let o=new DataView(e),l=A===2?g*r:g*r*i,a=A===2?1:i,s=Vi(t,n,l),I=parseInt("1".repeat(n),2);if(t===1){let c;A===1?c=i*n:c=n;let f=r*c;f&7&&(f=f+7&-8);for(let h=0;h<g;++h){let B=h*f;for(let u=0;u<r;++u){let d=B+u*a*n;for(let E=0;E<a;++E){let x=d+E*n,w=(h*r+u)*a+E,Q=Math.floor(x/8),C=x%8;if(C+n<=8)s[w]=o.getUint8(Q)>>8-n-C&I;else if(C+n<=16)s[w]=o.getUint16(Q)>>16-n-C&I;else if(C+n<=24){let y=o.getUint16(Q)<<8|o.getUint8(Q+2);s[w]=y>>24-n-C&I}else s[w]=o.getUint32(Q)>>32-n-C&I}}}}return s.buffer}var Zi=class{constructor(t,A,i,n,r,g){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=n,this.tiles=r?{}:null,this.isTiled=!t.StripOffsets;let o=t.PlanarConfiguration;if(this.planarConfiguration=typeof o>"u"?1:o,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=g}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(n,r){return Qe(this,n,r)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),n=this.getBitsPerSample(t);return Vi(i,n,A)}async getTileOrStrip(t,A,i,n,r){let g=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight()),l,{tiles:a}=this;this.planarConfiguration===1?l=A*g+t:this.planarConfiguration===2&&(l=i*g*o+A*g+t);let s,I;this.isTiled?(s=this.fileDirectory.TileOffsets[l],I=this.fileDirectory.TileByteCounts[l]):(s=this.fileDirectory.StripOffsets[l],I=this.fileDirectory.StripByteCounts[l]);let c=(await this.source.fetch([{offset:s,length:I}],r))[0],f;return a===null||!a[l]?(f=(async()=>{let h=await n.decode(this.fileDirectory,c),B=this.getSampleFormat(),u=this.getBitsPerSample();return Gg(B,u)&&(h=Mg(h,B,this.planarConfiguration,this.getSamplesPerPixel(),u,this.getTileWidth(),this.getBlockHeight(A))),h})(),a!==null&&(a[l]=f)):f=a[l],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,n,r,g,o,l,a){let s=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/s),0),B=Math.min(Math.ceil(t[2]/s),Math.ceil(c/s)),u=Math.max(Math.floor(t[1]/I),0),d=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),E=t[2]-t[0],x=this.getBytesPerPixel(),w=[],Q=[];for(let p=0;p<A.length;++p)this.planarConfiguration===1?w.push(Ug(this.fileDirectory.BitsPerSample,0,A[p])/8):w.push(0),Q.push(this.getReaderForSample(A[p]));let C=[],{littleEndian:y}=this;for(let p=u;p<d;++p)for(let b=h;b<B;++b){let m;this.planarConfiguration===1&&(m=this.getTileOrStrip(b,p,0,r,a));for(let k=0;k<A.length;++k){let S=k,T=A[k];this.planarConfiguration===2&&(x=this.getSampleByteSize(T),m=this.getTileOrStrip(b,p,T,r,a));let D=m.then(_=>{let v=_.data,O=new DataView(v),F=this.getBlockHeight(_.y),M=_.y*I,U=_.x*s,H=M+F,J=(_.x+1)*s,K=Q[S],L=Math.min(F,F-(H-t[3]),f-M),G=Math.min(s,s-(J-t[2]),c-U);for(let N=Math.max(0,t[1]-M);N<L;++N)for(let V=Math.max(0,t[0]-U);V<G;++V){let Z=(N*s+V)*x,W=K.call(O,Z+w[S],y),j;n?(j=(N+M-t[1])*E*A.length+(V+U-t[0])*A.length+S,i[j]=W):(j=(N+M-t[1])*E+V+U-t[0],i[S][j]=W)}});C.push(D)}}if(await Promise.all(C),g&&t[2]-t[0]!==g||o&&t[3]-t[1]!==o){let p;return n?p=Xo(i,t[2]-t[0],t[3]-t[1],g,o,A.length,l):p=Zo(i,t[2]-t[0],t[3]-t[1],g,o,l),p.width=g,p.height=o,p}return i.width=g||t[2]-t[0],i.height=o||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:n=null,width:r,height:g,resampleMethod:o,fillValue:l,signal:a}={}){let s=t||[0,0,this.getWidth(),this.getHeight()];if(s[0]>s[2]||s[1]>s[3])throw new Error("Invalid subsets");let I=s[2]-s[0],c=s[3]-s[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let E=0;E<h;++E)A.push(E);else for(let E=0;E<A.length;++E)if(A[E]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[E]}'.`));let B;if(i){let E=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,x=Math.max.apply(null,this.fileDirectory.BitsPerSample);B=Vi(E,x,f*A.length),l&&B.fill(l)}else{B=[];for(let E=0;E<A.length;++E){let x=this.getArrayForSample(A[E],f);Array.isArray(l)&&E<l.length?x.fill(l[E]):l&&!Array.isArray(l)&&x.fill(l),B.push(x)}}let u=n||await Pi(this.fileDirectory);return await this._readRaster(s,A,B,i,u,r,g,o,a)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:n,height:r,resampleMethod:g,enableAlpha:o=!1,signal:l}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let s=this.fileDirectory.PhotometricInterpretation;if(s===oA.RGB){let d=[0,1,2];if(this.fileDirectory.ExtraSamples!==jn.Unspecified&&o){d=[];for(let E=0;E<this.fileDirectory.BitsPerSample.length;E+=1)d.push(E)}return this.readRasters({window:t,interleave:A,samples:d,pool:i,width:n,height:r,resampleMethod:g,signal:l})}let I;switch(s){case oA.WhiteIsZero:case oA.BlackIsZero:case oA.Palette:I=[0];break;case oA.CMYK:I=[0,1,2,3];break;case oA.YCbCr:case oA.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:a,interleave:!0,samples:I,pool:i,width:n,height:r,resampleMethod:g,signal:l},{fileDirectory:f}=this,h=await this.readRasters(c),B=2**this.fileDirectory.BitsPerSample[0],u;switch(s){case oA.WhiteIsZero:u=$n(h,B);break;case oA.BlackIsZero:u=Ar(h,B);break;case oA.Palette:u=er(h,f.ColorMap);break;case oA.CMYK:u=tr(h);break;case oA.YCbCr:u=ir(h);break;case oA.CIELab:u=nr(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let d=new Uint8Array(u.length/3),E=new Uint8Array(u.length/3),x=new Uint8Array(u.length/3);for(let w=0,Q=0;w<u.length;w+=3,++Q)d[Q]=u[w],E[Q]=u[w+1],x[Q]=u[w+2];u=[d,E,x]}return u.width=h.width,u.height=h.height,u}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,n=(0,jo.default)(i,"Item");t===null?n=n.filter(r=>(0,Mt.default)(r,"sample")===void 0):n=n.filter(r=>Number((0,Mt.default)(r,"sample"))===t);for(let r=0;r<n.length;++r){let g=n[r];A[(0,Mt.default)(g,"name")]=g.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[n,r,g]=t.getResolution();return[n*t.getWidth()/this.getWidth(),r*t.getHeight()/this.getHeight(),g*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[n,r,g,o,l,a,s,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([u,d])=>[o+n*u+r*d,I+l*u+a*d]),h=f.map(u=>u[0]),B=f.map(u=>u[1]);return[Math.min(...h),Math.min(...B),Math.max(...h),Math.max(...B)]}else{let n=this.getOrigin(),r=this.getResolution(),g=n[0],o=n[1],l=g+r[0]*i,a=o+r[1]*A;return[Math.min(g,l),Math.min(o,a),Math.max(g,l),Math.max(o,a)]}}},Wo=Zi;var qe=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),n=this.getUint32(t+4,A),r;if(A){if(r=i+2**32*n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*i+n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}getInt64(t,A){let i=0,n=(this._dataView.getUint8(t+(A?7:0))&128)>0,r=!0;for(let g=0;g<8;g++){let o=this._dataView.getUint8(t+(A?g:7-g));n&&(r?o!==0&&(o=~(o-1)&255,r=!1):o=~o&255),i+=o*256**g}return n&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return Qe(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var He=class{constructor(t,A,i,n){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),n;if(this._littleEndian){if(n=A+2**32*i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*A+i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,n=!0;for(let r=0;r<8;r++){let g=this._dataView.getUint8(t+(this._littleEndian?r:7-r));i&&(n?g!==0&&(g=~(g-1)&255,n=!1):g=~g&255),A+=g*256**r}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var $o=`\r
|
|
3
|
+
>]`),B+=Kn(u,"</"+t+">"),B>=h)break;f=l}}else l=oi(o,"[ /]"+t+">",0);let s=g+t.length+l+1;if(i&&console.log("[xml-utils] end:",s),s===-1)return;let I=e.slice(g,s),c;return a?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:g,end:s}}ai.exports=zn;ai.exports.default=zn});var Zn=QA((oc,si)=>{var Ta=Pn();function Vn(e,t,A){let i=[],n=A&&A.debug||!1,r=A&&typeof A.nested=="boolean"?A.nested:!0,g=A&&A.startIndex||0,o;for(;o=Ta(e,t,{debug:n,startIndex:g});)r?g=o.start+1+t.length:g=o.end,i.push(o);return n&&console.log("findTagsByName found",i.length,"tags"),i}si.exports=Vn;si.exports.default=Vn});var ee,wA,Xn,li,q,oA,jn,Wn,it,de,Oa,nt=cA(()=>{ee={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},wA={};for(let e in ee)ee.hasOwnProperty(e)&&(wA[ee[e]]=parseInt(e,10));Xn=[wA.BitsPerSample,wA.ExtraSamples,wA.SampleFormat,wA.StripByteCounts,wA.StripOffsets,wA.StripRowCounts,wA.TileByteCounts,wA.TileOffsets,wA.SubIFDs],li={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},q={};for(let e in li)li.hasOwnProperty(e)&&(q[li[e]]=parseInt(e,10));oA={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},jn={Unspecified:0,Assocalpha:1,Unassalpha:2},Wn={Version:0,AddCompression:1},it={None:0,Deflate:1,Zstandard:2},de={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Oa={};for(let e in de)de.hasOwnProperty(e)&&(Oa[de[e]]=parseInt(e,10))});function Ja(e,t){let A=e.length-t,i=0;do{for(let n=t;n>0;n--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function Ka(e,t,A){let i=0,n=e.length,r=n/A;for(;n>t;){for(let o=t;o>0;--o)e[i+t]+=e[i],++i;n-=t}let g=e.slice();for(let o=0;o<r;++o)for(let l=0;l<A;++l)e[A*o+l]=g[(A-l-1)*r+o]}function rr(e,t,A,i,n,r){if(!t||t===1)return e;for(let l=0;l<n.length;++l){if(n[l]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(n[l]!==n[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let g=n[0]/8,o=r===2?1:n.length;for(let l=0;l<i&&!(l*o*A*g>=e.byteLength);++l){let a;if(t===2){switch(n[0]){case 8:a=new Uint8Array(e,l*o*A*g,o*A*g);break;case 16:a=new Uint16Array(e,l*o*A*g,o*A*g/2);break;case 32:a=new Uint32Array(e,l*o*A*g,o*A*g/4);break;default:throw new Error(`Predictor 2 not allowed with ${n[0]} bits per sample.`)}Ja(a,o,g)}else t===3&&(a=new Uint8Array(e,l*o*A*g,o*A*g),Ka(a,o,g))}return e}var or=cA(()=>{});var $,DA=cA(()=>{or();$=class{async decode(t,A){let i=await this.decodeBlock(A),n=t.Predictor||1;if(n!==1){let r=!t.StripOffsets,g=r?t.TileWidth:t.ImageWidth,o=r?t.TileLength:t.RowsPerStrip||t.ImageLength;return rr(i,n,g,o,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var ar={};GA(ar,{default:()=>rt});var rt,sr=cA(()=>{DA();rt=class extends ${decodeBlock(t){return t}}});var gr={};GA(gr,{default:()=>ot});function Pa(e,t,A){let i=t%8,n=Math.floor(t/8),r=8-i,g=t+A-(n+1)*8,o=8*(n+2)-(t+A),l=(n+2)*8-t;if(o=Math.max(0,o),n>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),ci;let a=e[n]&2**(8-i)-1;a<<=A-r;let s=a;if(n+1<e.length){let I=e[n+1]>>>o;I<<=Math.max(0,A-l),s+=I}if(g>8&&n+2<e.length){let I=(n+3)*8-(t+A),c=e[n+2]>>>I;s+=c}return s}function fi(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function Va(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,n=lr,r=0;function g(){i=258,n=lr}function o(h){let B=Pa(h,r,n);return r+=n,B}function l(h,B){return A[i]=B,t[i]=h,i++,i-1}function a(h){let B=[];for(let u=h;u!==4096;u=t[u])B.push(A[u]);return B}let s=[];g();let I=new Uint8Array(e),c=o(I),f;for(;c!==ci;){if(c===gi){for(g(),c=o(I);c===gi;)c=o(I);if(c===ci)break;if(c>gi)throw new Error(`corrupted code at scanline ${c}`);{let h=a(c);fi(s,h),f=c}}else if(c<i){let h=a(c);fi(s,h),l(f,h[h.length-1]),f=c}else{let h=a(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${r}`);fi(s,h),s.push(h[h.length-1]),l(f,h[h.length-1]),f=c}i+1>=2**n&&(n===za?f=void 0:n++),c=o(I)}return new Uint8Array(s)}var lr,gi,ci,za,ot,fr=cA(()=>{DA();lr=9,gi=256,ci=257,za=12;ot=class extends ${decodeBlock(t){return Va(t,!1).buffer}}});var Ir={};GA(Ir,{default:()=>ht});function cr(e,t){let A=0,i=[],n=16;for(;n>0&&!e[n-1];)--n;i.push({children:[],index:0});let r=i[0],g;for(let o=0;o<n;o++){for(let l=0;l<e[o];l++){for(r=i.pop(),r.children[r.index]=t[A];r.index>0;)r=i.pop();for(r.index++,i.push(r);i.length<=o;)i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g;A++}o+1<n&&(i.push(g={children:[],index:0}),r.children[r.index]=g.children,r=g)}return i[0].children}function Za(e,t,A,i,n,r,g,o,l){let{mcusPerLine:a,progressive:s}=A,I=t,c=t,f=0,h=0;function B(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let L=e[c++];if(L)throw new Error(`unexpected marker: ${(f<<8|L).toString(16)}`)}return h=7,f>>>7}function u(L){let U=L,N;for(;(N=B())!==null;){if(U=U[N],typeof U=="number")return U;if(typeof U!="object")throw new Error("invalid huffman sequence")}return null}function d(L){let U=L,N=0;for(;U>0;){let V=B();if(V===null)return;N=N<<1|V,--U}return N}function E(L){let U=d(L);return U>=1<<L-1?U:U+(-1<<L)+1}function x(L,U){let N=u(L.huffmanTableDC),V=N===0?0:E(N);L.pred+=V,U[0]=L.pred;let Z=1;for(;Z<64;){let W=u(L.huffmanTableAC),j=W&15,tA=W>>4;if(j===0){if(tA<15)break;Z+=16}else{Z+=tA;let gA=xe[Z];U[gA]=E(j),Z++}}}function w(L,U){let N=u(L.huffmanTableDC),V=N===0?0:E(N)<<l;L.pred+=V,U[0]=L.pred}function Q(L,U){U[0]|=B()<<l}let C=0;function y(L,U){if(C>0){C--;return}let N=r,V=g;for(;N<=V;){let Z=u(L.huffmanTableAC),W=Z&15,j=Z>>4;if(W===0){if(j<15){C=d(j)+(1<<j)-1;break}N+=16}else{N+=j;let tA=xe[N];U[tA]=E(W)*(1<<l),N++}}}let p=0,b;function m(L,U){let N=r,V=g,Z=0;for(;N<=V;){let W=xe[N],j=U[W]<0?-1:1;switch(p){case 0:{let tA=u(L.huffmanTableAC),gA=tA&15;if(Z=tA>>4,gA===0)Z<15?(C=d(Z)+(1<<Z),p=4):(Z=16,p=1);else{if(gA!==1)throw new Error("invalid ACn encoding");b=E(gA),p=Z?2:3}continue}case 1:case 2:U[W]?U[W]+=(B()<<l)*j:(Z--,Z===0&&(p=p===2?3:0));break;case 3:U[W]?U[W]+=(B()<<l)*j:(U[W]=b<<l,p=0);break;case 4:U[W]&&(U[W]+=(B()<<l)*j);break;default:break}N++}p===4&&(C--,C===0&&(p=0))}function k(L,U,N,V,Z){let W=N/a|0,j=N%a,tA=W*L.v+V,gA=j*L.h+Z;U(L,L.blocks[tA][gA])}function S(L,U,N){let V=N/L.blocksPerLine|0,Z=N%L.blocksPerLine;U(L,L.blocks[V][Z])}let T=i.length,D,_,v,O,F,M;s?r===0?M=o===0?w:Q:M=o===0?y:m:M=x;let G=0,H,J;T===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=a*A.mcusPerColumn;let K=n||J;for(;G<J;){for(_=0;_<T;_++)i[_].pred=0;if(C=0,T===1)for(D=i[0],F=0;F<K;F++)S(D,M,G),G++;else for(F=0;F<K;F++){for(_=0;_<T;_++){D=i[_];let{h:L,v:U}=D;for(v=0;v<U;v++)for(O=0;O<L;O++)k(D,M,G,v,O)}if(G++,G===J)break}if(h=0,H=e[c]<<8|e[c+1],H<65280)throw new Error("marker was not found");if(H>=65488&&H<=65495)c+=2;else break}return c-I}function Xa(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:n}=t,r=i<<3,g=new Int32Array(64),o=new Uint8Array(64);function l(a,s,I){let c=t.quantizationTable,f,h,B,u,d,E,x,w,Q,C=I,y;for(y=0;y<64;y++)C[y]=a[y]*c[y];for(y=0;y<8;++y){let p=8*y;if(C[1+p]===0&&C[2+p]===0&&C[3+p]===0&&C[4+p]===0&&C[5+p]===0&&C[6+p]===0&&C[7+p]===0){Q=te*C[0+p]+512>>10,C[0+p]=Q,C[1+p]=Q,C[2+p]=Q,C[3+p]=Q,C[4+p]=Q,C[5+p]=Q,C[6+p]=Q,C[7+p]=Q;continue}f=te*C[0+p]+128>>8,h=te*C[4+p]+128>>8,B=C[2+p],u=C[6+p],d=It*(C[1+p]-C[7+p])+128>>8,w=It*(C[1+p]+C[7+p])+128>>8,E=C[3+p]<<4,x=C[5+p]<<4,Q=f-h+1>>1,f=f+h+1>>1,h=Q,Q=B*ct+u*ft+128>>8,B=B*ft-u*ct+128>>8,u=Q,Q=d-x+1>>1,d=d+x+1>>1,x=Q,Q=w+E+1>>1,E=w-E+1>>1,w=Q,Q=f-u+1>>1,f=f+u+1>>1,u=Q,Q=h-B+1>>1,h=h+B+1>>1,B=Q,Q=d*gt+w*lt+2048>>12,d=d*lt-w*gt+2048>>12,w=Q,Q=E*st+x*at+2048>>12,E=E*at-x*st+2048>>12,x=Q,C[0+p]=f+w,C[7+p]=f-w,C[1+p]=h+x,C[6+p]=h-x,C[2+p]=B+E,C[5+p]=B-E,C[3+p]=u+d,C[4+p]=u-d}for(y=0;y<8;++y){let p=y;if(C[1*8+p]===0&&C[2*8+p]===0&&C[3*8+p]===0&&C[4*8+p]===0&&C[5*8+p]===0&&C[6*8+p]===0&&C[7*8+p]===0){Q=te*I[y+0]+8192>>14,C[0*8+p]=Q,C[1*8+p]=Q,C[2*8+p]=Q,C[3*8+p]=Q,C[4*8+p]=Q,C[5*8+p]=Q,C[6*8+p]=Q,C[7*8+p]=Q;continue}f=te*C[0*8+p]+2048>>12,h=te*C[4*8+p]+2048>>12,B=C[2*8+p],u=C[6*8+p],d=It*(C[1*8+p]-C[7*8+p])+2048>>12,w=It*(C[1*8+p]+C[7*8+p])+2048>>12,E=C[3*8+p],x=C[5*8+p],Q=f-h+1>>1,f=f+h+1>>1,h=Q,Q=B*ct+u*ft+2048>>12,B=B*ft-u*ct+2048>>12,u=Q,Q=d-x+1>>1,d=d+x+1>>1,x=Q,Q=w+E+1>>1,E=w-E+1>>1,w=Q,Q=f-u+1>>1,f=f+u+1>>1,u=Q,Q=h-B+1>>1,h=h+B+1>>1,B=Q,Q=d*gt+w*lt+2048>>12,d=d*lt-w*gt+2048>>12,w=Q,Q=E*st+x*at+2048>>12,E=E*at-x*st+2048>>12,x=Q,C[0*8+p]=f+w,C[7*8+p]=f-w,C[1*8+p]=h+x,C[6*8+p]=h-x,C[2*8+p]=B+E,C[5*8+p]=B-E,C[3*8+p]=u+d,C[4*8+p]=u-d}for(y=0;y<64;++y){let p=128+(C[y]+8>>4);p<0?s[y]=0:p>255?s[y]=255:s[y]=p}}for(let a=0;a<n;a++){let s=a<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(r));for(let I=0;I<i;I++){l(t.blocks[a][I],o,g);let c=0,f=I<<3;for(let h=0;h<8;h++){let B=A[s+h];for(let u=0;u<8;u++)B[f+u]=o[c++]}}}return A}var xe,at,st,lt,gt,ft,ct,te,It,Ii,ht,hr=cA(()=>{DA();xe=new Int32Array([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]),at=4017,st=799,lt=3406,gt=2276,ft=1567,ct=3784,te=5793,It=2896;Ii=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let o=t[A]<<8|t[A+1];return A+=2,o}function n(){let o=i(),l=t.subarray(A,A+o-2);return A+=l.length,l}function r(o){let l=0,a=0,s,I;for(I in o.components)o.components.hasOwnProperty(I)&&(s=o.components[I],l<s.h&&(l=s.h),a<s.v&&(a=s.v));let c=Math.ceil(o.samplesPerLine/8/l),f=Math.ceil(o.scanLines/8/a);for(I in o.components)if(o.components.hasOwnProperty(I)){s=o.components[I];let h=Math.ceil(Math.ceil(o.samplesPerLine/8)*s.h/l),B=Math.ceil(Math.ceil(o.scanLines/8)*s.v/a),u=c*s.h,d=f*s.v,E=[];for(let x=0;x<d;x++){let w=[];for(let Q=0;Q<u;Q++)w.push(new Int32Array(64));E.push(w)}s.blocksPerLine=h,s.blocksPerColumn=B,s.blocks=E}o.maxH=l,o.maxV=a,o.mcusPerLine=c,o.mcusPerColumn=f}let g=i();if(g!==65496)throw new Error("SOI not found");for(g=i();g!==65497;){switch(g){case 65280:break;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:{let o=n();g===65504&&o[0]===74&&o[1]===70&&o[2]===73&&o[3]===70&&o[4]===0&&(this.jfif={version:{major:o[5],minor:o[6]},densityUnits:o[7],xDensity:o[8]<<8|o[9],yDensity:o[10]<<8|o[11],thumbWidth:o[12],thumbHeight:o[13],thumbData:o.subarray(14,14+3*o[12]*o[13])}),g===65518&&o[0]===65&&o[1]===100&&o[2]===111&&o[3]===98&&o[4]===101&&o[5]===0&&(this.adobe={version:o[6],flags0:o[7]<<8|o[8],flags1:o[9]<<8|o[10],transformCode:o[11]});break}case 65499:{let l=i()+A-2;for(;A<l;){let a=t[A++],s=new Int32Array(64);if(a>>4)if(a>>4===1)for(let I=0;I<64;I++){let c=xe[I];s[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=xe[I];s[c]=t[A++]}this.quantizationTables[a&15]=s}break}case 65472:case 65473:case 65474:{i();let o={extended:g===65473,progressive:g===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},l=t[A++],a;for(let s=0;s<l;s++){a=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];o.componentsOrder.push(a),o.components[a]={h:I,v:c,quantizationIdx:f},A+=3}r(o),this.frames.push(o);break}case 65476:{let o=i();for(let l=2;l<o;){let a=t[A++],s=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)s[f]=t[A],I+=s[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];l+=17+I,a>>4?this.huffmanTablesAC[a&15]=cr(s,c):this.huffmanTablesDC[a&15]=cr(s,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let o=t[A++],l=[],a=this.frames[0];for(let h=0;h<o;h++){let B=a.components[t[A++]],u=t[A++];B.huffmanTableDC=this.huffmanTablesDC[u>>4],B.huffmanTableAC=this.huffmanTablesAC[u&15],l.push(B)}let s=t[A++],I=t[A++],c=t[A++],f=Za(t,A,a,l,this.resetInterval,s,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${g.toString(16)}`)}g=i()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let s=0;s<this.frames.length;s++){let I=this.frames[s].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:n}=A,r=[],g=A.samplesPerLine,o=A.scanLines;for(let s=0;s<n.length;s++){let I=i[n[s]];r.push({lines:Xa(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let l=new Uint8Array(g*o*r.length),a=0;for(let s=0;s<o;++s)for(let I=0;I<g;++I)for(let c=0;c<r.length;++c){let f=r[c];l[a]=f.lines[0|s*f.scaleY][0|I*f.scaleX],++a}return l}},ht=class extends ${constructor(t){super(),this.reader=new Ii,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function se(e){let t=e.length;for(;--t>=0;)e[t]=0}function Bi(e,t,A,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}function ui(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pA(e,t,A,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=n}function Ws(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=yt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Ys*2),this.dyn_dtree=new Uint16Array((2*qs+1)*2),this.bl_tree=new Uint16Array((2*Hs+1)*2),MA(this.dyn_ltree),MA(this.dyn_dtree),MA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Js+1),this.heap=new Uint16Array(2*Fi+1),MA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Fi+1),MA(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function dl(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}function Ne(e){this.options=_t.assign({level:ml,method:bl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Dl},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=me.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==wt)throw new Error(zA[A]);if(t.header&&me.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Ue.string2buf(t.dictionary):wo.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=me.deflateSetDictionary(this.strm,i),A!==wt)throw new Error(zA[A]);this._dict_set=!0}}function Hi(e,t){let A=new Ne(t);if(A.push(e,!0),A.err)throw A.msg||zA[A.err];return A.result}function kl(e,t){return t=t||{},t.raw=!0,Hi(e,t)}function Sl(e,t){return t=t||{},t.gzip=!0,Hi(e,t)}function $l(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ug(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function Te(e){this.options=_t.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new xo,this.strm.avail_out=0;let A=SA.inflateInit2(this.strm,t.windowBits);if(A!==Ge)throw new Error(zA[A]);if(this.header=new Cg,SA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ue.string2buf(t.dictionary):Uo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=SA.inflateSetDictionary(this.strm,t.dictionary),A!==Ge)))throw new Error(zA[A])}function Yi(e,t){let A=new Te(t);if(A.push(e),A.err)throw A.msg||zA[A.err];return A.result}function wg(e,t){return t=t||{},t.raw=!0,Yi(e,t)}var ja,$r,Wa,$a,As,Li,Me,be,re,Ni,Ao,YA,hi,es,Ti,eo,to,io,bi,dt,ts,no,is,kA,_e,ke,Se,Oi,xt,ro,oo,ao,so,Fe,aA,yA,lo,ns,rs,go,os,fo,co,Br,Ci,ur,ki,Cr,Er,as,ss,ls,Qr,gs,Io,fs,cs,Is,hs,Bs,us,Cs,Es,Qs,ds,Re,xs,ws,ps,AA,zA,le,ys,Si,_s,NA,ms,TA,Ds,bs,IA,dr,eA,xr,_A,ks,Ei,Ss,Fs,Bt,Rs,vs,Us,Gs,yt,Ms,Ls,Ns,Ts,Os,Fi,qs,Hs,Ys,Js,Y,LA,mA,Ks,oe,qi,Ri,vi,Ui,Gi,JA,pe,nA,ge,PA,fe,zs,KA,wr,MA,Ps,Vs,OA,sA,lA,z,we,Mi,ho,ae,Bo,Qi,ie,Zs,Xs,ye,js,Le,uo,Co,$s,Eo,Al,el,tl,il,nl,rl,ol,al,sl,ll,gl,fl,cl,me,Il,hl,Bl,_t,Qo,ve,ul,Cl,El,Ql,Ue,xo,wo,xl,wl,pl,yl,wt,_l,ml,Dl,bl,Fl,Rl,vl,Ul,Gl,Ml,ut,Ll,Nl,ne,pr,yr,_r,di,mr,Tl,Ol,ql,Hl,Yl,De,Jl,po,yo,Dr,Kl,Ct,VA,zl,Pl,hA,_o,mo,Vl,br,mt,kr,Sr,Fr,Rr,vr,Ur,Gr,Mr,Lr,pt,bA,xi,Nr,wi,Tr,Or,qr,Hr,Et,Qt,Yr,Jr,Kr,zr,Pr,pi,Vr,Zr,X,Do,bo,Zl,Xl,jl,Wl,Xr,ZA,ko,So,Fo,Ro,Ag,jr,yi,_i,eg,vo,tg,ig,ng,rg,og,ag,sg,lg,gg,fg,cg,Ig,hg,Bg,SA,Cg,Uo,Eg,Qg,Ge,mi,Di,dg,Wr,xg,pg,yg,_g,mg,Dg,bg,Bc,uc,Cc,Ec,Qc,kg,dc,xc,Dt,Ji=cA(()=>{ja=0,$r=1,Wa=2,$a=3,As=258,Li=29,Me=256,be=Me+1+Li,re=30,Ni=19,Ao=2*be+1,YA=15,hi=16,es=7,Ti=256,eo=16,to=17,io=18,bi=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),dt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),ts=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),no=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),is=512,kA=new Array((be+2)*2);se(kA);_e=new Array(re*2);se(_e);ke=new Array(is);se(ke);Se=new Array(As-$a+1);se(Se);Oi=new Array(Li);se(Oi);xt=new Array(re);se(xt);so=e=>e<256?ke[e]:ke[256+(e>>>7)],Fe=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},aA=(e,t,A)=>{e.bi_valid>hi-A?(e.bi_buf|=t<<e.bi_valid&65535,Fe(e,e.bi_buf),e.bi_buf=t>>hi-e.bi_valid,e.bi_valid+=A-hi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},yA=(e,t,A)=>{aA(e,A[t*2],A[t*2+1])},lo=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ns=e=>{e.bi_valid===16?(Fe(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},rs=(e,t)=>{let A=t.dyn_tree,i=t.max_code,n=t.stat_desc.static_tree,r=t.stat_desc.has_stree,g=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,l=t.stat_desc.max_length,a,s,I,c,f,h,B=0;for(c=0;c<=YA;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,a=e.heap_max+1;a<Ao;a++)s=e.heap[a],c=A[A[s*2+1]*2+1]+1,c>l&&(c=l,B++),A[s*2+1]=c,!(s>i)&&(e.bl_count[c]++,f=0,s>=o&&(f=g[s-o]),h=A[s*2],e.opt_len+=h*(c+f),r&&(e.static_len+=h*(n[s*2+1]+f)));if(B!==0){do{for(c=l-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[l]--,B-=2}while(B>0);for(c=l;c!==0;c--)for(s=e.bl_count[c];s!==0;)I=e.heap[--a],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),s--)}},go=(e,t,A)=>{let i=new Array(YA+1),n=0,r,g;for(r=1;r<=YA;r++)n=n+A[r-1]<<1,i[r]=n;for(g=0;g<=t;g++){let o=e[g*2+1];o!==0&&(e[g*2]=lo(i[o]++,o))}},os=()=>{let e,t,A,i,n,r=new Array(YA+1);for(A=0,i=0;i<Li-1;i++)for(Oi[i]=A,e=0;e<1<<bi[i];e++)Se[A++]=i;for(Se[A-1]=i,n=0,i=0;i<16;i++)for(xt[i]=n,e=0;e<1<<dt[i];e++)ke[n++]=i;for(n>>=7;i<re;i++)for(xt[i]=n<<7,e=0;e<1<<dt[i]-7;e++)ke[256+n++]=i;for(t=0;t<=YA;t++)r[t]=0;for(e=0;e<=143;)kA[e*2+1]=8,e++,r[8]++;for(;e<=255;)kA[e*2+1]=9,e++,r[9]++;for(;e<=279;)kA[e*2+1]=7,e++,r[7]++;for(;e<=287;)kA[e*2+1]=8,e++,r[8]++;for(go(kA,be+1,r),e=0;e<re;e++)_e[e*2+1]=5,_e[e*2]=lo(e,5);ro=new Bi(kA,bi,Me+1,be,YA),oo=new Bi(_e,dt,0,re,YA),ao=new Bi(new Array(0),ts,0,Ni,es)},fo=e=>{let t;for(t=0;t<be;t++)e.dyn_ltree[t*2]=0;for(t=0;t<re;t++)e.dyn_dtree[t*2]=0;for(t=0;t<Ni;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ti*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},co=e=>{e.bi_valid>8?Fe(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Br=(e,t,A,i)=>{let n=t*2,r=A*2;return e[n]<e[r]||e[n]===e[r]&&i[t]<=i[A]},Ci=(e,t,A)=>{let i=e.heap[A],n=A<<1;for(;n<=e.heap_len&&(n<e.heap_len&&Br(t,e.heap[n+1],e.heap[n],e.depth)&&n++,!Br(t,i,e.heap[n],e.depth));)e.heap[A]=e.heap[n],A=n,n<<=1;e.heap[A]=i},ur=(e,t,A)=>{let i,n,r=0,g,o;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+r++]&255,i+=(e.pending_buf[e.sym_buf+r++]&255)<<8,n=e.pending_buf[e.sym_buf+r++],i===0?yA(e,n,t):(g=Se[n],yA(e,g+Me+1,t),o=bi[g],o!==0&&(n-=Oi[g],aA(e,n,o)),i--,g=so(i),yA(e,g,A),o=dt[g],o!==0&&(i-=xt[g],aA(e,i,o)));while(r<e.sym_next);yA(e,Ti,t)},ki=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,n=t.stat_desc.has_stree,r=t.stat_desc.elems,g,o,l=-1,a;for(e.heap_len=0,e.heap_max=Ao,g=0;g<r;g++)A[g*2]!==0?(e.heap[++e.heap_len]=l=g,e.depth[g]=0):A[g*2+1]=0;for(;e.heap_len<2;)a=e.heap[++e.heap_len]=l<2?++l:0,A[a*2]=1,e.depth[a]=0,e.opt_len--,n&&(e.static_len-=i[a*2+1]);for(t.max_code=l,g=e.heap_len>>1;g>=1;g--)Ci(e,A,g);a=r;do g=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ci(e,A,1),o=e.heap[1],e.heap[--e.heap_max]=g,e.heap[--e.heap_max]=o,A[a*2]=A[g*2]+A[o*2],e.depth[a]=(e.depth[g]>=e.depth[o]?e.depth[g]:e.depth[o])+1,A[g*2+1]=A[o*2+1]=a,e.heap[1]=a++,Ci(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],rs(e,t),go(A,l,e.bl_count)},Cr=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],o=0,l=7,a=4;for(g===0&&(l=138,a=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)r=g,g=t[(i+1)*2+1],!(++o<l&&r===g)&&(o<a?e.bl_tree[r*2]+=o:r!==0?(r!==n&&e.bl_tree[r*2]++,e.bl_tree[eo*2]++):o<=10?e.bl_tree[to*2]++:e.bl_tree[io*2]++,o=0,n=r,g===0?(l=138,a=3):r===g?(l=6,a=3):(l=7,a=4))},Er=(e,t,A)=>{let i,n=-1,r,g=t[0*2+1],o=0,l=7,a=4;for(g===0&&(l=138,a=3),i=0;i<=A;i++)if(r=g,g=t[(i+1)*2+1],!(++o<l&&r===g)){if(o<a)do yA(e,r,e.bl_tree);while(--o!==0);else r!==0?(r!==n&&(yA(e,r,e.bl_tree),o--),yA(e,eo,e.bl_tree),aA(e,o-3,2)):o<=10?(yA(e,to,e.bl_tree),aA(e,o-3,3)):(yA(e,io,e.bl_tree),aA(e,o-11,7));o=0,n=r,g===0?(l=138,a=3):r===g?(l=6,a=3):(l=7,a=4)}},as=e=>{let t;for(Cr(e,e.dyn_ltree,e.l_desc.max_code),Cr(e,e.dyn_dtree,e.d_desc.max_code),ki(e,e.bl_desc),t=Ni-1;t>=3&&e.bl_tree[no[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},ss=(e,t,A,i)=>{let n;for(aA(e,t-257,5),aA(e,A-1,5),aA(e,i-4,4),n=0;n<i;n++)aA(e,e.bl_tree[no[n]*2+1],3);Er(e,e.dyn_ltree,t-1),Er(e,e.dyn_dtree,A-1)},ls=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<Me;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},Qr=!1,gs=e=>{Qr||(os(),Qr=!0),e.l_desc=new ui(e.dyn_ltree,ro),e.d_desc=new ui(e.dyn_dtree,oo),e.bl_desc=new ui(e.bl_tree,ao),e.bi_buf=0,e.bi_valid=0,fo(e)},Io=(e,t,A,i)=>{aA(e,(ja<<1)+(i?1:0),3),co(e),Fe(e,A),Fe(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},fs=e=>{aA(e,$r<<1,3),yA(e,Ti,kA),ns(e)},cs=(e,t,A,i)=>{let n,r,g=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=ls(e)),ki(e,e.l_desc),ki(e,e.d_desc),g=as(e),n=e.opt_len+3+7>>>3,r=e.static_len+3+7>>>3,r<=n&&(n=r)):n=r=A+5,A+4<=n&&t!==-1?Io(e,t,A,i):e.strategy===4||r===n?(aA(e,($r<<1)+(i?1:0),3),ur(e,kA,_e)):(aA(e,(Wa<<1)+(i?1:0),3),ss(e,e.l_desc.max_code+1,e.d_desc.max_code+1,g+1),ur(e,e.dyn_ltree,e.dyn_dtree)),fo(e),i&&co(e)},Is=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(Se[A]+Me+1)*2]++,e.dyn_dtree[so(t)*2]++),e.sym_next===e.sym_end),hs=gs,Bs=Io,us=cs,Cs=Is,Es=fs,Qs={_tr_init:hs,_tr_stored_block:Bs,_tr_flush_block:us,_tr_tally:Cs,_tr_align:Es},ds=(e,t,A,i)=>{let n=e&65535|0,r=e>>>16&65535|0,g=0;for(;A!==0;){g=A>2e3?2e3:A,A-=g;do n=n+t[i++]|0,r=r+n|0;while(--g);n%=65521,r%=65521}return n|r<<16|0},Re=ds,xs=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},ws=new Uint32Array(xs()),ps=(e,t,A,i)=>{let n=ws,r=i+A;e^=-1;for(let g=i;g<r;g++)e=e>>>8^n[(e^t[g])&255];return e^-1},AA=ps,zA={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},le={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:ys,_tr_stored_block:Si,_tr_flush_block:_s,_tr_tally:NA,_tr_align:ms}=Qs,{Z_NO_FLUSH:TA,Z_PARTIAL_FLUSH:Ds,Z_FULL_FLUSH:bs,Z_FINISH:IA,Z_BLOCK:dr,Z_OK:eA,Z_STREAM_END:xr,Z_STREAM_ERROR:_A,Z_DATA_ERROR:ks,Z_BUF_ERROR:Ei,Z_DEFAULT_COMPRESSION:Ss,Z_FILTERED:Fs,Z_HUFFMAN_ONLY:Bt,Z_RLE:Rs,Z_FIXED:vs,Z_DEFAULT_STRATEGY:Us,Z_UNKNOWN:Gs,Z_DEFLATED:yt}=le,Ms=9,Ls=15,Ns=8,Ts=29,Os=256,Fi=Os+1+Ts,qs=30,Hs=19,Ys=2*Fi+1,Js=15,Y=3,LA=258,mA=LA+Y+1,Ks=32,oe=42,qi=57,Ri=69,vi=73,Ui=91,Gi=103,JA=113,pe=666,nA=1,ge=2,PA=3,fe=4,zs=3,KA=(e,t)=>(e.msg=zA[t],t),wr=e=>e*2-(e>4?9:0),MA=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Ps=e=>{let t,A,i,n=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=n?A-n:0;while(--t);t=n,i=t;do A=e.prev[--i],e.prev[i]=A>=n?A-n:0;while(--t)},Vs=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,OA=Vs,sA=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},lA=(e,t)=>{_s(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,sA(e.strm)},z=(e,t)=>{e.pending_buf[e.pending++]=t},we=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Mi=(e,t,A,i)=>{let n=e.avail_in;return n>i&&(n=i),n===0?0:(e.avail_in-=n,t.set(e.input.subarray(e.next_in,e.next_in+n),A),e.state.wrap===1?e.adler=Re(e.adler,t,n,A):e.state.wrap===2&&(e.adler=AA(e.adler,t,n,A)),e.next_in+=n,e.total_in+=n,n)},ho=(e,t)=>{let A=e.max_chain_length,i=e.strstart,n,r,g=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-mA?e.strstart-(e.w_size-mA):0,a=e.window,s=e.w_mask,I=e.prev,c=e.strstart+LA,f=a[i+g-1],h=a[i+g];e.prev_length>=e.good_match&&(A>>=2),o>e.lookahead&&(o=e.lookahead);do if(n=t,!(a[n+g]!==h||a[n+g-1]!==f||a[n]!==a[i]||a[++n]!==a[i+1])){i+=2,n++;do;while(a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&a[++i]===a[++n]&&i<c);if(r=LA-(c-i),i=c-LA,r>g){if(e.match_start=t,g=r,r>=o)break;f=a[i+g-1],h=a[i+g]}}while((t=I[t&s])>l&&--A!==0);return g<=e.lookahead?g:e.lookahead},ae=e=>{let t=e.w_size,A,i,n;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-mA)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Ps(e),i+=t),e.strm.avail_in===0)break;if(A=Mi(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=Y)for(n=e.strstart-e.insert,e.ins_h=e.window[n],e.ins_h=OA(e,e.ins_h,e.window[n+1]);e.insert&&(e.ins_h=OA(e,e.ins_h,e.window[n+Y-1]),e.prev[n&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=n,n++,e.insert--,!(e.lookahead+e.insert<Y)););}while(e.lookahead<mA&&e.strm.avail_in!==0)},Bo=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,n,r,g=0,o=e.strm.avail_in;do{if(i=65535,r=e.bi_valid+42>>3,e.strm.avail_out<r||(r=e.strm.avail_out-r,n=e.strstart-e.block_start,i>n+e.strm.avail_in&&(i=n+e.strm.avail_in),i>r&&(i=r),i<A&&(i===0&&t!==IA||t===TA||i!==n+e.strm.avail_in)))break;g=t===IA&&i===n+e.strm.avail_in?1:0,Si(e,0,0,g),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,sA(e.strm),n&&(n>i&&(n=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+n),e.strm.next_out),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n,e.block_start+=n,i-=n),i&&(Mi(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(g===0);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),g?fe:t!==TA&&t!==IA&&e.strm.avail_in===0&&e.strstart===e.block_start?ge:(r=e.window_size-e.strstart,e.strm.avail_in>r&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,r+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),r>e.strm.avail_in&&(r=e.strm.avail_in),r&&(Mi(e.strm,e.window,e.strstart,r),e.strstart+=r,e.insert+=r>e.w_size-e.insert?e.w_size-e.insert:r),e.high_water<e.strstart&&(e.high_water=e.strstart),r=e.bi_valid+42>>3,r=e.pending_buf_size-r>65535?65535:e.pending_buf_size-r,A=r>e.w_size?e.w_size:r,n=e.strstart-e.block_start,(n>=A||(n||t===IA)&&t!==TA&&e.strm.avail_in===0&&n<=r)&&(i=n>r?r:n,g=t===IA&&e.strm.avail_in===0&&i===n?1:0,Si(e,e.block_start,i,g),e.block_start+=i,sA(e.strm)),g?PA:nA)},Qi=(e,t)=>{let A,i;for(;;){if(e.lookahead<mA){if(ae(e),e.lookahead<mA&&t===TA)return nA;if(e.lookahead===0)break}if(A=0,e.lookahead>=Y&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-mA&&(e.match_length=ho(e,A)),e.match_length>=Y)if(i=NA(e,e.strstart-e.match_start,e.match_length-Y),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Y){e.match_length--;do e.strstart++,e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=OA(e,e.ins_h,e.window[e.strstart+1]);else i=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=e.strstart<Y-1?e.strstart:Y-1,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},ie=(e,t)=>{let A,i,n;for(;;){if(e.lookahead<mA){if(ae(e),e.lookahead<mA&&t===TA)return nA;if(e.lookahead===0)break}if(A=0,e.lookahead>=Y&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Y-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-mA&&(e.match_length=ho(e,A),e.match_length<=5&&(e.strategy===Fs||e.match_length===Y&&e.strstart-e.match_start>4096)&&(e.match_length=Y-1)),e.prev_length>=Y&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-Y,i=NA(e,e.strstart-1-e.prev_match,e.prev_length-Y),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=n&&(e.ins_h=OA(e,e.ins_h,e.window[e.strstart+Y-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Y-1,e.strstart++,i&&(lA(e,!1),e.strm.avail_out===0))return nA}else if(e.match_available){if(i=NA(e,0,e.window[e.strstart-1]),i&&lA(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return nA}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=NA(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Y-1?e.strstart:Y-1,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},Zs=(e,t)=>{let A,i,n,r,g=e.window;for(;;){if(e.lookahead<=LA){if(ae(e),e.lookahead<=LA&&t===TA)return nA;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Y&&e.strstart>0&&(n=e.strstart-1,i=g[n],i===g[++n]&&i===g[++n]&&i===g[++n])){r=e.strstart+LA;do;while(i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&i===g[++n]&&n<r);e.match_length=LA-(r-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Y?(A=NA(e,1,e.match_length-Y),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=0,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge},Xs=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(ae(e),e.lookahead===0)){if(t===TA)return nA;break}if(e.match_length=0,A=NA(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(lA(e,!1),e.strm.avail_out===0))return nA}return e.insert=0,t===IA?(lA(e,!0),e.strm.avail_out===0?PA:fe):e.sym_next&&(lA(e,!1),e.strm.avail_out===0)?nA:ge};ye=[new pA(0,0,0,0,Bo),new pA(4,4,8,4,Qi),new pA(4,5,16,8,Qi),new pA(4,6,32,32,Qi),new pA(4,4,16,16,ie),new pA(8,16,32,32,ie),new pA(8,16,128,128,ie),new pA(8,32,128,256,ie),new pA(32,128,258,1024,ie),new pA(32,258,258,4096,ie)],js=e=>{e.window_size=2*e.w_size,MA(e.head),e.max_lazy_match=ye[e.level].max_lazy,e.good_match=ye[e.level].good_length,e.nice_match=ye[e.level].nice_length,e.max_chain_length=ye[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Y-1,e.match_available=0,e.ins_h=0};Le=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==oe&&t.status!==qi&&t.status!==Ri&&t.status!==vi&&t.status!==Ui&&t.status!==Gi&&t.status!==JA&&t.status!==pe?1:0},uo=e=>{if(Le(e))return KA(e,_A);e.total_in=e.total_out=0,e.data_type=Gs;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?qi:t.wrap?oe:JA,e.adler=t.wrap===2?0:1,t.last_flush=-2,ys(t),eA},Co=e=>{let t=uo(e);return t===eA&&js(e.state),t},$s=(e,t)=>Le(e)||e.state.wrap!==2?_A:(e.state.gzhead=t,eA),Eo=(e,t,A,i,n,r)=>{if(!e)return _A;let g=1;if(t===Ss&&(t=6),i<0?(g=0,i=-i):i>15&&(g=2,i-=16),n<1||n>Ms||A!==yt||i<8||i>15||t<0||t>9||r<0||r>vs||i===8&&g!==1)return KA(e,_A);i===8&&(i=9);let o=new Ws;return e.state=o,o.strm=e,o.status=oe,o.wrap=g,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Y-1)/Y),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=t,o.strategy=r,o.method=A,Co(e)},Al=(e,t)=>Eo(e,t,yt,Ls,Ns,Us),el=(e,t)=>{if(Le(e)||t>dr||t<0)return e?KA(e,_A):_A;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===pe&&t!==IA)return KA(e,e.avail_out===0?Ei:_A);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(sA(e),e.avail_out===0)return A.last_flush=-1,eA}else if(e.avail_in===0&&wr(t)<=wr(i)&&t!==IA)return KA(e,Ei);if(A.status===pe&&e.avail_in!==0)return KA(e,Ei);if(A.status===oe&&A.wrap===0&&(A.status=JA),A.status===oe){let n=yt+(A.w_bits-8<<4)<<8,r=-1;if(A.strategy>=Bt||A.level<2?r=0:A.level<6?r=1:A.level===6?r=2:r=3,n|=r<<6,A.strstart!==0&&(n|=Ks),n+=31-n%31,we(A,n),A.strstart!==0&&(we(A,e.adler>>>16),we(A,e.adler&65535)),e.adler=1,A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(A.status===qi){if(e.adler=0,z(A,31),z(A,139),z(A,8),A.gzhead)z(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),z(A,A.gzhead.time&255),z(A,A.gzhead.time>>8&255),z(A,A.gzhead.time>>16&255),z(A,A.gzhead.time>>24&255),z(A,A.level===9?2:A.strategy>=Bt||A.level<2?4:0),z(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(z(A,A.gzhead.extra.length&255),z(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=AA(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=Ri;else if(z(A,0),z(A,0),z(A,0),z(A,0),z(A,0),z(A,A.level===9?2:A.strategy>=Bt||A.level<2?4:0),z(A,zs),A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(A.status===Ri){if(A.gzhead.extra){let n=A.pending,r=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+r>A.pending_buf_size;){let o=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+o),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex+=o,sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0,r-=o}let g=new Uint8Array(A.gzhead.extra);A.pending_buf.set(g.subarray(A.gzindex,A.gzindex+r),A.pending),A.pending+=r,A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=vi}if(A.status===vi){if(A.gzhead.name){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0}A.gzindex<A.gzhead.name.length?r=A.gzhead.name.charCodeAt(A.gzindex++)&255:r=0,z(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),A.gzindex=0}A.status=Ui}if(A.status===Ui){if(A.gzhead.comment){let n=A.pending,r;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n)),sA(e),A.pending!==0)return A.last_flush=-1,eA;n=0}A.gzindex<A.gzhead.comment.length?r=A.gzhead.comment.charCodeAt(A.gzindex++)&255:r=0,z(A,r)}while(r!==0);A.gzhead.hcrc&&A.pending>n&&(e.adler=AA(e.adler,A.pending_buf,A.pending-n,n))}A.status=Gi}if(A.status===Gi){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(sA(e),A.pending!==0))return A.last_flush=-1,eA;z(A,e.adler&255),z(A,e.adler>>8&255),e.adler=0}if(A.status=JA,sA(e),A.pending!==0)return A.last_flush=-1,eA}if(e.avail_in!==0||A.lookahead!==0||t!==TA&&A.status!==pe){let n=A.level===0?Bo(A,t):A.strategy===Bt?Xs(A,t):A.strategy===Rs?Zs(A,t):ye[A.level].func(A,t);if((n===PA||n===fe)&&(A.status=pe),n===nA||n===PA)return e.avail_out===0&&(A.last_flush=-1),eA;if(n===ge&&(t===Ds?ms(A):t!==dr&&(Si(A,0,0,!1),t===bs&&(MA(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),sA(e),e.avail_out===0))return A.last_flush=-1,eA}return t!==IA?eA:A.wrap<=0?xr:(A.wrap===2?(z(A,e.adler&255),z(A,e.adler>>8&255),z(A,e.adler>>16&255),z(A,e.adler>>24&255),z(A,e.total_in&255),z(A,e.total_in>>8&255),z(A,e.total_in>>16&255),z(A,e.total_in>>24&255)):(we(A,e.adler>>>16),we(A,e.adler&65535)),sA(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?eA:xr)},tl=e=>{if(Le(e))return _A;let t=e.state.status;return e.state=null,t===JA?KA(e,ks):eA},il=(e,t)=>{let A=t.length;if(Le(e))return _A;let i=e.state,n=i.wrap;if(n===2||n===1&&i.status!==oe||i.lookahead)return _A;if(n===1&&(e.adler=Re(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){n===0&&(MA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let l=new Uint8Array(i.w_size);l.set(t.subarray(A-i.w_size,A),0),t=l,A=i.w_size}let r=e.avail_in,g=e.next_in,o=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,ae(i);i.lookahead>=Y;){let l=i.strstart,a=i.lookahead-(Y-1);do i.ins_h=OA(i,i.ins_h,i.window[l+Y-1]),i.prev[l&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=l,l++;while(--a);i.strstart=l,i.lookahead=Y-1,ae(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=Y-1,i.match_available=0,e.next_in=g,e.input=o,e.avail_in=r,i.wrap=n,eA},nl=Al,rl=Eo,ol=Co,al=uo,sl=$s,ll=el,gl=tl,fl=il,cl="pako deflate (from Nodeca project)",me={deflateInit:nl,deflateInit2:rl,deflateReset:ol,deflateResetKeep:al,deflateSetHeader:sl,deflate:ll,deflateEnd:gl,deflateSetDictionary:fl,deflateInfo:cl},Il=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),hl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)Il(A,i)&&(e[i]=A[i])}}return e},Bl=e=>{let t=0;for(let i=0,n=e.length;i<n;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,n=0,r=e.length;i<r;i++){let g=e[i];A.set(g,n),n+=g.length}return A},_t={assign:hl,flattenChunks:Bl},Qo=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Qo=!1}ve=new Uint8Array(256);for(let e=0;e<256;e++)ve[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;ve[254]=ve[254]=1;ul=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,n,r,g=e.length,o=0;for(n=0;n<g;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),o+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(o),r=0,n=0;r<o;n++)A=e.charCodeAt(n),(A&64512)===55296&&n+1<g&&(i=e.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),A<128?t[r++]=A:A<2048?(t[r++]=192|A>>>6,t[r++]=128|A&63):A<65536?(t[r++]=224|A>>>12,t[r++]=128|A>>>6&63,t[r++]=128|A&63):(t[r++]=240|A>>>18,t[r++]=128|A>>>12&63,t[r++]=128|A>>>6&63,t[r++]=128|A&63);return t},Cl=(e,t)=>{if(t<65534&&e.subarray&&Qo)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},El=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,n,r=new Array(A*2);for(n=0,i=0;i<A;){let g=e[i++];if(g<128){r[n++]=g;continue}let o=ve[g];if(o>4){r[n++]=65533,i+=o-1;continue}for(g&=o===2?31:o===3?15:7;o>1&&i<A;)g=g<<6|e[i++]&63,o--;if(o>1){r[n++]=65533;continue}g<65536?r[n++]=g:(g-=65536,r[n++]=55296|g>>10&1023,r[n++]=56320|g&1023)}return Cl(r,n)},Ql=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+ve[e[A]]>t?A:t},Ue={string2buf:ul,buf2string:El,utf8border:Ql};xo=dl,wo=Object.prototype.toString,{Z_NO_FLUSH:xl,Z_SYNC_FLUSH:wl,Z_FULL_FLUSH:pl,Z_FINISH:yl,Z_OK:wt,Z_STREAM_END:_l,Z_DEFAULT_COMPRESSION:ml,Z_DEFAULT_STRATEGY:Dl,Z_DEFLATED:bl}=le;Ne.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n,r;if(this.ended)return!1;for(t===~~t?r=t:r=t===!0?yl:xl,typeof e=="string"?A.input=Ue.string2buf(e):wo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(r===wl||r===pl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(n=me.deflate(A,r),n===_l)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),n=me.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===wt;if(A.avail_out===0){this.onData(A.output);continue}if(r>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};Ne.prototype.onData=function(e){this.chunks.push(e)};Ne.prototype.onEnd=function(e){e===wt&&(this.result=_t.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};Fl=Ne,Rl=Hi,vl=kl,Ul=Sl,Gl=le,Ml={Deflate:Fl,deflate:Rl,deflateRaw:vl,gzip:Ul,constants:Gl},ut=16209,Ll=16191,Nl=function(t,A){let i,n,r,g,o,l,a,s,I,c,f,h,B,u,d,E,x,w,Q,C,y,p,b,m,k=t.state;i=t.next_in,b=t.input,n=i+(t.avail_in-5),r=t.next_out,m=t.output,g=r-(A-t.avail_out),o=r+(t.avail_out-257),l=k.dmax,a=k.wsize,s=k.whave,I=k.wnext,c=k.window,f=k.hold,h=k.bits,B=k.lencode,u=k.distcode,d=(1<<k.lenbits)-1,E=(1<<k.distbits)-1;A:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),x=B[f&d];e:for(;;){if(w=x>>>24,f>>>=w,h-=w,w=x>>>16&255,w===0)m[r++]=x&65535;else if(w&16){Q=x&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),Q+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),x=u[f&E];t:for(;;){if(w=x>>>24,f>>>=w,h-=w,w=x>>>16&255,w&16){if(C=x&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),C+=f&(1<<w)-1,C>l){t.msg="invalid distance too far back",k.mode=ut;break A}if(f>>>=w,h-=w,w=r-g,C>w){if(w=C-w,w>s&&k.sane){t.msg="invalid distance too far back",k.mode=ut;break A}if(y=0,p=c,I===0){if(y+=a-w,w<Q){Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}}else if(I<w){if(y+=a+I-w,w-=I,w<Q){Q-=w;do m[r++]=c[y++];while(--w);if(y=0,I<Q){w=I,Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}}}else if(y+=I-w,w<Q){Q-=w;do m[r++]=c[y++];while(--w);y=r-C,p=m}for(;Q>2;)m[r++]=p[y++],m[r++]=p[y++],m[r++]=p[y++],Q-=3;Q&&(m[r++]=p[y++],Q>1&&(m[r++]=p[y++]))}else{y=r-C;do m[r++]=m[y++],m[r++]=m[y++],m[r++]=m[y++],Q-=3;while(Q>2);Q&&(m[r++]=m[y++],Q>1&&(m[r++]=m[y++]))}}else if(w&64){t.msg="invalid distance code",k.mode=ut;break A}else{x=u[(x&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){k.mode=Ll;break A}else{t.msg="invalid literal/length code",k.mode=ut;break A}else{x=B[(x&65535)+(f&(1<<w)-1)];continue e}break}}while(i<n&&r<o);Q=h>>3,i-=Q,h-=Q<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=r,t.avail_in=i<n?5+(n-i):5-(i-n),t.avail_out=r<o?257+(o-r):257-(r-o),k.hold=f,k.bits=h},ne=15,pr=852,yr=592,_r=0,di=1,mr=2,Tl=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Ol=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ql=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Hl=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Yl=(e,t,A,i,n,r,g,o)=>{let l=o.bits,a=0,s=0,I=0,c=0,f=0,h=0,B=0,u=0,d=0,E=0,x,w,Q,C,y,p=null,b,m=new Uint16Array(ne+1),k=new Uint16Array(ne+1),S=null,T,D,_;for(a=0;a<=ne;a++)m[a]=0;for(s=0;s<i;s++)m[t[A+s]]++;for(f=l,c=ne;c>=1&&m[c]===0;c--);if(f>c&&(f=c),c===0)return n[r++]=1<<24|64<<16|0,n[r++]=1<<24|64<<16|0,o.bits=1,0;for(I=1;I<c&&m[I]===0;I++);for(f<I&&(f=I),u=1,a=1;a<=ne;a++)if(u<<=1,u-=m[a],u<0)return-1;if(u>0&&(e===_r||c!==1))return-1;for(k[1]=0,a=1;a<ne;a++)k[a+1]=k[a]+m[a];for(s=0;s<i;s++)t[A+s]!==0&&(g[k[t[A+s]]++]=s);if(e===_r?(p=S=g,b=20):e===di?(p=Tl,S=Ol,b=257):(p=ql,S=Hl,b=0),E=0,s=0,a=I,y=r,h=f,B=0,Q=-1,d=1<<f,C=d-1,e===di&&d>pr||e===mr&&d>yr)return 1;for(;;){T=a-B,g[s]+1<b?(D=0,_=g[s]):g[s]>=b?(D=S[g[s]-b],_=p[g[s]-b]):(D=96,_=0),x=1<<a-B,w=1<<h,I=w;do w-=x,n[y+(E>>B)+w]=T<<24|D<<16|_|0;while(w!==0);for(x=1<<a-1;E&x;)x>>=1;if(x!==0?(E&=x-1,E+=x):E=0,s++,--m[a]===0){if(a===c)break;a=t[A+g[s]]}if(a>f&&(E&C)!==Q){for(B===0&&(B=f),y+=I,h=a-B,u=1<<h;h+B<c&&(u-=m[h+B],!(u<=0));)h++,u<<=1;if(d+=1<<h,e===di&&d>pr||e===mr&&d>yr)return 1;Q=E&C,n[Q]=f<<24|h<<16|y-r|0}}return E!==0&&(n[y+E]=a-B<<24|64<<16|0),o.bits=f,0},De=Yl,Jl=0,po=1,yo=2,{Z_FINISH:Dr,Z_BLOCK:Kl,Z_TREES:Ct,Z_OK:VA,Z_STREAM_END:zl,Z_NEED_DICT:Pl,Z_STREAM_ERROR:hA,Z_DATA_ERROR:_o,Z_MEM_ERROR:mo,Z_BUF_ERROR:Vl,Z_DEFLATED:br}=le,mt=16180,kr=16181,Sr=16182,Fr=16183,Rr=16184,vr=16185,Ur=16186,Gr=16187,Mr=16188,Lr=16189,pt=16190,bA=16191,xi=16192,Nr=16193,wi=16194,Tr=16195,Or=16196,qr=16197,Hr=16198,Et=16199,Qt=16200,Yr=16201,Jr=16202,Kr=16203,zr=16204,Pr=16205,pi=16206,Vr=16207,Zr=16208,X=16209,Do=16210,bo=16211,Zl=852,Xl=592,jl=15,Wl=jl,Xr=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);ZA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<mt||t.mode>bo?1:0},ko=e=>{if(ZA(e))return hA;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=mt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Zl),t.distcode=t.distdyn=new Int32Array(Xl),t.sane=1,t.back=-1,VA},So=e=>{if(ZA(e))return hA;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,ko(e)},Fo=(e,t)=>{let A;if(ZA(e))return hA;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?hA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,So(e))},Ro=(e,t)=>{if(!e)return hA;let A=new $l;e.state=A,A.strm=e,A.window=null,A.mode=mt;let i=Fo(e,t);return i!==VA&&(e.state=null),i},Ag=e=>Ro(e,Wl),jr=!0,eg=e=>{if(jr){yi=new Int32Array(512),_i=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(De(po,e.lens,0,288,yi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;De(yo,e.lens,0,32,_i,0,e.work,{bits:5}),jr=!1}e.lencode=yi,e.lenbits=9,e.distcode=_i,e.distbits=5},vo=(e,t,A,i)=>{let n,r=e.state;return r.window===null&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),i>=r.wsize?(r.window.set(t.subarray(A-r.wsize,A),0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),r.window.set(t.subarray(A-i,A-i+n),r.wnext),i-=n,i?(r.window.set(t.subarray(A-i,A),0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0},tg=(e,t)=>{let A,i,n,r,g,o,l,a,s,I,c,f,h,B,u=0,d,E,x,w,Q,C,y,p,b=new Uint8Array(4),m,k,S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ZA(e)||!e.output||!e.input&&e.avail_in!==0)return hA;A=e.state,A.mode===bA&&(A.mode=xi),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,o=e.avail_in,a=A.hold,s=A.bits,I=o,c=l,p=VA;A:for(;;)switch(A.mode){case mt:if(A.wrap===0){A.mode=xi;break}for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&2&&a===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0),a=0,s=0,A.mode=kr;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((a&255)<<8)+(a>>8))%31){e.msg="incorrect header check",A.mode=X;break}if((a&15)!==br){e.msg="unknown compression method",A.mode=X;break}if(a>>>=4,s-=4,y=(a&15)+8,A.wbits===0&&(A.wbits=y),y>15||y>A.wbits){e.msg="invalid window size",A.mode=X;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=a&512?Lr:bA,a=0,s=0;break;case kr:for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.flags=a,(A.flags&255)!==br){e.msg="unknown compression method",A.mode=X;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=X;break}A.head&&(A.head.text=a>>8&1),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0,A.mode=Sr;case Sr:for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.head&&(A.head.time=a),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,b[2]=a>>>16&255,b[3]=a>>>24&255,A.check=AA(A.check,b,4,0)),a=0,s=0,A.mode=Fr;case Fr:for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.head&&(A.head.xflags=a&255,A.head.os=a>>8),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0,A.mode=Rr;case Rr:if(A.flags&1024){for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.length=a,A.head&&(A.head.extra_len=a),A.flags&512&&A.wrap&4&&(b[0]=a&255,b[1]=a>>>8&255,A.check=AA(A.check,b,2,0)),a=0,s=0}else A.head&&(A.head.extra=null);A.mode=vr;case vr:if(A.flags&1024&&(f=A.length,f>o&&(f=o),f&&(A.head&&(y=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(r,r+f),y)),A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,A.length-=f),A.length))break A;A.length=0,A.mode=Ur;case Ur:if(A.flags&2048){if(o===0)break A;f=0;do y=i[r+f++],A.head&&y&&A.length<65536&&(A.head.name+=String.fromCharCode(y));while(y&&f<o);if(A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,y)break A}else A.head&&(A.head.name=null);A.length=0,A.mode=Gr;case Gr:if(A.flags&4096){if(o===0)break A;f=0;do y=i[r+f++],A.head&&y&&A.length<65536&&(A.head.comment+=String.fromCharCode(y));while(y&&f<o);if(A.flags&512&&A.wrap&4&&(A.check=AA(A.check,i,f,r)),o-=f,r+=f,y)break A}else A.head&&(A.head.comment=null);A.mode=Mr;case Mr:if(A.flags&512){for(;s<16;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&4&&a!==(A.check&65535)){e.msg="header crc mismatch",A.mode=X;break}a=0,s=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=bA;break;case Lr:for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}e.adler=A.check=Xr(a),a=0,s=0,A.mode=pt;case pt:if(A.havedict===0)return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,Pl;e.adler=A.check=1,A.mode=bA;case bA:if(t===Kl||t===Ct)break A;case xi:if(A.last){a>>>=s&7,s-=s&7,A.mode=pi;break}for(;s<3;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}switch(A.last=a&1,a>>>=1,s-=1,a&3){case 0:A.mode=Nr;break;case 1:if(eg(A),A.mode=Et,t===Ct){a>>>=2,s-=2;break A}break;case 2:A.mode=Or;break;case 3:e.msg="invalid block type",A.mode=X}a>>>=2,s-=2;break;case Nr:for(a>>>=s&7,s-=s&7;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if((a&65535)!==(a>>>16^65535)){e.msg="invalid stored block lengths",A.mode=X;break}if(A.length=a&65535,a=0,s=0,A.mode=wi,t===Ct)break A;case wi:A.mode=Tr;case Tr:if(f=A.length,f){if(f>o&&(f=o),f>l&&(f=l),f===0)break A;n.set(i.subarray(r,r+f),g),o-=f,r+=f,l-=f,g+=f,A.length-=f;break}A.mode=bA;break;case Or:for(;s<14;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.nlen=(a&31)+257,a>>>=5,s-=5,A.ndist=(a&31)+1,a>>>=5,s-=5,A.ncode=(a&15)+4,a>>>=4,s-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=X;break}A.have=0,A.mode=qr;case qr:for(;A.have<A.ncode;){for(;s<3;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.lens[S[A.have++]]=a&7,a>>>=3,s-=3}for(;A.have<19;)A.lens[S[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,m={bits:A.lenbits},p=De(Jl,A.lens,0,19,A.lencode,0,A.work,m),A.lenbits=m.bits,p){e.msg="invalid code lengths set",A.mode=X;break}A.have=0,A.mode=Hr;case Hr:for(;A.have<A.nlen+A.ndist;){for(;u=A.lencode[a&(1<<A.lenbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(x<16)a>>>=d,s-=d,A.lens[A.have++]=x;else{if(x===16){for(k=d+2;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(a>>>=d,s-=d,A.have===0){e.msg="invalid bit length repeat",A.mode=X;break}y=A.lens[A.have-1],f=3+(a&3),a>>>=2,s-=2}else if(x===17){for(k=d+3;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=d,s-=d,y=0,f=3+(a&7),a>>>=3,s-=3}else{for(k=d+7;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=d,s-=d,y=0,f=11+(a&127),a>>>=7,s-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=X;break}for(;f--;)A.lens[A.have++]=y}}if(A.mode===X)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=X;break}if(A.lenbits=9,m={bits:A.lenbits},p=De(po,A.lens,0,A.nlen,A.lencode,0,A.work,m),A.lenbits=m.bits,p){e.msg="invalid literal/lengths set",A.mode=X;break}if(A.distbits=6,A.distcode=A.distdyn,m={bits:A.distbits},p=De(yo,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,m),A.distbits=m.bits,p){e.msg="invalid distances set",A.mode=X;break}if(A.mode=Et,t===Ct)break A;case Et:A.mode=Qt;case Qt:if(o>=6&&l>=258){e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,Nl(e,c),g=e.next_out,n=e.output,l=e.avail_out,r=e.next_in,i=e.input,o=e.avail_in,a=A.hold,s=A.bits,A.mode===bA&&(A.back=-1);break}for(A.back=0;u=A.lencode[a&(1<<A.lenbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(E&&!(E&240)){for(w=d,Q=E,C=x;u=A.lencode[C+((a&(1<<w+Q)-1)>>w)],d=u>>>24,E=u>>>16&255,x=u&65535,!(w+d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=w,s-=w,A.back+=w}if(a>>>=d,s-=d,A.back+=d,A.length=x,E===0){A.mode=Pr;break}if(E&32){A.back=-1,A.mode=bA;break}if(E&64){e.msg="invalid literal/length code",A.mode=X;break}A.extra=E&15,A.mode=Yr;case Yr:if(A.extra){for(k=A.extra;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.length+=a&(1<<A.extra)-1,a>>>=A.extra,s-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Jr;case Jr:for(;u=A.distcode[a&(1<<A.distbits)-1],d=u>>>24,E=u>>>16&255,x=u&65535,!(d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(!(E&240)){for(w=d,Q=E,C=x;u=A.distcode[C+((a&(1<<w+Q)-1)>>w)],d=u>>>24,E=u>>>16&255,x=u&65535,!(w+d<=s);){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}a>>>=w,s-=w,A.back+=w}if(a>>>=d,s-=d,A.back+=d,E&64){e.msg="invalid distance code",A.mode=X;break}A.offset=x,A.extra=E&15,A.mode=Kr;case Kr:if(A.extra){for(k=A.extra;s<k;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}A.offset+=a&(1<<A.extra)-1,a>>>=A.extra,s-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=X;break}A.mode=zr;case zr:if(l===0)break A;if(f=c-l,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=X;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),B=A.window}else B=n,h=g-A.offset,f=A.length;f>l&&(f=l),l-=f,A.length-=f;do n[g++]=B[h++];while(--f);A.length===0&&(A.mode=Qt);break;case Pr:if(l===0)break A;n[g++]=A.length,l--,A.mode=Qt;break;case pi:if(A.wrap){for(;s<32;){if(o===0)break A;o--,a|=i[r++]<<s,s+=8}if(c-=l,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?AA(A.check,n,c,g-c):Re(A.check,n,c,g-c)),c=l,A.wrap&4&&(A.flags?a:Xr(a))!==A.check){e.msg="incorrect data check",A.mode=X;break}a=0,s=0}A.mode=Vr;case Vr:if(A.wrap&&A.flags){for(;s<32;){if(o===0)break A;o--,a+=i[r++]<<s,s+=8}if(A.wrap&4&&a!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=X;break}a=0,s=0}A.mode=Zr;case Zr:p=zl;break A;case X:p=_o;break A;case Do:return mo;case bo:default:return hA}return e.next_out=g,e.avail_out=l,e.next_in=r,e.avail_in=o,A.hold=a,A.bits=s,(A.wsize||c!==e.avail_out&&A.mode<X&&(A.mode<pi||t!==Dr))&&vo(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?AA(A.check,n,c,e.next_out-c):Re(A.check,n,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===bA?128:0)+(A.mode===Et||A.mode===wi?256:0),(I===0&&c===0||t===Dr)&&p===VA&&(p=Vl),p},ig=e=>{if(ZA(e))return hA;let t=e.state;return t.window&&(t.window=null),e.state=null,VA},ng=(e,t)=>{if(ZA(e))return hA;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,VA):hA},rg=(e,t)=>{let A=t.length,i,n,r;return ZA(e)||(i=e.state,i.wrap!==0&&i.mode!==pt)?hA:i.mode===pt&&(n=1,n=Re(n,t,A,0),n!==i.check)?_o:(r=vo(e,t,A,A),r?(i.mode=Do,mo):(i.havedict=1,VA))},og=So,ag=Fo,sg=ko,lg=Ag,gg=Ro,fg=tg,cg=ig,Ig=ng,hg=rg,Bg="pako inflate (from Nodeca project)",SA={inflateReset:og,inflateReset2:ag,inflateResetKeep:sg,inflateInit:lg,inflateInit2:gg,inflate:fg,inflateEnd:cg,inflateGetHeader:Ig,inflateSetDictionary:hg,inflateInfo:Bg};Cg=ug,Uo=Object.prototype.toString,{Z_NO_FLUSH:Eg,Z_FINISH:Qg,Z_OK:Ge,Z_STREAM_END:mi,Z_NEED_DICT:Di,Z_STREAM_ERROR:dg,Z_DATA_ERROR:Wr,Z_MEM_ERROR:xg}=le;Te.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,n=this.options.dictionary,r,g,o;if(this.ended)return!1;for(t===~~t?g=t:g=t===!0?Qg:Eg,Uo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),r=SA.inflate(A,g),r===Di&&n&&(r=SA.inflateSetDictionary(A,n),r===Ge?r=SA.inflate(A,g):r===Wr&&(r=Di));A.avail_in>0&&r===mi&&A.state.wrap>0&&e[A.next_in]!==0;)SA.inflateReset(A),r=SA.inflate(A,g);switch(r){case dg:case Wr:case Di:case xg:return this.onEnd(r),this.ended=!0,!1}if(o=A.avail_out,A.next_out&&(A.avail_out===0||r===mi))if(this.options.to==="string"){let l=Ue.utf8border(A.output,A.next_out),a=A.next_out-l,s=Ue.buf2string(A.output,l);A.next_out=a,A.avail_out=i-a,a&&A.output.set(A.output.subarray(l,l+a),0),this.onData(s)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(r===Ge&&o===0)){if(r===mi)return r=SA.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};Te.prototype.onData=function(e){this.chunks.push(e)};Te.prototype.onEnd=function(e){e===Ge&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=_t.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};pg=Te,yg=Yi,_g=wg,mg=Yi,Dg=le,bg={Inflate:pg,inflate:yg,inflateRaw:_g,ungzip:mg,constants:Dg},{Deflate:Bc,deflate:uc,deflateRaw:Cc,gzip:Ec}=Ml,{Inflate:Qc,inflate:kg,inflateRaw:dc,ungzip:xc}=bg,Dt=kg});var Go={};GA(Go,{default:()=>bt});var bt,Mo=cA(()=>{Ji();DA();bt=class extends ${decodeBlock(t){return Dt(new Uint8Array(t)).buffer}}});var Lo={};GA(Lo,{default:()=>kt});var kt,No=cA(()=>{DA();kt=class extends ${decodeBlock(t){let A=new DataView(t),i=[];for(let n=0;n<t.byteLength;++n){let r=A.getInt8(n);if(r<0){let g=A.getUint8(n+1);r=-r;for(let o=0;o<=r;++o)i.push(g);n+=1}else{for(let g=0;g<=r;++g)i.push(A.getUint8(n+g+1));n+=r+1}}return new Uint8Array(i).buffer}}});var To=QA((mc,St)=>{(function(){var e=function(){var n={};n.defaultNoDataValue=-34027999387901484e22,n.decode=function(s,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=l(s,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:n.defaultNoDataValue,B=r(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),u={width:f.width,height:f.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return B.resultMask&&(u.maskData=B.resultMask),I.returnEncodedMask&&f.mask&&(u.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(u.fileInfo=g(f),I.computeUsedBitDepths&&(u.fileInfo.bitDepths=o(f))),u};var r=function(s,I,c,f,h){var B=0,u=s.pixels.numBlocksX,d=s.pixels.numBlocksY,E=Math.floor(s.width/u),x=Math.floor(s.height/d),w=2*s.maxZError,Q=Number.MAX_VALUE,C;c=c||(s.mask?s.mask.bitset:null);var y,p;y=new I(s.width*s.height),h&&c&&(p=new Uint8Array(s.width*s.height));for(var b=new Float32Array(E*x),m,k,S=0;S<=d;S++){var T=S!==d?x:s.height%d;if(T!==0)for(var D=0;D<=u;D++){var _=D!==u?E:s.width%u;if(_!==0){var v=S*s.width*x+D*E,O=s.width-_,F=s.pixels.blocks[B],M,G,H;F.encoding<2?(F.encoding===0?M=F.rawData:(a(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,s.pixels.maxValue),M=b),G=0):F.encoding===2?H=0:H=F.offset;var J;if(c)for(k=0;k<T;k++){for(v&7&&(J=c[v>>3],J<<=v&7),m=0;m<_;m++)v&7||(J=c[v>>3]),J&128?(p&&(p[v]=1),C=F.encoding<2?M[G++]:H,Q=Q>C?C:Q,y[v++]=C):(p&&(p[v]=0),y[v++]=f),J<<=1;v+=O}else if(F.encoding<2)for(k=0;k<T;k++){for(m=0;m<_;m++)C=M[G++],Q=Q>C?C:Q,y[v++]=C;v+=O}else for(Q=Q>H?H:Q,k=0;k<T;k++){for(m=0;m<_;m++)y[v++]=H;v+=O}if(F.encoding===1&&G!==F.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:y,resultMask:p,minValue:Q}},g=function(s){return{fileIdentifierString:s.fileIdentifierString,fileVersion:s.fileVersion,imageType:s.imageType,height:s.height,width:s.width,maxZError:s.maxZError,eofOffset:s.eofOffset,mask:s.mask?{numBlocksX:s.mask.numBlocksX,numBlocksY:s.mask.numBlocksY,numBytes:s.mask.numBytes,maxValue:s.mask.maxValue}:null,pixels:{numBlocksX:s.pixels.numBlocksX,numBlocksY:s.pixels.numBlocksY,numBytes:s.pixels.numBytes,maxValue:s.pixels.maxValue,noDataValue:s.noDataValue}}},o=function(s){for(var I=s.pixels.numBlocksX*s.pixels.numBlocksY,c={},f=0;f<I;f++){var h=s.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},l=function(s,I,c){var f={},h=new Uint8Array(s,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var B=new DataView(s,I,24);if(f.fileVersion=B.getInt32(0,!0),f.imageType=B.getInt32(4,!0),f.height=B.getUint32(8,!0),f.width=B.getUint32(12,!0),f.maxZError=B.getFloat64(16,!0),I+=24,!c)if(B=new DataView(s,I,16),f.mask={},f.mask.numBlocksY=B.getUint32(0,!0),f.mask.numBlocksX=B.getUint32(4,!0),f.mask.numBytes=B.getUint32(8,!0),f.mask.maxValue=B.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var u=new Uint8Array(Math.ceil(f.width*f.height/8));B=new DataView(s,I,f.mask.numBytes);var d=B.getInt16(0,!0),E=2,x=0;do{if(d>0)for(;d--;)u[x++]=B.getUint8(E++);else{var w=B.getUint8(E++);for(d=-d;d--;)u[x++]=w}d=B.getInt16(E,!0),E+=2}while(E<f.mask.numBytes);if(d!==-32768||x<u.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=u,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));B=new DataView(s,I,16),f.pixels={},f.pixels.numBlocksY=B.getUint32(0,!0),f.pixels.numBlocksX=B.getUint32(4,!0),f.pixels.numBytes=B.getUint32(8,!0),f.pixels.maxValue=B.getFloat32(12,!0),I+=16;var Q=f.pixels.numBlocksX,C=f.pixels.numBlocksY,y=Q+(f.width%Q>0?1:0),p=C+(f.height%C>0?1:0);f.pixels.blocks=new Array(y*p);for(var b=0,m=0;m<p;m++)for(var k=0;k<y;k++){var S=0,T=s.byteLength-I;B=new DataView(s,I,Math.min(10,T));var D={};f.pixels.blocks[b++]=D;var _=B.getUint8(0);if(S++,D.encoding=_&63,D.encoding>3)throw"Invalid block encoding ("+D.encoding+")";if(D.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,D.offsetType=_,_===2)D.offset=B.getInt8(1),S++;else if(_===1)D.offset=B.getInt16(1,!0),S+=2;else if(_===0)D.offset=B.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(D.encoding===1)if(_=B.getUint8(S),S++,D.bitsPerPixel=_&63,_>>=6,D.numValidPixelsType=_,_===2)D.numValidPixels=B.getUint8(S),S++;else if(_===1)D.numValidPixels=B.getUint16(S,!0),S+=2;else if(_===0)D.numValidPixels=B.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(I+=S,D.encoding!==3){var v,O;if(D.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";v=new ArrayBuffer(F*4),O=new Uint8Array(v),O.set(new Uint8Array(s,I,F*4));var M=new Float32Array(v);D.rawData=M,I+=F*4}else if(D.encoding===1){var G=Math.ceil(D.numValidPixels*D.bitsPerPixel/8),H=Math.ceil(G/4);v=new ArrayBuffer(H*4),O=new Uint8Array(v),O.set(new Uint8Array(s,I,G)),D.stuffedData=new Uint32Array(v),I+=G}}}return f.eofOffset=I,f},a=function(s,I,c,f,h,B,u){var d=(1<<I)-1,E=0,x,w=0,Q,C,y=Math.ceil((u-f)/h),p=s.length*4-Math.ceil(I*c/8);for(s[s.length-1]<<=8*p,x=0;x<c;x++){if(w===0&&(C=s[E++],w=32),w>=I)Q=C>>>w-I&d,w-=I;else{var b=I-w;Q=(C&d)<<b&d,C=s[E++],w=32-b,Q+=C>>>w}B[x]=Q<y?f+Q*h:u}return B};return n}(),t=function(){"use strict";var n={unstuff:function(l,a,s,I,c,f,h,B){var u=(1<<s)-1,d=0,E,x=0,w,Q,C,y,p=l.length*4-Math.ceil(s*I/8);if(l[l.length-1]<<=8*p,c)for(E=0;E<I;E++)x===0&&(Q=l[d++],x=32),x>=s?(w=Q>>>x-s&u,x-=s):(C=s-x,w=(Q&u)<<C&u,Q=l[d++],x=32-C,w+=Q>>>x),a[E]=c[w];else for(y=Math.ceil((B-f)/h),E=0;E<I;E++)x===0&&(Q=l[d++],x=32),x>=s?(w=Q>>>x-s&u,x-=s):(C=s-x,w=(Q&u)<<C&u,Q=l[d++],x=32-C,w+=Q>>>x),a[E]=w<y?f+w*h:B},unstuffLUT:function(l,a,s,I,c,f){var h=(1<<a)-1,B=0,u=0,d=0,E=0,x=0,w,Q=[],C=l.length*4-Math.ceil(a*s/8);l[l.length-1]<<=8*C;var y=Math.ceil((f-I)/c);for(u=0;u<s;u++)E===0&&(w=l[B++],E=32),E>=a?(x=w>>>E-a&h,E-=a):(d=a-E,x=(w&h)<<d&h,w=l[B++],E=32-d,x+=w>>>E),Q[u]=x<y?I+x*c:f;return Q.unshift(I),Q},unstuff2:function(l,a,s,I,c,f,h,B){var u=(1<<s)-1,d=0,E,x=0,w=0,Q,C,y;if(c)for(E=0;E<I;E++)x===0&&(C=l[d++],x=32,w=0),x>=s?(Q=C>>>w&u,x-=s,w+=s):(y=s-x,Q=C>>>w&u,C=l[d++],x=32-y,Q|=(C&(1<<y)-1)<<s-y,w=y),a[E]=c[Q];else{var p=Math.ceil((B-f)/h);for(E=0;E<I;E++)x===0&&(C=l[d++],x=32,w=0),x>=s?(Q=C>>>w&u,x-=s,w+=s):(y=s-x,Q=C>>>w&u,C=l[d++],x=32-y,Q|=(C&(1<<y)-1)<<s-y,w=y),a[E]=Q<p?f+Q*h:B}return a},unstuffLUT2:function(l,a,s,I,c,f){var h=(1<<a)-1,B=0,u=0,d=0,E=0,x=0,w=0,Q,C=[],y=Math.ceil((f-I)/c);for(u=0;u<s;u++)E===0&&(Q=l[B++],E=32,w=0),E>=a?(x=Q>>>w&h,E-=a,w+=a):(d=a-E,x=Q>>>w&h,Q=l[B++],E=32-d,x|=(Q&(1<<d)-1)<<a-d,w=d),C[u]=x<y?I+x*c:f;return C.unshift(I),C},originalUnstuff:function(l,a,s,I){var c=(1<<s)-1,f=0,h,B=0,u,d,E,x=l.length*4-Math.ceil(s*I/8);for(l[l.length-1]<<=8*x,h=0;h<I;h++)B===0&&(d=l[f++],B=32),B>=s?(u=d>>>B-s&c,B-=s):(E=s-B,u=(d&c)<<E&c,d=l[f++],B=32-E,u+=d>>>B),a[h]=u;return a},originalUnstuff2:function(l,a,s,I){var c=(1<<s)-1,f=0,h,B=0,u=0,d,E,x;for(h=0;h<I;h++)B===0&&(E=l[f++],B=32,u=0),B>=s?(d=E>>>u&c,B-=s,u+=s):(x=s-B,d=E>>>u&c,E=l[f++],B=32-x,d|=(E&(1<<x)-1)<<s-x,u=x),a[h]=d;return a}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(l){for(var a=65535,s=65535,I=l.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do a+=l[f++]<<8,s+=a+=l[f++];while(--h);a=(a&65535)+(a>>>16),s=(s&65535)+(s>>>16)}return I&1&&(s+=a+=l[f]<<8),a=(a&65535)+(a>>>16),s=(s&65535)+(s>>>16),(s<<16|a)>>>0},readHeaderInfo:function(l,a){var s=a.ptr,I=new Uint8Array(l,s,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;s+=6;var f=new DataView(l,s,8),h=f.getInt32(0,!0);c.fileVersion=h,s+=4,h>=3&&(c.checksum=f.getUint32(4,!0),s+=4),f=new DataView(l,s,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),s+=8,h>=4?(c.numDims=f.getUint32(8,!0),s+=4):c.numDims=1,f=new DataView(l,s,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),s+=40,a.headerInfo=c,a.ptr=s;var B,u;if(h>=3&&(u=h>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(l,s-u,c.blobSize-14)),B!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(l,a){var s=a.headerInfo,I=this.getDataTypeArray(s.imageType),c=s.numDims*this.getDataTypeSize(s.imageType),f=this.readSubArray(l,a.ptr,I,c),h=this.readSubArray(l,a.ptr+c,I,c);a.ptr+=2*c;var B,u=!0;for(B=0;B<s.numDims;B++)if(f[B]!==h[B]){u=!1;break}return s.minValues=f,s.maxValues=h,u},readSubArray:function(l,a,s,I){var c;if(s===Uint8Array)c=new Uint8Array(l,a,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(l,a,I)),c=new s(f)}return c},readMask:function(l,a){var s=a.ptr,I=a.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(l,s,4),B={};if(B.numBytes=h.getUint32(0,!0),s+=4,(f===0||c===f)&&B.numBytes!==0)throw"invalid mask";var u,d;if(f===0)u=new Uint8Array(Math.ceil(c/8)),B.bitset=u,d=new Uint8Array(c),a.pixels.resultMask=d,s+=B.numBytes;else if(B.numBytes>0){u=new Uint8Array(Math.ceil(c/8)),h=new DataView(l,s,B.numBytes);var E=h.getInt16(0,!0),x=2,w=0,Q=0;do{if(E>0)for(;E--;)u[w++]=h.getUint8(x++);else for(Q=h.getUint8(x++),E=-E;E--;)u[w++]=Q;E=h.getInt16(x,!0),x+=2}while(x<B.numBytes);if(E!==-32768||w<u.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(c);var C=0,y=0;for(y=0;y<c;y++)y&7?(C=u[y>>3],C<<=y&7):C=u[y>>3],C&128&&(d[y]=1);a.pixels.resultMask=d,B.bitset=u,s+=B.numBytes}return a.ptr=s,a.mask=B,!0},readDataOneSweep:function(l,a,s,I){var c=a.ptr,f=a.headerInfo,h=f.numDims,B=f.width*f.height,u=f.imageType,d=f.numValidPixel*r.getDataTypeSize(u)*h,E,x=a.pixels.resultMask;if(s===Uint8Array)E=new Uint8Array(l,c,d);else{var w=new ArrayBuffer(d),Q=new Uint8Array(w);Q.set(new Uint8Array(l,c,d)),E=new s(w)}if(E.length===B*h)I?a.pixels.resultPixels=r.swapDimensionOrder(E,B,h,s,!0):a.pixels.resultPixels=E;else{a.pixels.resultPixels=new s(B*h);var C=0,y=0,p=0,b=0;if(h>1){if(I){for(y=0;y<B;y++)if(x[y])for(b=y,p=0;p<h;p++,b+=B)a.pixels.resultPixels[b]=E[C++]}else for(y=0;y<B;y++)if(x[y])for(b=y*h,p=0;p<h;p++)a.pixels.resultPixels[b+p]=E[C++]}else for(y=0;y<B;y++)x[y]&&(a.pixels.resultPixels[y]=E[C++])}return c+=d,a.ptr=c,!0},readHuffmanTree:function(l,a){var s=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(l,a.ptr,16);a.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),B=I.getInt32(12,!0);if(h>=B)return!1;var u=new Uint32Array(B-h);r.decodeBits(l,a,u);var d=[],E,x,w,Q;for(E=h;E<B;E++)x=E-(E<f?0:f),d[x]={first:u[E-h],second:null};var C=l.byteLength-a.ptr,y=Math.ceil(C/4),p=new ArrayBuffer(y*4),b=new Uint8Array(p);b.set(new Uint8Array(l,a.ptr,C));var m=new Uint32Array(p),k=0,S,T=0;for(S=m[0],E=h;E<B;E++)x=E-(E<f?0:f),Q=d[x].first,Q>0&&(d[x].second=S<<k>>>32-Q,32-k>=Q?(k+=Q,k===32&&(k=0,T++,S=m[T])):(k+=Q-32,T++,S=m[T],d[x].second|=S>>>32-k));var D=0,_=0,v=new g;for(E=0;E<d.length;E++)d[E]!==void 0&&(D=Math.max(D,d[E].first));D>=s?_=s:_=D;var O=[],F,M,G,H,J,K;for(E=h;E<B;E++)if(x=E-(E<f?0:f),Q=d[x].first,Q>0)if(F=[Q,x],Q<=_)for(M=d[x].second<<_-Q,G=1<<_-Q,w=0;w<G;w++)O[M|w]=F;else for(M=d[x].second,K=v,H=Q-1;H>=0;H--)J=M>>>H&1,J?(K.right||(K.right=new g),K=K.right):(K.left||(K.left=new g),K=K.left),H===0&&!K.val&&(K.val=F[1]);return{decodeLut:O,numBitsLUTQick:_,numBitsLUT:D,tree:v,stuffedData:m,srcPtr:T,bitPos:k}},readHuffman:function(l,a,s,I){var c=a.headerInfo,f=c.numDims,h=a.headerInfo.height,B=a.headerInfo.width,u=B*h,d=this.readHuffmanTree(l,a),E=d.decodeLut,x=d.tree,w=d.stuffedData,Q=d.srcPtr,C=d.bitPos,y=d.numBitsLUTQick,p=d.numBitsLUT,b=a.headerInfo.imageType===0?128:0,m,k,S,T=a.pixels.resultMask,D,_,v,O,F,M,G,H=0;C>0&&(Q++,C=0);var J=w[Q],K=a.encodeMode===1,L=new s(u*f),U=L,N;if(f<2||K){for(N=0;N<f;N++)if(f>1&&(U=new s(L.buffer,u*N,u),H=0),a.headerInfo.numValidPixel===B*h)for(M=0,O=0;O<h;O++)for(F=0;F<B;F++,M++){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,G=0;G<p;G++)if(v=D>>>p-G-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+G+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,K?(F>0?S+=H:O>0?S+=U[M-B]:S+=H,S&=255,U[M]=S,H=S):U[M]=S}else for(M=0,O=0;O<h;O++)for(F=0;F<B;F++,M++)if(T[M]){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,G=0;G<p;G++)if(v=D>>>p-G-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+G+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,K?(F>0&&T[M-1]?S+=H:O>0&&T[M-B]?S+=U[M-B]:S+=H,S&=255,U[M]=S,H=S):U[M]=S}}else for(M=0,O=0;O<h;O++)for(F=0;F<B;F++)if(M=O*B+F,!T||T[M])for(N=0;N<f;N++,M+=u){if(k=0,D=J<<C>>>32-y,_=D,32-C<y&&(D|=w[Q+1]>>>64-C-y,_=D),E[_])k=E[_][1],C+=E[_][0];else for(D=J<<C>>>32-p,_=D,32-C<p&&(D|=w[Q+1]>>>64-C-p,_=D),m=x,G=0;G<p;G++)if(v=D>>>p-G-1&1,m=v?m.right:m.left,!(m.left||m.right)){k=m.val,C=C+G+1;break}C>=32&&(C-=32,Q++,J=w[Q]),S=k-b,U[M]=S}a.ptr=a.ptr+(Q+1)*4+(C>0?4:0),a.pixels.resultPixels=L,f>1&&!I&&(a.pixels.resultPixels=r.swapDimensionOrder(L,u,f,s))},decodeBits:function(l,a,s,I,c){{var f=a.headerInfo,h=f.fileVersion,B=0,u=l.byteLength-a.ptr>=5?5:l.byteLength-a.ptr,d=new DataView(l,a.ptr,u),E=d.getUint8(0);B++;var x=E>>6,w=x===0?4:3-x,Q=(E&32)>0,C=E&31,y=0;if(w===1)y=d.getUint8(B),B++;else if(w===2)y=d.getUint16(B,!0),B+=2;else if(w===4)y=d.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var p=2*f.maxZError,b,m,k,S,T,D,_,v,O,F,M=f.numDims>1?f.maxValues[c]:f.zMax;if(Q){for(a.counter.lut++,v=d.getUint8(B),O=C,B++,S=Math.ceil((v-1)*C/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),a.ptr+=B,k.set(new Uint8Array(l,a.ptr,S)),_=new Uint32Array(m),a.ptr+=S,F=0;v-1>>>F;)F++;S=Math.ceil(y*F/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),k.set(new Uint8Array(l,a.ptr,S)),b=new Uint32Array(m),a.ptr+=S,h>=3?D=n.unstuffLUT2(_,C,v-1,I,p,M):D=n.unstuffLUT(_,C,v-1,I,p,M),h>=3?n.unstuff2(b,s,F,y,D):n.unstuff(b,s,F,y,D)}else a.counter.bitstuffer++,F=C,a.ptr+=B,F>0&&(S=Math.ceil(y*F/8),T=Math.ceil(S/4),m=new ArrayBuffer(T*4),k=new Uint8Array(m),k.set(new Uint8Array(l,a.ptr,S)),b=new Uint32Array(m),a.ptr+=S,h>=3?I==null?n.originalUnstuff2(b,s,F,y):n.unstuff2(b,s,F,y,!1,I,p,M):I==null?n.originalUnstuff(b,s,F,y):n.unstuff(b,s,F,y,!1,I,p,M))}},readTiles:function(l,a,s,I){var c=a.headerInfo,f=c.width,h=c.height,B=f*h,u=c.microBlockSize,d=c.imageType,E=r.getDataTypeSize(d),x=Math.ceil(f/u),w=Math.ceil(h/u);a.pixels.numBlocksY=w,a.pixels.numBlocksX=x,a.pixels.ptr=0;var Q=0,C=0,y=0,p=0,b=0,m=0,k=0,S=0,T=0,D=0,_=0,v=0,O=0,F=0,M=0,G=0,H,J,K,L,U,N,V=new s(u*u),Z=h%u||u,W=f%u||u,j,tA,gA=c.numDims,qA,EA=a.pixels.resultMask,fA=a.pixels.resultPixels,Ba=c.fileVersion,fn=Ba>=5?14:15,vA,zt=c.zMax,UA;for(y=0;y<w;y++)for(b=y!==w-1?u:Z,p=0;p<x;p++)for(m=p!==x-1?u:W,_=y*f*u+p*u,v=f-m,qA=0;qA<gA;qA++){if(gA>1?(UA=fA,_=y*f*u+p*u,fA=new s(a.pixels.resultPixels.buffer,B*qA*E,B),zt=c.maxValues[qA]):UA=null,k=l.byteLength-a.ptr,H=new DataView(l,a.ptr,Math.min(10,k)),J={},G=0,S=H.getUint8(0),G++,vA=c.fileVersion>=5?S&4:0,T=S>>6&255,D=S>>2&fn,D!==(p*u>>3&fn)||vA&&qA===0)throw"integrity issue";if(N=S&3,N>3)throw a.ptr+=G,"Invalid block encoding ("+N+")";if(N===2){if(vA)if(EA)for(Q=0;Q<b;Q++)for(C=0;C<m;C++)EA[_]&&(fA[_]=UA[_]),_++;else for(Q=0;Q<b;Q++)for(C=0;C<m;C++)fA[_]=UA[_],_++;a.counter.constant++,a.ptr+=G;continue}else if(N===0){if(vA)throw"integrity issue";if(a.counter.uncompressed++,a.ptr+=G,O=b*m*E,F=l.byteLength-a.ptr,O=O<F?O:F,K=new ArrayBuffer(O%E===0?O:O+E-O%E),L=new Uint8Array(K),L.set(new Uint8Array(l,a.ptr,O)),U=new s(K),M=0,EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=U[M++]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_++]=U[M++];_+=v}a.ptr+=M*E}else if(j=r.getDataTypeUsed(vA&&d<6?4:d,T),tA=r.getOnePixel(J,G,j,H),G+=r.getDataTypeSize(j),N===3)if(a.ptr+=G,a.counter.constantoffset++,EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=vA?Math.min(zt,UA[_]+tA):tA),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_]=vA?Math.min(zt,UA[_]+tA):tA,_++;_+=v}else if(a.ptr+=G,r.decodeBits(l,a,V,tA,qA),G=0,vA)if(EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=V[G++]+UA[_]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_]=V[G++]+UA[_],_++;_+=v}else if(EA)for(Q=0;Q<b;Q++){for(C=0;C<m;C++)EA[_]&&(fA[_]=V[G++]),_++;_+=v}else for(Q=0;Q<b;Q++){for(C=0;C<m;C++)fA[_++]=V[G++];_+=v}}gA>1&&!I&&(a.pixels.resultPixels=r.swapDimensionOrder(a.pixels.resultPixels,B,gA,s))},formatFileInfo:function(l){return{fileIdentifierString:l.headerInfo.fileIdentifierString,fileVersion:l.headerInfo.fileVersion,imageType:l.headerInfo.imageType,height:l.headerInfo.height,width:l.headerInfo.width,numValidPixel:l.headerInfo.numValidPixel,microBlockSize:l.headerInfo.microBlockSize,blobSize:l.headerInfo.blobSize,maxZError:l.headerInfo.maxZError,pixelType:r.getPixelType(l.headerInfo.imageType),eofOffset:l.eofOffset,mask:l.mask?{numBytes:l.mask.numBytes}:null,pixels:{numBlocksX:l.pixels.numBlocksX,numBlocksY:l.pixels.numBlocksY,maxValue:l.headerInfo.zMax,minValue:l.headerInfo.zMin,noDataValue:l.noDataValue}}},constructConstantSurface:function(l,a){var s=l.headerInfo.zMax,I=l.headerInfo.zMin,c=l.headerInfo.maxValues,f=l.headerInfo.numDims,h=l.headerInfo.height*l.headerInfo.width,B=0,u=0,d=0,E=l.pixels.resultMask,x=l.pixels.resultPixels;if(E)if(f>1){if(a)for(B=0;B<f;B++)for(d=B*h,s=c[B],u=0;u<h;u++)E[u]&&(x[d+u]=s);else for(u=0;u<h;u++)if(E[u])for(d=u*f,B=0;B<f;B++)x[d+f]=c[B]}else for(u=0;u<h;u++)E[u]&&(x[u]=s);else if(f>1&&I!==s)if(a)for(B=0;B<f;B++)for(d=B*h,s=c[B],u=0;u<h;u++)x[d+u]=s;else for(u=0;u<h;u++)for(d=u*f,B=0;B<f;B++)x[d+B]=c[B];else for(u=0;u<h*f;u++)x[u]=s},getDataTypeArray:function(l){var a;switch(l){case 0:a=Int8Array;break;case 1:a=Uint8Array;break;case 2:a=Int16Array;break;case 3:a=Uint16Array;break;case 4:a=Int32Array;break;case 5:a=Uint32Array;break;case 6:a=Float32Array;break;case 7:a=Float64Array;break;default:a=Float32Array}return a},getPixelType:function(l){var a;switch(l){case 0:a="S8";break;case 1:a="U8";break;case 2:a="S16";break;case 3:a="U16";break;case 4:a="S32";break;case 5:a="U32";break;case 6:a="F32";break;case 7:a="F64";break;default:a="F32"}return a},isValidPixelValue:function(l,a){if(a==null)return!1;var s;switch(l){case 0:s=a>=-128&&a<=127;break;case 1:s=a>=0&&a<=255;break;case 2:s=a>=-32768&&a<=32767;break;case 3:s=a>=0&&a<=65536;break;case 4:s=a>=-2147483648&&a<=2147483647;break;case 5:s=a>=0&&a<=4294967296;break;case 6:s=a>=-34027999387901484e22&&a<=34027999387901484e22;break;case 7:s=a>=-17976931348623157e292&&a<=17976931348623157e292;break;default:s=!1}return s},getDataTypeSize:function(l){var a=0;switch(l){case 0:case 1:a=1;break;case 2:case 3:a=2;break;case 4:case 5:case 6:a=4;break;case 7:a=8;break;default:a=l}return a},getDataTypeUsed:function(l,a){var s=l;switch(l){case 2:case 4:s=l-a;break;case 3:case 5:s=l-2*a;break;case 6:a===0?s=l:a===1?s=2:s=1;break;case 7:a===0?s=l:s=l-2*a+1;break;default:s=l;break}return s},getOnePixel:function(l,a,s,I){var c=0;switch(s){case 0:c=I.getInt8(a);break;case 1:c=I.getUint8(a);break;case 2:c=I.getInt16(a,!0);break;case 3:c=I.getUint16(a,!0);break;case 4:c=I.getInt32(a,!0);break;case 5:c=I.getUInt32(a,!0);break;case 6:c=I.getFloat32(a,!0);break;case 7:c=I.getFloat64(a,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(l,a,s,I,c){var f=0,h=0,B=0,u=0,d=l;if(s>1)if(d=new I(a*s),c)for(f=0;f<a;f++)for(u=f,B=0;B<s;B++,u+=a)d[u]=l[h++];else for(f=0;f<a;f++)for(u=f,B=0;B<s;B++,u+=a)d[h++]=l[u];return d}},g=function(l,a,s){this.val=l,this.left=a,this.right=s},o={decode:function(l,a){a=a||{};var s=a.noDataValue,I=0,c={};if(c.ptr=a.inputOffset||0,c.pixels={},!!r.readHeaderInfo(l,c)){var f=c.headerInfo,h=f.fileVersion,B=r.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;r.readMask(l,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=a.maskData);var u=f.width*f.height;c.pixels.resultPixels=new B(u*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!a.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)r.constructConstantSurface(c,d);else if(h>=4&&r.checkMinMaxRanges(l,c))r.constructConstantSurface(c,d);else{var E=new DataView(l,c.ptr,2),x=E.getUint8(0);if(c.ptr++,x)r.readDataOneSweep(l,c,B,d);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=E.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?r.readHuffman(l,c,B,d):r.readTiles(l,c,B,d)}else r.readTiles(l,c,B,d)}c.eofOffset=c.ptr;var Q;a.inputOffset?(Q=c.headerInfo.blobSize+a.inputOffset-c.ptr,Math.abs(Q)>=1&&(c.eofOffset=a.inputOffset+c.headerInfo.blobSize)):(Q=c.headerInfo.blobSize-c.ptr,Math.abs(Q)>=1&&(c.eofOffset=c.headerInfo.blobSize));var C={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&r.isValidPixelValue(f.imageType,s)){var y=c.pixels.resultMask;for(I=0;I<u;I++)y[I]||(C.pixelData[I]=s);C.noDataValue=s}return c.noDataValue=s,a.returnFileInfo&&(C.fileInfo=r.formatFileInfo(c)),C}},getBandCount:function(l){var a=0,s=0,I={};for(I.ptr=0,I.pixels={};s<l.byteLength-58;)r.readHeaderInfo(l,I),s+=I.headerInfo.blobSize,a++,I.ptr=s;return a}};return o}(),A=function(){var n=new ArrayBuffer(4),r=new Uint8Array(n),g=new Uint32Array(n);return g[0]=1,r[0]===1}(),i={decode:function(n,r){if(!A)throw"Big endian system is not supported.";r=r||{};var g=r.inputOffset||0,o=new Uint8Array(n,g,10),l=String.fromCharCode.apply(null,o),a,s;if(l.trim()==="CntZImage")a=e,s=1;else if(l.substring(0,5)==="Lerc2")a=t,s=2;else throw"Unexpected file identifier string: "+l;for(var I=0,c=n.byteLength-10,f,h=[],B,u,d={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]},E=0;g<c;){var x=a.decode(n,{inputOffset:g,encodedMaskData:f,maskData:u,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:r.returnPixelInterleavedDims,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});g=x.fileInfo.eofOffset,u=x.maskData,I===0&&(f=x.encodedMaskData,d.width=x.width,d.height=x.height,d.dimCount=x.dimCount||1,d.pixelType=x.pixelType||x.fileInfo.pixelType,d.mask=u),s>1&&(u&&h.push(u),x.fileInfo.mask&&x.fileInfo.mask.numBytes>0&&E++),I++,d.pixels.push(x.pixelData),d.statistics.push({minValue:x.minValue,maxValue:x.maxValue,noDataValue:x.noDataValue,dimStats:x.dimStats})}var w,Q,C;if(s>1&&E>1){for(C=d.width*d.height,d.bandMasks=h,u=new Uint8Array(C),u.set(h[0]),w=1;w<h.length;w++)for(B=h[w],Q=0;Q<C;Q++)u[Q]=u[Q]&B[Q];d.maskData=u}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof St<"u"&&St.exports?St.exports=i:this.Lerc=i})()});var Oe,FA,zi,Ki,Ft,Oo,qo=cA(()=>{Ki={env:{emscripten_notify_memory_growth:function(e){zi=new Uint8Array(FA.exports.memory.buffer)}}},Ft=class{init(){return Oe||(typeof fetch<"u"?Oe=fetch("data:application/wasm;base64,"+Oo).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Ki)).then(this._init):Oe=WebAssembly.instantiate(Buffer.from(Oo,"base64"),Ki).then(this._init),Oe)}_init(t){FA=t.instance,Ki.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!FA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,n=FA.exports.malloc(i);zi.set(t,n),A=A||Number(FA.exports.ZSTD_findDecompressedSize(n,i));let r=FA.exports.malloc(A),g=FA.exports.ZSTD_decompress(r,A,n,i),o=zi.slice(r,r+g);return FA.exports.free(n),FA.exports.free(r),o}},Oo="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var Jo={};GA(Jo,{default:()=>Rt,zstd:()=>Yo});var Ho,Yo,Rt,Ko=cA(()=>{Ji();Ho=HA(To(),1);qo();DA();nt();Yo=new Ft,Rt=class extends ${constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[Wn.AddCompression]}decodeBlock(t){switch(this.addCompression){case it.None:break;case it.Deflate:t=Dt(new Uint8Array(t)).buffer;break;case it.Zstandard:t=Yo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Ho.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var zo={};GA(zo,{default:()=>vt});var vt,Po=cA(()=>{DA();vt=class extends ${constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,A){let i=new Blob([A]),n=await createImageBitmap(i),r;typeof document<"u"?(r=document.createElement("canvas"),r.width=n.width,r.height=n.height):r=new OffscreenCanvas(n.width,n.height);let g=r.getContext("2d");return g.drawImage(n,0,0),g.getImageData(0,0,n.width,n.height).data.buffer}}});var oa=QA(()=>{});var aa=QA(()=>{});var sa=QA(()=>{});var Vg={};GA(Vg,{default:()=>Kt});module.exports=xa(Vg);var XA=HA(require("sharp"),1);var R=Ve;(function(e,t){let A=Ve,i=e();for(;;)try{if(-parseInt(A(365))/1*(-parseInt(A(467))/2)+-parseInt(A(345))/3+parseInt(A(447))/4*(parseInt(A(489))/5)+parseInt(A(356))/6+parseInt(A(355))/7*(parseInt(A(323))/8)+parseInt(A(495))/9+parseInt(A(287))/10*(-parseInt(A(370))/11)===t)break;i.push(i.shift())}catch{i.push(i.shift())}})(Pe,603387);function Pe(){let e=["uQBHp","eQVTD","default","KPfDT","YtkrU","fkhIG","NLoVA","jIKLi","RxHDh","_sizePctScale","SUSkv","should not upscale without ^","qFvGD","DTGol","fSSlr","UuooB","BMYhd","native","3.0","^\\^pct:","uUcmT","^\\^max$","gray","LQCuB","height","ltIxe","yfnPz","HOTwp","10075550gNEBRq","iXOUU","THouJ","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level","WxvXk","pdf","image/tiff","CGVuk","body","application/pdf","BFSnG","QBGmW","2|0|5|6|7|8|1|3|4|9","mTGOL","QRmjG","TIoKn","vRTMx","qRRXU","2.1","@id","plpvh","dAIQK","mZsQf","identifier","tvDFQ","maxArea","http://iiif.io/api/image/2/level","zsgTN","lYRdp","map","tile_width","ppBBC","[0-9]*","AgArR","invalid IIIF width ","erhnU","71192Whxdbm","profile","kKOMT","Qudhv","qyXyb","^pct:","uuBce","http://library.stanford.edu/iiif/image-api/compliance.html#level","3|4|2|0|6|5|1","size","OFaPg","width","^\\^","tiles","qVPni","igQUT","PXoHE","split","version","image/webp","charAt","OvbkW","509799BWekFQ","azHlE","tif","qualities","pct:","image/jpeg","_sizeBangScale","IleAX","WecSj","ceil","609CatGvb","1859562tiBZnL","quality","UPGlZ","uriPattern","format","BLmeE","http://iiif.io/api/image/3/context.json","http://iiif.io/api/image","DtISw","80278PhXhsX","[1-9][0-9]*","sizes","KkPgx","EpRCl","22LfWwWh","XZpaR","grey","sfgay","substring","jpg","image/gif","wWBSf","floor","_regionXYWH","LZnUx","CXIVI","bTdut","1.0","KLuZo","@context","_regionSquare","max","maxHeight","iFZaa","vecFM","fNDeP","VyrgU","Lsgrq","QNrls","rdQXF","stringify","jp2","IqBfs","application/json","invalid IIIF height ","fKYnd","png","yqaOV","normalizeRotationParams","bitonal","CMihE","uYMlB","GBJAx","vgtgS","OUXYc","DnOKX","abs","mDnyx","WyNef","^\\^,","factors","square","vjEez","AhyOf","min","maxWidth","IFZem","okJel","gif",".json","cbiIY","sjZEV","dEhEY","MkATO","match","compliance","tQczi","invalid region dimensions: ","_regionPct","CAEmx","rotation","^\\^!","scale_factors","normalizeQualityParams","ruLhO","image/png","type","http://library.stanford.edu/iiif/image-api/1.1/context.json","normalizeRegionParams","gBtRT","BEQau","1166884ksTMMb","webp","iBFJy","tile_height","^full$","BCiWk","protocol","\\d+(\\.\\d+)?","normalizeFormatParams","QzbST","invalid IIIF url ","join","NBnnk","XPpNk","info","push","level","dxVCA","PhMFU","xsPxg","18QnWAxa","IMBac","test","WvsZA","contentType","YIvcn","SVPjw","formats","cxRjs","wDfPk","bEdgg","http://iiif.io/api/image/2/context.json","KrWAr","icqYR","jPZQO","context","2.0","sqrt","fjYJt","validate","EPbKG","TKMfx","5hWSwhd","ImageService3","HhKNN","mWHtF","LfOCA","slMkq","6210603QdprKH","lEJwQ","mqVmJ","length","1.1","mCuCI","lNOYq","replace","full","dTNfo","URvZR","pkUIP","region"];return Pe=function(){return e},Pe()}function Ve(e,t){let A=Pe();return Ve=function(i,n){return i=i-276,A[i]},Ve(e,t)}var rA=R(366),In=R(319),Ke="(?=.*[1-9])\\d+(\\.\\d+)?",Pt=R(454),Vt={jpg:R(350),jpeg:R(350),png:R(441),webp:R(342),tif:R(293),tiff:R(293),gif:R(376),jp2:"image/jp2",pdf:R(296)},Ce={version:[R(383),"1.1",R(483),R(305),"3.0"],level:["0","1","2"],region:["full",R(417),In+","+In+","+rA+","+rA,R(349)+Pt+","+Pt+","+Ke+","+Ke],rotation:"!?"+Pt,quality:["color",R(281),R(405),R(510),"native",R(372)],format:[R(375),R(402),R(448),R(347),R(424),R(397),R(292)],size:[R(451),"^"+rA+",$","^,"+rA+"$",R(328)+Ke+"$","^"+rA+","+rA+"$","^!"+rA+","+rA+"$","^max$",R(280),R(335)+rA+",$",R(415)+rA+"$",R(278)+Ke+"$",R(335)+rA+","+rA+"$",R(437)+rA+","+rA+"$"]},ze=/^pct:([\d,\.]+)/,Ee=class{constructor(t,A,i){let n=R;this[n(312)]=t,this[n(421)]=A,this[n(388)]=i}[R(486)](t,A){let i=R,n={MkOaY:function(o,l){return o/l},erhnU:function(o,l){return o*l},Qudhv:function(o,l){return o===l},qBhtZ:function(o,l){return o!==l},ZMqWE:i(315),iFZaa:function(o,l){return o+l},EPbKG:function(o,l){return o===l},azHlE:"bEdgg",xsPxg:function(o,l){return o(l)}},r=Ce[t];if(r instanceof Array&&(n.qBhtZ(n.ZMqWE,i(315))?(_0x258bb7=_0x18287a.ceil(n.MkOaY(n[i(322)](_0x29a716,_0x2b195a),_0x31125e)),_0x38fd6f=n[i(326)](_0x1c210a,0)?1:_0x1bbe45):r=r[i(458)]("|")),!new RegExp(n[i(389)](n.iFZaa("^(",r),")$"))[i(469)](A)){if(n[i(487)](i(477),n[i(346)]))throw n[i(466)](Error,i(457)+t+": "+A);_0x5e1149="level"+_0xee9799,_0x1f779c=i(362)}return!0}[R(444)](t,A){let i=R,n={QNrls:i(507),dTNfo:"full",QzbST:function(r,g){return r===g}};if(this[i(486)](n[i(394)],t),t===n[i(504)])return null;if(n[i(456)](t,i(417)))return this[i(386)](A);if(ze[i(469)](t))return this[i(434)](t[i(430)](ze)[1],A);{let r=t.split(",")[i(316)](g=>Number(g));return this[i(379)](r,A)}}[R(386)](t){let A=R,i={PhMFU:function(l,a){return l-a},qFNsO:function(l,a){return l>a},BMYhd:function(l,a){return l*a},cxRjs:function(l,a){return l!==a},QzQZk:A(303),eQVTD:A(423),Ulaip:function(l,a){return l===a},yqaOV:A(480),EpRCl:A(377)},n,r,g=t[A(334)],o=t[A(283)];if(g!==o)if(i[A(475)](i.QzQZk,i[A(509)])){let l=Math[A(420)](g,o),a=Math.abs(Math[A(378)](i[A(465)](g,o)/2));if(g>o)if(i.Ulaip(i[A(403)],i[A(369)])){let s=_0x1dcef9[A(420)](_0x3826c1,_0x2d7805),I=_0x326c63[A(412)](_0x55eb6d[A(378)](i.PhMFU(_0x5d0039,_0x19c73b)/2));return i.qFNsO(_0x380afc,_0x1fd30f)?(_0x5290fc=I,_0x5b67fa=0):(_0xd4d119=0,_0x2dffae=I),this[A(379)]([_0x282c19,_0x37f8be,s,s],_0x233bdf)}else n=a,r=0;else n=0,r=a;return this[A(379)]([n,r,l,l],t)}else return _0x58a6f9[A(354)](i[A(524)](_0x42ec49[A(283)],_0x454bf6));return null}[R(434)](t,A){let i=R,n={FVzXe:function(g,o){return g/o},CGVuk:function(g,o){return g(o)},YIvcn:function(g,o){return g===o},iYfEl:function(g,o){return g===o},LfOCA:function(g,o){return g!==o},fKYnd:i(320),qRRXU:function(g,o){return g*o},rZSoM:function(g,o){return g*o}},r=t[i(340)](",")[i(316)]((g,o)=>{let l=i,a=n.FVzXe(n[l(294)](Number,g),100);if(n[l(472)](o,0)||n.iYfEl(o,2)){if(n[l(493)](l(288),n[l(401)]))return Math[l(354)](n[l(304)](A[l(334)],a));_0x94c8eb=_0x269e4d-_0x26ce26}else if(n.YIvcn(o,1)||n[l(472)](o,3))return Math[l(354)](n.rZSoM(A.height,a));return null});return this._regionXYWH(r,A)}[R(379)](t,A){let i=R,n={dAIQK:function(I,c){return I>c},dxVCA:function(I,c){return I+c},fkhIG:function(I,c){return I-c},XZpaR:function(I,c){return I>c},WecSj:function(I,c){return I===c},DtISw:i(515),LQCuB:function(I,c){return I<=c},OFaPg:function(I,c){return I(c)}},r=A[i(334)],g=A[i(283)],[o,l,a,s]=t;if(n[i(308)](n[i(464)](o,a),r)&&(a=n[i(513)](r,o)),n[i(371)](n.dxVCA(l,s),g))if(n[i(353)](n.DtISw,n[i(364)]))s=n[i(513)](g,l);else return null;if(n.LQCuB(a,0))throw n.OFaPg(Error,i(321)+a);if(n[i(282)](s,0))throw n[i(333)](Error,i(400)+s);return{x:o,y:l,w:a,h:s}}normalizeSizeParams(t,A){let i=R,n={MkATO:i(385),LNvZq:i(482),HOTwp:"compliance",NLoVA:function(s,I){return s===I},IMBac:i(291),CAEmx:function(s,I){return s(I)},igQUT:i(332),OCPxo:function(s,I){return s===I},xyReF:function(s,I){return s===I},ICtCN:i(503),BFSnG:function(s,I){return s===I},MTMhD:i(446),mDnyx:function(s,I){return s!==I},YIChU:i(481),QzXPD:i(373),txErT:function(s,I){return s===I},QWaqC:function(s,I){return s*I},kKOMT:function(s,I){return s!==I},yfnPz:"qSMKk"},r=t,g=A.width,o=A.height;if(!A||!g&&!o)if(n[i(514)](n[i(468)],"mNwNT"))_0x163d5b=!0,_0x36f0fc=_0x343877[i(374)](1);else throw n[i(435)](Error,"invalid region dimensions: "+JSON.stringify(A,null,2));this[i(486)](n[i(338)],r);let l=!1;n.OCPxo(r[i(343)](0),"^")&&(l=!0,r=r[i(374)](1));let a=null;if(n.xyReF(r,n.ICtCN))return null;if(n[i(297)](r,i(387)))a=this._sizeMaxScale(A);else if(ze[i(469)](r)){if(n[i(297)](i(440),n.MTMhD))return null;a=this._sizePctScale(r[i(430)](ze)[1])}else r.charAt(0)==="!"&&(n[i(413)](n.YIChU,n.QzXPD)?(r=r[i(374)](1),a=this[i(351)](r,l,A)):(_0x3b1d7f[n[i(429)]]=this[i(359)](n.LNvZq,_0x4072b9,_0x7bbe1a),_0x55ec87[i(306)]=_0x3b6ef1,_0x563c5d[i(334)]=_0x9e51d7.width,_0x25dfe9[i(283)]=_0x4651a8[i(283)],_0x3cb33a[i(438)]=this[i(416)](_0x3bfdb1,_0x1f4734,_0xab03cc),_0x4bc1cb[i(317)]=_0x933c99,_0x3d3883[i(450)]=_0xa8684c,_0x4afdb1[i(474)]=_0x39d869[i(360)],_0x326097[i(348)]=_0x470235[i(357)],_0x1cab31[i(324)]=this[i(359)](n[i(286)],_0x21dadb,_0x392660)));if(n.txErT(a,1))return null;if(a){let s=Math.ceil(g*a),I=Math[i(354)](n.QWaqC(o,a));return this._sizeWH(s+","+I,l,A)}else if(n[i(325)](n.yfnPz,n[i(285)]))_0x506af8[i(462)](1);else return this._sizeWH(r,l,A)}_sizeBangScale(t,A,i){let n=R,r={pkUIP:function(I,c){return I/c},URvZR:function(I,c){return I>c},uYMlB:function(I,c){return I>c},Lsgrq:function(I,c){return I===c},IleAX:n(392),fNDeP:function(I,c){return I(c)},CXIVI:n(519)},g=i.width,o=i[n(283)],[l,a]=t[n(340)](",")[n(316)](I=>I===""?null:Number(I)),s=Math[n(420)](r.pkUIP(l,g),r[n(506)](a,o));if(r[n(505)](l,g)&&r[n(407)](a,o)&&!A){if(r[n(393)](n(392),r[n(352)]))throw r[n(391)](Error,r[n(381)]);_0x5a66ad=this[n(517)](_0x25813c[n(430)](_0x151c15)[1])}return s}_sizeMaxScale(t){let A=R,i={CMihE:function(o,l){return o<=l},gBtRT:function(o,l){return o*l},vgtgS:function(o,l){return o<=l},TKMfx:function(o,l){return o===l},NBnnk:function(o,l){return o*l},mZsQf:function(o,l){return o!==l},QBGmW:A(311),ltIxe:"GdxeE",uQBHp:function(o,l){return o/l},YtkrU:function(o,l){return o/l},qVPni:function(o,l){return o<l},DnOKX:A(428),RxHDh:A(520),FGQcZ:function(o,l){return o/l}},n=t[A(334)],r=t[A(283)],g=1;if(this[A(312)]&&this[A(312)]<i[A(459)](n,r))if(i[A(309)](i[A(298)],i[A(284)]))g=Math[A(484)](i[A(508)](this[A(312)],i[A(459)](n,r)));else{let o=1,l=[];for(;i[A(406)](i.gBtRT(_0x4469bc,o),_0x123da6[A(334)])||i[A(409)](i[A(445)](_0x1731b5,o),_0x4d4598.height);)l.push(o),o*=2;return i.TKMfx(l[A(498)],0)&&l.push(1),l}return this.maxWidth&&this[A(421)]<n&&(g=Math.min(g,i[A(512)](this[A(421)],n))),this[A(388)]&&i[A(337)](this[A(388)],r)&&(i[A(488)](i[A(411)],i[A(516)])?(_0x15f652=0,_0x2face4=_0x3bdaec):g=Math[A(420)](g,i.FGQcZ(this[A(388)],r))),g}[R(517)](t){let A=R,i={Qfpqp:function(r,g){return r/g},mTGOL:function(r,g){return r(g)}};return i.Qfpqp(i[A(300)](Number,t),100)}_sizeWH(t,A,i){let n=R,r={IqBfs:function(s,I){return s/I},lEJwQ:function(s,I){return s===I},UuooB:function(s,I){return s*I},xVSBb:function(s,I){return s>I},WyNef:function(s,I){return s(I)},TnVDE:n(519)},g=i.width,o=i[n(283)],[l,a]=t.split(",")[n(316)](s=>s===""?null:Number(s));if(l?!a&&(a=Math[n(354)](r[n(523)](o,l)/g),a=a===0?1:a):(l=Math[n(354)](r[n(398)](g*a,o)),l=r[n(496)](l,0)?1:l),(l>g||r.xVSBb(a,o))&&!A)throw r[n(414)](Error,r.TnVDE);return{width:l,height:a}}[R(404)](t){let A=R,i={rdQXF:function(g,o){return g===o},wAwsS:function(g,o){return g(o)}};this[A(486)](A(436),t);let n=!1;if(i[A(395)](t,"0"))return null;t[0]==="!"&&(n=!0);let r=i.wAwsS(Number,t[A(502)](/^!/,""));return{isMirror:n,degree:r}}[R(439)](t){let A=R,i={fjYJt:function(n,r){return n===r},SVPjw:A(276),lNOYq:function(n,r){return n===r},zsgTN:A(510)};return this[A(486)](A(357),t),i[A(485)](t,i[A(473)])||i[A(501)](t,i[A(314)])?null:t}[R(455)](t,A){let i=R,n={KkPgx:function(o,l){return o===l}};this[i(486)](i(360),t);let r=Vt[t],g=Vt[A];return n[i(368)](r,g)?null:t}getContentType(t){return Vt[t]}generateImageInfoTemp(t,A,i,n="2",r=512,g=512){let o=R,l={BGopY:function(I,c){return I/c},QRmjG:function(I,c){return I>c},mCuCI:function(I,c){return I(c)},CNQCo:"should not upscale without ^",nUCew:o(463),DTGol:function(I,c){return I===c},ppBBC:o(383),AhyOf:"9|8|1|4|0|7|5|6|3|10|2",cbiIY:"1.1",TIoKn:o(299),IFZem:o(306),BCiWk:o(385),SUSkv:"context",bTdut:o(431),sjZEV:function(I,c){return I===c},iBFJy:function(I,c){return I===c},plpvh:o(305),PXoHE:function(I,c){return I!==c},IlBex:"OOtiw",UPGlZ:"jndtN",qyXyb:o(331),KrWAr:o(277),fSSlr:function(I,c){return I!==c},LZnUx:o(511),FpbXK:o(490),uuBce:"http://iiif.io/api/image",tQczi:"application/ld+json"};this[o(486)](o(341),i),this[o(486)](l.nUCew,n);let a={},s={};if(a[o(461)]=s,l[o(521)](i,l[o(318)])){let I=l[o(419)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[o(317)]=r;continue;case"1":s[o(283)]=A.height;continue;case"2":a[o(295)]=JSON.stringify(s);continue;case"3":s.profile=this[o(359)]("compliance",i,n);continue;case"4":s[o(438)]=this[o(416)](A,r,g);continue;case"5":s[o(474)]=Ce[o(360)];continue;case"6":s[o(348)]=Ce[o(357)];continue;case"7":s[o(450)]=g;continue;case"8":s[o(334)]=A[o(334)];continue;case"9":s[o(310)]=t;continue;case"10":a[o(471)]=o(399);continue}break}}else{if(l.DTGol(i,l[o(426)])){let I=l[o(302)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[l[o(422)]]=t;continue;case"1":s[o(450)]=g;continue;case"2":s[l[o(452)]]=this[o(359)](l[o(518)],i,n);continue;case"3":s[o(474)]=Ce[o(360)];continue;case"4":s[o(348)]=Ce[o(357)];continue;case"5":s[o(334)]=A[o(334)];continue;case"6":s[o(283)]=A[o(283)];continue;case"7":s[o(438)]=this.factors(A,r,g);continue;case"8":s.tile_width=r;continue;case"9":s[o(324)]=this[o(359)](l[o(382)],i,n);continue}break}}else if(l[o(427)](i,o(483))||l.iBFJy(i,l[o(307)]))if(l[o(339)](l.IlBex,l[o(358)])){let I=l[o(327)][o(340)]("|"),c=0;for(;;){switch(I[c++]){case"0":s[o(334)]=A[o(334)];continue;case"1":s[o(324)]=[this[o(359)](l[o(382)],i,n)];continue;case"2":s[o(453)]=o(363);continue;case"3":s[l[o(452)]]=this.uriPattern(l[o(518)],i,n);continue;case"4":s[l[o(422)]]=t;continue;case"5":l[o(449)](n,"0")?s[o(367)]=this[o(367)](A):s.tiles=[{scaleFactors:this[o(416)](A,r,g),width:r,height:g}];continue;case"6":s[o(283)]=A[o(283)];continue}break}}else return null;else if(l[o(521)](i,l[o(479)]))if(l[o(522)](l[o(380)],o(511))){let I=_0x3dd55f[o(334)],c=_0x804ef9[o(283)],[f,h]=_0x3f0d2e[o(340)](",")[o(316)](u=>u===""?null:_0x383279(u)),B=_0x44b159[o(420)](l.BGopY(f,I),h/c);if(l[o(301)](f,I)&&l[o(301)](h,c)&&!_0x1ac8c8)throw l[o(500)](_0xda0967,l.CNQCo);return B}else{if(s[o(385)]=[this[o(359)](l[o(518)],i,n)],s.id=t,s[o(442)]=l.FpbXK,s.protocol=l[o(329)],s[o(334)]=A[o(334)],s[o(283)]=A[o(283)],n==="0")if(l[o(427)](o(491),"HhKNN"))s.sizes=this[o(367)](A);else return[{width:_0x84acd3[o(334)],height:_0x5aba10[o(283)]}];else s[o(336)]=[{scaleFactors:this.factors(A,r,g),width:r,height:g}];s[o(324)]=this[o(359)](l[o(382)],i,n)}a[o(471)]=l[o(432)]}return a}factors(t,A,i){let n=R,r={OvbkW:function(l,a){return l*a},mqVmJ:function(l,a){return l<=a},GBJAx:function(l,a){return l!==a},BAWor:n(494),XPpNk:function(l,a){return l===a}},g=1,o=[];for(;r[n(497)](r[n(344)](A,g),t[n(334)])||r[n(497)](i*g,t[n(283)]);)if(r[n(408)](r.BAWor,"slMkq")){let l=_0x512ab3.ceil(r.OvbkW(_0x1e1b5a,_0x5b6bfb)),a=_0x3b6f5d[n(354)](_0x5dbb95*_0x5f4886);return this._sizeWH(l+","+a,_0x354331,_0x4649db)}else o.push(g),g*=2;return r[n(460)](o[n(498)],0)&&o[n(462)](1),o}uriPattern(t,A,i){let n=R,r={THouJ:function(l,a){return l(a)},KLuZo:function(l,a){return l===a},OUXYc:n(383),pqszV:n(499),GhfhN:n(443),WvsZA:n(483),wDfPk:n(478),BLmeE:function(l,a){return l===a},BZWdw:n(277),vjEez:n(362),uUcmT:n(431),mWHtF:function(l,a){return l===a},DAZIq:n(390)},g="",o="";if(r[n(384)](A,r[n(410)])?g=n(330)+i:r[n(384)](A,r.pqszV)?(g=n(290)+i,o=r.GhfhN):r[n(384)](A,r[n(470)])||r.KLuZo(A,n(305))?(g=n(313)+i+n(425),o=r[n(476)]):r[n(361)](A,r.BZWdw)&&(g=n(463)+i,o=r[n(418)]),r[n(384)](t,r[n(279)]))return g;if(r[n(384)](t,"context")){if(r[n(492)](r.DAZIq,r.DAZIq))return o;throw r[n(289)](_0x5a9a89,n(433)+_0x4793de[n(396)](_0x2e7a04,null,2))}else return""}sizes(t){let A=R;return[{width:t[A(334)],height:t[A(283)]}]}};var hn="Cannot convert undefined or null to object";function P(e){return(t,...A)=>wa(e,t,A)}function jA(e,t){return P(Ze(e,t).get)}var{apply:wa,construct:$g,defineProperty:Af,get:ef,getOwnPropertyDescriptor:Ze,getPrototypeOf:Xe,has:tf,ownKeys:un,set:nf,setPrototypeOf:rf}=Reflect;var{EPSILON:Cn,MAX_SAFE_INTEGER:of,isFinite:pa,isNaN:ya}=Number,{iterator:WA,species:af,toStringTag:_a,for:sf}=Symbol,je=Object,{create:We,defineProperty:En,freeze:lf,is:gf}=je,Zt=je.prototype,ff=Zt.__lookupGetter__?P(Zt.__lookupGetter__):(e,t)=>{if(e==null)throw ka(hn);let A=je(e);do{let i=Ze(A,t);if(i!==void 0)return ma(i,"get")?i.get:void 0}while((A=Xe(A))!==null)},ma=je.hasOwn||P(Zt.hasOwnProperty),Qn=Array,cf=Qn.isArray,$e=Qn.prototype,If=P($e.join),hf=P($e.push),Bf=P($e.toLocaleString),Xt=$e[WA],dn=P(Xt),{abs:Da,trunc:uf}=Math,At=ArrayBuffer,Cf=At.isView,xn=At.prototype,Ef=P(xn.slice),Qf=jA(xn,"byteLength"),Bn=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,df=Bn&&jA(Bn.prototype,"byteLength"),wn=Xe(Uint8Array),xf=wn.from,iA=wn.prototype,wf=iA[WA],pf=P(iA.keys),yf=P(iA.values),_f=P(iA.entries),mf=P(iA.set),Df=P(iA.reverse),bf=P(iA.fill),kf=P(iA.copyWithin),Sf=P(iA.sort),Ff=P(iA.slice),Rf=P(iA.subarray),vf=jA(iA,"buffer"),Uf=jA(iA,"byteOffset"),Gf=jA(iA,"length"),Mf=jA(iA,_a),pn=Uint8Array,jt=Uint16Array;var et=Uint32Array,yn=Float32Array,$A=Xe([][WA]()),Wt=P($A.next),_n=P(function*(){}().next),mn=Xe($A),Dn=DataView.prototype,bn=P(Dn.getUint16),ba=P(Dn.setUint16),ka=TypeError;var Sa=WeakSet,kn=Sa.prototype,Lf=P(kn.add),Nf=P(kn.has),tt=WeakMap,$t=tt.prototype,Ai=P($t.get),Tf=P($t.has),Sn=P($t.set);var Fn=new tt,Fa=We(null,{next:{value:function(){let t=Ai(Fn,this);return Wt(t)}},[WA]:{value:function(){return this}}});function Rn(e){if(e[WA]===Xt&&$A.next===Wt)return e;let t=We(Fa);return Sn(Fn,t,dn(e)),t}var Ra=new tt,va=We(mn,{next:{value:function(){let t=Ai(Ra,this);return _n(t)},writable:!0,configurable:!0}});for(let e of un($A))e!=="next"&&En(va,e,Ze($A,e));var Ua=1/Cn;var Ga=6103515625e-14;var vn=.0009765625,Jf=vn*Ga,Kf=vn*Ua;var Un=new At(4),Ma=new yn(Un),La=new et(Un),dA=new jt(512),xA=new pn(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(dA[e]=0,dA[e|256]=32768,xA[e]=24,xA[e|256]=24):t<-14?(dA[e]=1024>>-t-14,dA[e|256]=1024>>-t-14|32768,xA[e]=-t-1,xA[e|256]=-t-1):t<=15?(dA[e]=t+15<<10,dA[e|256]=t+15<<10|32768,xA[e]=13,xA[e|256]=13):t<128?(dA[e]=31744,dA[e|256]=64512,xA[e]=24,xA[e|256]=24):(dA[e]=31744,dA[e|256]=64512,xA[e]=13,xA[e|256]=13)}var ei=new et(2048);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,ei[e]=t|A}for(let e=1024;e<2048;++e)ei[e]=939524096+(e-1024<<13);var Ae=new et(64);for(let e=1;e<31;++e)Ae[e]=e<<23;Ae[31]=1199570944;Ae[32]=2147483648;for(let e=33;e<63;++e)Ae[e]=2147483648+(e-32<<23);Ae[63]=3347054592;var Gn=new jt(64);for(let e=1;e<64;++e)e!==32&&(Gn[e]=1024);function Mn(e){let t=e>>10;return La[0]=ei[Gn[t]+(e&1023)]+Ae[t],Ma[0]}function Qe(e,t,...A){return Mn(bn(e,t,...Rn(A)))}var Gt=HA(Nn(),1),jo=HA(Zn(),1);nt();function $n(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,o=0;g<e.length;++g,o+=3)r=256-e[g]/t*256,n[o]=r,n[o+1]=r,n[o+2]=r;return n}function Ar(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r;for(let g=0,o=0;g<e.length;++g,o+=3)r=e[g]/t*256,n[o]=r,n[o+1]=r,n[o+2]=r;return n}function er(e,t){let{width:A,height:i}=e,n=new Uint8Array(A*i*3),r=t.length/3,g=t.length/3*2;for(let o=0,l=0;o<e.length;++o,l+=3){let a=e[o];n[l]=t[a]/65536*256,n[l+1]=t[a+r]/65536*256,n[l+2]=t[a+g]/65536*256}return n}function tr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=4,r+=3){let g=e[n],o=e[n+1],l=e[n+2],a=e[n+3];i[r]=255*((255-g)/256)*((255-a)/256),i[r+1]=255*((255-o)/256)*((255-a)/256),i[r+2]=255*((255-l)/256)*((255-a)/256)}return i}function ir(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n],o=e[n+1],l=e[n+2];i[r]=g+1.402*(l-128),i[r+1]=g-.34414*(o-128)-.71414*(l-128),i[r+2]=g+1.772*(o-128)}return i}var qa=.95047,Ha=1,Ya=1.08883;function nr(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let n=0,r=0;n<e.length;n+=3,r+=3){let g=e[n+0],o=e[n+1]<<24>>24,l=e[n+2]<<24>>24,a=(g+16)/116,s=o/500+a,I=a-l/200,c,f,h;s=qa*(s*s*s>.008856?s*s*s:(s-16/116)/7.787),a=Ha*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),I=Ya*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=s*3.2406+a*-1.5372+I*-.4986,f=s*-.9689+a*1.8758+I*.0415,h=s*.0557+a*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[r]=Math.max(0,Math.min(1,c))*255,i[r+1]=Math.max(0,Math.min(1,f))*255,i[r+2]=Math.max(0,Math.min(1,h))*255}return i}var Vo=new Map;function CA(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Vo.set(A,t))}async function Pi(e){let t=Vo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}CA([void 0,1],()=>Promise.resolve().then(()=>(sr(),ar)).then(e=>e.default));CA(5,()=>Promise.resolve().then(()=>(fr(),gr)).then(e=>e.default));CA(6,()=>{throw new Error("old style JPEG compression is not supported.")});CA(7,()=>Promise.resolve().then(()=>(hr(),Ir)).then(e=>e.default));CA([8,32946],()=>Promise.resolve().then(()=>(Mo(),Go)).then(e=>e.default));CA(32773,()=>Promise.resolve().then(()=>(No(),Lo)).then(e=>e.default));CA(34887,()=>Promise.resolve().then(()=>(Ko(),Jo)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));CA(50001,()=>Promise.resolve().then(()=>(Po(),zo)).then(e=>e.default));function Ut(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function Sg(e,t,A,i,n){let r=t/i,g=A/n;return e.map(o=>{let l=Ut(o,i,n);for(let a=0;a<n;++a){let s=Math.min(Math.round(g*a),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(r*I),t-1),f=o[s*t+c];l[a*i+I]=f}}return l})}function ce(e,t,A){return(1-A)*e+A*t}function Fg(e,t,A,i,n){let r=t/i,g=A/n;return e.map(o=>{let l=Ut(o,i,n);for(let a=0;a<n;++a){let s=g*a,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=r*f,B=h%1,u=Math.floor(h),d=Math.min(Math.ceil(h),t-1),E=o[I*t+u],x=o[I*t+d],w=o[c*t+u],Q=o[c*t+d],C=ce(ce(E,x,B),ce(w,Q,B),s%1);l[a*i+f]=C}}return l})}function Zo(e,t,A,i,n,r="nearest"){switch(r.toLowerCase()){case"nearest":return Sg(e,t,A,i,n);case"bilinear":case"linear":return Fg(e,t,A,i,n);default:throw new Error(`Unsupported resampling method: '${r}'`)}}function Rg(e,t,A,i,n,r){let g=t/i,o=A/n,l=Ut(e,i,n,r);for(let a=0;a<n;++a){let s=Math.min(Math.round(o*a),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(g*I),t-1);for(let f=0;f<r;++f){let h=e[s*t*r+c*r+f];l[a*i*r+I*r+f]=h}}}return l}function vg(e,t,A,i,n,r){let g=t/i,o=A/n,l=Ut(e,i,n,r);for(let a=0;a<n;++a){let s=o*a,I=Math.floor(s),c=Math.min(Math.ceil(s),A-1);for(let f=0;f<i;++f){let h=g*f,B=h%1,u=Math.floor(h),d=Math.min(Math.ceil(h),t-1);for(let E=0;E<r;++E){let x=e[I*t*r+u*r+E],w=e[I*t*r+d*r+E],Q=e[c*t*r+u*r+E],C=e[c*t*r+d*r+E],y=ce(ce(x,w,B),ce(Q,C,B),s%1);l[a*i*r+f*r+E]=y}}}return l}function Xo(e,t,A,i,n,r,g="nearest"){switch(g.toLowerCase()){case"nearest":return Rg(e,t,A,i,n,r);case"bilinear":case"linear":return vg(e,t,A,i,n,r);default:throw new Error(`Unsupported resampling method: '${g}'`)}}function Ug(e,t,A){let i=0;for(let n=t;n<A;++n)i+=e[n];return i}function Vi(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Gg(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function Mg(e,t,A,i,n,r,g){let o=new DataView(e),l=A===2?g*r:g*r*i,a=A===2?1:i,s=Vi(t,n,l),I=parseInt("1".repeat(n),2);if(t===1){let c;A===1?c=i*n:c=n;let f=r*c;f&7&&(f=f+7&-8);for(let h=0;h<g;++h){let B=h*f;for(let u=0;u<r;++u){let d=B+u*a*n;for(let E=0;E<a;++E){let x=d+E*n,w=(h*r+u)*a+E,Q=Math.floor(x/8),C=x%8;if(C+n<=8)s[w]=o.getUint8(Q)>>8-n-C&I;else if(C+n<=16)s[w]=o.getUint16(Q)>>16-n-C&I;else if(C+n<=24){let y=o.getUint16(Q)<<8|o.getUint8(Q+2);s[w]=y>>24-n-C&I}else s[w]=o.getUint32(Q)>>32-n-C&I}}}}return s.buffer}var Zi=class{constructor(t,A,i,n,r,g){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=n,this.tiles=r?{}:null,this.isTiled=!t.StripOffsets;let o=t.PlanarConfiguration;if(this.planarConfiguration=typeof o>"u"?1:o,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=g}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(n,r){return Qe(this,n,r)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,A){let i=this.getSampleFormat(t),n=this.getBitsPerSample(t);return Vi(i,n,A)}async getTileOrStrip(t,A,i,n,r){let g=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight()),l,{tiles:a}=this;this.planarConfiguration===1?l=A*g+t:this.planarConfiguration===2&&(l=i*g*o+A*g+t);let s,I;this.isTiled?(s=this.fileDirectory.TileOffsets[l],I=this.fileDirectory.TileByteCounts[l]):(s=this.fileDirectory.StripOffsets[l],I=this.fileDirectory.StripByteCounts[l]);let c=(await this.source.fetch([{offset:s,length:I}],r))[0],f;return a===null||!a[l]?(f=(async()=>{let h=await n.decode(this.fileDirectory,c),B=this.getSampleFormat(),u=this.getBitsPerSample();return Gg(B,u)&&(h=Mg(h,B,this.planarConfiguration,this.getSamplesPerPixel(),u,this.getTileWidth(),this.getBlockHeight(A))),h})(),a!==null&&(a[l]=f)):f=a[l],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,n,r,g,o,l,a){let s=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/s),0),B=Math.min(Math.ceil(t[2]/s),Math.ceil(c/s)),u=Math.max(Math.floor(t[1]/I),0),d=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),E=t[2]-t[0],x=this.getBytesPerPixel(),w=[],Q=[];for(let p=0;p<A.length;++p)this.planarConfiguration===1?w.push(Ug(this.fileDirectory.BitsPerSample,0,A[p])/8):w.push(0),Q.push(this.getReaderForSample(A[p]));let C=[],{littleEndian:y}=this;for(let p=u;p<d;++p)for(let b=h;b<B;++b){let m;this.planarConfiguration===1&&(m=this.getTileOrStrip(b,p,0,r,a));for(let k=0;k<A.length;++k){let S=k,T=A[k];this.planarConfiguration===2&&(x=this.getSampleByteSize(T),m=this.getTileOrStrip(b,p,T,r,a));let D=m.then(_=>{let v=_.data,O=new DataView(v),F=this.getBlockHeight(_.y),M=_.y*I,G=_.x*s,H=M+F,J=(_.x+1)*s,K=Q[S],L=Math.min(F,F-(H-t[3]),f-M),U=Math.min(s,s-(J-t[2]),c-G);for(let N=Math.max(0,t[1]-M);N<L;++N)for(let V=Math.max(0,t[0]-G);V<U;++V){let Z=(N*s+V)*x,W=K.call(O,Z+w[S],y),j;n?(j=(N+M-t[1])*E*A.length+(V+G-t[0])*A.length+S,i[j]=W):(j=(N+M-t[1])*E+V+G-t[0],i[S][j]=W)}});C.push(D)}}if(await Promise.all(C),g&&t[2]-t[0]!==g||o&&t[3]-t[1]!==o){let p;return n?p=Xo(i,t[2]-t[0],t[3]-t[1],g,o,A.length,l):p=Zo(i,t[2]-t[0],t[3]-t[1],g,o,l),p.width=g,p.height=o,p}return i.width=g||t[2]-t[0],i.height=o||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:n=null,width:r,height:g,resampleMethod:o,fillValue:l,signal:a}={}){let s=t||[0,0,this.getWidth(),this.getHeight()];if(s[0]>s[2]||s[1]>s[3])throw new Error("Invalid subsets");let I=s[2]-s[0],c=s[3]-s[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let E=0;E<h;++E)A.push(E);else for(let E=0;E<A.length;++E)if(A[E]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[E]}'.`));let B;if(i){let E=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,x=Math.max.apply(null,this.fileDirectory.BitsPerSample);B=Vi(E,x,f*A.length),l&&B.fill(l)}else{B=[];for(let E=0;E<A.length;++E){let x=this.getArrayForSample(A[E],f);Array.isArray(l)&&E<l.length?x.fill(l[E]):l&&!Array.isArray(l)&&x.fill(l),B.push(x)}}let u=n||await Pi(this.fileDirectory);return await this._readRaster(s,A,B,i,u,r,g,o,a)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:n,height:r,resampleMethod:g,enableAlpha:o=!1,signal:l}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let s=this.fileDirectory.PhotometricInterpretation;if(s===oA.RGB){let d=[0,1,2];if(this.fileDirectory.ExtraSamples!==jn.Unspecified&&o){d=[];for(let E=0;E<this.fileDirectory.BitsPerSample.length;E+=1)d.push(E)}return this.readRasters({window:t,interleave:A,samples:d,pool:i,width:n,height:r,resampleMethod:g,signal:l})}let I;switch(s){case oA.WhiteIsZero:case oA.BlackIsZero:case oA.Palette:I=[0];break;case oA.CMYK:I=[0,1,2,3];break;case oA.YCbCr:case oA.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:a,interleave:!0,samples:I,pool:i,width:n,height:r,resampleMethod:g,signal:l},{fileDirectory:f}=this,h=await this.readRasters(c),B=2**this.fileDirectory.BitsPerSample[0],u;switch(s){case oA.WhiteIsZero:u=$n(h,B);break;case oA.BlackIsZero:u=Ar(h,B);break;case oA.Palette:u=er(h,f.ColorMap);break;case oA.CMYK:u=tr(h);break;case oA.YCbCr:u=ir(h);break;case oA.CIELab:u=nr(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let d=new Uint8Array(u.length/3),E=new Uint8Array(u.length/3),x=new Uint8Array(u.length/3);for(let w=0,Q=0;w<u.length;w+=3,++Q)d[Q]=u[w],E[Q]=u[w+1],x[Q]=u[w+2];u=[d,E,x]}return u.width=h.width,u.height=h.height,u}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,n=(0,jo.default)(i,"Item");t===null?n=n.filter(r=>(0,Gt.default)(r,"sample")===void 0):n=n.filter(r=>Number((0,Gt.default)(r,"sample"))===t);for(let r=0;r<n.length;++r){let g=n[r];A[(0,Gt.default)(g,"name")]=g.inner}return A}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return i[1]===0&&i[4]===0?[i[0],-i[5],i[10]]:[Math.sqrt(i[0]*i[0]+i[4]*i[4]),-Math.sqrt(i[1]*i[1]+i[5]*i[5]),i[10]];if(t){let[n,r,g]=t.getResolution();return[n*t.getWidth()/this.getWidth(),r*t.getHeight()/this.getHeight(),g*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let A=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[n,r,g,o,l,a,s,I]=this.fileDirectory.ModelTransformation,f=[[0,0],[0,A],[i,0],[i,A]].map(([u,d])=>[o+n*u+r*d,I+l*u+a*d]),h=f.map(u=>u[0]),B=f.map(u=>u[1]);return[Math.min(...h),Math.min(...B),Math.max(...h),Math.max(...B)]}else{let n=this.getOrigin(),r=this.getResolution(),g=n[0],o=n[1],l=g+r[0]*i,a=o+r[1]*A;return[Math.min(g,l),Math.min(o,a),Math.max(g,l),Math.max(o,a)]}}},Wo=Zi;var qe=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),n=this.getUint32(t+4,A),r;if(A){if(r=i+2**32*n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*i+n,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}getInt64(t,A){let i=0,n=(this._dataView.getUint8(t+(A?7:0))&128)>0,r=!0;for(let g=0;g<8;g++){let o=this._dataView.getUint8(t+(A?g:7-g));n&&(r?o!==0&&(o=~(o-1)&255,r=!1):o=~o&255),i+=o*256**g}return n&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return Qe(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var He=class{constructor(t,A,i,n){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let A=this.readUint32(t),i=this.readUint32(t+4),n;if(this._littleEndian){if(n=A+2**32*i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*A+i,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,n=!0;for(let r=0;r<8;r++){let g=this._dataView.getUint8(t+(this._littleEndian?r:7-r));i&&(n?g!==0&&(g=~(g-1)&255,n=!1):g=~g&255),A+=g*256**r}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var $o=`\r
|
|
4
4
|
\r
|
|
5
5
|
`;function Aa(e){if(typeof Object.fromEntries<"u")return Object.fromEntries(e);let t={};for(let[A,i]of e)t[A.toLowerCase()]=i;return t}function Lg(e){let t=e.split(`\r
|
|
6
|
-
`).map(A=>{let i=A.split(":").map(n=>n.trim());return i[0]=i[0].toLowerCase(),i});return Aa(t)}function ea(e){let[t,...A]=e.split(";").map(n=>n.trim()),i=A.map(n=>n.split("="));return{type:t,params:Aa(i)}}function Lt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function ta(e,t){let A=null,i=new TextDecoder("ascii"),n=[],r=`--${t}`,g=`${r}--`;for(let o=0;o<10;++o)i.decode(new Uint8Array(e,o,r.length))===r&&(A=o);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let o=i.decode(new Uint8Array(e,A,Math.min(r.length+1024,e.byteLength-A)));if(o.length===0||o.startsWith(g))break;if(!o.startsWith(r))throw new Error("Part does not start with boundary");let l=o.substr(r.length+2);if(l.length===0)break;let a=l.indexOf($o),s=Lg(l.substr(0,a)),{start:I,end:c,total:f}=Lt(s["content-range"]),h=A+r.length+a+$o.length,B=parseInt(c,10)+1-parseInt(I,10);n.push({headers:s,data:e.slice(h,h+B),offset:I,length:B,fileSize:f}),A=h+B+4}return n}var Ie=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var Ye=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let n=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:n}):this._set(t,{value:A,expiry:n}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this.cache.has(n)||this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,n]of this.entriesAscending())t.call(A,n,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function ia(e){return new Promise(t=>setTimeout(t,e))}function na(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((n,r)=>[n,i[r]])}var RA=class e extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,e),this.name="AbortError"}},Xi=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},ra=Xi;var ji=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Nt=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},Tt=class extends Ie{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new Ye({maxSize:i,onEviction:(n,r)=>{this.evictedBlocks.set(n,r)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],n=[],r=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:B}=this;B!==null&&(h=Math.min(h,B));let u=Math.floor(c/this.blockSize)*this.blockSize;for(let d=u;d<h;d+=this.blockSize){let E=Math.floor(d/this.blockSize);!this.blockCache.has(E)&&!this.blockRequests.has(E)&&(this.blockIdsToFetch.add(E),n.push(E)),this.blockRequests.has(E)&&i.push(this.blockRequests.get(E)),r.push(E)}}await ia(),this.fetchBlocks(A);let g=[];for(let c of n)this.blockRequests.has(c)&&g.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(g);let o=[],l=r.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(l.forEach(c=>this.blockIdsToFetch.add(c)),l.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of l){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);o.push(f)}await Promise.allSettled(o)}if(A&&A.aborted)throw new RA("Request was aborted");let a=r.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),s=a.filter(c=>!c);if(s.length)throw new ra(s,"Request failed");let I=new Map(na(r,a));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let n=0;n<A.length;++n){let r=A[n];for(let g of r.blockIds)this.blockRequests.set(g,(async()=>{try{let o=(await i)[n],l=g*this.blockSize,a=l-o.offset,s=Math.min(a+this.blockSize,o.data.byteLength),I=o.data.slice(a,s),c=new ji(l,I.byteLength,I,g);this.blockCache.set(g,c),this.abortedBlockIds.delete(g)}catch(o){if(o.name==="AbortError")o.signal=t,this.blockCache.delete(g),this.abortedBlockIds.add(g);else throw o}finally{this.blockRequests.delete(g)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((g,o)=>g-o);if(A.length===0)return[];let i=[],n=null,r=[];for(let g of A)n===null||n+1===g?(i.push(g),n=g):(r.push(new Nt(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[g],n=g);return r.push(new Nt(i[0]*this.blockSize,i.length*this.blockSize,i)),r}readSliceData(t,A){return t.map(i=>{let n=i.offset+i.length;this.fileSize!==null&&(n=Math.min(this.fileSize,n));let r=Math.floor(i.offset/this.blockSize),g=Math.floor(n/this.blockSize),o=new ArrayBuffer(i.length),l=new Uint8Array(o);for(let a=r;a<=g;++a){let s=A.get(a),I=s.offset-i.offset,c=s.top-n,f=0,h=0,B;I<0?f=-I:I>0&&(h=I),c<0?B=s.length-f:B=n-s.offset-f;let u=new Uint8Array(s.data,f,B);l.set(u,h)}return o})}};var BA=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},uA=class{constructor(t){this.url=t}async request({headers:t,signal:A}={}){throw new Error("request is not implemented")}};var Wi=class extends BA{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},Ot=class extends uA{constructor(t,A){super(t),this.credentials=A}async request({headers:t,signal:A}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:A});return new Wi(i)}};var $i=class extends BA{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},qt=class extends uA{constructRequest(t,A){return new Promise((i,n)=>{let r=new XMLHttpRequest;r.open("GET",this.url),r.responseType="arraybuffer";for(let[g,o]of Object.entries(t))r.setRequestHeader(g,o);r.onload=()=>{let g=r.response;i(new $i(r,g))},r.onerror=n,r.onabort=()=>n(new RA("Request aborted")),r.send(),A&&(A.aborted&&r.abort(),A.addEventListener("abort",()=>r.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var la=HA(oa(),1),ga=HA(aa(),1),fa=HA(sa(),1);var An=class extends BA{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Ht=class extends uA{constructor(t){super(t),this.parsedUrl=fa.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?la.default:ga.default}constructRequest(t,A){return new Promise((i,n)=>{let r=this.httpApi.get({...this.parsedUrl,headers:t},g=>{let o=new Promise(l=>{let a=[];g.on("data",s=>{a.push(s)}),g.on("end",()=>{let s=Buffer.concat(a).buffer;l(s)}),g.on("error",n)});i(new An(g,o))});r.on("error",n),A&&(A.aborted&&r.destroy(new RA("Request aborted")),A.addEventListener("abort",()=>r.destroy(new RA("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var he=class extends Ie{constructor(t,A,i,n){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=n,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:n,length:r})=>`${n}-${n+r}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:n,params:r}=ea(i.getHeader("content-type"));if(n==="multipart/byteranges"){let I=ta(await i.getData(),r.boundary);return this._fileSize=I[0].fileSize||null,I}let g=await i.getData(),{start:o,end:l,total:a}=Lt(i.getHeader("content-range"));this._fileSize=a||null;let s=[{data:g,offset:o,length:l-o}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return s.concat(I)}return s}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let n=await i.getData();return this._fileSize=n.byteLength,[{data:n,offset:0,length:n.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:n}=t,r=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+n}`},signal:A});if(r.ok)if(r.status===206){let g=await r.getData(),{total:o}=Lt(r.getHeader("content-range"));return this._fileSize=o||null,{data:g,offset:i,length:n}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let g=await r.getData();return this._fileSize=g.byteLength,{data:g,offset:0,length:g.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function Yt(e,{blockSize:t,cacheSize:A}){return t===null?e:new Tt(e,{blockSize:t,cacheSize:A})}function Ng(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:n=!1,...r}={}){let g=new Ot(e,A),o=new he(g,t,i,n);return Yt(o,r)}function Tg(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new qt(e),g=new he(r,t,A,i);return Yt(g,n)}function Og(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new Ht(e),g=new he(r,t,A,i);return Yt(g,n)}function ca(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new he(e,t,A,i);return Yt(r,n)}function Ia(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?Ng(e,A):typeof XMLHttpRequest<"u"?Tg(e,A):Og(e,A)}rt();DA();function en(e){switch(e){case q.BYTE:case q.ASCII:case q.SBYTE:case q.UNDEFINED:return 1;case q.SHORT:case q.SSHORT:return 2;case q.LONG:case q.SLONG:case q.FLOAT:case q.IFD:return 4;case q.RATIONAL:case q.SRATIONAL:case q.DOUBLE:case q.LONG8:case q.SLONG8:case q.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function qg(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let n=de[t[i]],r=t[i+1]?ee[t[i+1]]:null,g=t[i+2],o=t[i+3],l=null;if(!r)l=o;else{if(l=e[r],typeof l>"u"||l===null)throw new Error(`Could not get value of geoKey '${n}'.`);typeof l=="string"?l=l.substring(o,o+g-1):l.subarray&&(l=l.subarray(o,o+g),g===1&&(l=l[0]))}A[n]=l}return A}function Be(e,t,A,i){let n=null,r=null,g=en(t);switch(t){case q.BYTE:case q.ASCII:case q.UNDEFINED:n=new Uint8Array(A),r=e.readUint8;break;case q.SBYTE:n=new Int8Array(A),r=e.readInt8;break;case q.SHORT:n=new Uint16Array(A),r=e.readUint16;break;case q.SSHORT:n=new Int16Array(A),r=e.readInt16;break;case q.LONG:case q.IFD:n=new Uint32Array(A),r=e.readUint32;break;case q.SLONG:n=new Int32Array(A),r=e.readInt32;break;case q.LONG8:case q.IFD8:n=new Array(A),r=e.readUint64;break;case q.SLONG8:n=new Array(A),r=e.readInt64;break;case q.RATIONAL:n=new Uint32Array(A*2),r=e.readUint32;break;case q.SRATIONAL:n=new Int32Array(A*2),r=e.readInt32;break;case q.FLOAT:n=new Float32Array(A),r=e.readFloat32;break;case q.DOUBLE:n=new Float64Array(A),r=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===q.RATIONAL||t===q.SRATIONAL)for(let o=0;o<A;o+=2)n[o]=r.call(e,i+o*g),n[o+1]=r.call(e,i+(o*g+4));else for(let o=0;o<A;++o)n[o]=r.call(e,i+o*g);return t===q.ASCII?new TextDecoder("utf-8").decode(n):n}var tn=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},ue=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},nn=class{async readRasters(t={}){let{window:A,width:i,height:n}=t,{resX:r,resY:g,bbox:o}=t,l=await this.getImage(),a=l,s=await this.getImageCount(),I=l.getBoundingBox();if(A&&o)throw new Error('Both "bbox" and "window" passed.');if(i||n){if(A){let[h,B]=l.getOrigin(),[u,d]=l.getResolution();o=[h+A[0]*u,B+A[1]*d,h+A[2]*u,B+A[3]*d]}let f=o||I;if(i){if(r)throw new Error("Both width and resX passed");r=(f[2]-f[0])/i}if(n){if(g)throw new Error("Both width and resY passed");g=(f[3]-f[1])/n}}if(r||g){let f=[];for(let h=0;h<s;++h){let B=await this.getImage(h),{SubfileType:u,NewSubfileType:d}=B.fileDirectory;(h===0||u===2||d&1)&&f.push(B)}f.sort((h,B)=>h.getWidth()-B.getWidth());for(let h=0;h<f.length;++h){let B=f[h],u=(I[2]-I[0])/B.getWidth(),d=(I[3]-I[1])/B.getHeight();if(a=B,r&&r>u||g&&g>d)break}}let c=A;if(o){let[f,h]=l.getOrigin(),[B,u]=a.getResolution(l);c=[Math.round((o[0]-f)/B),Math.round((o[1]-h)/u),Math.round((o[2]-f)/B),Math.round((o[3]-h)/u)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return a.readRasters({...t,window:c})}},Jt=class e extends nn{constructor(t,A,i,n,r={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=n,this.cache=r.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new He((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,n=await this.getSlice(t),r=this.bigTiff?n.readUint64(t):n.readUint16(t),g=r*A+(this.bigTiff?16:6);n.covers(t,g)||(n=await this.getSlice(t,g));let o={},l=t+(this.bigTiff?8:2);for(let I=0;I<r;l+=A,++I){let c=n.readUint16(l),f=n.readUint16(l+2),h=this.bigTiff?n.readUint64(l+4):n.readUint32(l+4),B,u,d=en(f),E=l+(this.bigTiff?12:8);if(d*h<=(this.bigTiff?8:4))B=Be(n,f,h,E);else{let x=n.readOffset(E),w=en(f)*h;if(n.covers(x,w))B=Be(n,f,h,x);else{let Q=await this.getSlice(x,w);B=Be(Q,f,h,x)}}h===1&&Xn.indexOf(c)===-1&&!(f===q.RATIONAL||f===q.SRATIONAL)?u=B[0]:u=B,o[ee[c]]=u}let a=qg(o),s=n.readOffset(t+i+A*r);return new tn(o,a,s)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof ue?new ue(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new ue(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new Wo(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof ue)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,n=await this.getSlice(t,i);if(A===Be(n,q.ASCII,A.length,t)){let g=Be(n,q.ASCII,i,t).split(`
|
|
6
|
+
`).map(A=>{let i=A.split(":").map(n=>n.trim());return i[0]=i[0].toLowerCase(),i});return Aa(t)}function ea(e){let[t,...A]=e.split(";").map(n=>n.trim()),i=A.map(n=>n.split("="));return{type:t,params:Aa(i)}}function Mt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function ta(e,t){let A=null,i=new TextDecoder("ascii"),n=[],r=`--${t}`,g=`${r}--`;for(let o=0;o<10;++o)i.decode(new Uint8Array(e,o,r.length))===r&&(A=o);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let o=i.decode(new Uint8Array(e,A,Math.min(r.length+1024,e.byteLength-A)));if(o.length===0||o.startsWith(g))break;if(!o.startsWith(r))throw new Error("Part does not start with boundary");let l=o.substr(r.length+2);if(l.length===0)break;let a=l.indexOf($o),s=Lg(l.substr(0,a)),{start:I,end:c,total:f}=Mt(s["content-range"]),h=A+r.length+a+$o.length,B=parseInt(c,10)+1-parseInt(I,10);n.push({headers:s,data:e.slice(h,h+B),offset:I,length:B,fileSize:f}),A=h+B+4}return n}var Ie=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var Ye=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let n=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:n}):this._set(t,{value:A,expiry:n}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[n,r]=i;this.cache.has(n)||this._deleteIfExpired(n,r)===!1&&(yield[n,r.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,n]of this.entriesAscending())t.call(A,n,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function ia(e){return new Promise(t=>setTimeout(t,e))}function na(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((n,r)=>[n,i[r]])}var RA=class e extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,e),this.name="AbortError"}},Xi=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},ra=Xi;var ji=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Lt=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},Nt=class extends Ie{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new Ye({maxSize:i,onEviction:(n,r)=>{this.evictedBlocks.set(n,r)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],n=[],r=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:B}=this;B!==null&&(h=Math.min(h,B));let u=Math.floor(c/this.blockSize)*this.blockSize;for(let d=u;d<h;d+=this.blockSize){let E=Math.floor(d/this.blockSize);!this.blockCache.has(E)&&!this.blockRequests.has(E)&&(this.blockIdsToFetch.add(E),n.push(E)),this.blockRequests.has(E)&&i.push(this.blockRequests.get(E)),r.push(E)}}await ia(),this.fetchBlocks(A);let g=[];for(let c of n)this.blockRequests.has(c)&&g.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(g);let o=[],l=r.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(l.forEach(c=>this.blockIdsToFetch.add(c)),l.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of l){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);o.push(f)}await Promise.allSettled(o)}if(A&&A.aborted)throw new RA("Request was aborted");let a=r.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),s=a.filter(c=>!c);if(s.length)throw new ra(s,"Request failed");let I=new Map(na(r,a));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let n=0;n<A.length;++n){let r=A[n];for(let g of r.blockIds)this.blockRequests.set(g,(async()=>{try{let o=(await i)[n],l=g*this.blockSize,a=l-o.offset,s=Math.min(a+this.blockSize,o.data.byteLength),I=o.data.slice(a,s),c=new ji(l,I.byteLength,I,g);this.blockCache.set(g,c),this.abortedBlockIds.delete(g)}catch(o){if(o.name==="AbortError")o.signal=t,this.blockCache.delete(g),this.abortedBlockIds.add(g);else throw o}finally{this.blockRequests.delete(g)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((g,o)=>g-o);if(A.length===0)return[];let i=[],n=null,r=[];for(let g of A)n===null||n+1===g?(i.push(g),n=g):(r.push(new Lt(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[g],n=g);return r.push(new Lt(i[0]*this.blockSize,i.length*this.blockSize,i)),r}readSliceData(t,A){return t.map(i=>{let n=i.offset+i.length;this.fileSize!==null&&(n=Math.min(this.fileSize,n));let r=Math.floor(i.offset/this.blockSize),g=Math.floor(n/this.blockSize),o=new ArrayBuffer(i.length),l=new Uint8Array(o);for(let a=r;a<=g;++a){let s=A.get(a),I=s.offset-i.offset,c=s.top-n,f=0,h=0,B;I<0?f=-I:I>0&&(h=I),c<0?B=s.length-f:B=n-s.offset-f;let u=new Uint8Array(s.data,f,B);l.set(u,h)}return o})}};var BA=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},uA=class{constructor(t){this.url=t}async request({headers:t,signal:A}={}){throw new Error("request is not implemented")}};var Wi=class extends BA{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},Tt=class extends uA{constructor(t,A){super(t),this.credentials=A}async request({headers:t,signal:A}={}){let i=await fetch(this.url,{headers:t,credentials:this.credentials,signal:A});return new Wi(i)}};var $i=class extends BA{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Ot=class extends uA{constructRequest(t,A){return new Promise((i,n)=>{let r=new XMLHttpRequest;r.open("GET",this.url),r.responseType="arraybuffer";for(let[g,o]of Object.entries(t))r.setRequestHeader(g,o);r.onload=()=>{let g=r.response;i(new $i(r,g))},r.onerror=n,r.onabort=()=>n(new RA("Request aborted")),r.send(),A&&(A.aborted&&r.abort(),A.addEventListener("abort",()=>r.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var la=HA(oa(),1),ga=HA(aa(),1),fa=HA(sa(),1);var An=class extends BA{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},qt=class extends uA{constructor(t){super(t),this.parsedUrl=fa.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?la.default:ga.default}constructRequest(t,A){return new Promise((i,n)=>{let r=this.httpApi.get({...this.parsedUrl,headers:t},g=>{let o=new Promise(l=>{let a=[];g.on("data",s=>{a.push(s)}),g.on("end",()=>{let s=Buffer.concat(a).buffer;l(s)}),g.on("error",n)});i(new An(g,o))});r.on("error",n),A&&(A.aborted&&r.destroy(new RA("Request aborted")),A.addEventListener("abort",()=>r.destroy(new RA("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var he=class extends Ie{constructor(t,A,i,n){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=n,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:n,length:r})=>`${n}-${n+r}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:n,params:r}=ea(i.getHeader("content-type"));if(n==="multipart/byteranges"){let I=ta(await i.getData(),r.boundary);return this._fileSize=I[0].fileSize||null,I}let g=await i.getData(),{start:o,end:l,total:a}=Mt(i.getHeader("content-range"));this._fileSize=a||null;let s=[{data:g,offset:o,length:l-o}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return s.concat(I)}return s}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let n=await i.getData();return this._fileSize=n.byteLength,[{data:n,offset:0,length:n.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:n}=t,r=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+n}`},signal:A});if(r.ok)if(r.status===206){let g=await r.getData(),{total:o}=Mt(r.getHeader("content-range"));return this._fileSize=o||null,{data:g,offset:i,length:n}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let g=await r.getData();return this._fileSize=g.byteLength,{data:g,offset:0,length:g.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function Ht(e,{blockSize:t,cacheSize:A}){return t===null?e:new Nt(e,{blockSize:t,cacheSize:A})}function Ng(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:n=!1,...r}={}){let g=new Tt(e,A),o=new he(g,t,i,n);return Ht(o,r)}function Tg(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new Ot(e),g=new he(r,t,A,i);return Ht(g,n)}function Og(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new qt(e),g=new he(r,t,A,i);return Ht(g,n)}function ca(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...n}={}){let r=new he(e,t,A,i);return Ht(r,n)}function Ia(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?Ng(e,A):typeof XMLHttpRequest<"u"?Tg(e,A):Og(e,A)}nt();DA();function en(e){switch(e){case q.BYTE:case q.ASCII:case q.SBYTE:case q.UNDEFINED:return 1;case q.SHORT:case q.SSHORT:return 2;case q.LONG:case q.SLONG:case q.FLOAT:case q.IFD:return 4;case q.RATIONAL:case q.SRATIONAL:case q.DOUBLE:case q.LONG8:case q.SLONG8:case q.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function qg(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let n=de[t[i]],r=t[i+1]?ee[t[i+1]]:null,g=t[i+2],o=t[i+3],l=null;if(!r)l=o;else{if(l=e[r],typeof l>"u"||l===null)throw new Error(`Could not get value of geoKey '${n}'.`);typeof l=="string"?l=l.substring(o,o+g-1):l.subarray&&(l=l.subarray(o,o+g),g===1&&(l=l[0]))}A[n]=l}return A}function Be(e,t,A,i){let n=null,r=null,g=en(t);switch(t){case q.BYTE:case q.ASCII:case q.UNDEFINED:n=new Uint8Array(A),r=e.readUint8;break;case q.SBYTE:n=new Int8Array(A),r=e.readInt8;break;case q.SHORT:n=new Uint16Array(A),r=e.readUint16;break;case q.SSHORT:n=new Int16Array(A),r=e.readInt16;break;case q.LONG:case q.IFD:n=new Uint32Array(A),r=e.readUint32;break;case q.SLONG:n=new Int32Array(A),r=e.readInt32;break;case q.LONG8:case q.IFD8:n=new Array(A),r=e.readUint64;break;case q.SLONG8:n=new Array(A),r=e.readInt64;break;case q.RATIONAL:n=new Uint32Array(A*2),r=e.readUint32;break;case q.SRATIONAL:n=new Int32Array(A*2),r=e.readInt32;break;case q.FLOAT:n=new Float32Array(A),r=e.readFloat32;break;case q.DOUBLE:n=new Float64Array(A),r=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===q.RATIONAL||t===q.SRATIONAL)for(let o=0;o<A;o+=2)n[o]=r.call(e,i+o*g),n[o+1]=r.call(e,i+(o*g+4));else for(let o=0;o<A;++o)n[o]=r.call(e,i+o*g);return t===q.ASCII?new TextDecoder("utf-8").decode(n):n}var tn=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},ue=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},nn=class{async readRasters(t={}){let{window:A,width:i,height:n}=t,{resX:r,resY:g,bbox:o}=t,l=await this.getImage(),a=l,s=await this.getImageCount(),I=l.getBoundingBox();if(A&&o)throw new Error('Both "bbox" and "window" passed.');if(i||n){if(A){let[h,B]=l.getOrigin(),[u,d]=l.getResolution();o=[h+A[0]*u,B+A[1]*d,h+A[2]*u,B+A[3]*d]}let f=o||I;if(i){if(r)throw new Error("Both width and resX passed");r=(f[2]-f[0])/i}if(n){if(g)throw new Error("Both width and resY passed");g=(f[3]-f[1])/n}}if(r||g){let f=[];for(let h=0;h<s;++h){let B=await this.getImage(h),{SubfileType:u,NewSubfileType:d}=B.fileDirectory;(h===0||u===2||d&1)&&f.push(B)}f.sort((h,B)=>h.getWidth()-B.getWidth());for(let h=0;h<f.length;++h){let B=f[h],u=(I[2]-I[0])/B.getWidth(),d=(I[3]-I[1])/B.getHeight();if(a=B,r&&r>u||g&&g>d)break}}let c=A;if(o){let[f,h]=l.getOrigin(),[B,u]=a.getResolution(l);c=[Math.round((o[0]-f)/B),Math.round((o[1]-h)/u),Math.round((o[2]-f)/B),Math.round((o[3]-h)/u)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return a.readRasters({...t,window:c})}},Yt=class e extends nn{constructor(t,A,i,n,r={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=n,this.cache=r.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new He((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,n=await this.getSlice(t),r=this.bigTiff?n.readUint64(t):n.readUint16(t),g=r*A+(this.bigTiff?16:6);n.covers(t,g)||(n=await this.getSlice(t,g));let o={},l=t+(this.bigTiff?8:2);for(let I=0;I<r;l+=A,++I){let c=n.readUint16(l),f=n.readUint16(l+2),h=this.bigTiff?n.readUint64(l+4):n.readUint32(l+4),B,u,d=en(f),E=l+(this.bigTiff?12:8);if(d*h<=(this.bigTiff?8:4))B=Be(n,f,h,E);else{let x=n.readOffset(E),w=en(f)*h;if(n.covers(x,w))B=Be(n,f,h,x);else{let Q=await this.getSlice(x,w);B=Be(Q,f,h,x)}}h===1&&Xn.indexOf(c)===-1&&!(f===q.RATIONAL||f===q.SRATIONAL)?u=B[0]:u=B,o[ee[c]]=u}let a=qg(o),s=n.readOffset(t+i+A*r);return new tn(o,a,s)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof ue?new ue(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new ue(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new Wo(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof ue)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,n=await this.getSlice(t,i);if(A===Be(n,q.ASCII,A.length,t)){let g=Be(n,q.ASCII,i,t).split(`
|
|
7
7
|
`)[0],o=Number(g.split("=")[1].split(" ")[0])+g.length;o>i&&(n=await this.getSlice(t,o));let l=Be(n,q.ASCII,o,t);this.ghostValues={},l.split(`
|
|
8
|
-
`).filter(a=>a.length>0).map(a=>a.split("=")).forEach(([a,s])=>{this.ghostValues[a]=s})}return this.ghostValues}static async fromSource(t,A,i){let n=(await t.fetch([{offset:0,length:1024}],i))[0],r=new qe(n),g=r.getUint16(0,0),o;if(g===18761)o=!0;else if(g===19789)o=!1;else throw new TypeError("Invalid byte order value.");let l=r.getUint16(2,o),a;if(l===42)a=!1;else if(l===43){if(a=!0,r.getUint16(4,o)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let s=a?r.getUint64(8,o):r.getUint32(4,o);return new e(t,o,a,s,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function ha(e,t={},A){return Jt.fromSource(Ia(e,t),A)}async function rn(e,t={},A){return Jt.fromSource(ca(e,t),A)}var Hg=1e8,Yg=1e4,Jg=1e4,Kg={2:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByWhListed","sizeByForcedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"],2.1:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByConfinedWh","sizeByDistortedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeByWhListed","sizeByForcedWh"],3:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeUpscaling"]},on=class extends ${async decode(t,A){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,n=(0,XA.default)(A,{sequentialRead:!0}),g=(await n.metadata()).channels||4;i===4&&g<4&&n.ensureAlpha?n=n.ensureAlpha():i===3&&g>3&&n.removeAlpha&&(n=n.removeAlpha());let{data:o,info:l}=await n.raw().toBuffer({resolveWithObject:!0});if(l.channels!==i){let a=l.width*l.height,s=Buffer.alloc(a*i),I=o;for(let c=0;c<a;c+=1){let f=c*l.channels,h=c*i;for(let B=0;B<i;B+=1)B<l.channels?s[h+B]=I[f+B]:s[h+B]=B===3?255:0}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}return o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}};CA(50001,()=>Promise.resolve(on));var an=class extends BA{constructor(t){super(),this.result=t}get ok(){return this.result.res.status>=200&&this.result.res.status<300}get status(){return this.result.res.status}getHeader(t){return this.result.res.headers[t.toLowerCase()]}getData(){return Buffer.isBuffer(this.result.content)?this.result.content.buffer.slice(this.result.content.byteOffset,this.result.content.byteOffset+this.result.content.byteLength):this.result.content}},sn=class extends uA{constructor(t,A){super(t),this.objectKey=t,this.ossClient=A}async request({headers:t={}}={}){let A=await this.ossClient.get(this.objectKey,{headers:t,timeout:3e4});return new an(A)}};async function zg(e,t){let A=new sn(e,t);return rn(A)}var Kt=new Map,ln=class extends BA{constructor(t,A){super(),this.response=t,this.arrayBuffer=A}get ok(){return this.response.ok}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)||""}getData(){return this.arrayBuffer}},gn=class extends uA{constructor(t,A){super(t),this.ipfsUrl=t,this.verifiedFetch=A}extractCID(t){let A=t.match(/(?:ipfs:\/\/|\/ipfs\/)([a-zA-Z0-9]+)/);return A?A[1]:null}async request({headers:t={}}={}){console.log(t);let A=6e4,i=new AbortController,n=setTimeout(()=>{console.log("[IPFSClient] Request timeout, aborting..."),i.abort()},A);try{let r={headers:t,signal:i.signal,session:!1},g=await this.verifiedFetch(this.ipfsUrl,r);if(!g.ok)throw new Error(`Failed to fetch from IPFS: ${g.status} ${g.statusText}`);let o=await g.arrayBuffer();return clearTimeout(n),new ln(g,o)}catch(r){throw clearTimeout(n),console.error("[IPFSClient] Error during request:",r),r instanceof Error&&(console.error("[IPFSClient] Error name:",r.name),console.error("[IPFSClient] Error message:",r.message),console.error("[IPFSClient] Error stack:",r.stack)),r&&typeof r=="object"&&"errors"in r&&console.error("[IPFSClient] AggregateError details:",r.errors),r}}};async function Pg(e,t){let A=Kt.get(e);if(A)return A instanceof Promise?(console.log(`[fromIPFS] Waiting for in-flight GeoTIFF creation for ${e}`),await A):(console.log(`[fromIPFS] Using cached GeoTIFF client for ${e}`),A);console.log(`[fromIPFS] Creating new GeoTIFF client for ${e}`);let i=(async()=>{let n=new gn(e,t),r=await rn(n);return Kt.set(e,r),r})();Kt.set(e,i);try{return await i}catch(n){throw Kt.delete(e),n}}var Je=class extends Ee{constructor(t=Hg,A=Yg,i=Jg){super(t,A,i)}regionImpl(t,A){t&&(A=A.extract({left:t.x,top:t.y,width:t.w,height:t.h}))}sizeImpl(t,A){t&&(A=A.resize({...t,fit:"fill"}))}rotationImpl(t,A){t&&(t.isMirror&&(A=A.flop()),A=A.rotate(t.degree))}qualityFormatImpl(t,A,i,n,r){t&&(t==="color"?i=i.toColorspace("srgb"):t==="gray"||t==="grey"?i=i.grayscale():t==="bitonal"&&(i=i.threshold())),A&&(i=i.toFormat(A)),n==="png"&&(r.paletteBitDepth===1||r.space==="b-w")&&(i=i.toColorspace("b-w").png({colors:2}))}async generateTileRemote(t,A,i){let n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=n.pop(),c={width:A.width,height:A.height},f=super.normalizeRegionParams(s,c),h=super.normalizeSizeParams(a,{width:f?f.w:c.width,height:f?f.h:c.height}),{x:B,y:u,w:d,h:E}=f??{x:0,y:0,w:c.width,h:c.height},{width:x,height:w}=h;console.log(`Attempting to fetch from URL: ${i}`);let Q;if(typeof i=="string")console.log("Using standard HTTP fetch"),Q=await ha(i);else if(typeof I=="string"&&I.startsWith("bafy")){console.log("Detected CID id, using fromIPFS");let K=`ipfs://${I}`;Q=await Pg(K,i)}else Q=await zg(I,i);let C=await Q.getImage(0);console.log(`Source dimensions: ${C.getWidth()} x ${C.getHeight()}`),console.log(`Extracting region: x=${B}, y=${u}, w=${d}, h=${E}`),console.log(`Output size: ${x} x ${w}`);let y=await Q.getImageCount();console.log(`Total images (including overviews): ${y}`);let p=C.getSamplesPerPixel(),b;p>=3?(b=[0,1,2],p>=4&&b.push(3)):b=[0],console.log("Using automatic overview selection based on resolution...");let m=Math.max(d/x,E/w),k=C,S=1;for(let K=0;K<y;K++){let L=await Q.getImage(K),G=C.getWidth()/L.getWidth();G<=m&&G>S&&(S=G,k=L)}console.log(`Selected overview with scale: ${S.toFixed(2)}x`),console.log(`Overview dimensions: ${k.getWidth()} x ${k.getHeight()}`);let T=[Math.floor(B/S),Math.floor(u/S),Math.floor((B+d)/S),Math.floor((u+E)/S)],D;try{D=await k.readRasters({window:T,width:x,height:w,samples:b,interleave:!0,resampleMethod:"bilinear"})}catch(K){console.log(`Failed to read from overview, falling back to main image: ${K}`);let L=[B,u,B+d,u+E];D=await C.readRasters({window:L,width:x,height:w,samples:b,interleave:!0,resampleMethod:"bilinear"})}let _=b.length,v=Buffer.from(D.buffer,D.byteOffset,D.byteLength),O={sequentialRead:!0,failOn:"none",raw:{width:x,height:w,channels:_}};(x>5e3||w>5e3)&&(O.limitInputPixels=!1);let F=(0,XA.default)(v,O),M=super.normalizeRotationParams(l);this.rotationImpl(M,F);let U=super.normalizeQualityParams(g),H=super.normalizeFormatParams(o,A.format);this.qualityFormatImpl(U,H,F,o,A);let J={};return J.body=F,J.contentType=super.getContentType(H),J}async generateTileLocal(t,A,i){let n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=super.normalizeRegionParams(s,A),c=super.normalizeSizeParams(a,{width:I?I.w:A.width,height:I?I.h:A.height}),f=super.normalizeRotationParams(l),h=super.normalizeQualityParams(g),B=super.normalizeFormatParams(o,A.format),{x:u,y:d,w:E,h:x}=I||{x:0,y:0,w:A.width,h:A.height},{width:w,height:Q}=c||{width:A.width,height:A.height},C=0,y;if(A.pages&&A.pages>1){let b=w/E,m=Q/x,k=Math.max(b,m);if(k>=.95)console.log("Pyramid optimization: using full resolution page (scale \u2248 1.0)"),C=0;else{C=A.pages-1;let T=Math.pow(2,A.pages-1),D=A.width/T,_=A.height/T;for(;C>0;){let v=E*(D/A.width),O=x*(_/A.height);if(v>=w*1.1&&O>=Q*1.1)break;C--,D*=2,_*=2}console.log(`Pyramid optimization: selected page ${C}/${A.pages-1} (scale: ${k.toFixed(2)}x, target: ${w}x${Q})`)}let S=A.is_hd?{limitInputPixels:!1,page:C,sequentialRead:!0,failOn:"none"}:{page:C,sequentialRead:!0,failOn:"none"};if(y=(0,XA.default)(i,S),I&&C>0){let T=await y.metadata(),D=T.width/A.width,_={x:Math.floor(u*D),y:Math.floor(d*D),w:Math.floor(E*D),h:Math.floor(x*D)};_.w=Math.min(_.w,T.width-_.x),_.h=Math.min(_.h,T.height-_.y),this.regionImpl(_,y)}else this.regionImpl(I,y)}else{let b=A.is_hd?{limitInputPixels:!1,sequentialRead:!0,failOn:"none"}:{sequentialRead:!0,failOn:"none"};y=(0,XA.default)(i,b),this.regionImpl(I,y)}this.sizeImpl(c,y),this.rotationImpl(f,y),this.qualityFormatImpl(h,B,y,o,A);let p={};return p.body=y,p.contentType=super.getContentType(B),p}generateImageInfo(t,A,i,n="2",r=512,g=512,o=""){let l=super.generateImageInfoTemp(t,A,i,n,r,g),a=l.info;if((i==="2.0"||i==="2.1")&&(a.profile=[super.uriPattern("compliance",i,n)],n==="2")){let s={};s.formats=["jpg","png","webp","jp2","pdf","tif"],s.qualities=["color","gray","bitonal","default","native","grey"],s.supports=Kg[Number(i)],a.profile.push(s)}return i==="3.0"&&o&&(a.extraFormats=[o],a.preferredFormats=[o]),o&&(a.formats=[o]),l.body=a,l}generateTilePipeline(t,A){let i=A.is_hd?(0,XA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,XA.default)({sequentialRead:!0}),n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=!1,c=i,f={width:A.width,height:A.height};A&&A.orientation&&(I=!0,c=c.rotate(),A.orientation>=5&&(f={width:A.height,height:A.width}));let h=super.normalizeRegionParams(s,f);this.regionImpl(h,c);let B=super.normalizeSizeParams(a,{width:h?h.w:f.width,height:h?h.h:f.height});this.sizeImpl(B,c);let u=super.normalizeRotationParams(l);this.rotationImpl(u,c);let d=super.normalizeQualityParams(g),E=super.normalizeFormatParams(o,A.format);return this.qualityFormatImpl(d,E,c,o,A),h||B||u||d||E||I?c:(console.log("skip iiif transform"),null)}};module.exports=Je;
|
|
8
|
+
`).filter(a=>a.length>0).map(a=>a.split("=")).forEach(([a,s])=>{this.ghostValues[a]=s})}return this.ghostValues}static async fromSource(t,A,i){let n=(await t.fetch([{offset:0,length:1024}],i))[0],r=new qe(n),g=r.getUint16(0,0),o;if(g===18761)o=!0;else if(g===19789)o=!1;else throw new TypeError("Invalid byte order value.");let l=r.getUint16(2,o),a;if(l===42)a=!1;else if(l===43){if(a=!0,r.getUint16(4,o)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let s=a?r.getUint64(8,o):r.getUint32(4,o);return new e(t,o,a,s,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function ha(e,t={},A){return Yt.fromSource(Ia(e,t),A)}async function rn(e,t={},A){return Yt.fromSource(ca(e,t),A)}var Hg=1e8,Yg=1e4,Jg=1e4,Kg={2:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByWhListed","sizeByForcedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"],2.1:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeAboveFull","sizeByConfinedWh","sizeByDistortedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeByWhListed","sizeByForcedWh"],3:["baseUriRedirect","canonicalLinkHeader","cors","jsonldMediaType","mirroring","profileLinkHeader","regionByPct","regionByPx","regionSquare","rotationArbitrary","rotationBy90s","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh","sizeUpscaling"]},on=class extends ${async decode(t,A){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,n=(0,XA.default)(A,{sequentialRead:!0}),g=(await n.metadata()).channels||4;i===4&&g<4&&n.ensureAlpha?n=n.ensureAlpha():i===3&&g>3&&n.removeAlpha&&(n=n.removeAlpha());let{data:o,info:l}=await n.raw().toBuffer({resolveWithObject:!0});if(l.channels!==i){let a=l.width*l.height,s=Buffer.alloc(a*i),I=o;for(let c=0;c<a;c+=1){let f=c*l.channels,h=c*i;for(let B=0;B<i;B+=1)B<l.channels?s[h+B]=I[f+B]:s[h+B]=B===3?255:0}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}return o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}};CA(50001,()=>Promise.resolve(on));var an=class extends BA{constructor(t){super(),this.result=t}get ok(){return this.result.res.status>=200&&this.result.res.status<300}get status(){return this.result.res.status}getHeader(t){return this.result.res.headers[t.toLowerCase()]}getData(){return Buffer.isBuffer(this.result.content)?this.result.content.buffer.slice(this.result.content.byteOffset,this.result.content.byteOffset+this.result.content.byteLength):this.result.content}},sn=class extends uA{constructor(t,A){super(t),this.objectKey=t,this.ossClient=A}async request({headers:t={}}={}){let A={timeout:3e4};if(t&&t.Range){let n=t.Range.match(/bytes=(\d+)-(\d+)/);if(n){let r=parseInt(n[1],10),g=parseInt(n[2],10);A.range=`${r}-${g}`,A.headers={Range:`bytes=${r}-${g}`,"x-oss-range-behavior":"standard"}}}A.headers||(A.headers={});for(let[n,r]of Object.entries(t))n!=="Range"&&(A.headers[n.toLowerCase()]=r);let i=await this.ossClient.get(this.objectKey,A);return new an(i)}};async function zg(e,t){let A=new sn(e,t);return rn(A)}var Jt=new Map,ln=class extends BA{constructor(t,A){super(),this.response=t,this.arrayBuffer=A}get ok(){return this.response.ok}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)||""}getData(){return this.arrayBuffer}},gn=class extends uA{constructor(t,A){super(t),this.ipfsUrl=t,this.verifiedFetch=A}extractCID(t){let A=t.match(/(?:ipfs:\/\/|\/ipfs\/)([a-zA-Z0-9]+)/);return A?A[1]:null}async request({headers:t={}}={}){console.log(t);let A=6e4,i=new AbortController,n=setTimeout(()=>{console.log("[IPFSClient] Request timeout, aborting..."),i.abort()},A);try{let r={headers:t,signal:i.signal,session:!1},g=await this.verifiedFetch(this.ipfsUrl,r);if(!g.ok)throw new Error(`Failed to fetch from IPFS: ${g.status} ${g.statusText}`);let o=await g.arrayBuffer();return clearTimeout(n),new ln(g,o)}catch(r){throw clearTimeout(n),console.error("[IPFSClient] Error during request:",r),r instanceof Error&&(console.error("[IPFSClient] Error name:",r.name),console.error("[IPFSClient] Error message:",r.message),console.error("[IPFSClient] Error stack:",r.stack)),r&&typeof r=="object"&&"errors"in r&&console.error("[IPFSClient] AggregateError details:",r.errors),r}}};async function Pg(e,t){let A=Jt.get(e);if(A)return A instanceof Promise?(console.log(`[fromIPFS] Waiting for in-flight GeoTIFF creation for ${e}`),await A):(console.log(`[fromIPFS] Using cached GeoTIFF client for ${e}`),A);console.log(`[fromIPFS] Creating new GeoTIFF client for ${e}`);let i=(async()=>{let n=new gn(e,t),r=await rn(n);return Jt.set(e,r),r})();Jt.set(e,i);try{return await i}catch(n){throw Jt.delete(e),n}}var Kt=class extends Ee{constructor(t=Hg,A=Yg,i=Jg){super(t,A,i)}regionImpl(t,A){t&&(A=A.extract({left:t.x,top:t.y,width:t.w,height:t.h}))}sizeImpl(t,A){t&&(A=A.resize({...t,fit:"fill"}))}rotationImpl(t,A){t&&(t.isMirror&&(A=A.flop()),A=A.rotate(t.degree))}qualityFormatImpl(t,A,i,n,r){t&&(t==="color"?i=i.toColorspace("srgb"):t==="gray"||t==="grey"?i=i.grayscale():t==="bitonal"&&(i=i.threshold())),A&&(i=i.toFormat(A)),n==="png"&&(r.paletteBitDepth===1||r.space==="b-w")&&(i=i.toColorspace("b-w").png({colors:2}))}async generateTileRemote(t,A,i){let n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=n.pop(),c={width:A.width,height:A.height},f=super.normalizeRegionParams(s,c),h=super.normalizeSizeParams(a,{width:f?f.w:c.width,height:f?f.h:c.height}),{x:B,y:u,w:d,h:E}=f??{x:0,y:0,w:c.width,h:c.height},{width:x,height:w}=h;console.log(`Attempting to fetch from URL: ${i}`);let Q;if(typeof i=="string")console.log("Using standard HTTP fetch"),Q=await ha(i);else if(typeof I=="string"&&I.startsWith("bafy")){console.log("Detected CID id, using fromIPFS");let K=`ipfs://${I}`;Q=await Pg(K,i)}else Q=await zg(I,i);let C=await Q.getImage(0);console.log(`Source dimensions: ${C.getWidth()} x ${C.getHeight()}`),console.log(`Extracting region: x=${B}, y=${u}, w=${d}, h=${E}`),console.log(`Output size: ${x} x ${w}`);let y=await Q.getImageCount();console.log(`Total images (including overviews): ${y}`);let p=C.getSamplesPerPixel(),b;p>=3?(b=[0,1,2],p>=4&&b.push(3)):b=[0],console.log("Using automatic overview selection based on resolution...");let m=Math.max(d/x,E/w),k=C,S=1;for(let K=0;K<y;K++){let L=await Q.getImage(K),U=C.getWidth()/L.getWidth();U<=m&&U>S&&(S=U,k=L)}console.log(`Selected overview with scale: ${S.toFixed(2)}x`),console.log(`Overview dimensions: ${k.getWidth()} x ${k.getHeight()}`);let T=[Math.floor(B/S),Math.floor(u/S),Math.floor((B+d)/S),Math.floor((u+E)/S)],D;try{D=await k.readRasters({window:T,width:x,height:w,samples:b,interleave:!0,resampleMethod:"bilinear"})}catch(K){console.log(`Failed to read from overview: ${K.message}`);try{console.log("Attempting to read from main image...");let L=[B,u,B+d,u+E];D=await C.readRasters({window:L,width:x,height:w,samples:b,interleave:!0,resampleMethod:"bilinear"})}catch(L){console.log(`Failed to read from main image: ${L.message}`),console.log("Note: Range requests worked, but tile decoding failed. Falling back to full download.");let U=await i.get(I);return await this.generateTileLocal(t,A,U.content)}}let _=b.length,v=Buffer.from(D.buffer,D.byteOffset,D.byteLength),O={sequentialRead:!0,failOn:"none",raw:{width:x,height:w,channels:_}};(x>5e3||w>5e3)&&(O.limitInputPixels=!1);let F=(0,XA.default)(v,O),M=super.normalizeRotationParams(l);this.rotationImpl(M,F);let G=super.normalizeQualityParams(g),H=super.normalizeFormatParams(o,A.format);this.qualityFormatImpl(G,H,F,o,A);let J={};return J.body=F,J.contentType=super.getContentType(H),J}async generateTileLocal(t,A,i){let n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=super.normalizeRegionParams(s,A),c=super.normalizeSizeParams(a,{width:I?I.w:A.width,height:I?I.h:A.height}),f=super.normalizeRotationParams(l),h=super.normalizeQualityParams(g),B=super.normalizeFormatParams(o,A.format),{x:u,y:d,w:E,h:x}=I||{x:0,y:0,w:A.width,h:A.height},{width:w,height:Q}=c||{width:A.width,height:A.height},C=0,y;if(A.pages&&A.pages>1){let b=w/E,m=Q/x,k=Math.max(b,m);if(k>=.95)console.log("Pyramid optimization: using full resolution page (scale \u2248 1.0)"),C=0;else{C=A.pages-1;let T=Math.pow(2,A.pages-1),D=A.width/T,_=A.height/T;for(;C>0;){let v=E*(D/A.width),O=x*(_/A.height);if(v>=w*1.1&&O>=Q*1.1)break;C--,D*=2,_*=2}console.log(`Pyramid optimization: selected page ${C}/${A.pages-1} (scale: ${k.toFixed(2)}x, target: ${w}x${Q})`)}let S=A.is_hd?{limitInputPixels:!1,page:C,sequentialRead:!0,failOn:"none"}:{page:C,sequentialRead:!0,failOn:"none"};if(y=(0,XA.default)(i,S),I&&C>0){let T=await y.metadata(),D=T.width/A.width,_={x:Math.floor(u*D),y:Math.floor(d*D),w:Math.floor(E*D),h:Math.floor(x*D)};_.w=Math.min(_.w,T.width-_.x),_.h=Math.min(_.h,T.height-_.y),this.regionImpl(_,y)}else this.regionImpl(I,y)}else{let b=A.is_hd?{limitInputPixels:!1,sequentialRead:!0,failOn:"none"}:{sequentialRead:!0,failOn:"none"};y=(0,XA.default)(i,b),this.regionImpl(I,y)}this.sizeImpl(c,y),this.rotationImpl(f,y),this.qualityFormatImpl(h,B,y,o,A);let p={};return p.body=y,p.contentType=super.getContentType(B),p}generateImageInfo(t,A,i,n="2",r=512,g=512,o=""){let l=super.generateImageInfoTemp(t,A,i,n,r,g),a=l.info;if((i==="2.0"||i==="2.1")&&(a.profile=[super.uriPattern("compliance",i,n)],n==="2")){let s={};s.formats=["jpg","png","webp","jp2","pdf","tif"],s.qualities=["color","gray","bitonal","default","native","grey"],s.supports=Kg[Number(i)],a.profile.push(s)}return i==="3.0"&&o&&(a.extraFormats=[o],a.preferredFormats=[o]),o&&(a.formats=[o]),l.body=a,l}generateTilePipeline(t,A){let i=A.is_hd?(0,XA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,XA.default)({sequentialRead:!0}),n=t.split("/"),r=n.pop(),g=r.split(".")[0],o=r.split(".")[1],l=n.pop(),a=n.pop(),s=n.pop(),I=!1,c=i,f={width:A.width,height:A.height};A&&A.orientation&&(I=!0,c=c.rotate(),A.orientation>=5&&(f={width:A.height,height:A.width}));let h=super.normalizeRegionParams(s,f);this.regionImpl(h,c);let B=super.normalizeSizeParams(a,{width:h?h.w:f.width,height:h?h.h:f.height});this.sizeImpl(B,c);let u=super.normalizeRotationParams(l);this.rotationImpl(u,c);let d=super.normalizeQualityParams(g),E=super.normalizeFormatParams(o,A.format);return this.qualityFormatImpl(d,E,c,o,A),h||B||u||d||E||I?c:(console.log("skip iiif transform"),null)}};
|
|
9
9
|
/*! Bundled license information:
|
|
10
10
|
|
|
11
11
|
pako/dist/pako.esm.mjs:
|