@etu-wiki/sharp-iiif-shims 0.0.100 → 0.0.102

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.d.ts CHANGED
@@ -11,7 +11,7 @@ export default class SharpIiifImageShims extends IiifImageShims {
11
11
  private sizeImpl;
12
12
  private rotationImpl;
13
13
  private qualityFormatImpl;
14
- generateImageTile(path: string, metadata: any, geotiff: any): Promise<any>;
14
+ generateImageTile(path: string, metadata: any, client: any): Promise<any>;
15
15
  iiifTransform(path: string, metadata: any): sharp.Sharp | null;
16
16
  generateIiifImage(path: string, sourceImage: any, scaleLimit?: number): Promise<any>;
17
17
  generateImageInfo(id: string, metadata: any, preferredFormat?: string): any;
package/dist/index.js CHANGED
@@ -1,4 +1,11 @@
1
- "use strict";var Kn=Object.create;var ce=Object.defineProperty;var zn=Object.getOwnPropertyDescriptor;var Vn=Object.getOwnPropertyNames;var Zn=Object.getPrototypeOf,Pn=Object.prototype.hasOwnProperty;var gA=(A,t)=>()=>(A&&(t=A(A=0)),t);var Yt=(A,t)=>()=>(t||A((t={exports:{}}).exports,t),t.exports),yA=(A,t)=>{for(var e in t)ce(A,e,{get:t[e],enumerable:!0})},Kt=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Vn(t))!Pn.call(A,r)&&r!==e&&ce(A,r,{get:()=>t[r],enumerable:!(i=zn(t,r))||i.enumerable});return A};var je=(A,t,e)=>(e=A!=null?Kn(Zn(A)):{},Kt(t||!A||!A.__esModule?ce(e,"default",{value:A,enumerable:!0}):e,A)),Xn=A=>Kt(ce({},"__esModule",{value:!0}),A);var Pt=Yt((Ag,et)=>{"use strict";var At=Object.defineProperty,Wn=Object.getOwnPropertyDescriptor,jn=Object.getOwnPropertyNames,$n=Object.prototype.hasOwnProperty,Aa=(A,t)=>{for(var e in t)At(A,e,{get:t[e],enumerable:!0})},ea=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of jn(t))!$n.call(A,r)&&r!==e&&At(A,r,{get:()=>t[r],enumerable:!(i=Wn(t,r))||i.enumerable});return A},ta=A=>ea(At({},"__esModule",{value:!0}),A),Vt={};Aa(Vt,{default:()=>Zt});et.exports=ta(Vt);var H="[1-9][0-9]*",zt="[0-9]*",mA="(?=.*[1-9])\\d+(\\.\\d+)?",$e="\\d+(\\.\\d+)?",ue=(A=>(A.jpg="image/jpeg",A.jpeg="image/jpeg",A.png="image/png",A.webp="image/webp",A.tif="image/tiff",A.tiff="image/tiff",A.gif="image/gif",A.jp2="image/jp2",A.pdf="application/pdf",A))(ue||{}),qA={version:["1.0","1.1","2.0","2.1","3.0"],level:["0","1","2"],region:["full","square",`${zt},${zt},${H},${H}`,`pct:${$e},${$e},${mA},${mA}`],rotation:`!?${$e}`,quality:["color","gray","bitonal","default","native","grey"],format:["jpg","png","webp","tif","gif","jp2","pdf"],size:[""]},ia={1:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],1.1:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],2:["full",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],2.1:["full","max",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`],3:["max",`${H},`,`,${H}`,`pct:${mA}`,`${H},${H}`,`!${H},${H}`,"\\^max",`\\^${H},`,`\\^,${H}`,`\\^pct:${mA}`,`\\^${H},${H}`,`\\^!${H},${H}`]},de=/^pct:([\d,]+)/,Zt=class{constructor(A,t,e,i,r,o,B){this.version=A,this.level=t,this.maxArea=e,this.maxWidth=i,this.maxHeight=r,this.tileWidth=o,this.tileHeight=B,this.validate("version",A),this.validate("level",t),qA.size=ia[Number(A)]}validator(A){var t=qA[A];return t instanceof Array&&(t=t.join("|")),new RegExp("^("+t+")$")}validate(A,t){if(!this.validator(A).test(t))throw Error(`invalid IIIF url ${A}: ${t}`);return!0}normalizeRegionParams(A,t){if(this.validate("region",A),A==="full")return null;if(A==="square")return this._regionSquare(t);if(de.test(A))return this._regionPct(A.match(de)[1],t);{let e=A.split(",").map(i=>Number(i));return this._regionXYWH(e,t)}}_regionSquare(A){let t,e,i=A.width,r=A.height;if(i!==r){let o=Math.min(i,r),B=Math.abs(Math.floor((i-r)/2));return i>r?(t=B,e=0):(t=0,e=B),this._regionXYWH([t,e,o,o],A)}return null}_regionPct(A,t){let e=A.split(",").map((i,r)=>{let o=Number(i)/100;return r===0||r===2?Math.ceil(t.width*o):r===1||r===3?Math.ceil(t.height*o):null});return this._regionXYWH(e,t)}_regionXYWH(A,t){let e=t.width,i=t.height,[r,o,B,s]=A;return r+B>e&&(B=e-r),o+s>i&&(s=i-o),{x:r,y:o,w:B,h:s}}normalizeSizeParams(A,t){let e=A,i=t.width,r=t.height;if(!t||!i&&!r)throw Error(`invalid region dimensions: ${JSON.stringify(t,null,2)}`);this.validate("size",e);let o=!1;e.charAt(0)==="^"&&(o=!0,e=e.substring(1));let B=null;if(e==="full"||(e==="max"?B=this._sizeMaxScale(t):de.test(e)?B=this._sizePctScale(e.match(de)[1]):e.charAt(0)==="!"&&(e=e.substring(1),B=this._sizeBangScale(e,o,t)),B===1))return null;if(B){let s=Math.ceil(i*B),I=Math.ceil(r*B);return this._sizeWH(`${s},${I}`,o,t)}else return this._sizeWH(e,o,t)}_sizeBangScale(A,t,e){let i=e.width,r=e.height,[o,B]=A.split(",").map(I=>I===""?null:Number(I)),s=Math.min(o/i,B/r);if(o>i&&B>r&&!t)throw Error("should not upscale without ^");return s}_sizeMaxScale(A){let t=A.width,e=A.height,i=1;return this.maxArea&&this.maxArea<t*e&&(i=Math.sqrt(this.maxArea/(t*e))),this.maxWidth&&this.maxWidth<t&&(i=Math.min(i,this.maxWidth/t)),this.maxHeight&&this.maxHeight<e&&(i=Math.min(i,this.maxHeight/e)),i}_sizePctScale(A){return Number(A)/100}_sizeWH(A,t,e){let i=e.width,r=e.height,[o,B]=A.split(",").map(s=>s===""?null:Number(s));if(o?B||(B=Math.ceil(r*o/i),B=B===0?1:B):(o=Math.ceil(i*B/r),o=o===0?1:o),(o>i||B>r)&&!t)throw Error("should not upscale without ^");return{width:o,height:B}}normalizeRotationParams(A){this.validate("rotation",A);let t=!1;if(A==="0")return null;A[0]==="!"&&(t=!0);let e=Number(A.replace(/^!/,""));return{isMirror:t,degree:e}}normalizeQualityParams(A){return this.validate("quality",A),A==="native"||A==="default"?null:A}normalizeFormatParams(A,t){if((this.version==="1.0"||this.version==="1.1"||this.version==="2.0"||this.version==="2.1")&&!A)return"png";this.validate("format",A);let e=ue[A],i=ue[t];return e===i?null:A}getContentType(A){return ue[A]}generateImageInfoTemp(A,t){let e={},i={};e.info=i;let r=this.version;return r==="1.0"?(i.identifier=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=qA.format,i.qualities=qA.quality,i.profile=this.uriPattern("compliance"),e.contentType="application/json",e.body=JSON.stringify(i)):(r==="1.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=qA.format,i.qualities=qA.quality,i.profile=this.uriPattern("compliance")):r==="2.0"||r==="2.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=[this.uriPattern("compliance")]):r==="3.0"&&(i["@context"]=[this.uriPattern("context")],i.id=A,i.type="ImageService3",i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=this.uriPattern("compliance")),e.contentType="application/ld+json"),e}factors(A){let t=1,e=[];for(;this.tileWidth*t<=A.width||this.tileHeight*t<=A.height;)e.push(t),t*=2;return e.length===0&&e.push(1),e}uriPattern(A){let t="",e="";return this.version==="1.0"?t=`http://library.stanford.edu/iiif/image-api/compliance.html#level${this.level}`:this.version==="1.1"?(t=`http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level${this.level}`,e="http://library.stanford.edu/iiif/image-api/1.1/context.json"):this.version==="2.0"||this.version==="2.1"?(t=`http://iiif.io/api/image/2/level${this.level}.json`,e="http://iiif.io/api/image/2/context.json"):this.version==="3.0"&&(t=`level${this.level}`,e="http://iiif.io/api/image/3/context.json"),A==="compliance"?t:A==="context"?e:""}sizes(A){return[{width:A.width,height:A.height}]}};et.exports=Zt});var tt,fA,tg,it,na,Xt,we,nt,aa,Wt=gA(()=>{tt={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"},fA={};for(let A in tt)tt.hasOwnProperty(A)&&(fA[tt[A]]=parseInt(A,10));tg=[fA.BitsPerSample,fA.ExtraSamples,fA.SampleFormat,fA.StripByteCounts,fA.StripOffsets,fA.StripRowCounts,fA.TileByteCounts,fA.TileOffsets,fA.SubIFDs],it={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"},na={};for(let A in it)it.hasOwnProperty(A)&&(na[it[A]]=parseInt(A,10));Xt={Version:0,AddCompression:1},we={None:0,Deflate:1,Zstandard:2},nt={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"},aa={};for(let A in nt)nt.hasOwnProperty(A)&&(aa[nt[A]]=parseInt(A,10))});function ra(A,t){let e=A.length-t,i=0;do{for(let r=t;r>0;r--)A[i+t]+=A[i],i++;e-=t}while(e>0)}function oa(A,t,e){let i=0,r=A.length,o=r/e;for(;r>t;){for(let s=t;s>0;--s)A[i+t]+=A[i],++i;r-=t}let B=A.slice();for(let s=0;s<o;++s)for(let I=0;I<e;++I)A[e*s+I]=B[(e-I-1)*o+s]}function jt(A,t,e,i,r,o){if(!t||t===1)return A;for(let I=0;I<r.length;++I){if(r[I]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[I]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let B=r[0]/8,s=o===2?1:r.length;for(let I=0;I<i&&!(I*s*e*B>=A.byteLength);++I){let n;if(t===2){switch(r[0]){case 8:n=new Uint8Array(A,I*s*e*B,s*e*B);break;case 16:n=new Uint16Array(A,I*s*e*B,s*e*B/2);break;case 32:n=new Uint32Array(A,I*s*e*B,s*e*B/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}ra(n,s,B)}else t===3&&(n=new Uint8Array(A,I*s*e*B,s*e*B),oa(n,s,B))}return A}var $t=gA(()=>{});var P,cA=gA(()=>{$t();P=class{async decode(t,e){let i=await this.decodeBlock(e),r=t.Predictor||1;if(r!==1){let o=!t.StripOffsets,B=o?t.TileWidth:t.ImageWidth,s=o?t.TileLength:t.RowsPerStrip||t.ImageLength;return jt(i,r,B,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var Ai={};yA(Ai,{default:()=>De});var De,ei=gA(()=>{cA();De=class extends P{decodeBlock(t){return t}}});var ii={};yA(ii,{default:()=>pe});function sa(A,t,e){let i=t%8,r=Math.floor(t/8),o=8-i,B=t+e-(r+1)*8,s=8*(r+2)-(t+e),I=(r+2)*8-t;if(s=Math.max(0,s),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),ot;let n=A[r]&2**(8-i)-1;n<<=e-o;let a=n;if(r+1<A.length){let Q=A[r+1]>>>s;Q<<=Math.max(0,e-I),a+=Q}if(B>8&&r+2<A.length){let Q=(r+3)*8-(t+e),l=A[r+2]>>>Q;a+=l}return a}function rt(A,t){for(let e=t.length-1;e>=0;e--)A.push(t[e]);return A}function Ia(A){let t=new Uint16Array(4093),e=new Uint8Array(4093);for(let C=0;C<=257;C++)t[C]=4096,e[C]=C;let i=258,r=ti,o=0;function B(){i=258,r=ti}function s(C){let f=sa(C,o,r);return o+=r,f}function I(C,f){return e[i]=f,t[i]=C,i++,i-1}function n(C){let f=[];for(let E=C;E!==4096;E=t[E])f.push(e[E]);return f}let a=[];B();let Q=new Uint8Array(A),l=s(Q),g;for(;l!==ot;){if(l===at){for(B(),l=s(Q);l===at;)l=s(Q);if(l===ot)break;if(l>at)throw new Error(`corrupted code at scanline ${l}`);{let C=n(l);rt(a,C),g=l}}else if(l<i){let C=n(l);rt(a,C),I(g,C[C.length-1]),g=l}else{let C=n(g);if(!C)throw new Error(`Bogus entry. Not in dictionary, ${g} / ${i}, position: ${o}`);rt(a,C),a.push(C[C.length-1]),I(g,C[C.length-1]),g=l}i+1>=2**r&&(r===ga?g=void 0:r++),l=s(Q)}return new Uint8Array(a)}var ti,at,ot,ga,pe,ni=gA(()=>{cA();ti=9,at=256,ot=257,ga=12;pe=class extends P{decodeBlock(t){return Ia(t,!1).buffer}}});var ri={};yA(ri,{default:()=>be});function ai(A,t){let e=0,i=[],r=16;for(;r>0&&!A[r-1];)--r;i.push({children:[],index:0});let o=i[0],B;for(let s=0;s<r;s++){for(let I=0;I<A[s];I++){for(o=i.pop(),o.children[o.index]=t[e];o.index>0;)o=i.pop();for(o.index++,i.push(o);i.length<=s;)i.push(B={children:[],index:0}),o.children[o.index]=B.children,o=B;e++}s+1<r&&(i.push(B={children:[],index:0}),o.children[o.index]=B.children,o=B)}return i[0].children}function la(A,t,e,i,r,o,B,s,I){let{mcusPerLine:n,progressive:a}=e,Q=t,l=t,g=0,C=0;function f(){if(C>0)return C--,g>>C&1;if(g=A[l++],g===255){let U=A[l++];if(U)throw new Error(`unexpected marker: ${(g<<8|U).toString(16)}`)}return C=7,g>>>7}function E(U){let L=U,M;for(;(M=f())!==null;){if(L=L[M],typeof L=="number")return L;if(typeof L!="object")throw new Error("invalid huffman sequence")}return null}function d(U){let L=U,M=0;for(;L>0;){let V=f();if(V===null)return;M=M<<1|V,--L}return M}function u(U){let L=d(U);return L>=1<<U-1?L:L+(-1<<U)+1}function w(U,L){let M=E(U.huffmanTableDC),V=M===0?0:u(M);U.pred+=V,L[0]=U.pred;let Z=1;for(;Z<64;){let X=E(U.huffmanTableAC),j=X&15,AA=X>>4;if(j===0){if(AA<15)break;Z+=16}else{Z+=AA;let rA=WA[Z];L[rA]=u(j),Z++}}}function D(U,L){let M=E(U.huffmanTableDC),V=M===0?0:u(M)<<I;U.pred+=V,L[0]=U.pred}function c(U,L){L[0]|=f()<<I}let h=0;function _(U,L){if(h>0){h--;return}let M=o,V=B;for(;M<=V;){let Z=E(U.huffmanTableAC),X=Z&15,j=Z>>4;if(X===0){if(j<15){h=d(j)+(1<<j)-1;break}M+=16}else{M+=j;let AA=WA[M];L[AA]=u(X)*(1<<I),M++}}}let p=0,S;function m(U,L){let M=o,V=B,Z=0;for(;M<=V;){let X=WA[M],j=L[X]<0?-1:1;switch(p){case 0:{let AA=E(U.huffmanTableAC),rA=AA&15;if(Z=AA>>4,rA===0)Z<15?(h=d(Z)+(1<<Z),p=4):(Z=16,p=1);else{if(rA!==1)throw new Error("invalid ACn encoding");S=u(rA),p=Z?2:3}continue}case 1:case 2:L[X]?L[X]+=(f()<<I)*j:(Z--,Z===0&&(p=p===2?3:0));break;case 3:L[X]?L[X]+=(f()<<I)*j:(L[X]=S<<I,p=0);break;case 4:L[X]&&(L[X]+=(f()<<I)*j);break;default:break}M++}p===4&&(h--,h===0&&(p=0))}function x(U,L,M,V,Z){let X=M/n|0,j=M%n,AA=X*U.v+V,rA=j*U.h+Z;L(U,U.blocks[AA][rA])}function k(U,L,M){let V=M/U.blocksPerLine|0,Z=M%U.blocksPerLine;L(U,U.blocks[V][Z])}let T=i.length,F,y,G,N,b,v;a?o===0?v=s===0?D:c:v=s===0?_:m:v=w;let R=0,q,O;T===1?O=i[0].blocksPerLine*i[0].blocksPerColumn:O=n*e.mcusPerColumn;let K=r||O;for(;R<O;){for(y=0;y<T;y++)i[y].pred=0;if(h=0,T===1)for(F=i[0],b=0;b<K;b++)k(F,v,R),R++;else for(b=0;b<K;b++){for(y=0;y<T;y++){F=i[y];let{h:U,v:L}=F;for(G=0;G<L;G++)for(N=0;N<U;N++)x(F,v,R,G,N)}if(R++,R===O)break}if(C=0,q=A[l]<<8|A[l+1],q<65280)throw new Error("marker was not found");if(q>=65488&&q<=65495)l+=2;else break}return l-Q}function Ba(A,t){let e=[],{blocksPerLine:i,blocksPerColumn:r}=t,o=i<<3,B=new Int32Array(64),s=new Uint8Array(64);function I(n,a,Q){let l=t.quantizationTable,g,C,f,E,d,u,w,D,c,h=Q,_;for(_=0;_<64;_++)h[_]=n[_]*l[_];for(_=0;_<8;++_){let p=8*_;if(h[1+p]===0&&h[2+p]===0&&h[3+p]===0&&h[4+p]===0&&h[5+p]===0&&h[6+p]===0&&h[7+p]===0){c=HA*h[0+p]+512>>10,h[0+p]=c,h[1+p]=c,h[2+p]=c,h[3+p]=c,h[4+p]=c,h[5+p]=c,h[6+p]=c,h[7+p]=c;continue}g=HA*h[0+p]+128>>8,C=HA*h[4+p]+128>>8,f=h[2+p],E=h[6+p],d=Se*(h[1+p]-h[7+p])+128>>8,D=Se*(h[1+p]+h[7+p])+128>>8,u=h[3+p]<<4,w=h[5+p]<<4,c=g-C+1>>1,g=g+C+1>>1,C=c,c=f*Fe+E*ke+128>>8,f=f*ke-E*Fe+128>>8,E=c,c=d-w+1>>1,d=d+w+1>>1,w=c,c=D+u+1>>1,u=D-u+1>>1,D=c,c=g-E+1>>1,g=g+E+1>>1,E=c,c=C-f+1>>1,C=C+f+1>>1,f=c,c=d*xe+D*me+2048>>12,d=d*me-D*xe+2048>>12,D=c,c=u*ye+w*_e+2048>>12,u=u*_e-w*ye+2048>>12,w=c,h[0+p]=g+D,h[7+p]=g-D,h[1+p]=C+w,h[6+p]=C-w,h[2+p]=f+u,h[5+p]=f-u,h[3+p]=E+d,h[4+p]=E-d}for(_=0;_<8;++_){let p=_;if(h[1*8+p]===0&&h[2*8+p]===0&&h[3*8+p]===0&&h[4*8+p]===0&&h[5*8+p]===0&&h[6*8+p]===0&&h[7*8+p]===0){c=HA*Q[_+0]+8192>>14,h[0*8+p]=c,h[1*8+p]=c,h[2*8+p]=c,h[3*8+p]=c,h[4*8+p]=c,h[5*8+p]=c,h[6*8+p]=c,h[7*8+p]=c;continue}g=HA*h[0*8+p]+2048>>12,C=HA*h[4*8+p]+2048>>12,f=h[2*8+p],E=h[6*8+p],d=Se*(h[1*8+p]-h[7*8+p])+2048>>12,D=Se*(h[1*8+p]+h[7*8+p])+2048>>12,u=h[3*8+p],w=h[5*8+p],c=g-C+1>>1,g=g+C+1>>1,C=c,c=f*Fe+E*ke+2048>>12,f=f*ke-E*Fe+2048>>12,E=c,c=d-w+1>>1,d=d+w+1>>1,w=c,c=D+u+1>>1,u=D-u+1>>1,D=c,c=g-E+1>>1,g=g+E+1>>1,E=c,c=C-f+1>>1,C=C+f+1>>1,f=c,c=d*xe+D*me+2048>>12,d=d*me-D*xe+2048>>12,D=c,c=u*ye+w*_e+2048>>12,u=u*_e-w*ye+2048>>12,w=c,h[0*8+p]=g+D,h[7*8+p]=g-D,h[1*8+p]=C+w,h[6*8+p]=C-w,h[2*8+p]=f+u,h[5*8+p]=f-u,h[3*8+p]=E+d,h[4*8+p]=E-d}for(_=0;_<64;++_){let p=128+(h[_]+8>>4);p<0?a[_]=0:p>255?a[_]=255:a[_]=p}}for(let n=0;n<r;n++){let a=n<<3;for(let Q=0;Q<8;Q++)e.push(new Uint8Array(o));for(let Q=0;Q<i;Q++){I(t.blocks[n][Q],s,B);let l=0,g=Q<<3;for(let C=0;C<8;C++){let f=e[a+C];for(let E=0;E<8;E++)f[g+E]=s[l++]}}}return e}var WA,_e,ye,me,xe,ke,Fe,HA,Se,gt,be,oi=gA(()=>{cA();WA=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]),_e=4017,ye=799,me=3406,xe=2276,ke=1567,Fe=3784,HA=5793,Se=2896;gt=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function i(){let s=t[e]<<8|t[e+1];return e+=2,s}function r(){let s=i(),I=t.subarray(e,e+s-2);return e+=I.length,I}function o(s){let I=0,n=0,a,Q;for(Q in s.components)s.components.hasOwnProperty(Q)&&(a=s.components[Q],I<a.h&&(I=a.h),n<a.v&&(n=a.v));let l=Math.ceil(s.samplesPerLine/8/I),g=Math.ceil(s.scanLines/8/n);for(Q in s.components)if(s.components.hasOwnProperty(Q)){a=s.components[Q];let C=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/I),f=Math.ceil(Math.ceil(s.scanLines/8)*a.v/n),E=l*a.h,d=g*a.v,u=[];for(let w=0;w<d;w++){let D=[];for(let c=0;c<E;c++)D.push(new Int32Array(64));u.push(D)}a.blocksPerLine=C,a.blocksPerColumn=f,a.blocks=u}s.maxH=I,s.maxV=n,s.mcusPerLine=l,s.mcusPerColumn=g}let B=i();if(B!==65496)throw new Error("SOI not found");for(B=i();B!==65497;){switch(B){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 s=r();B===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),B===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let I=i()+e-2;for(;e<I;){let n=t[e++],a=new Int32Array(64);if(n>>4)if(n>>4===1)for(let Q=0;Q<64;Q++){let l=WA[Q];a[l]=i()}else throw new Error("DQT: invalid table spec");else for(let Q=0;Q<64;Q++){let l=WA[Q];a[l]=t[e++]}this.quantizationTables[n&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:B===65473,progressive:B===65474,precision:t[e++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},I=t[e++],n;for(let a=0;a<I;a++){n=t[e];let Q=t[e+1]>>4,l=t[e+1]&15,g=t[e+2];s.componentsOrder.push(n),s.components[n]={h:Q,v:l,quantizationIdx:g},e+=3}o(s),this.frames.push(s);break}case 65476:{let s=i();for(let I=2;I<s;){let n=t[e++],a=new Uint8Array(16),Q=0;for(let g=0;g<16;g++,e++)a[g]=t[e],Q+=a[g];let l=new Uint8Array(Q);for(let g=0;g<Q;g++,e++)l[g]=t[e];I+=17+Q,n>>4?this.huffmanTablesAC[n&15]=ai(a,l):this.huffmanTablesDC[n&15]=ai(a,l)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[e++],I=[],n=this.frames[0];for(let C=0;C<s;C++){let f=n.components[t[e++]],E=t[e++];f.huffmanTableDC=this.huffmanTablesDC[E>>4],f.huffmanTableAC=this.huffmanTablesAC[E&15],I.push(f)}let a=t[e++],Q=t[e++],l=t[e++],g=la(t,e,n,I,this.resetInterval,a,Q,l>>4,l&15);e+=g;break}case 65535:t[e]!==255&&e--;break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${B.toString(16)}`)}B=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 a=0;a<this.frames.length;a++){let Q=this.frames[a].components;for(let l of Object.keys(Q))Q[l].quantizationTable=this.quantizationTables[Q[l].quantizationIdx],delete Q[l].quantizationIdx}let e=t[0],{components:i,componentsOrder:r}=e,o=[],B=e.samplesPerLine,s=e.scanLines;for(let a=0;a<r.length;a++){let Q=i[r[a]];o.push({lines:Ba(e,Q),scaleX:Q.h/e.maxH,scaleY:Q.v/e.maxV})}let I=new Uint8Array(B*s*o.length),n=0;for(let a=0;a<s;++a)for(let Q=0;Q<B;++Q)for(let l=0;l<o.length;++l){let g=o[l];I[n]=g.lines[0|a*g.scaleY][0|Q*g.scaleX],++n}return I}},be=class extends P{constructor(t){super(),this.reader=new gt,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function VA(A){let t=A.length;for(;--t>=0;)A[t]=0}function It(A,t,e,i,r){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=A&&A.length}function lt(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function CA(A,t,e,i,r){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=r}function Cr(){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=He,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(ar*2),this.dyn_dtree=new Uint16Array((2*ir+1)*2),this.bl_tree=new Uint16Array((2*nr+1)*2),xA(this.dyn_ltree),xA(this.dyn_dtree),xA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(rr+1),this.heap=new Uint16Array(2*mt+1),xA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*mt+1),xA(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 Ur(){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 Ce(A){this.options=Je.assign({level:Jr,method:Yr,chunkSize:16384,windowBits:15,memLevel:8,strategy:Or},A||{});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 Cn,this.strm.avail_out=0;let e=te.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==Te)throw new Error(UA[e]);if(t.header&&te.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=Ie.string2buf(t.dictionary):hn.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,e=te.deflateSetDictionary(this.strm,i),e!==Te)throw new Error(UA[e]);this._dict_set=!0}}function Mt(A,t){let e=new Ce(t);if(e.push(A,!0),e.err)throw e.msg||UA[e.err];return e.result}function Kr(A,t){return t=t||{},t.raw=!0,Mt(A,t)}function zr(A,t){return t=t||{},t.gzip=!0,Mt(A,t)}function ho(){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 Go(){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 he(A){this.options=Je.assign({chunkSize:1024*64,windowBits:15,to:""},A||{});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&&!(A&&A.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 Cn,this.strm.avail_out=0;let e=wA.inflateInit2(this.strm,t.windowBits);if(e!==le)throw new Error(UA[e]);if(this.header=new Ro,wA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Ie.string2buf(t.dictionary):xn.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=wA.inflateSetDictionary(this.strm,t.dictionary),e!==le)))throw new Error(UA[e])}function Nt(A,t){let e=new he(t);if(e.push(A),e.err)throw e.msg||UA[e.err];return e.result}function To(A,t){return t=t||{},t.raw=!0,Nt(A,t)}var fa,zi,Ca,ha,Ea,vt,Be,ne,YA,Gt,Vi,GA,st,Qa,Rt,Zi,Pi,Xi,pt,Me,ca,Wi,da,uA,ee,ae,re,Lt,Ne,ji,$i,An,en,oe,tA,hA,tn,ua,wa,nn,Da,an,rn,gi,Bt,si,_t,Ii,li,pa,_a,ya,Bi,ma,on,xa,ka,Fa,Sa,ba,va,Ga,Ra,La,Ua,ge,Ma,Na,Ta,W,UA,ZA,qa,yt,Ha,FA,Ja,SA,Oa,Ya,sA,fi,$,Ci,EA,Ka,ft,za,Va,ve,Za,Pa,Xa,Wa,He,ja,$a,Ar,er,tr,mt,ir,nr,ar,rr,J,kA,QA,or,KA,Ut,xt,kt,Ft,St,RA,$A,eA,PA,MA,XA,gr,LA,hi,xA,sr,Ir,bA,iA,nA,Y,jA,bt,gn,zA,sn,Ct,JA,lr,Br,Ae,fr,fe,In,ln,hr,Bn,Er,Qr,cr,dr,ur,wr,Dr,pr,_r,yr,mr,xr,kr,te,Fr,Sr,br,Je,fn,se,vr,Gr,Rr,Lr,Ie,Cn,hn,Mr,Nr,Tr,qr,Te,Hr,Jr,Or,Yr,Vr,Zr,Pr,Xr,Wr,jr,Ge,$r,Ao,OA,Ei,Qi,ci,ht,di,eo,to,io,no,ao,ie,ro,En,Qn,ui,oo,Re,NA,go,so,IA,cn,dn,Io,wi,Oe,Di,pi,_i,yi,mi,xi,ki,Fi,Si,qe,dA,Et,bi,Qt,vi,Gi,Ri,Li,Le,Ue,Ui,Mi,Ni,Ti,qi,ct,Hi,Ji,z,un,wn,lo,Bo,fo,Co,Oi,TA,Dn,pn,_n,yn,Eo,Yi,dt,ut,Qo,mn,co,uo,wo,Do,po,_o,yo,mo,xo,ko,Fo,So,bo,vo,wA,Ro,xn,Lo,Uo,le,wt,Dt,Mo,Ki,No,qo,Ho,Jo,Oo,Yo,Ko,Ig,lg,Bg,fg,Cg,zo,hg,Eg,Ye,Tt=gA(()=>{fa=0,zi=1,Ca=2,ha=3,Ea=258,vt=29,Be=256,ne=Be+1+vt,YA=30,Gt=19,Vi=2*ne+1,GA=15,st=16,Qa=7,Rt=256,Zi=16,Pi=17,Xi=18,pt=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]),Me=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]),ca=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Wi=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),da=512,uA=new Array((ne+2)*2);VA(uA);ee=new Array(YA*2);VA(ee);ae=new Array(da);VA(ae);re=new Array(Ea-ha+1);VA(re);Lt=new Array(vt);VA(Lt);Ne=new Array(YA);VA(Ne);en=A=>A<256?ae[A]:ae[256+(A>>>7)],oe=(A,t)=>{A.pending_buf[A.pending++]=t&255,A.pending_buf[A.pending++]=t>>>8&255},tA=(A,t,e)=>{A.bi_valid>st-e?(A.bi_buf|=t<<A.bi_valid&65535,oe(A,A.bi_buf),A.bi_buf=t>>st-A.bi_valid,A.bi_valid+=e-st):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)},hA=(A,t,e)=>{tA(A,e[t*2],e[t*2+1])},tn=(A,t)=>{let e=0;do e|=A&1,A>>>=1,e<<=1;while(--t>0);return e>>>1},ua=A=>{A.bi_valid===16?(oe(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8)},wa=(A,t)=>{let e=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,B=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,I=t.stat_desc.max_length,n,a,Q,l,g,C,f=0;for(l=0;l<=GA;l++)A.bl_count[l]=0;for(e[A.heap[A.heap_max]*2+1]=0,n=A.heap_max+1;n<Vi;n++)a=A.heap[n],l=e[e[a*2+1]*2+1]+1,l>I&&(l=I,f++),e[a*2+1]=l,!(a>i)&&(A.bl_count[l]++,g=0,a>=s&&(g=B[a-s]),C=e[a*2],A.opt_len+=C*(l+g),o&&(A.static_len+=C*(r[a*2+1]+g)));if(f!==0){do{for(l=I-1;A.bl_count[l]===0;)l--;A.bl_count[l]--,A.bl_count[l+1]+=2,A.bl_count[I]--,f-=2}while(f>0);for(l=I;l!==0;l--)for(a=A.bl_count[l];a!==0;)Q=A.heap[--n],!(Q>i)&&(e[Q*2+1]!==l&&(A.opt_len+=(l-e[Q*2+1])*e[Q*2],e[Q*2+1]=l),a--)}},nn=(A,t,e)=>{let i=new Array(GA+1),r=0,o,B;for(o=1;o<=GA;o++)r=r+e[o-1]<<1,i[o]=r;for(B=0;B<=t;B++){let s=A[B*2+1];s!==0&&(A[B*2]=tn(i[s]++,s))}},Da=()=>{let A,t,e,i,r,o=new Array(GA+1);for(e=0,i=0;i<vt-1;i++)for(Lt[i]=e,A=0;A<1<<pt[i];A++)re[e++]=i;for(re[e-1]=i,r=0,i=0;i<16;i++)for(Ne[i]=r,A=0;A<1<<Me[i];A++)ae[r++]=i;for(r>>=7;i<YA;i++)for(Ne[i]=r<<7,A=0;A<1<<Me[i]-7;A++)ae[256+r++]=i;for(t=0;t<=GA;t++)o[t]=0;for(A=0;A<=143;)uA[A*2+1]=8,A++,o[8]++;for(;A<=255;)uA[A*2+1]=9,A++,o[9]++;for(;A<=279;)uA[A*2+1]=7,A++,o[7]++;for(;A<=287;)uA[A*2+1]=8,A++,o[8]++;for(nn(uA,ne+1,o),A=0;A<YA;A++)ee[A*2+1]=5,ee[A*2]=tn(A,5);ji=new It(uA,pt,Be+1,ne,GA),$i=new It(ee,Me,0,YA,GA),An=new It(new Array(0),ca,0,Gt,Qa)},an=A=>{let t;for(t=0;t<ne;t++)A.dyn_ltree[t*2]=0;for(t=0;t<YA;t++)A.dyn_dtree[t*2]=0;for(t=0;t<Gt;t++)A.bl_tree[t*2]=0;A.dyn_ltree[Rt*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},rn=A=>{A.bi_valid>8?oe(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},gi=(A,t,e,i)=>{let r=t*2,o=e*2;return A[r]<A[o]||A[r]===A[o]&&i[t]<=i[e]},Bt=(A,t,e)=>{let i=A.heap[e],r=e<<1;for(;r<=A.heap_len&&(r<A.heap_len&&gi(t,A.heap[r+1],A.heap[r],A.depth)&&r++,!gi(t,i,A.heap[r],A.depth));)A.heap[e]=A.heap[r],e=r,r<<=1;A.heap[e]=i},si=(A,t,e)=>{let i,r,o=0,B,s;if(A.sym_next!==0)do i=A.pending_buf[A.sym_buf+o++]&255,i+=(A.pending_buf[A.sym_buf+o++]&255)<<8,r=A.pending_buf[A.sym_buf+o++],i===0?hA(A,r,t):(B=re[r],hA(A,B+Be+1,t),s=pt[B],s!==0&&(r-=Lt[B],tA(A,r,s)),i--,B=en(i),hA(A,B,e),s=Me[B],s!==0&&(i-=Ne[B],tA(A,i,s)));while(o<A.sym_next);hA(A,Rt,t)},_t=(A,t)=>{let e=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems,B,s,I=-1,n;for(A.heap_len=0,A.heap_max=Vi,B=0;B<o;B++)e[B*2]!==0?(A.heap[++A.heap_len]=I=B,A.depth[B]=0):e[B*2+1]=0;for(;A.heap_len<2;)n=A.heap[++A.heap_len]=I<2?++I:0,e[n*2]=1,A.depth[n]=0,A.opt_len--,r&&(A.static_len-=i[n*2+1]);for(t.max_code=I,B=A.heap_len>>1;B>=1;B--)Bt(A,e,B);n=o;do B=A.heap[1],A.heap[1]=A.heap[A.heap_len--],Bt(A,e,1),s=A.heap[1],A.heap[--A.heap_max]=B,A.heap[--A.heap_max]=s,e[n*2]=e[B*2]+e[s*2],A.depth[n]=(A.depth[B]>=A.depth[s]?A.depth[B]:A.depth[s])+1,e[B*2+1]=e[s*2+1]=n,A.heap[1]=n++,Bt(A,e,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],wa(A,t),nn(e,I,A.bl_count)},Ii=(A,t,e)=>{let i,r=-1,o,B=t[0*2+1],s=0,I=7,n=4;for(B===0&&(I=138,n=3),t[(e+1)*2+1]=65535,i=0;i<=e;i++)o=B,B=t[(i+1)*2+1],!(++s<I&&o===B)&&(s<n?A.bl_tree[o*2]+=s:o!==0?(o!==r&&A.bl_tree[o*2]++,A.bl_tree[Zi*2]++):s<=10?A.bl_tree[Pi*2]++:A.bl_tree[Xi*2]++,s=0,r=o,B===0?(I=138,n=3):o===B?(I=6,n=3):(I=7,n=4))},li=(A,t,e)=>{let i,r=-1,o,B=t[0*2+1],s=0,I=7,n=4;for(B===0&&(I=138,n=3),i=0;i<=e;i++)if(o=B,B=t[(i+1)*2+1],!(++s<I&&o===B)){if(s<n)do hA(A,o,A.bl_tree);while(--s!==0);else o!==0?(o!==r&&(hA(A,o,A.bl_tree),s--),hA(A,Zi,A.bl_tree),tA(A,s-3,2)):s<=10?(hA(A,Pi,A.bl_tree),tA(A,s-3,3)):(hA(A,Xi,A.bl_tree),tA(A,s-11,7));s=0,r=o,B===0?(I=138,n=3):o===B?(I=6,n=3):(I=7,n=4)}},pa=A=>{let t;for(Ii(A,A.dyn_ltree,A.l_desc.max_code),Ii(A,A.dyn_dtree,A.d_desc.max_code),_t(A,A.bl_desc),t=Gt-1;t>=3&&A.bl_tree[Wi[t]*2+1]===0;t--);return A.opt_len+=3*(t+1)+5+5+4,t},_a=(A,t,e,i)=>{let r;for(tA(A,t-257,5),tA(A,e-1,5),tA(A,i-4,4),r=0;r<i;r++)tA(A,A.bl_tree[Wi[r]*2+1],3);li(A,A.dyn_ltree,t-1),li(A,A.dyn_dtree,e-1)},ya=A=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&A.dyn_ltree[e*2]!==0)return 0;if(A.dyn_ltree[9*2]!==0||A.dyn_ltree[10*2]!==0||A.dyn_ltree[13*2]!==0)return 1;for(e=32;e<Be;e++)if(A.dyn_ltree[e*2]!==0)return 1;return 0},Bi=!1,ma=A=>{Bi||(Da(),Bi=!0),A.l_desc=new lt(A.dyn_ltree,ji),A.d_desc=new lt(A.dyn_dtree,$i),A.bl_desc=new lt(A.bl_tree,An),A.bi_buf=0,A.bi_valid=0,an(A)},on=(A,t,e,i)=>{tA(A,(fa<<1)+(i?1:0),3),rn(A),oe(A,e),oe(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e},xa=A=>{tA(A,zi<<1,3),hA(A,Rt,uA),ua(A)},ka=(A,t,e,i)=>{let r,o,B=0;A.level>0?(A.strm.data_type===2&&(A.strm.data_type=ya(A)),_t(A,A.l_desc),_t(A,A.d_desc),B=pa(A),r=A.opt_len+3+7>>>3,o=A.static_len+3+7>>>3,o<=r&&(r=o)):r=o=e+5,e+4<=r&&t!==-1?on(A,t,e,i):A.strategy===4||o===r?(tA(A,(zi<<1)+(i?1:0),3),si(A,uA,ee)):(tA(A,(Ca<<1)+(i?1:0),3),_a(A,A.l_desc.max_code+1,A.d_desc.max_code+1,B+1),si(A,A.dyn_ltree,A.dyn_dtree)),an(A),i&&rn(A)},Fa=(A,t,e)=>(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=e,t===0?A.dyn_ltree[e*2]++:(A.matches++,t--,A.dyn_ltree[(re[e]+Be+1)*2]++,A.dyn_dtree[en(t)*2]++),A.sym_next===A.sym_end),Sa=ma,ba=on,va=ka,Ga=Fa,Ra=xa,La={_tr_init:Sa,_tr_stored_block:ba,_tr_flush_block:va,_tr_tally:Ga,_tr_align:Ra},Ua=(A,t,e,i)=>{let r=A&65535|0,o=A>>>16&65535|0,B=0;for(;e!==0;){B=e>2e3?2e3:e,e-=B;do r=r+t[i++]|0,o=o+r|0;while(--B);r%=65521,o%=65521}return r|o<<16|0},ge=Ua,Ma=()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=A&1?3988292384^A>>>1:A>>>1;t[e]=A}return t},Na=new Uint32Array(Ma()),Ta=(A,t,e,i)=>{let r=Na,o=i+e;A^=-1;for(let B=i;B<o;B++)A=A>>>8^r[(A^t[B])&255];return A^-1},W=Ta,UA={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"},ZA={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:qa,_tr_stored_block:yt,_tr_flush_block:Ha,_tr_tally:FA,_tr_align:Ja}=La,{Z_NO_FLUSH:SA,Z_PARTIAL_FLUSH:Oa,Z_FULL_FLUSH:Ya,Z_FINISH:sA,Z_BLOCK:fi,Z_OK:$,Z_STREAM_END:Ci,Z_STREAM_ERROR:EA,Z_DATA_ERROR:Ka,Z_BUF_ERROR:ft,Z_DEFAULT_COMPRESSION:za,Z_FILTERED:Va,Z_HUFFMAN_ONLY:ve,Z_RLE:Za,Z_FIXED:Pa,Z_DEFAULT_STRATEGY:Xa,Z_UNKNOWN:Wa,Z_DEFLATED:He}=ZA,ja=9,$a=15,Ar=8,er=29,tr=256,mt=tr+1+er,ir=30,nr=19,ar=2*mt+1,rr=15,J=3,kA=258,QA=kA+J+1,or=32,KA=42,Ut=57,xt=69,kt=73,Ft=91,St=103,RA=113,$A=666,eA=1,PA=2,MA=3,XA=4,gr=3,LA=(A,t)=>(A.msg=UA[t],t),hi=A=>A*2-(A>4?9:0),xA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},sr=A=>{let t,e,i,r=A.w_size;t=A.hash_size,i=t;do e=A.head[--i],A.head[i]=e>=r?e-r:0;while(--t);t=r,i=t;do e=A.prev[--i],A.prev[i]=e>=r?e-r:0;while(--t)},Ir=(A,t,e)=>(t<<A.hash_shift^e)&A.hash_mask,bA=Ir,iA=A=>{let t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),e!==0&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},nA=(A,t)=>{Ha(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,iA(A.strm)},Y=(A,t)=>{A.pending_buf[A.pending++]=t},jA=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=t&255},bt=(A,t,e,i)=>{let r=A.avail_in;return r>i&&(r=i),r===0?0:(A.avail_in-=r,t.set(A.input.subarray(A.next_in,A.next_in+r),e),A.state.wrap===1?A.adler=ge(A.adler,t,r,e):A.state.wrap===2&&(A.adler=W(A.adler,t,r,e)),A.next_in+=r,A.total_in+=r,r)},gn=(A,t)=>{let e=A.max_chain_length,i=A.strstart,r,o,B=A.prev_length,s=A.nice_match,I=A.strstart>A.w_size-QA?A.strstart-(A.w_size-QA):0,n=A.window,a=A.w_mask,Q=A.prev,l=A.strstart+kA,g=n[i+B-1],C=n[i+B];A.prev_length>=A.good_match&&(e>>=2),s>A.lookahead&&(s=A.lookahead);do if(r=t,!(n[r+B]!==C||n[r+B-1]!==g||n[r]!==n[i]||n[++r]!==n[i+1])){i+=2,r++;do;while(n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&n[++i]===n[++r]&&i<l);if(o=kA-(l-i),i=l-kA,o>B){if(A.match_start=t,B=o,o>=s)break;g=n[i+B-1],C=n[i+B]}}while((t=Q[t&a])>I&&--e!==0);return B<=A.lookahead?B:A.lookahead},zA=A=>{let t=A.w_size,e,i,r;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-QA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),sr(A),i+=t),A.strm.avail_in===0)break;if(e=bt(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=J)for(r=A.strstart-A.insert,A.ins_h=A.window[r],A.ins_h=bA(A,A.ins_h,A.window[r+1]);A.insert&&(A.ins_h=bA(A,A.ins_h,A.window[r+J-1]),A.prev[r&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=r,r++,A.insert--,!(A.lookahead+A.insert<J)););}while(A.lookahead<QA&&A.strm.avail_in!==0)},sn=(A,t)=>{let e=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,i,r,o,B=0,s=A.strm.avail_in;do{if(i=65535,o=A.bi_valid+42>>3,A.strm.avail_out<o||(o=A.strm.avail_out-o,r=A.strstart-A.block_start,i>r+A.strm.avail_in&&(i=r+A.strm.avail_in),i>o&&(i=o),i<e&&(i===0&&t!==sA||t===SA||i!==r+A.strm.avail_in)))break;B=t===sA&&i===r+A.strm.avail_in?1:0,yt(A,0,0,B),A.pending_buf[A.pending-4]=i,A.pending_buf[A.pending-3]=i>>8,A.pending_buf[A.pending-2]=~i,A.pending_buf[A.pending-1]=~i>>8,iA(A.strm),r&&(r>i&&(r=i),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+r),A.strm.next_out),A.strm.next_out+=r,A.strm.avail_out-=r,A.strm.total_out+=r,A.block_start+=r,i-=r),i&&(bt(A.strm,A.strm.output,A.strm.next_out,i),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i)}while(B===0);return s-=A.strm.avail_in,s&&(s>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=s&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-s,A.strm.next_in),A.strstart),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),B?XA:t!==SA&&t!==sA&&A.strm.avail_in===0&&A.strstart===A.block_start?PA:(o=A.window_size-A.strstart,A.strm.avail_in>o&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,o+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),o>A.strm.avail_in&&(o=A.strm.avail_in),o&&(bt(A.strm,A.window,A.strstart,o),A.strstart+=o,A.insert+=o>A.w_size-A.insert?A.w_size-A.insert:o),A.high_water<A.strstart&&(A.high_water=A.strstart),o=A.bi_valid+42>>3,o=A.pending_buf_size-o>65535?65535:A.pending_buf_size-o,e=o>A.w_size?A.w_size:o,r=A.strstart-A.block_start,(r>=e||(r||t===sA)&&t!==SA&&A.strm.avail_in===0&&r<=o)&&(i=r>o?o:r,B=t===sA&&A.strm.avail_in===0&&i===r?1:0,yt(A,A.block_start,i,B),A.block_start+=i,iA(A.strm)),B?MA:eA)},Ct=(A,t)=>{let e,i;for(;;){if(A.lookahead<QA){if(zA(A),A.lookahead<QA&&t===SA)return eA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),e!==0&&A.strstart-e<=A.w_size-QA&&(A.match_length=gn(A,e)),A.match_length>=J)if(i=FA(A,A.strstart-A.match_start,A.match_length-J),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=J){A.match_length--;do A.strstart++,A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=bA(A,A.ins_h,A.window[A.strstart+1]);else i=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=A.strstart<J-1?A.strstart:J-1,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},JA=(A,t)=>{let e,i,r;for(;;){if(A.lookahead<QA){if(zA(A),A.lookahead<QA&&t===SA)return eA;if(A.lookahead===0)break}if(e=0,A.lookahead>=J&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=J-1,e!==0&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-QA&&(A.match_length=gn(A,e),A.match_length<=5&&(A.strategy===Va||A.match_length===J&&A.strstart-A.match_start>4096)&&(A.match_length=J-1)),A.prev_length>=J&&A.match_length<=A.prev_length){r=A.strstart+A.lookahead-J,i=FA(A,A.strstart-1-A.prev_match,A.prev_length-J),A.lookahead-=A.prev_length-1,A.prev_length-=2;do++A.strstart<=r&&(A.ins_h=bA(A,A.ins_h,A.window[A.strstart+J-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart);while(--A.prev_length!==0);if(A.match_available=0,A.match_length=J-1,A.strstart++,i&&(nA(A,!1),A.strm.avail_out===0))return eA}else if(A.match_available){if(i=FA(A,0,A.window[A.strstart-1]),i&&nA(A,!1),A.strstart++,A.lookahead--,A.strm.avail_out===0)return eA}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=FA(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<J-1?A.strstart:J-1,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},lr=(A,t)=>{let e,i,r,o,B=A.window;for(;;){if(A.lookahead<=kA){if(zA(A),A.lookahead<=kA&&t===SA)return eA;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=J&&A.strstart>0&&(r=A.strstart-1,i=B[r],i===B[++r]&&i===B[++r]&&i===B[++r])){o=A.strstart+kA;do;while(i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&i===B[++r]&&r<o);A.match_length=kA-(o-r),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=J?(e=FA(A,1,A.match_length-J),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=0,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA},Br=(A,t)=>{let e;for(;;){if(A.lookahead===0&&(zA(A),A.lookahead===0)){if(t===SA)return eA;break}if(A.match_length=0,e=FA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(nA(A,!1),A.strm.avail_out===0))return eA}return A.insert=0,t===sA?(nA(A,!0),A.strm.avail_out===0?MA:XA):A.sym_next&&(nA(A,!1),A.strm.avail_out===0)?eA:PA};Ae=[new CA(0,0,0,0,sn),new CA(4,4,8,4,Ct),new CA(4,5,16,8,Ct),new CA(4,6,32,32,Ct),new CA(4,4,16,16,JA),new CA(8,16,32,32,JA),new CA(8,16,128,128,JA),new CA(8,32,128,256,JA),new CA(32,128,258,1024,JA),new CA(32,258,258,4096,JA)],fr=A=>{A.window_size=2*A.w_size,xA(A.head),A.max_lazy_match=Ae[A.level].max_lazy,A.good_match=Ae[A.level].good_length,A.nice_match=Ae[A.level].nice_length,A.max_chain_length=Ae[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=J-1,A.match_available=0,A.ins_h=0};fe=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.status!==KA&&t.status!==Ut&&t.status!==xt&&t.status!==kt&&t.status!==Ft&&t.status!==St&&t.status!==RA&&t.status!==$A?1:0},In=A=>{if(fe(A))return LA(A,EA);A.total_in=A.total_out=0,A.data_type=Wa;let t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ut:t.wrap?KA:RA,A.adler=t.wrap===2?0:1,t.last_flush=-2,qa(t),$},ln=A=>{let t=In(A);return t===$&&fr(A.state),t},hr=(A,t)=>fe(A)||A.state.wrap!==2?EA:(A.state.gzhead=t,$),Bn=(A,t,e,i,r,o)=>{if(!A)return EA;let B=1;if(t===za&&(t=6),i<0?(B=0,i=-i):i>15&&(B=2,i-=16),r<1||r>ja||e!==He||i<8||i>15||t<0||t>9||o<0||o>Pa||i===8&&B!==1)return LA(A,EA);i===8&&(i=9);let s=new Cr;return A.state=s,s.strm=A,s.status=KA,s.wrap=B,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+J-1)/J),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=o,s.method=e,ln(A)},Er=(A,t)=>Bn(A,t,He,$a,Ar,Xa),Qr=(A,t)=>{if(fe(A)||t>fi||t<0)return A?LA(A,EA):EA;let e=A.state;if(!A.output||A.avail_in!==0&&!A.input||e.status===$A&&t!==sA)return LA(A,A.avail_out===0?ft:EA);let i=e.last_flush;if(e.last_flush=t,e.pending!==0){if(iA(A),A.avail_out===0)return e.last_flush=-1,$}else if(A.avail_in===0&&hi(t)<=hi(i)&&t!==sA)return LA(A,ft);if(e.status===$A&&A.avail_in!==0)return LA(A,ft);if(e.status===KA&&e.wrap===0&&(e.status=RA),e.status===KA){let r=He+(e.w_bits-8<<4)<<8,o=-1;if(e.strategy>=ve||e.level<2?o=0:e.level<6?o=1:e.level===6?o=2:o=3,r|=o<<6,e.strstart!==0&&(r|=or),r+=31-r%31,jA(e,r),e.strstart!==0&&(jA(e,A.adler>>>16),jA(e,A.adler&65535)),A.adler=1,e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(e.status===Ut){if(A.adler=0,Y(e,31),Y(e,139),Y(e,8),e.gzhead)Y(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),Y(e,e.gzhead.time&255),Y(e,e.gzhead.time>>8&255),Y(e,e.gzhead.time>>16&255),Y(e,e.gzhead.time>>24&255),Y(e,e.level===9?2:e.strategy>=ve||e.level<2?4:0),Y(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(Y(e,e.gzhead.extra.length&255),Y(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=W(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=xt;else if(Y(e,0),Y(e,0),Y(e,0),Y(e,0),Y(e,0),Y(e,e.level===9?2:e.strategy>=ve||e.level<2?4:0),Y(e,gr),e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(e.status===xt){if(e.gzhead.extra){let r=e.pending,o=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+o>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=s,iA(A),e.pending!==0)return e.last_flush=-1,$;r=0,o-=s}let B=new Uint8Array(e.gzhead.extra);e.pending_buf.set(B.subarray(e.gzindex,e.gzindex+o),e.pending),e.pending+=o,e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=kt}if(e.status===kt){if(e.gzhead.name){let r=e.pending,o;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),iA(A),e.pending!==0)return e.last_flush=-1,$;r=0}e.gzindex<e.gzhead.name.length?o=e.gzhead.name.charCodeAt(e.gzindex++)&255:o=0,Y(e,o)}while(o!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=Ft}if(e.status===Ft){if(e.gzhead.comment){let r=e.pending,o;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r)),iA(A),e.pending!==0)return e.last_flush=-1,$;r=0}e.gzindex<e.gzhead.comment.length?o=e.gzhead.comment.charCodeAt(e.gzindex++)&255:o=0,Y(e,o)}while(o!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=W(A.adler,e.pending_buf,e.pending-r,r))}e.status=St}if(e.status===St){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(iA(A),e.pending!==0))return e.last_flush=-1,$;Y(e,A.adler&255),Y(e,A.adler>>8&255),A.adler=0}if(e.status=RA,iA(A),e.pending!==0)return e.last_flush=-1,$}if(A.avail_in!==0||e.lookahead!==0||t!==SA&&e.status!==$A){let r=e.level===0?sn(e,t):e.strategy===ve?Br(e,t):e.strategy===Za?lr(e,t):Ae[e.level].func(e,t);if((r===MA||r===XA)&&(e.status=$A),r===eA||r===MA)return A.avail_out===0&&(e.last_flush=-1),$;if(r===PA&&(t===Oa?Ja(e):t!==fi&&(yt(e,0,0,!1),t===Ya&&(xA(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),iA(A),A.avail_out===0))return e.last_flush=-1,$}return t!==sA?$:e.wrap<=0?Ci:(e.wrap===2?(Y(e,A.adler&255),Y(e,A.adler>>8&255),Y(e,A.adler>>16&255),Y(e,A.adler>>24&255),Y(e,A.total_in&255),Y(e,A.total_in>>8&255),Y(e,A.total_in>>16&255),Y(e,A.total_in>>24&255)):(jA(e,A.adler>>>16),jA(e,A.adler&65535)),iA(A),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?$:Ci)},cr=A=>{if(fe(A))return EA;let t=A.state.status;return A.state=null,t===RA?LA(A,Ka):$},dr=(A,t)=>{let e=t.length;if(fe(A))return EA;let i=A.state,r=i.wrap;if(r===2||r===1&&i.status!==KA||i.lookahead)return EA;if(r===1&&(A.adler=ge(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){r===0&&(xA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let I=new Uint8Array(i.w_size);I.set(t.subarray(e-i.w_size,e),0),t=I,e=i.w_size}let o=A.avail_in,B=A.next_in,s=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,zA(i);i.lookahead>=J;){let I=i.strstart,n=i.lookahead-(J-1);do i.ins_h=bA(i,i.ins_h,i.window[I+J-1]),i.prev[I&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=I,I++;while(--n);i.strstart=I,i.lookahead=J-1,zA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=J-1,i.match_available=0,A.next_in=B,A.input=s,A.avail_in=o,i.wrap=r,$},ur=Er,wr=Bn,Dr=ln,pr=In,_r=hr,yr=Qr,mr=cr,xr=dr,kr="pako deflate (from Nodeca project)",te={deflateInit:ur,deflateInit2:wr,deflateReset:Dr,deflateResetKeep:pr,deflateSetHeader:_r,deflate:yr,deflateEnd:mr,deflateSetDictionary:xr,deflateInfo:kr},Fr=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),Sr=function(A){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let i in e)Fr(e,i)&&(A[i]=e[i])}}return A},br=A=>{let t=0;for(let i=0,r=A.length;i<r;i++)t+=A[i].length;let e=new Uint8Array(t);for(let i=0,r=0,o=A.length;i<o;i++){let B=A[i];e.set(B,r),r+=B.length}return e},Je={assign:Sr,flattenChunks:br},fn=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{fn=!1}se=new Uint8Array(256);for(let A=0;A<256;A++)se[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;se[254]=se[254]=1;vr=A=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let t,e,i,r,o,B=A.length,s=0;for(r=0;r<B;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<B&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),s+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(s),o=0,r=0;o<s;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<B&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),e<128?t[o++]=e:e<2048?(t[o++]=192|e>>>6,t[o++]=128|e&63):e<65536?(t[o++]=224|e>>>12,t[o++]=128|e>>>6&63,t[o++]=128|e&63):(t[o++]=240|e>>>18,t[o++]=128|e>>>12&63,t[o++]=128|e>>>6&63,t[o++]=128|e&63);return t},Gr=(A,t)=>{if(t<65534&&A.subarray&&fn)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e="";for(let i=0;i<t;i++)e+=String.fromCharCode(A[i]);return e},Rr=(A,t)=>{let e=t||A.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,t));let i,r,o=new Array(e*2);for(r=0,i=0;i<e;){let B=A[i++];if(B<128){o[r++]=B;continue}let s=se[B];if(s>4){o[r++]=65533,i+=s-1;continue}for(B&=s===2?31:s===3?15:7;s>1&&i<e;)B=B<<6|A[i++]&63,s--;if(s>1){o[r++]=65533;continue}B<65536?o[r++]=B:(B-=65536,o[r++]=55296|B>>10&1023,o[r++]=56320|B&1023)}return Gr(o,r)},Lr=(A,t)=>{t=t||A.length,t>A.length&&(t=A.length);let e=t-1;for(;e>=0&&(A[e]&192)===128;)e--;return e<0||e===0?t:e+se[A[e]]>t?e:t},Ie={string2buf:vr,buf2string:Rr,utf8border:Lr};Cn=Ur,hn=Object.prototype.toString,{Z_NO_FLUSH:Mr,Z_SYNC_FLUSH:Nr,Z_FULL_FLUSH:Tr,Z_FINISH:qr,Z_OK:Te,Z_STREAM_END:Hr,Z_DEFAULT_COMPRESSION:Jr,Z_DEFAULT_STRATEGY:Or,Z_DEFLATED:Yr}=ZA;Ce.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r,o;if(this.ended)return!1;for(t===~~t?o=t:o=t===!0?qr:Mr,typeof A=="string"?e.input=Ie.string2buf(A):hn.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(o===Nr||o===Tr)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(r=te.deflate(e,o),r===Hr)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=te.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Te;if(e.avail_out===0){this.onData(e.output);continue}if(o>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Ce.prototype.onData=function(A){this.chunks.push(A)};Ce.prototype.onEnd=function(A){A===Te&&(this.result=Je.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};Vr=Ce,Zr=Mt,Pr=Kr,Xr=zr,Wr=ZA,jr={Deflate:Vr,deflate:Zr,deflateRaw:Pr,gzip:Xr,constants:Wr},Ge=16209,$r=16191,Ao=function(t,e){let i,r,o,B,s,I,n,a,Q,l,g,C,f,E,d,u,w,D,c,h,_,p,S,m,x=t.state;i=t.next_in,S=t.input,r=i+(t.avail_in-5),o=t.next_out,m=t.output,B=o-(e-t.avail_out),s=o+(t.avail_out-257),I=x.dmax,n=x.wsize,a=x.whave,Q=x.wnext,l=x.window,g=x.hold,C=x.bits,f=x.lencode,E=x.distcode,d=(1<<x.lenbits)-1,u=(1<<x.distbits)-1;A:do{C<15&&(g+=S[i++]<<C,C+=8,g+=S[i++]<<C,C+=8),w=f[g&d];e:for(;;){if(D=w>>>24,g>>>=D,C-=D,D=w>>>16&255,D===0)m[o++]=w&65535;else if(D&16){c=w&65535,D&=15,D&&(C<D&&(g+=S[i++]<<C,C+=8),c+=g&(1<<D)-1,g>>>=D,C-=D),C<15&&(g+=S[i++]<<C,C+=8,g+=S[i++]<<C,C+=8),w=E[g&u];t:for(;;){if(D=w>>>24,g>>>=D,C-=D,D=w>>>16&255,D&16){if(h=w&65535,D&=15,C<D&&(g+=S[i++]<<C,C+=8,C<D&&(g+=S[i++]<<C,C+=8)),h+=g&(1<<D)-1,h>I){t.msg="invalid distance too far back",x.mode=Ge;break A}if(g>>>=D,C-=D,D=o-B,h>D){if(D=h-D,D>a&&x.sane){t.msg="invalid distance too far back",x.mode=Ge;break A}if(_=0,p=l,Q===0){if(_+=n-D,D<c){c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}}else if(Q<D){if(_+=n+Q-D,D-=Q,D<c){c-=D;do m[o++]=l[_++];while(--D);if(_=0,Q<c){D=Q,c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}}}else if(_+=Q-D,D<c){c-=D;do m[o++]=l[_++];while(--D);_=o-h,p=m}for(;c>2;)m[o++]=p[_++],m[o++]=p[_++],m[o++]=p[_++],c-=3;c&&(m[o++]=p[_++],c>1&&(m[o++]=p[_++]))}else{_=o-h;do m[o++]=m[_++],m[o++]=m[_++],m[o++]=m[_++],c-=3;while(c>2);c&&(m[o++]=m[_++],c>1&&(m[o++]=m[_++]))}}else if(D&64){t.msg="invalid distance code",x.mode=Ge;break A}else{w=E[(w&65535)+(g&(1<<D)-1)];continue t}break}}else if(D&64)if(D&32){x.mode=$r;break A}else{t.msg="invalid literal/length code",x.mode=Ge;break A}else{w=f[(w&65535)+(g&(1<<D)-1)];continue e}break}}while(i<r&&o<s);c=C>>3,i-=c,C-=c<<3,g&=(1<<C)-1,t.next_in=i,t.next_out=o,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=o<s?257+(s-o):257-(o-s),x.hold=g,x.bits=C},OA=15,Ei=852,Qi=592,ci=0,ht=1,di=2,eo=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]),to=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]),io=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]),no=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]),ao=(A,t,e,i,r,o,B,s)=>{let I=s.bits,n=0,a=0,Q=0,l=0,g=0,C=0,f=0,E=0,d=0,u=0,w,D,c,h,_,p=null,S,m=new Uint16Array(OA+1),x=new Uint16Array(OA+1),k=null,T,F,y;for(n=0;n<=OA;n++)m[n]=0;for(a=0;a<i;a++)m[t[e+a]]++;for(g=I,l=OA;l>=1&&m[l]===0;l--);if(g>l&&(g=l),l===0)return r[o++]=1<<24|64<<16|0,r[o++]=1<<24|64<<16|0,s.bits=1,0;for(Q=1;Q<l&&m[Q]===0;Q++);for(g<Q&&(g=Q),E=1,n=1;n<=OA;n++)if(E<<=1,E-=m[n],E<0)return-1;if(E>0&&(A===ci||l!==1))return-1;for(x[1]=0,n=1;n<OA;n++)x[n+1]=x[n]+m[n];for(a=0;a<i;a++)t[e+a]!==0&&(B[x[t[e+a]]++]=a);if(A===ci?(p=k=B,S=20):A===ht?(p=eo,k=to,S=257):(p=io,k=no,S=0),u=0,a=0,n=Q,_=o,C=g,f=0,c=-1,d=1<<g,h=d-1,A===ht&&d>Ei||A===di&&d>Qi)return 1;for(;;){T=n-f,B[a]+1<S?(F=0,y=B[a]):B[a]>=S?(F=k[B[a]-S],y=p[B[a]-S]):(F=32+64,y=0),w=1<<n-f,D=1<<C,Q=D;do D-=w,r[_+(u>>f)+D]=T<<24|F<<16|y|0;while(D!==0);for(w=1<<n-1;u&w;)w>>=1;if(w!==0?(u&=w-1,u+=w):u=0,a++,--m[n]===0){if(n===l)break;n=t[e+B[a]]}if(n>g&&(u&h)!==c){for(f===0&&(f=g),_+=Q,C=n-f,E=1<<C;C+f<l&&(E-=m[C+f],!(E<=0));)C++,E<<=1;if(d+=1<<C,A===ht&&d>Ei||A===di&&d>Qi)return 1;c=u&h,r[c]=g<<24|C<<16|_-o|0}}return u!==0&&(r[_+u]=n-f<<24|64<<16|0),s.bits=g,0},ie=ao,ro=0,En=1,Qn=2,{Z_FINISH:ui,Z_BLOCK:oo,Z_TREES:Re,Z_OK:NA,Z_STREAM_END:go,Z_NEED_DICT:so,Z_STREAM_ERROR:IA,Z_DATA_ERROR:cn,Z_MEM_ERROR:dn,Z_BUF_ERROR:Io,Z_DEFLATED:wi}=ZA,Oe=16180,Di=16181,pi=16182,_i=16183,yi=16184,mi=16185,xi=16186,ki=16187,Fi=16188,Si=16189,qe=16190,dA=16191,Et=16192,bi=16193,Qt=16194,vi=16195,Gi=16196,Ri=16197,Li=16198,Le=16199,Ue=16200,Ui=16201,Mi=16202,Ni=16203,Ti=16204,qi=16205,ct=16206,Hi=16207,Ji=16208,z=16209,un=16210,wn=16211,lo=852,Bo=592,fo=15,Co=fo,Oi=A=>(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24);TA=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.mode<Oe||t.mode>wn?1:0},Dn=A=>{if(TA(A))return IA;let t=A.state;return A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.adler=t.wrap&1),t.mode=Oe,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(lo),t.distcode=t.distdyn=new Int32Array(Bo),t.sane=1,t.back=-1,NA},pn=A=>{if(TA(A))return IA;let t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,Dn(A)},_n=(A,t)=>{let e;if(TA(A))return IA;let i=A.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?IA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,pn(A))},yn=(A,t)=>{if(!A)return IA;let e=new ho;A.state=e,e.strm=A,e.window=null,e.mode=Oe;let i=_n(A,t);return i!==NA&&(A.state=null),i},Eo=A=>yn(A,Co),Yi=!0,Qo=A=>{if(Yi){dt=new Int32Array(512),ut=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(ie(En,A.lens,0,288,dt,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;ie(Qn,A.lens,0,32,ut,0,A.work,{bits:5}),Yi=!1}A.lencode=dt,A.lenbits=9,A.distcode=ut,A.distbits=5},mn=(A,t,e,i)=>{let r,o=A.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(t.subarray(e-o.wsize,e),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(t.subarray(e-i,e-i+r),o.wnext),i-=r,i?(o.window.set(t.subarray(e-i,e),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=r))),0},co=(A,t)=>{let e,i,r,o,B,s,I,n,a,Q,l,g,C,f,E=0,d,u,w,D,c,h,_,p,S=new Uint8Array(4),m,x,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(TA(A)||!A.output||!A.input&&A.avail_in!==0)return IA;e=A.state,e.mode===dA&&(e.mode=Et),B=A.next_out,r=A.output,I=A.avail_out,o=A.next_in,i=A.input,s=A.avail_in,n=e.hold,a=e.bits,Q=s,l=I,p=NA;A:for(;;)switch(e.mode){case Oe:if(e.wrap===0){e.mode=Et;break}for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&2&&n===35615){e.wbits===0&&(e.wbits=15),e.check=0,S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0),n=0,a=0,e.mode=Di;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((n&255)<<8)+(n>>8))%31){A.msg="incorrect header check",e.mode=z;break}if((n&15)!==wi){A.msg="unknown compression method",e.mode=z;break}if(n>>>=4,a-=4,_=(n&15)+8,e.wbits===0&&(e.wbits=_),_>15||_>e.wbits){A.msg="invalid window size",e.mode=z;break}e.dmax=1<<e.wbits,e.flags=0,A.adler=e.check=1,e.mode=n&512?Si:dA,n=0,a=0;break;case Di:for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.flags=n,(e.flags&255)!==wi){A.msg="unknown compression method",e.mode=z;break}if(e.flags&57344){A.msg="unknown header flags set",e.mode=z;break}e.head&&(e.head.text=n>>8&1),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0,e.mode=pi;case pi:for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.head&&(e.head.time=n),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,S[2]=n>>>16&255,S[3]=n>>>24&255,e.check=W(e.check,S,4,0)),n=0,a=0,e.mode=_i;case _i:for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.head&&(e.head.xflags=n&255,e.head.os=n>>8),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0,e.mode=yi;case yi:if(e.flags&1024){for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.length=n,e.head&&(e.head.extra_len=n),e.flags&512&&e.wrap&4&&(S[0]=n&255,S[1]=n>>>8&255,e.check=W(e.check,S,2,0)),n=0,a=0}else e.head&&(e.head.extra=null);e.mode=mi;case mi:if(e.flags&1024&&(g=e.length,g>s&&(g=s),g&&(e.head&&(_=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(o,o+g),_)),e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,e.length-=g),e.length))break A;e.length=0,e.mode=xi;case xi:if(e.flags&2048){if(s===0)break A;g=0;do _=i[o+g++],e.head&&_&&e.length<65536&&(e.head.name+=String.fromCharCode(_));while(_&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,_)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=ki;case ki:if(e.flags&4096){if(s===0)break A;g=0;do _=i[o+g++],e.head&&_&&e.length<65536&&(e.head.comment+=String.fromCharCode(_));while(_&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=W(e.check,i,g,o)),s-=g,o+=g,_)break A}else e.head&&(e.head.comment=null);e.mode=Fi;case Fi:if(e.flags&512){for(;a<16;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&4&&n!==(e.check&65535)){A.msg="header crc mismatch",e.mode=z;break}n=0,a=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=dA;break;case Si:for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}A.adler=e.check=Oi(n),n=0,a=0,e.mode=qe;case qe:if(e.havedict===0)return A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,so;A.adler=e.check=1,e.mode=dA;case dA:if(t===oo||t===Re)break A;case Et:if(e.last){n>>>=a&7,a-=a&7,e.mode=ct;break}for(;a<3;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}switch(e.last=n&1,n>>>=1,a-=1,n&3){case 0:e.mode=bi;break;case 1:if(Qo(e),e.mode=Le,t===Re){n>>>=2,a-=2;break A}break;case 2:e.mode=Gi;break;case 3:A.msg="invalid block type",e.mode=z}n>>>=2,a-=2;break;case bi:for(n>>>=a&7,a-=a&7;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if((n&65535)!==(n>>>16^65535)){A.msg="invalid stored block lengths",e.mode=z;break}if(e.length=n&65535,n=0,a=0,e.mode=Qt,t===Re)break A;case Qt:e.mode=vi;case vi:if(g=e.length,g){if(g>s&&(g=s),g>I&&(g=I),g===0)break A;r.set(i.subarray(o,o+g),B),s-=g,o+=g,I-=g,B+=g,e.length-=g;break}e.mode=dA;break;case Gi:for(;a<14;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.nlen=(n&31)+257,n>>>=5,a-=5,e.ndist=(n&31)+1,n>>>=5,a-=5,e.ncode=(n&15)+4,n>>>=4,a-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=z;break}e.have=0,e.mode=Ri;case Ri:for(;e.have<e.ncode;){for(;a<3;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.lens[k[e.have++]]=n&7,n>>>=3,a-=3}for(;e.have<19;)e.lens[k[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,m={bits:e.lenbits},p=ie(ro,e.lens,0,19,e.lencode,0,e.work,m),e.lenbits=m.bits,p){A.msg="invalid code lengths set",e.mode=z;break}e.have=0,e.mode=Li;case Li:for(;e.have<e.nlen+e.ndist;){for(;E=e.lencode[n&(1<<e.lenbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(w<16)n>>>=d,a-=d,e.lens[e.have++]=w;else{if(w===16){for(x=d+2;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(n>>>=d,a-=d,e.have===0){A.msg="invalid bit length repeat",e.mode=z;break}_=e.lens[e.have-1],g=3+(n&3),n>>>=2,a-=2}else if(w===17){for(x=d+3;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=d,a-=d,_=0,g=3+(n&7),n>>>=3,a-=3}else{for(x=d+7;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=d,a-=d,_=0,g=11+(n&127),n>>>=7,a-=7}if(e.have+g>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=z;break}for(;g--;)e.lens[e.have++]=_}}if(e.mode===z)break;if(e.lens[256]===0){A.msg="invalid code -- missing end-of-block",e.mode=z;break}if(e.lenbits=9,m={bits:e.lenbits},p=ie(En,e.lens,0,e.nlen,e.lencode,0,e.work,m),e.lenbits=m.bits,p){A.msg="invalid literal/lengths set",e.mode=z;break}if(e.distbits=6,e.distcode=e.distdyn,m={bits:e.distbits},p=ie(Qn,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,m),e.distbits=m.bits,p){A.msg="invalid distances set",e.mode=z;break}if(e.mode=Le,t===Re)break A;case Le:e.mode=Ue;case Ue:if(s>=6&&I>=258){A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,Ao(A,l),B=A.next_out,r=A.output,I=A.avail_out,o=A.next_in,i=A.input,s=A.avail_in,n=e.hold,a=e.bits,e.mode===dA&&(e.back=-1);break}for(e.back=0;E=e.lencode[n&(1<<e.lenbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(u&&!(u&240)){for(D=d,c=u,h=w;E=e.lencode[h+((n&(1<<D+c)-1)>>D)],d=E>>>24,u=E>>>16&255,w=E&65535,!(D+d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=D,a-=D,e.back+=D}if(n>>>=d,a-=d,e.back+=d,e.length=w,u===0){e.mode=qi;break}if(u&32){e.back=-1,e.mode=dA;break}if(u&64){A.msg="invalid literal/length code",e.mode=z;break}e.extra=u&15,e.mode=Ui;case Ui:if(e.extra){for(x=e.extra;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.length+=n&(1<<e.extra)-1,n>>>=e.extra,a-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=Mi;case Mi:for(;E=e.distcode[n&(1<<e.distbits)-1],d=E>>>24,u=E>>>16&255,w=E&65535,!(d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(!(u&240)){for(D=d,c=u,h=w;E=e.distcode[h+((n&(1<<D+c)-1)>>D)],d=E>>>24,u=E>>>16&255,w=E&65535,!(D+d<=a);){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}n>>>=D,a-=D,e.back+=D}if(n>>>=d,a-=d,e.back+=d,u&64){A.msg="invalid distance code",e.mode=z;break}e.offset=w,e.extra=u&15,e.mode=Ni;case Ni:if(e.extra){for(x=e.extra;a<x;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}e.offset+=n&(1<<e.extra)-1,n>>>=e.extra,a-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=z;break}e.mode=Ti;case Ti:if(I===0)break A;if(g=l-I,e.offset>g){if(g=e.offset-g,g>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=z;break}g>e.wnext?(g-=e.wnext,C=e.wsize-g):C=e.wnext-g,g>e.length&&(g=e.length),f=e.window}else f=r,C=B-e.offset,g=e.length;g>I&&(g=I),I-=g,e.length-=g;do r[B++]=f[C++];while(--g);e.length===0&&(e.mode=Ue);break;case qi:if(I===0)break A;r[B++]=e.length,I--,e.mode=Ue;break;case ct:if(e.wrap){for(;a<32;){if(s===0)break A;s--,n|=i[o++]<<a,a+=8}if(l-=I,A.total_out+=l,e.total+=l,e.wrap&4&&l&&(A.adler=e.check=e.flags?W(e.check,r,l,B-l):ge(e.check,r,l,B-l)),l=I,e.wrap&4&&(e.flags?n:Oi(n))!==e.check){A.msg="incorrect data check",e.mode=z;break}n=0,a=0}e.mode=Hi;case Hi:if(e.wrap&&e.flags){for(;a<32;){if(s===0)break A;s--,n+=i[o++]<<a,a+=8}if(e.wrap&4&&n!==(e.total&4294967295)){A.msg="incorrect length check",e.mode=z;break}n=0,a=0}e.mode=Ji;case Ji:p=go;break A;case z:p=cn;break A;case un:return dn;case wn:default:return IA}return A.next_out=B,A.avail_out=I,A.next_in=o,A.avail_in=s,e.hold=n,e.bits=a,(e.wsize||l!==A.avail_out&&e.mode<z&&(e.mode<ct||t!==ui))&&mn(A,A.output,A.next_out,l-A.avail_out),Q-=A.avail_in,l-=A.avail_out,A.total_in+=Q,A.total_out+=l,e.total+=l,e.wrap&4&&l&&(A.adler=e.check=e.flags?W(e.check,r,l,A.next_out-l):ge(e.check,r,l,A.next_out-l)),A.data_type=e.bits+(e.last?64:0)+(e.mode===dA?128:0)+(e.mode===Le||e.mode===Qt?256:0),(Q===0&&l===0||t===ui)&&p===NA&&(p=Io),p},uo=A=>{if(TA(A))return IA;let t=A.state;return t.window&&(t.window=null),A.state=null,NA},wo=(A,t)=>{if(TA(A))return IA;let e=A.state;return e.wrap&2?(e.head=t,t.done=!1,NA):IA},Do=(A,t)=>{let e=t.length,i,r,o;return TA(A)||(i=A.state,i.wrap!==0&&i.mode!==qe)?IA:i.mode===qe&&(r=1,r=ge(r,t,e,0),r!==i.check)?cn:(o=mn(A,t,e,e),o?(i.mode=un,dn):(i.havedict=1,NA))},po=pn,_o=_n,yo=Dn,mo=Eo,xo=yn,ko=co,Fo=uo,So=wo,bo=Do,vo="pako inflate (from Nodeca project)",wA={inflateReset:po,inflateReset2:_o,inflateResetKeep:yo,inflateInit:mo,inflateInit2:xo,inflate:ko,inflateEnd:Fo,inflateGetHeader:So,inflateSetDictionary:bo,inflateInfo:vo};Ro=Go,xn=Object.prototype.toString,{Z_NO_FLUSH:Lo,Z_FINISH:Uo,Z_OK:le,Z_STREAM_END:wt,Z_NEED_DICT:Dt,Z_STREAM_ERROR:Mo,Z_DATA_ERROR:Ki,Z_MEM_ERROR:No}=ZA;he.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r=this.options.dictionary,o,B,s;if(this.ended)return!1;for(t===~~t?B=t:B=t===!0?Uo:Lo,xn.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),o=wA.inflate(e,B),o===Dt&&r&&(o=wA.inflateSetDictionary(e,r),o===le?o=wA.inflate(e,B):o===Ki&&(o=Dt));e.avail_in>0&&o===wt&&e.state.wrap>0&&A[e.next_in]!==0;)wA.inflateReset(e),o=wA.inflate(e,B);switch(o){case Mo:case Ki:case Dt:case No:return this.onEnd(o),this.ended=!0,!1}if(s=e.avail_out,e.next_out&&(e.avail_out===0||o===wt))if(this.options.to==="string"){let I=Ie.utf8border(e.output,e.next_out),n=e.next_out-I,a=Ie.buf2string(e.output,I);e.next_out=n,e.avail_out=i-n,n&&e.output.set(e.output.subarray(I,I+n),0),this.onData(a)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(o===le&&s===0)){if(o===wt)return o=wA.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};he.prototype.onData=function(A){this.chunks.push(A)};he.prototype.onEnd=function(A){A===le&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Je.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};qo=he,Ho=Nt,Jo=To,Oo=Nt,Yo=ZA,Ko={Inflate:qo,inflate:Ho,inflateRaw:Jo,ungzip:Oo,constants:Yo},{Deflate:Ig,deflate:lg,deflateRaw:Bg,gzip:fg}=jr,{Inflate:Cg,inflate:zo,inflateRaw:hg,ungzip:Eg}=Ko,Ye=zo});var kn={};yA(kn,{default:()=>Ke});var Ke,Fn=gA(()=>{Tt();cA();Ke=class extends P{decodeBlock(t){return Ye(new Uint8Array(t)).buffer}}});var Sn={};yA(Sn,{default:()=>ze});var ze,bn=gA(()=>{cA();ze=class extends P{decodeBlock(t){let e=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let o=e.getInt8(r);if(o<0){let B=e.getUint8(r+1);o=-o;for(let s=0;s<=o;++s)i.push(B);r+=1}else{for(let B=0;B<=o;++B)i.push(e.getUint8(r+B+1));r+=o+1}}return new Uint8Array(i).buffer}}});var vn=Yt((wg,Ve)=>{(function(){var A=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,Q){Q=Q||{};var l=Q.encodedMaskData||Q.encodedMaskData===null,g=I(a,Q.inputOffset||0,l),C=Q.noDataValue!==null?Q.noDataValue:r.defaultNoDataValue,f=o(g,Q.pixelType||Float32Array,Q.encodedMaskData,C,Q.returnMask),E={width:g.width,height:g.height,pixelData:f.resultPixels,minValue:f.minValue,maxValue:g.pixels.maxValue,noDataValue:C};return f.resultMask&&(E.maskData=f.resultMask),Q.returnEncodedMask&&g.mask&&(E.encodedMaskData=g.mask.bitset?g.mask.bitset:null),Q.returnFileInfo&&(E.fileInfo=B(g),Q.computeUsedBitDepths&&(E.fileInfo.bitDepths=s(g))),E};var o=function(a,Q,l,g,C){var f=0,E=a.pixels.numBlocksX,d=a.pixels.numBlocksY,u=Math.floor(a.width/E),w=Math.floor(a.height/d),D=2*a.maxZError,c=Number.MAX_VALUE,h;l=l||(a.mask?a.mask.bitset:null);var _,p;_=new Q(a.width*a.height),C&&l&&(p=new Uint8Array(a.width*a.height));for(var S=new Float32Array(u*w),m,x,k=0;k<=d;k++){var T=k!==d?w:a.height%d;if(T!==0)for(var F=0;F<=E;F++){var y=F!==E?u:a.width%E;if(y!==0){var G=k*a.width*w+F*u,N=a.width-y,b=a.pixels.blocks[f],v,R,q;b.encoding<2?(b.encoding===0?v=b.rawData:(n(b.stuffedData,b.bitsPerPixel,b.numValidPixels,b.offset,D,S,a.pixels.maxValue),v=S),R=0):b.encoding===2?q=0:q=b.offset;var O;if(l)for(x=0;x<T;x++){for(G&7&&(O=l[G>>3],O<<=G&7),m=0;m<y;m++)G&7||(O=l[G>>3]),O&128?(p&&(p[G]=1),h=b.encoding<2?v[R++]:q,c=c>h?h:c,_[G++]=h):(p&&(p[G]=0),_[G++]=g),O<<=1;G+=N}else if(b.encoding<2)for(x=0;x<T;x++){for(m=0;m<y;m++)h=v[R++],c=c>h?h:c,_[G++]=h;G+=N}else for(c=c>q?q:c,x=0;x<T;x++){for(m=0;m<y;m++)_[G++]=q;G+=N}if(b.encoding===1&&R!==b.numValidPixels)throw"Block and Mask do not match";f++}}}return{resultPixels:_,resultMask:p,minValue:c}},B=function(a){return{fileIdentifierString:a.fileIdentifierString,fileVersion:a.fileVersion,imageType:a.imageType,height:a.height,width:a.width,maxZError:a.maxZError,eofOffset:a.eofOffset,mask:a.mask?{numBlocksX:a.mask.numBlocksX,numBlocksY:a.mask.numBlocksY,numBytes:a.mask.numBytes,maxValue:a.mask.maxValue}:null,pixels:{numBlocksX:a.pixels.numBlocksX,numBlocksY:a.pixels.numBlocksY,numBytes:a.pixels.numBytes,maxValue:a.pixels.maxValue,noDataValue:a.noDataValue}}},s=function(a){for(var Q=a.pixels.numBlocksX*a.pixels.numBlocksY,l={},g=0;g<Q;g++){var C=a.pixels.blocks[g];C.encoding===0?l.float32=!0:C.encoding===1?l[C.bitsPerPixel]=!0:l[0]=!0}return Object.keys(l)},I=function(a,Q,l){var g={},C=new Uint8Array(a,Q,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,C),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;Q+=10;var f=new DataView(a,Q,24);if(g.fileVersion=f.getInt32(0,!0),g.imageType=f.getInt32(4,!0),g.height=f.getUint32(8,!0),g.width=f.getUint32(12,!0),g.maxZError=f.getFloat64(16,!0),Q+=24,!l)if(f=new DataView(a,Q,16),g.mask={},g.mask.numBlocksY=f.getUint32(0,!0),g.mask.numBlocksX=f.getUint32(4,!0),g.mask.numBytes=f.getUint32(8,!0),g.mask.maxValue=f.getFloat32(12,!0),Q+=16,g.mask.numBytes>0){var E=new Uint8Array(Math.ceil(g.width*g.height/8));f=new DataView(a,Q,g.mask.numBytes);var d=f.getInt16(0,!0),u=2,w=0;do{if(d>0)for(;d--;)E[w++]=f.getUint8(u++);else{var D=f.getUint8(u++);for(d=-d;d--;)E[w++]=D}d=f.getInt16(u,!0),u+=2}while(u<g.mask.numBytes);if(d!==-32768||w<E.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=E,Q+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));f=new DataView(a,Q,16),g.pixels={},g.pixels.numBlocksY=f.getUint32(0,!0),g.pixels.numBlocksX=f.getUint32(4,!0),g.pixels.numBytes=f.getUint32(8,!0),g.pixels.maxValue=f.getFloat32(12,!0),Q+=16;var c=g.pixels.numBlocksX,h=g.pixels.numBlocksY,_=c+(g.width%c>0?1:0),p=h+(g.height%h>0?1:0);g.pixels.blocks=new Array(_*p);for(var S=0,m=0;m<p;m++)for(var x=0;x<_;x++){var k=0,T=a.byteLength-Q;f=new DataView(a,Q,Math.min(10,T));var F={};g.pixels.blocks[S++]=F;var y=f.getUint8(0);if(k++,F.encoding=y&63,F.encoding>3)throw"Invalid block encoding ("+F.encoding+")";if(F.encoding===2){Q++;continue}if(y!==0&&y!==2){if(y>>=6,F.offsetType=y,y===2)F.offset=f.getInt8(1),k++;else if(y===1)F.offset=f.getInt16(1,!0),k+=2;else if(y===0)F.offset=f.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(F.encoding===1)if(y=f.getUint8(k),k++,F.bitsPerPixel=y&63,y>>=6,F.numValidPixelsType=y,y===2)F.numValidPixels=f.getUint8(k),k++;else if(y===1)F.numValidPixels=f.getUint16(k,!0),k+=2;else if(y===0)F.numValidPixels=f.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(Q+=k,F.encoding!==3){var G,N;if(F.encoding===0){var b=(g.pixels.numBytes-1)/4;if(b!==Math.floor(b))throw"uncompressed block has invalid length";G=new ArrayBuffer(b*4),N=new Uint8Array(G),N.set(new Uint8Array(a,Q,b*4));var v=new Float32Array(G);F.rawData=v,Q+=b*4}else if(F.encoding===1){var R=Math.ceil(F.numValidPixels*F.bitsPerPixel/8),q=Math.ceil(R/4);G=new ArrayBuffer(q*4),N=new Uint8Array(G),N.set(new Uint8Array(a,Q,R)),F.stuffedData=new Uint32Array(G),Q+=R}}}return g.eofOffset=Q,g},n=function(a,Q,l,g,C,f,E){var d=(1<<Q)-1,u=0,w,D=0,c,h,_=Math.ceil((E-g)/C),p=a.length*4-Math.ceil(Q*l/8);for(a[a.length-1]<<=8*p,w=0;w<l;w++){if(D===0&&(h=a[u++],D=32),D>=Q)c=h>>>D-Q&d,D-=Q;else{var S=Q-D;c=(h&d)<<S&d,h=a[u++],D=32-S,c+=h>>>D}f[w]=c<_?g+c*C:E}return f};return r}(),t=function(){"use strict";var r={unstuff:function(I,n,a,Q,l,g,C,f){var E=(1<<a)-1,d=0,u,w=0,D,c,h,_,p=I.length*4-Math.ceil(a*Q/8);if(I[I.length-1]<<=8*p,l)for(u=0;u<Q;u++)w===0&&(c=I[d++],w=32),w>=a?(D=c>>>w-a&E,w-=a):(h=a-w,D=(c&E)<<h&E,c=I[d++],w=32-h,D+=c>>>w),n[u]=l[D];else for(_=Math.ceil((f-g)/C),u=0;u<Q;u++)w===0&&(c=I[d++],w=32),w>=a?(D=c>>>w-a&E,w-=a):(h=a-w,D=(c&E)<<h&E,c=I[d++],w=32-h,D+=c>>>w),n[u]=D<_?g+D*C:f},unstuffLUT:function(I,n,a,Q,l,g){var C=(1<<n)-1,f=0,E=0,d=0,u=0,w=0,D,c=[],h=I.length*4-Math.ceil(n*a/8);I[I.length-1]<<=8*h;var _=Math.ceil((g-Q)/l);for(E=0;E<a;E++)u===0&&(D=I[f++],u=32),u>=n?(w=D>>>u-n&C,u-=n):(d=n-u,w=(D&C)<<d&C,D=I[f++],u=32-d,w+=D>>>u),c[E]=w<_?Q+w*l:g;return c.unshift(Q),c},unstuff2:function(I,n,a,Q,l,g,C,f){var E=(1<<a)-1,d=0,u,w=0,D=0,c,h,_;if(l)for(u=0;u<Q;u++)w===0&&(h=I[d++],w=32,D=0),w>=a?(c=h>>>D&E,w-=a,D+=a):(_=a-w,c=h>>>D&E,h=I[d++],w=32-_,c|=(h&(1<<_)-1)<<a-_,D=_),n[u]=l[c];else{var p=Math.ceil((f-g)/C);for(u=0;u<Q;u++)w===0&&(h=I[d++],w=32,D=0),w>=a?(c=h>>>D&E,w-=a,D+=a):(_=a-w,c=h>>>D&E,h=I[d++],w=32-_,c|=(h&(1<<_)-1)<<a-_,D=_),n[u]=c<p?g+c*C:f}return n},unstuffLUT2:function(I,n,a,Q,l,g){var C=(1<<n)-1,f=0,E=0,d=0,u=0,w=0,D=0,c,h=[],_=Math.ceil((g-Q)/l);for(E=0;E<a;E++)u===0&&(c=I[f++],u=32,D=0),u>=n?(w=c>>>D&C,u-=n,D+=n):(d=n-u,w=c>>>D&C,c=I[f++],u=32-d,w|=(c&(1<<d)-1)<<n-d,D=d),h[E]=w<_?Q+w*l:g;return h.unshift(Q),h},originalUnstuff:function(I,n,a,Q){var l=(1<<a)-1,g=0,C,f=0,E,d,u,w=I.length*4-Math.ceil(a*Q/8);for(I[I.length-1]<<=8*w,C=0;C<Q;C++)f===0&&(d=I[g++],f=32),f>=a?(E=d>>>f-a&l,f-=a):(u=a-f,E=(d&l)<<u&l,d=I[g++],f=32-u,E+=d>>>f),n[C]=E;return n},originalUnstuff2:function(I,n,a,Q){var l=(1<<a)-1,g=0,C,f=0,E=0,d,u,w;for(C=0;C<Q;C++)f===0&&(u=I[g++],f=32,E=0),f>=a?(d=u>>>E&l,f-=a,E+=a):(w=a-f,d=u>>>E&l,u=I[g++],f=32-w,d|=(u&(1<<w)-1)<<a-w,E=w),n[C]=d;return n}},o={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(I){for(var n=65535,a=65535,Q=I.length,l=Math.floor(Q/2),g=0;l;){var C=l>=359?359:l;l-=C;do n+=I[g++]<<8,a+=n+=I[g++];while(--C);n=(n&65535)+(n>>>16),a=(a&65535)+(a>>>16)}return Q&1&&(a+=n+=I[g]<<8),n=(n&65535)+(n>>>16),a=(a&65535)+(a>>>16),(a<<16|n)>>>0},readHeaderInfo:function(I,n){var a=n.ptr,Q=new Uint8Array(I,a,6),l={};if(l.fileIdentifierString=String.fromCharCode.apply(null,Q),l.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+l.fileIdentifierString;a+=6;var g=new DataView(I,a,8),C=g.getInt32(0,!0);l.fileVersion=C,a+=4,C>=3&&(l.checksum=g.getUint32(4,!0),a+=4),g=new DataView(I,a,12),l.height=g.getUint32(0,!0),l.width=g.getUint32(4,!0),a+=8,C>=4?(l.numDims=g.getUint32(8,!0),a+=4):l.numDims=1,g=new DataView(I,a,40),l.numValidPixel=g.getUint32(0,!0),l.microBlockSize=g.getInt32(4,!0),l.blobSize=g.getInt32(8,!0),l.imageType=g.getInt32(12,!0),l.maxZError=g.getFloat64(16,!0),l.zMin=g.getFloat64(24,!0),l.zMax=g.getFloat64(32,!0),a+=40,n.headerInfo=l,n.ptr=a;var f,E;if(C>=3&&(E=C>=4?52:48,f=this.computeChecksumFletcher32(new Uint8Array(I,a-E,l.blobSize-14)),f!==l.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(I,n){var a=n.headerInfo,Q=this.getDataTypeArray(a.imageType),l=a.numDims*this.getDataTypeSize(a.imageType),g=this.readSubArray(I,n.ptr,Q,l),C=this.readSubArray(I,n.ptr+l,Q,l);n.ptr+=2*l;var f,E=!0;for(f=0;f<a.numDims;f++)if(g[f]!==C[f]){E=!1;break}return a.minValues=g,a.maxValues=C,E},readSubArray:function(I,n,a,Q){var l;if(a===Uint8Array)l=new Uint8Array(I,n,Q);else{var g=new ArrayBuffer(Q),C=new Uint8Array(g);C.set(new Uint8Array(I,n,Q)),l=new a(g)}return l},readMask:function(I,n){var a=n.ptr,Q=n.headerInfo,l=Q.width*Q.height,g=Q.numValidPixel,C=new DataView(I,a,4),f={};if(f.numBytes=C.getUint32(0,!0),a+=4,(g===0||l===g)&&f.numBytes!==0)throw"invalid mask";var E,d;if(g===0)E=new Uint8Array(Math.ceil(l/8)),f.bitset=E,d=new Uint8Array(l),n.pixels.resultMask=d,a+=f.numBytes;else if(f.numBytes>0){E=new Uint8Array(Math.ceil(l/8)),C=new DataView(I,a,f.numBytes);var u=C.getInt16(0,!0),w=2,D=0,c=0;do{if(u>0)for(;u--;)E[D++]=C.getUint8(w++);else for(c=C.getUint8(w++),u=-u;u--;)E[D++]=c;u=C.getInt16(w,!0),w+=2}while(w<f.numBytes);if(u!==-32768||D<E.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(l);var h=0,_=0;for(_=0;_<l;_++)_&7?(h=E[_>>3],h<<=_&7):h=E[_>>3],h&128&&(d[_]=1);n.pixels.resultMask=d,f.bitset=E,a+=f.numBytes}return n.ptr=a,n.mask=f,!0},readDataOneSweep:function(I,n,a,Q){var l=n.ptr,g=n.headerInfo,C=g.numDims,f=g.width*g.height,E=g.imageType,d=g.numValidPixel*o.getDataTypeSize(E)*C,u,w=n.pixels.resultMask;if(a===Uint8Array)u=new Uint8Array(I,l,d);else{var D=new ArrayBuffer(d),c=new Uint8Array(D);c.set(new Uint8Array(I,l,d)),u=new a(D)}if(u.length===f*C)Q?n.pixels.resultPixels=o.swapDimensionOrder(u,f,C,a,!0):n.pixels.resultPixels=u;else{n.pixels.resultPixels=new a(f*C);var h=0,_=0,p=0,S=0;if(C>1){if(Q){for(_=0;_<f;_++)if(w[_])for(S=_,p=0;p<C;p++,S+=f)n.pixels.resultPixels[S]=u[h++]}else for(_=0;_<f;_++)if(w[_])for(S=_*C,p=0;p<C;p++)n.pixels.resultPixels[S+p]=u[h++]}else for(_=0;_<f;_++)w[_]&&(n.pixels.resultPixels[_]=u[h++])}return l+=d,n.ptr=l,!0},readHuffmanTree:function(I,n){var a=this.HUFFMAN_LUT_BITS_MAX,Q=new DataView(I,n.ptr,16);n.ptr+=16;var l=Q.getInt32(0,!0);if(l<2)throw"unsupported Huffman version";var g=Q.getInt32(4,!0),C=Q.getInt32(8,!0),f=Q.getInt32(12,!0);if(C>=f)return!1;var E=new Uint32Array(f-C);o.decodeBits(I,n,E);var d=[],u,w,D,c;for(u=C;u<f;u++)w=u-(u<g?0:g),d[w]={first:E[u-C],second:null};var h=I.byteLength-n.ptr,_=Math.ceil(h/4),p=new ArrayBuffer(_*4),S=new Uint8Array(p);S.set(new Uint8Array(I,n.ptr,h));var m=new Uint32Array(p),x=0,k,T=0;for(k=m[0],u=C;u<f;u++)w=u-(u<g?0:g),c=d[w].first,c>0&&(d[w].second=k<<x>>>32-c,32-x>=c?(x+=c,x===32&&(x=0,T++,k=m[T])):(x+=c-32,T++,k=m[T],d[w].second|=k>>>32-x));var F=0,y=0,G=new B;for(u=0;u<d.length;u++)d[u]!==void 0&&(F=Math.max(F,d[u].first));F>=a?y=a:y=F;var N=[],b,v,R,q,O,K;for(u=C;u<f;u++)if(w=u-(u<g?0:g),c=d[w].first,c>0)if(b=[c,w],c<=y)for(v=d[w].second<<y-c,R=1<<y-c,D=0;D<R;D++)N[v|D]=b;else for(v=d[w].second,K=G,q=c-1;q>=0;q--)O=v>>>q&1,O?(K.right||(K.right=new B),K=K.right):(K.left||(K.left=new B),K=K.left),q===0&&!K.val&&(K.val=b[1]);return{decodeLut:N,numBitsLUTQick:y,numBitsLUT:F,tree:G,stuffedData:m,srcPtr:T,bitPos:x}},readHuffman:function(I,n,a,Q){var l=n.headerInfo,g=l.numDims,C=n.headerInfo.height,f=n.headerInfo.width,E=f*C,d=this.readHuffmanTree(I,n),u=d.decodeLut,w=d.tree,D=d.stuffedData,c=d.srcPtr,h=d.bitPos,_=d.numBitsLUTQick,p=d.numBitsLUT,S=n.headerInfo.imageType===0?128:0,m,x,k,T=n.pixels.resultMask,F,y,G,N,b,v,R,q=0;h>0&&(c++,h=0);var O=D[c],K=n.encodeMode===1,U=new a(E*g),L=U,M;if(g<2||K){for(M=0;M<g;M++)if(g>1&&(L=new a(U.buffer,E*M,E),q=0),n.headerInfo.numValidPixel===f*C)for(v=0,N=0;N<C;N++)for(b=0;b<f;b++,v++){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,K?(b>0?k+=q:N>0?k+=L[v-f]:k+=q,k&=255,L[v]=k,q=k):L[v]=k}else for(v=0,N=0;N<C;N++)for(b=0;b<f;b++,v++)if(T[v]){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,K?(b>0&&T[v-1]?k+=q:N>0&&T[v-f]?k+=L[v-f]:k+=q,k&=255,L[v]=k,q=k):L[v]=k}}else for(v=0,N=0;N<C;N++)for(b=0;b<f;b++)if(v=N*f+b,!T||T[v])for(M=0;M<g;M++,v+=E){if(x=0,F=O<<h>>>32-_,y=F,32-h<_&&(F|=D[c+1]>>>64-h-_,y=F),u[y])x=u[y][1],h+=u[y][0];else for(F=O<<h>>>32-p,y=F,32-h<p&&(F|=D[c+1]>>>64-h-p,y=F),m=w,R=0;R<p;R++)if(G=F>>>p-R-1&1,m=G?m.right:m.left,!(m.left||m.right)){x=m.val,h=h+R+1;break}h>=32&&(h-=32,c++,O=D[c]),k=x-S,L[v]=k}n.ptr=n.ptr+(c+1)*4+(h>0?4:0),n.pixels.resultPixels=U,g>1&&!Q&&(n.pixels.resultPixels=o.swapDimensionOrder(U,E,g,a))},decodeBits:function(I,n,a,Q,l){{var g=n.headerInfo,C=g.fileVersion,f=0,E=I.byteLength-n.ptr>=5?5:I.byteLength-n.ptr,d=new DataView(I,n.ptr,E),u=d.getUint8(0);f++;var w=u>>6,D=w===0?4:3-w,c=(u&32)>0,h=u&31,_=0;if(D===1)_=d.getUint8(f),f++;else if(D===2)_=d.getUint16(f,!0),f+=2;else if(D===4)_=d.getUint32(f,!0),f+=4;else throw"Invalid valid pixel count type";var p=2*g.maxZError,S,m,x,k,T,F,y,G,N,b,v=g.numDims>1?g.maxValues[l]:g.zMax;if(c){for(n.counter.lut++,G=d.getUint8(f),N=h,f++,k=Math.ceil((G-1)*h/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),n.ptr+=f,x.set(new Uint8Array(I,n.ptr,k)),y=new Uint32Array(m),n.ptr+=k,b=0;G-1>>>b;)b++;k=Math.ceil(_*b/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),x.set(new Uint8Array(I,n.ptr,k)),S=new Uint32Array(m),n.ptr+=k,C>=3?F=r.unstuffLUT2(y,h,G-1,Q,p,v):F=r.unstuffLUT(y,h,G-1,Q,p,v),C>=3?r.unstuff2(S,a,b,_,F):r.unstuff(S,a,b,_,F)}else n.counter.bitstuffer++,b=h,n.ptr+=f,b>0&&(k=Math.ceil(_*b/8),T=Math.ceil(k/4),m=new ArrayBuffer(T*4),x=new Uint8Array(m),x.set(new Uint8Array(I,n.ptr,k)),S=new Uint32Array(m),n.ptr+=k,C>=3?Q==null?r.originalUnstuff2(S,a,b,_):r.unstuff2(S,a,b,_,!1,Q,p,v):Q==null?r.originalUnstuff(S,a,b,_):r.unstuff(S,a,b,_,!1,Q,p,v))}},readTiles:function(I,n,a,Q){var l=n.headerInfo,g=l.width,C=l.height,f=g*C,E=l.microBlockSize,d=l.imageType,u=o.getDataTypeSize(d),w=Math.ceil(g/E),D=Math.ceil(C/E);n.pixels.numBlocksY=D,n.pixels.numBlocksX=w,n.pixels.ptr=0;var c=0,h=0,_=0,p=0,S=0,m=0,x=0,k=0,T=0,F=0,y=0,G=0,N=0,b=0,v=0,R=0,q,O,K,U,L,M,V=new a(E*E),Z=C%E||E,X=g%E||E,j,AA,rA=l.numDims,vA,BA=n.pixels.resultMask,oA=n.pixels.resultPixels,Yn=l.fileVersion,Ot=Yn>=5?14:15,pA,We=l.zMax,_A;for(_=0;_<D;_++)for(S=_!==D-1?E:Z,p=0;p<w;p++)for(m=p!==w-1?E:X,y=_*g*E+p*E,G=g-m,vA=0;vA<rA;vA++){if(rA>1?(_A=oA,y=_*g*E+p*E,oA=new a(n.pixels.resultPixels.buffer,f*vA*u,f),We=l.maxValues[vA]):_A=null,x=I.byteLength-n.ptr,q=new DataView(I,n.ptr,Math.min(10,x)),O={},R=0,k=q.getUint8(0),R++,pA=l.fileVersion>=5?k&4:0,T=k>>6&255,F=k>>2&Ot,F!==(p*E>>3&Ot)||pA&&vA===0)throw"integrity issue";if(M=k&3,M>3)throw n.ptr+=R,"Invalid block encoding ("+M+")";if(M===2){if(pA)if(BA)for(c=0;c<S;c++)for(h=0;h<m;h++)BA[y]&&(oA[y]=_A[y]),y++;else for(c=0;c<S;c++)for(h=0;h<m;h++)oA[y]=_A[y],y++;n.counter.constant++,n.ptr+=R;continue}else if(M===0){if(pA)throw"integrity issue";if(n.counter.uncompressed++,n.ptr+=R,N=S*m*u,b=I.byteLength-n.ptr,N=N<b?N:b,K=new ArrayBuffer(N%u===0?N:N+u-N%u),U=new Uint8Array(K),U.set(new Uint8Array(I,n.ptr,N)),L=new a(K),v=0,BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=L[v++]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y++]=L[v++];y+=G}n.ptr+=v*u}else if(j=o.getDataTypeUsed(pA&&d<6?4:d,T),AA=o.getOnePixel(O,R,j,q),R+=o.getDataTypeSize(j),M===3)if(n.ptr+=R,n.counter.constantoffset++,BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=pA?Math.min(We,_A[y]+AA):AA),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y]=pA?Math.min(We,_A[y]+AA):AA,y++;y+=G}else if(n.ptr+=R,o.decodeBits(I,n,V,AA,vA),R=0,pA)if(BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=V[R++]+_A[y]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y]=V[R++]+_A[y],y++;y+=G}else if(BA)for(c=0;c<S;c++){for(h=0;h<m;h++)BA[y]&&(oA[y]=V[R++]),y++;y+=G}else for(c=0;c<S;c++){for(h=0;h<m;h++)oA[y++]=V[R++];y+=G}}rA>1&&!Q&&(n.pixels.resultPixels=o.swapDimensionOrder(n.pixels.resultPixels,f,rA,a))},formatFileInfo:function(I){return{fileIdentifierString:I.headerInfo.fileIdentifierString,fileVersion:I.headerInfo.fileVersion,imageType:I.headerInfo.imageType,height:I.headerInfo.height,width:I.headerInfo.width,numValidPixel:I.headerInfo.numValidPixel,microBlockSize:I.headerInfo.microBlockSize,blobSize:I.headerInfo.blobSize,maxZError:I.headerInfo.maxZError,pixelType:o.getPixelType(I.headerInfo.imageType),eofOffset:I.eofOffset,mask:I.mask?{numBytes:I.mask.numBytes}:null,pixels:{numBlocksX:I.pixels.numBlocksX,numBlocksY:I.pixels.numBlocksY,maxValue:I.headerInfo.zMax,minValue:I.headerInfo.zMin,noDataValue:I.noDataValue}}},constructConstantSurface:function(I,n){var a=I.headerInfo.zMax,Q=I.headerInfo.zMin,l=I.headerInfo.maxValues,g=I.headerInfo.numDims,C=I.headerInfo.height*I.headerInfo.width,f=0,E=0,d=0,u=I.pixels.resultMask,w=I.pixels.resultPixels;if(u)if(g>1){if(n)for(f=0;f<g;f++)for(d=f*C,a=l[f],E=0;E<C;E++)u[E]&&(w[d+E]=a);else for(E=0;E<C;E++)if(u[E])for(d=E*g,f=0;f<g;f++)w[d+g]=l[f]}else for(E=0;E<C;E++)u[E]&&(w[E]=a);else if(g>1&&Q!==a)if(n)for(f=0;f<g;f++)for(d=f*C,a=l[f],E=0;E<C;E++)w[d+E]=a;else for(E=0;E<C;E++)for(d=E*g,f=0;f<g;f++)w[d+f]=l[f];else for(E=0;E<C*g;E++)w[E]=a},getDataTypeArray:function(I){var n;switch(I){case 0:n=Int8Array;break;case 1:n=Uint8Array;break;case 2:n=Int16Array;break;case 3:n=Uint16Array;break;case 4:n=Int32Array;break;case 5:n=Uint32Array;break;case 6:n=Float32Array;break;case 7:n=Float64Array;break;default:n=Float32Array}return n},getPixelType:function(I){var n;switch(I){case 0:n="S8";break;case 1:n="U8";break;case 2:n="S16";break;case 3:n="U16";break;case 4:n="S32";break;case 5:n="U32";break;case 6:n="F32";break;case 7:n="F64";break;default:n="F32"}return n},isValidPixelValue:function(I,n){if(n==null)return!1;var a;switch(I){case 0:a=n>=-128&&n<=127;break;case 1:a=n>=0&&n<=255;break;case 2:a=n>=-32768&&n<=32767;break;case 3:a=n>=0&&n<=65536;break;case 4:a=n>=-2147483648&&n<=2147483647;break;case 5:a=n>=0&&n<=4294967296;break;case 6:a=n>=-34027999387901484e22&&n<=34027999387901484e22;break;case 7:a=n>=-17976931348623157e292&&n<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(I){var n=0;switch(I){case 0:case 1:n=1;break;case 2:case 3:n=2;break;case 4:case 5:case 6:n=4;break;case 7:n=8;break;default:n=I}return n},getDataTypeUsed:function(I,n){var a=I;switch(I){case 2:case 4:a=I-n;break;case 3:case 5:a=I-2*n;break;case 6:n===0?a=I:n===1?a=2:a=1;break;case 7:n===0?a=I:a=I-2*n+1;break;default:a=I;break}return a},getOnePixel:function(I,n,a,Q){var l=0;switch(a){case 0:l=Q.getInt8(n);break;case 1:l=Q.getUint8(n);break;case 2:l=Q.getInt16(n,!0);break;case 3:l=Q.getUint16(n,!0);break;case 4:l=Q.getInt32(n,!0);break;case 5:l=Q.getUInt32(n,!0);break;case 6:l=Q.getFloat32(n,!0);break;case 7:l=Q.getFloat64(n,!0);break;default:throw"the decoder does not understand this pixel type"}return l},swapDimensionOrder:function(I,n,a,Q,l){var g=0,C=0,f=0,E=0,d=I;if(a>1)if(d=new Q(n*a),l)for(g=0;g<n;g++)for(E=g,f=0;f<a;f++,E+=n)d[E]=I[C++];else for(g=0;g<n;g++)for(E=g,f=0;f<a;f++,E+=n)d[C++]=I[E];return d}},B=function(I,n,a){this.val=I,this.left=n,this.right=a},s={decode:function(I,n){n=n||{};var a=n.noDataValue,Q=0,l={};if(l.ptr=n.inputOffset||0,l.pixels={},!!o.readHeaderInfo(I,l)){var g=l.headerInfo,C=g.fileVersion,f=o.getDataTypeArray(g.imageType);if(C>5)throw"unsupported lerc version 2."+C;o.readMask(I,l),g.numValidPixel!==g.width*g.height&&!l.pixels.resultMask&&(l.pixels.resultMask=n.maskData);var E=g.width*g.height;l.pixels.resultPixels=new f(E*g.numDims),l.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!n.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)o.constructConstantSurface(l,d);else if(C>=4&&o.checkMinMaxRanges(I,l))o.constructConstantSurface(l,d);else{var u=new DataView(I,l.ptr,2),w=u.getUint8(0);if(l.ptr++,w)o.readDataOneSweep(I,l,f,d);else if(C>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var D=u.getUint8(1);if(l.ptr++,l.encodeMode=D,D>2||C<4&&D>1)throw"Invalid Huffman flag "+D;D?o.readHuffman(I,l,f,d):o.readTiles(I,l,f,d)}else o.readTiles(I,l,f,d)}l.eofOffset=l.ptr;var c;n.inputOffset?(c=l.headerInfo.blobSize+n.inputOffset-l.ptr,Math.abs(c)>=1&&(l.eofOffset=n.inputOffset+l.headerInfo.blobSize)):(c=l.headerInfo.blobSize-l.ptr,Math.abs(c)>=1&&(l.eofOffset=l.headerInfo.blobSize));var h={width:g.width,height:g.height,pixelData:l.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:l.pixels.resultMask};if(l.pixels.resultMask&&o.isValidPixelValue(g.imageType,a)){var _=l.pixels.resultMask;for(Q=0;Q<E;Q++)_[Q]||(h.pixelData[Q]=a);h.noDataValue=a}return l.noDataValue=a,n.returnFileInfo&&(h.fileInfo=o.formatFileInfo(l)),h}},getBandCount:function(I){var n=0,a=0,Q={};for(Q.ptr=0,Q.pixels={};a<I.byteLength-58;)o.readHeaderInfo(I,Q),a+=Q.headerInfo.blobSize,n++,Q.ptr=a;return n}};return s}(),e=function(){var r=new ArrayBuffer(4),o=new Uint8Array(r),B=new Uint32Array(r);return B[0]=1,o[0]===1}(),i={decode:function(r,o){if(!e)throw"Big endian system is not supported.";o=o||{};var B=o.inputOffset||0,s=new Uint8Array(r,B,10),I=String.fromCharCode.apply(null,s),n,a;if(I.trim()==="CntZImage")n=A,a=1;else if(I.substring(0,5)==="Lerc2")n=t,a=2;else throw"Unexpected file identifier string: "+I;for(var Q=0,l=r.byteLength-10,g,C=[],f,E,d={width:0,height:0,pixels:[],pixelType:o.pixelType,mask:null,statistics:[]},u=0;B<l;){var w=n.decode(r,{inputOffset:B,encodedMaskData:g,maskData:E,returnMask:Q===0,returnEncodedMask:Q===0,returnFileInfo:!0,returnPixelInterleavedDims:o.returnPixelInterleavedDims,pixelType:o.pixelType||null,noDataValue:o.noDataValue||null});B=w.fileInfo.eofOffset,E=w.maskData,Q===0&&(g=w.encodedMaskData,d.width=w.width,d.height=w.height,d.dimCount=w.dimCount||1,d.pixelType=w.pixelType||w.fileInfo.pixelType,d.mask=E),a>1&&(E&&C.push(E),w.fileInfo.mask&&w.fileInfo.mask.numBytes>0&&u++),Q++,d.pixels.push(w.pixelData),d.statistics.push({minValue:w.minValue,maxValue:w.maxValue,noDataValue:w.noDataValue,dimStats:w.dimStats})}var D,c,h;if(a>1&&u>1){for(h=d.width*d.height,d.bandMasks=C,E=new Uint8Array(h),E.set(C[0]),D=1;D<C.length;D++)for(f=C[D],c=0;c<h;c++)E[c]=E[c]&f[c];d.maskData=E}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Ve<"u"&&Ve.exports?Ve.exports=i:this.Lerc=i})()});var Ee,DA,Ht,qt,Ze,Gn,Rn=gA(()=>{qt={env:{emscripten_notify_memory_growth:function(A){Ht=new Uint8Array(DA.exports.memory.buffer)}}},Ze=class{init(){return Ee||(typeof fetch<"u"?Ee=fetch("data:application/wasm;base64,"+Gn).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,qt)).then(this._init):Ee=WebAssembly.instantiate(Buffer.from(Gn,"base64"),qt).then(this._init),Ee)}_init(t){DA=t.instance,qt.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!DA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=DA.exports.malloc(i);Ht.set(t,r),e=e||Number(DA.exports.ZSTD_findDecompressedSize(r,i));let o=DA.exports.malloc(e),B=DA.exports.ZSTD_decompress(o,e,r,i),s=Ht.slice(o,o+B);return DA.exports.free(r),DA.exports.free(o),s}},Gn="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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 Mn={};yA(Mn,{default:()=>Pe,zstd:()=>Un});var Ln,Un,Pe,Nn=gA(()=>{Tt();Ln=je(vn(),1);Rn();cA();Wt();Un=new Ze,Pe=class extends P{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[Xt.AddCompression]}decodeBlock(t){switch(this.addCompression){case we.None:break;case we.Deflate:t=Ye(new Uint8Array(t)).buffer;break;case we.Zstandard:t=Un.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Ln.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var Tn={};yA(Tn,{default:()=>Xe});var Xe,qn=gA(()=>{cA();Xe=class extends P{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,e){let i=new Blob([e]),r=await createImageBitmap(i),o;typeof document<"u"?(o=document.createElement("canvas"),o.width=r.width,o.height=r.height):o=new OffscreenCanvas(r.width,r.height);let B=o.getContext("2d");return B.drawImage(r,0,0),B.getImageData(0,0,r.width,r.height).data.buffer}}});var jo={};yA(jo,{default:()=>Qe});module.exports=Xn(jo);var aA=je(require("sharp")),On=je(Pt());var Vo=new Map;function lA(A,t){Array.isArray(A)||(A=[A]),A.forEach(e=>Vo.set(e,t))}lA([void 0,1],()=>Promise.resolve().then(()=>(ei(),Ai)).then(A=>A.default));lA(5,()=>Promise.resolve().then(()=>(ni(),ii)).then(A=>A.default));lA(6,()=>{throw new Error("old style JPEG compression is not supported.")});lA(7,()=>Promise.resolve().then(()=>(oi(),ri)).then(A=>A.default));lA([8,32946],()=>Promise.resolve().then(()=>(Fn(),kn)).then(A=>A.default));lA(32773,()=>Promise.resolve().then(()=>(bn(),Sn)).then(A=>A.default));lA(34887,()=>Promise.resolve().then(()=>(Nn(),Mn)).then(async A=>(await A.zstd.init(),A)).then(A=>A.default));lA(50001,()=>Promise.resolve().then(()=>(qn(),Tn)).then(A=>A.default));cA();var Zo=1e8,Hn=1e4,Jn=1e4,Po=512,Xo=512,Wo={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"]},Jt=class extends P{async decode(t,e){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,r=(0,aA.default)(e,{sequentialRead:!0}),B=(await r.metadata()).channels||4;i===4&&B<4&&r.ensureAlpha?r=r.ensureAlpha():i===3&&B>3&&r.removeAlpha&&(r=r.removeAlpha());let{data:s,info:I}=await r.raw().toBuffer({resolveWithObject:!0});if(I.channels!==i){let n=I.width*I.height,a=Buffer.alloc(n*i),Q=s;for(let l=0;l<n;l+=1){let g=l*I.channels,C=l*i;for(let f=0;f<i;f+=1)f<I.channels?a[C+f]=Q[g+f]:a[C+f]=f===3?255:0}return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}};lA(50001,()=>Promise.resolve(Jt));var Qe=class extends On.default{constructor(e,i,r=!1,o=Zo,B=Hn,s=Jn,I=Po,n=Xo){super(e,i,o,B,s,I,n);this.enableHD=r}regionImpl(e,i){e&&(i=i.extract({left:e.x,top:e.y,width:e.w,height:e.h}))}sizeImpl(e,i){e&&(i=i.resize({...e,fit:"fill"}))}rotationImpl(e,i){e&&(e.isMirror&&(i=i.flop()),i=i.rotate(e.degree))}qualityFormatImpl(e,i,r,o,B){e&&(e==="color"?r=r.toColorspace("srgb"):e==="gray"||e==="grey"?r=r.grayscale():e==="bitonal"&&(r=r.threshold())),i&&(r=r.toFormat(i)),o==="png"&&(B.paletteBitDepth===1||B.space==="b-w")&&(r=r.toColorspace("b-w").png({colors:2}))}async generateImageTile(e,i,r){let o=e.split("/"),B=o.pop(),s=B.split(".")[0],I=B.split(".")[1],n=o.pop(),a=o.pop(),Q=o.pop(),l=o.pop(),g={width:i.width,height:i.height},C=super.normalizeRegionParams(Q,g),f=super.normalizeSizeParams(a,{width:C?C.w:g.width,height:C?C.h:g.height}),{x:E,y:d,w:u,h:w}=C!=null?C:{x:0,y:0,w:g.width,h:g.height},{width:D,height:c}=f,h=await r.getImage();console.log(`Source dimensions: ${h.getWidth()} x ${h.getHeight()}`),console.log(`Extracting region: x=${E}, y=${d}, w=${u}, h=${w}`),console.log(`Output size: ${D} x ${c}`);let _=await r.getImageCount();console.log(`Total images (including overviews): ${_}`);let p=h.getSamplesPerPixel(),S;p>=3?(S=[0,1,2],p>=4&&S.push(3)):S=[0],console.log("Using automatic overview selection based on resolution...");let m=Math.max(u/D,w/c),x=h,k=1;for(let O=0;O<_;O++){let K=await r.getImage(O),U=h.getWidth()/K.getWidth();U<=m&&U>k&&(k=U,x=K)}console.log(`Selected overview with scale: ${k.toFixed(2)}x`),console.log(`Overview dimensions: ${x.getWidth()} x ${x.getHeight()}`);let T=[Math.floor(E/k),Math.floor(d/k),Math.floor((E+u)/k),Math.floor((d+w)/k)],F=await x.readRasters({window:T,width:D,height:c,samples:S,interleave:!0,resampleMethod:"bilinear"}),y=S.length,G=Buffer.from(F.buffer,F.byteOffset,F.byteLength),N=(0,aA.default)(G,{raw:{width:D,height:c,channels:y}}),b=super.normalizeRotationParams(n);this.rotationImpl(b,N);let v=super.normalizeQualityParams(s),R=super.normalizeFormatParams(I,i.format);this.qualityFormatImpl(v,R,N,I,i);let q={};return q.body=N,q.contentType=super.getContentType(R),q}iiifTransform(e,i){let r=this.enableHD?(0,aA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(),o=e.split("/"),B=o.pop(),s=B.split(".")[0],I=B.split(".")[1],n=o.pop(),a=o.pop(),Q=o.pop(),l=!1,g=r,C={width:i.width,height:i.height};i&&i.orientation&&(l=!0,g=g.rotate(),i.orientation>=5&&(C={width:i.height,height:i.width}));let f=super.normalizeRegionParams(Q,C);this.regionImpl(f,g);let E=super.normalizeSizeParams(a,{width:f?f.w:C.width,height:f?f.h:C.height});this.sizeImpl(E,g);let d=super.normalizeRotationParams(n);this.rotationImpl(d,g);let u=super.normalizeQualityParams(s),w=super.normalizeFormatParams(I,i.format);return this.qualityFormatImpl(u,w,g,I,i),f||E||d||u||w||l?g:(console.log("skip iiif transform"),null)}async generateIiifImage(e,i,r=256){let o=this.enableHD?(0,aA.default)(i,{limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(i),B=e.split("/"),s=B.pop(),I=s.split(".")[0],n=s.split(".")[1],a=B.pop(),Q=B.pop(),l=B.pop(),g=await o.metadata(),C={width:g.width,height:g.height},f={},E=o,d=super.normalizeRegionParams(l,C);this.regionImpl(d,E);let u=super.normalizeSizeParams(Q,{width:d?d.w:C.width,height:d?d.h:C.height});this.sizeImpl(u,E);let{x:w,y:D,w:c,h}=d||{x:0,y:0,w:C.width,h:C.height},{width:_,height:p}=u||{width:C.width,height:C.height};try{if(c*h>_*p*r&&_<Hn&&p<Jn&&g.pages&&g.pages>1){console.log("thumbnail");let k=Math.max(_/c,p/h),[T,F,y,G]=[Math.round(w*k),Math.round(D*k),Math.round(c*k),Math.round(h*k)],[N,b]=[Math.round(C.width*k),Math.round(C.height*k)];console.log("rawMeta.pages: "+g.pages);let v=Math.max(0,g.pages-1);console.log("selectedPage1: "+v),v>=g.pages&&(console.log("Warning: Selected page exceeds available pages, using last available page"),v=Math.max(0,g.pages-1));let R=this.enableHD?await(0,aA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).metadata():await(0,aA.default)(i,{page:v}).metadata(),q=R.width,O=R.height;for(;v>0&&(O<b||q<N);)O*=2,q*=2,v--;(v<0||v>=g.pages)&&(console.log("Warning: Invalid page index after calculation, using page 0"),v=0),console.log("selectedPage2: "+v);let K={width:N,height:b,fastShrinkOnLoad:!1},U=this.enableHD?await(0,aA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).resize(K).toBuffer():await(0,aA.default)(i,{page:v}).resize(K).toBuffer(),L=this.enableHD?(0,aA.default)(U,{limitInputPixels:!1,sequentialRead:!0}):(0,aA.default)(U),M=await L.metadata();console.log(M),F+G>M.height&&(G=M.height-F,console.log("adjested sh: "+G)),T+y>M.width&&(y=M.width-T,console.log("adjusted sw: "+y));let V={x:T,y:F,w:y,h:G};this.regionImpl(V,L),this.sizeImpl(u,L),console.log(M.width,M.height,K.width,K.height,V,u),E=L}}catch(k){console.trace(k),console.log(k)}let S=super.normalizeRotationParams(a);this.rotationImpl(S,E);let m=super.normalizeQualityParams(I);console.log(n,g.format);let x=super.normalizeFormatParams(n,g.format);return this.qualityFormatImpl(m,x,E,n,g),console.log("pipeline "+E),f.body=E,f.contentType=super.getContentType(x),f}generateImageInfo(e,i,r=""){let o=this.version,B=this.level,s={width:i.width,height:i.height};i&&i.orientation&&i.orientation>=5&&(console.log(i.orientation),s={width:i.height,height:i.width});let I=super.generateImageInfoTemp(e,s),n=I.info;if((o==="2.0"||o==="2.1")&&(n.profile=[super.uriPattern("compliance")],B==="2")){let a={};a.formats=["jpg","png","webp","jp2","pdf","tif"],a.qualities=["color","gray","bitonal","default","native","grey"],a.supports=Wo[Number(o)],n.profile.push(a)}return o==="3.0"&&r&&(n.extraFormats=[r],n.preferredFormats=[r]),r&&(n.formats=[r]),I}};module.exports=Qe;
1
+ "use strict";var ta=Object.create;var Je=Object.defineProperty;var ia=Object.getOwnPropertyDescriptor;var ra=Object.getOwnPropertyNames;var na=Object.getPrototypeOf,oa=Object.prototype.hasOwnProperty;var IA=(A,t)=>()=>(A&&(t=A(A=0)),t);var FA=(A,t)=>()=>(t||A((t={exports:{}}).exports,t),t.exports),vA=(A,t)=>{for(var e in t)Je(A,e,{get:t[e],enumerable:!0})},Wi=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ra(t))!oa.call(A,r)&&r!==e&&Je(A,r,{get:()=>t[r],enumerable:!(i=ia(t,r))||i.enumerable});return A};var he=(A,t,e)=>(e=A!=null?ta(na(A)):{},Wi(t||!A||!A.__esModule?Je(e,"default",{value:A,enumerable:!0}):e,A)),aa=A=>Wi(Je({},"__esModule",{value:!0}),A);var tr=FA((Ol,Ot)=>{"use strict";var Tt=Object.defineProperty,sa=Object.getOwnPropertyDescriptor,ga=Object.getOwnPropertyNames,la=Object.prototype.hasOwnProperty,fa=(A,t)=>{for(var e in t)Tt(A,e,{get:t[e],enumerable:!0})},Ia=(A,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ga(t))!la.call(A,r)&&r!==e&&Tt(A,r,{get:()=>t[r],enumerable:!(i=sa(t,r))||i.enumerable});return A},ca=A=>Ia(Tt({},"__esModule",{value:!0}),A),Ar={};fa(Ar,{default:()=>er});Ot.exports=ca(Ar);var H="[1-9][0-9]*",$i="[0-9]*",RA="(?=.*[1-9])\\d+(\\.\\d+)?",Nt="\\d+(\\.\\d+)?",Ke=(A=>(A.jpg="image/jpeg",A.jpeg="image/jpeg",A.png="image/png",A.webp="image/webp",A.tif="image/tiff",A.tiff="image/tiff",A.gif="image/gif",A.jp2="image/jp2",A.pdf="application/pdf",A))(Ke||{}),PA={version:["1.0","1.1","2.0","2.1","3.0"],level:["0","1","2"],region:["full","square",`${$i},${$i},${H},${H}`,`pct:${Nt},${Nt},${RA},${RA}`],rotation:`!?${Nt}`,quality:["color","gray","bitonal","default","native","grey"],format:["jpg","png","webp","tif","gif","jp2","pdf"],size:[""]},ha={1:["full",`${H},`,`,${H}`,`pct:${RA}`,`${H},${H}`,`!${H},${H}`],1.1:["full",`${H},`,`,${H}`,`pct:${RA}`,`${H},${H}`,`!${H},${H}`],2:["full",`${H},`,`,${H}`,`pct:${RA}`,`${H},${H}`,`!${H},${H}`],2.1:["full","max",`${H},`,`,${H}`,`pct:${RA}`,`${H},${H}`,`!${H},${H}`],3:["max",`${H},`,`,${H}`,`pct:${RA}`,`${H},${H}`,`!${H},${H}`,"\\^max",`\\^${H},`,`\\^,${H}`,`\\^pct:${RA}`,`\\^${H},${H}`,`\\^!${H},${H}`]},ze=/^pct:([\d,]+)/,er=class{constructor(A,t,e,i,r,n,l){this.version=A,this.level=t,this.maxArea=e,this.maxWidth=i,this.maxHeight=r,this.tileWidth=n,this.tileHeight=l,this.validate("version",A),this.validate("level",t),PA.size=ha[Number(A)]}validator(A){var t=PA[A];return t instanceof Array&&(t=t.join("|")),new RegExp("^("+t+")$")}validate(A,t){if(!this.validator(A).test(t))throw Error(`invalid IIIF url ${A}: ${t}`);return!0}normalizeRegionParams(A,t){if(this.validate("region",A),A==="full")return null;if(A==="square")return this._regionSquare(t);if(ze.test(A))return this._regionPct(A.match(ze)[1],t);{let e=A.split(",").map(i=>Number(i));return this._regionXYWH(e,t)}}_regionSquare(A){let t,e,i=A.width,r=A.height;if(i!==r){let n=Math.min(i,r),l=Math.abs(Math.floor((i-r)/2));return i>r?(t=l,e=0):(t=0,e=l),this._regionXYWH([t,e,n,n],A)}return null}_regionPct(A,t){let e=A.split(",").map((i,r)=>{let n=Number(i)/100;return r===0||r===2?Math.ceil(t.width*n):r===1||r===3?Math.ceil(t.height*n):null});return this._regionXYWH(e,t)}_regionXYWH(A,t){let e=t.width,i=t.height,[r,n,l,s]=A;return r+l>e&&(l=e-r),n+s>i&&(s=i-n),{x:r,y:n,w:l,h:s}}normalizeSizeParams(A,t){let e=A,i=t.width,r=t.height;if(!t||!i&&!r)throw Error(`invalid region dimensions: ${JSON.stringify(t,null,2)}`);this.validate("size",e);let n=!1;e.charAt(0)==="^"&&(n=!0,e=e.substring(1));let l=null;if(e==="full"||(e==="max"?l=this._sizeMaxScale(t):ze.test(e)?l=this._sizePctScale(e.match(ze)[1]):e.charAt(0)==="!"&&(e=e.substring(1),l=this._sizeBangScale(e,n,t)),l===1))return null;if(l){let s=Math.ceil(i*l),f=Math.ceil(r*l);return this._sizeWH(`${s},${f}`,n,t)}else return this._sizeWH(e,n,t)}_sizeBangScale(A,t,e){let i=e.width,r=e.height,[n,l]=A.split(",").map(f=>f===""?null:Number(f)),s=Math.min(n/i,l/r);if(n>i&&l>r&&!t)throw Error("should not upscale without ^");return s}_sizeMaxScale(A){let t=A.width,e=A.height,i=1;return this.maxArea&&this.maxArea<t*e&&(i=Math.sqrt(this.maxArea/(t*e))),this.maxWidth&&this.maxWidth<t&&(i=Math.min(i,this.maxWidth/t)),this.maxHeight&&this.maxHeight<e&&(i=Math.min(i,this.maxHeight/e)),i}_sizePctScale(A){return Number(A)/100}_sizeWH(A,t,e){let i=e.width,r=e.height,[n,l]=A.split(",").map(s=>s===""?null:Number(s));if(n?l||(l=Math.ceil(r*n/i),l=l===0?1:l):(n=Math.ceil(i*l/r),n=n===0?1:n),(n>i||l>r)&&!t)throw Error("should not upscale without ^");return{width:n,height:l}}normalizeRotationParams(A){this.validate("rotation",A);let t=!1;if(A==="0")return null;A[0]==="!"&&(t=!0);let e=Number(A.replace(/^!/,""));return{isMirror:t,degree:e}}normalizeQualityParams(A){return this.validate("quality",A),A==="native"||A==="default"?null:A}normalizeFormatParams(A,t){if((this.version==="1.0"||this.version==="1.1"||this.version==="2.0"||this.version==="2.1")&&!A)return"png";this.validate("format",A);let e=Ke[A],i=Ke[t];return e===i?null:A}getContentType(A){return Ke[A]}generateImageInfoTemp(A,t){let e={},i={};e.info=i;let r=this.version;return r==="1.0"?(i.identifier=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=PA.format,i.qualities=PA.quality,i.profile=this.uriPattern("compliance"),e.contentType="application/json",e.body=JSON.stringify(i)):(r==="1.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.width=t.width,i.height=t.height,i.scale_factors=this.factors(t),i.tile_width=this.tileWidth,i.tile_height=this.tileHeight,i.formats=PA.format,i.qualities=PA.quality,i.profile=this.uriPattern("compliance")):r==="2.0"||r==="2.1"?(i["@context"]=this.uriPattern("context"),i["@id"]=A,i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=[this.uriPattern("compliance")]):r==="3.0"&&(i["@context"]=[this.uriPattern("context")],i.id=A,i.type="ImageService3",i.protocol="http://iiif.io/api/image",i.width=t.width,i.height=t.height,this.level==="0"?i.sizes=this.sizes(t):i.tiles=[{scaleFactors:this.factors(t),width:this.tileWidth,height:this.tileHeight}],i.profile=this.uriPattern("compliance")),e.contentType="application/ld+json"),e}factors(A){let t=1,e=[];for(;this.tileWidth*t<=A.width||this.tileHeight*t<=A.height;)e.push(t),t*=2;return e.length===0&&e.push(1),e}uriPattern(A){let t="",e="";return this.version==="1.0"?t=`http://library.stanford.edu/iiif/image-api/compliance.html#level${this.level}`:this.version==="1.1"?(t=`http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level${this.level}`,e="http://library.stanford.edu/iiif/image-api/1.1/context.json"):this.version==="2.0"||this.version==="2.1"?(t=`http://iiif.io/api/image/2/level${this.level}.json`,e="http://iiif.io/api/image/2/context.json"):this.version==="3.0"&&(t=`level${this.level}`,e="http://iiif.io/api/image/3/context.json"),A==="compliance"?t:A==="context"?e:""}sizes(A){return[{width:A.width,height:A.height}]}};Ot.exports=er});var Dr=FA((Kf,Vt)=>{function xr(A,t,e){let i=e&&e.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+A);let r=typeof A=="object"?A.outer:A,n=r.slice(0,r.indexOf(">")+1),l=['"',"'"];for(let s=0;s<l.length;s++){let f=l[s],o=t+"\\="+f+"([^"+f+"]*)"+f;i&&console.log("[xml-utils] pattern:",o);let h=new RegExp(o).exec(n);if(i&&console.log("[xml-utils] match:",h),h)return h[1]}}Vt.exports=xr;Vt.exports.default=xr});var Sr=FA((Pf,Zt)=>{function kr(A,t,e){let r=new RegExp(t).exec(A.slice(e));return r?e+r.index:-1}Zt.exports=kr;Zt.exports.default=kr});var Fr=FA((Vf,Xt)=>{function br(A,t,e){let r=new RegExp(t).exec(A.slice(e));return r?e+r.index+r[0].length-1:-1}Xt.exports=br;Xt.exports.default=br});var Rr=FA((Zf,jt)=>{function vr(A,t){let e=new RegExp(t,"g"),i=A.match(e);return i?i.length:0}jt.exports=vr;jt.exports.default=vr});var Lr=FA((Xf,$t)=>{var Fa=Sr(),Wt=Fr(),Gr=Rr();function Ur(A,t,e){let i=e&&e.debug||!1,r=!(e&&typeof e.nested===!1),n=e&&e.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",e);let l=Fa(A,`<${t}[
2
+ >/]`,n);if(i&&console.log("[xml-utils] start:",l),l===-1)return;let s=A.slice(l+t.length),f=Wt(s,"^[^<]*[ /]>",0),o=f!==-1&&s[f-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",o),o===!1)if(r){let g=0,c=1,B=0;for(;(f=Wt(s,"[ /]"+t+">",g))!==-1;){let C=s.substring(g,f+1);if(c+=Gr(C,"<"+t+`[
3
+ >]`),B+=Gr(C,"</"+t+">"),B>=c)break;g=f}}else f=Wt(s,"[ /]"+t+">",0);let a=l+t.length+f+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let h=A.slice(l,a),I;return o?I=null:I=h.slice(h.indexOf(">")+1,h.lastIndexOf("<")),{inner:I,outer:h,start:l,end:a}}$t.exports=Ur;$t.exports.default=Ur});var Nr=FA((jf,Ai)=>{var va=Lr();function Mr(A,t,e){let i=[],r=e&&e.debug||!1,n=e&&typeof e.nested=="boolean"?e.nested:!0,l=e&&e.startIndex||0,s;for(;s=va(A,t,{debug:r,startIndex:l});)n?l=s.start+1+t.length:l=s.end,i.push(s);return r&&console.log("findTagsByName found",i.length,"tags"),i}Ai.exports=Mr;Ai.exports.default=Mr});var WA,QA,Tr,ei,O,nA,Or,qr,et,Ce,Ra,tt=IA(()=>{WA={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"},QA={};for(let A in WA)WA.hasOwnProperty(A)&&(QA[WA[A]]=parseInt(A,10));Tr=[QA.BitsPerSample,QA.ExtraSamples,QA.SampleFormat,QA.StripByteCounts,QA.StripOffsets,QA.StripRowCounts,QA.TileByteCounts,QA.TileOffsets,QA.SubIFDs],ei={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"},O={};for(let A in ei)ei.hasOwnProperty(A)&&(O[ei[A]]=parseInt(A,10));nA={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},Or={Unspecified:0,Assocalpha:1,Unassalpha:2},qr={Version:0,AddCompression:1},et={None:0,Deflate:1,Zstandard:2},Ce={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"},Ra={};for(let A in Ce)Ce.hasOwnProperty(A)&&(Ra[Ce[A]]=parseInt(A,10))});function Ma(A,t){let e=A.length-t,i=0;do{for(let r=t;r>0;r--)A[i+t]+=A[i],i++;e-=t}while(e>0)}function Na(A,t,e){let i=0,r=A.length,n=r/e;for(;r>t;){for(let s=t;s>0;--s)A[i+t]+=A[i],++i;r-=t}let l=A.slice();for(let s=0;s<n;++s)for(let f=0;f<e;++f)A[e*s+f]=l[(e-f-1)*n+s]}function Vr(A,t,e,i,r,n){if(!t||t===1)return A;for(let f=0;f<r.length;++f){if(r[f]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[f]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let l=r[0]/8,s=n===2?1:r.length;for(let f=0;f<i&&!(f*s*e*l>=A.byteLength);++f){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(A,f*s*e*l,s*e*l);break;case 16:o=new Uint16Array(A,f*s*e*l,s*e*l/2);break;case 32:o=new Uint32Array(A,f*s*e*l,s*e*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}Ma(o,s,l)}else t===3&&(o=new Uint8Array(A,f*s*e*l,s*e*l),Na(o,s,l))}return A}var Zr=IA(()=>{});var $,mA=IA(()=>{Zr();$=class{async decode(t,e){let i=await this.decodeBlock(e),r=t.Predictor||1;if(r!==1){let n=!t.StripOffsets,l=n?t.TileWidth:t.ImageWidth,s=n?t.TileLength:t.RowsPerStrip||t.ImageLength;return Vr(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var Xr={};vA(Xr,{default:()=>it});var it,jr=IA(()=>{mA();it=class extends ${decodeBlock(t){return t}}});var $r={};vA($r,{default:()=>rt});function Oa(A,t,e){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+e-(r+1)*8,s=8*(r+2)-(t+e),f=(r+2)*8-t;if(s=Math.max(0,s),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),ri;let o=A[r]&2**(8-i)-1;o<<=e-n;let a=o;if(r+1<A.length){let h=A[r+1]>>>s;h<<=Math.max(0,e-f),a+=h}if(l>8&&r+2<A.length){let h=(r+3)*8-(t+e),I=A[r+2]>>>h;a+=I}return a}function ii(A,t){for(let e=t.length-1;e>=0;e--)A.push(t[e]);return A}function qa(A){let t=new Uint16Array(4093),e=new Uint8Array(4093);for(let c=0;c<=257;c++)t[c]=4096,e[c]=c;let i=258,r=Wr,n=0;function l(){i=258,r=Wr}function s(c){let B=Oa(c,n,r);return n+=r,B}function f(c,B){return e[i]=B,t[i]=c,i++,i-1}function o(c){let B=[];for(let C=c;C!==4096;C=t[C])B.push(e[C]);return B}let a=[];l();let h=new Uint8Array(A),I=s(h),g;for(;I!==ri;){if(I===ti){for(l(),I=s(h);I===ti;)I=s(h);if(I===ri)break;if(I>ti)throw new Error(`corrupted code at scanline ${I}`);{let c=o(I);ii(a,c),g=I}}else if(I<i){let c=o(I);ii(a,c),f(g,c[c.length-1]),g=I}else{let c=o(g);if(!c)throw new Error(`Bogus entry. Not in dictionary, ${g} / ${i}, position: ${n}`);ii(a,c),a.push(c[c.length-1]),f(g,c[c.length-1]),g=I}i+1>=2**r&&(r===Ta?g=void 0:r++),I=s(h)}return new Uint8Array(a)}var Wr,ti,ri,Ta,rt,An=IA(()=>{mA();Wr=9,ti=256,ri=257,Ta=12;rt=class extends ${decodeBlock(t){return qa(t,!1).buffer}}});var tn={};vA(tn,{default:()=>It});function en(A,t){let e=0,i=[],r=16;for(;r>0&&!A[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let f=0;f<A[s];f++){for(n=i.pop(),n.children[n.index]=t[e];n.index>0;)n=i.pop();for(n.index++,i.push(n);i.length<=s;)i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l;e++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Ha(A,t,e,i,r,n,l,s,f){let{mcusPerLine:o,progressive:a}=e,h=t,I=t,g=0,c=0;function B(){if(c>0)return c--,g>>c&1;if(g=A[I++],g===255){let M=A[I++];if(M)throw new Error(`unexpected marker: ${(g<<8|M).toString(16)}`)}return c=7,g>>>7}function C(M){let G=M,L;for(;(L=B())!==null;){if(G=G[L],typeof G=="number")return G;if(typeof G!="object")throw new Error("invalid huffman sequence")}return null}function d(M){let G=M,L=0;for(;G>0;){let P=B();if(P===null)return;L=L<<1|P,--G}return L}function u(M){let G=d(M);return G>=1<<M-1?G:G+(-1<<M)+1}function w(M,G){let L=C(M.huffmanTableDC),P=L===0?0:u(L);M.pred+=P,G[0]=M.pred;let Z=1;for(;Z<64;){let W=C(M.huffmanTableAC),j=W&15,tA=W>>4;if(j===0){if(tA<15)break;Z+=16}else{Z+=tA;let lA=Ee[Z];G[lA]=u(j),Z++}}}function p(M,G){let L=C(M.huffmanTableDC),P=L===0?0:u(L)<<f;M.pred+=P,G[0]=M.pred}function Q(M,G){G[0]|=B()<<f}let E=0;function m(M,G){if(E>0){E--;return}let L=n,P=l;for(;L<=P;){let Z=C(M.huffmanTableAC),W=Z&15,j=Z>>4;if(W===0){if(j<15){E=d(j)+(1<<j)-1;break}L+=16}else{L+=j;let tA=Ee[L];G[tA]=u(W)*(1<<f),L++}}}let y=0,S;function x(M,G){let L=n,P=l,Z=0;for(;L<=P;){let W=Ee[L],j=G[W]<0?-1:1;switch(y){case 0:{let tA=C(M.huffmanTableAC),lA=tA&15;if(Z=tA>>4,lA===0)Z<15?(E=d(Z)+(1<<Z),y=4):(Z=16,y=1);else{if(lA!==1)throw new Error("invalid ACn encoding");S=u(lA),y=Z?2:3}continue}case 1:case 2:G[W]?G[W]+=(B()<<f)*j:(Z--,Z===0&&(y=y===2?3:0));break;case 3:G[W]?G[W]+=(B()<<f)*j:(G[W]=S<<f,y=0);break;case 4:G[W]&&(G[W]+=(B()<<f)*j);break;default:break}L++}y===4&&(E--,E===0&&(y=0))}function D(M,G,L,P,Z){let W=L/o|0,j=L%o,tA=W*M.v+P,lA=j*M.h+Z;G(M,M.blocks[tA][lA])}function k(M,G,L){let P=L/M.blocksPerLine|0,Z=L%M.blocksPerLine;G(M,M.blocks[P][Z])}let N=i.length,b,_,R,T,F,v;a?n===0?v=s===0?p:Q:v=s===0?m:x:v=w;let U=0,q,Y;N===1?Y=i[0].blocksPerLine*i[0].blocksPerColumn:Y=o*e.mcusPerColumn;let J=r||Y;for(;U<Y;){for(_=0;_<N;_++)i[_].pred=0;if(E=0,N===1)for(b=i[0],F=0;F<J;F++)k(b,v,U),U++;else for(F=0;F<J;F++){for(_=0;_<N;_++){b=i[_];let{h:M,v:G}=b;for(R=0;R<G;R++)for(T=0;T<M;T++)D(b,v,U,R,T)}if(U++,U===Y)break}if(c=0,q=A[I]<<8|A[I+1],q<65280)throw new Error("marker was not found");if(q>=65488&&q<=65495)I+=2;else break}return I-h}function Ya(A,t){let e=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function f(o,a,h){let I=t.quantizationTable,g,c,B,C,d,u,w,p,Q,E=h,m;for(m=0;m<64;m++)E[m]=o[m]*I[m];for(m=0;m<8;++m){let y=8*m;if(E[1+y]===0&&E[2+y]===0&&E[3+y]===0&&E[4+y]===0&&E[5+y]===0&&E[6+y]===0&&E[7+y]===0){Q=$A*E[0+y]+512>>10,E[0+y]=Q,E[1+y]=Q,E[2+y]=Q,E[3+y]=Q,E[4+y]=Q,E[5+y]=Q,E[6+y]=Q,E[7+y]=Q;continue}g=$A*E[0+y]+128>>8,c=$A*E[4+y]+128>>8,B=E[2+y],C=E[6+y],d=ft*(E[1+y]-E[7+y])+128>>8,p=ft*(E[1+y]+E[7+y])+128>>8,u=E[3+y]<<4,w=E[5+y]<<4,Q=g-c+1>>1,g=g+c+1>>1,c=Q,Q=B*lt+C*gt+128>>8,B=B*gt-C*lt+128>>8,C=Q,Q=d-w+1>>1,d=d+w+1>>1,w=Q,Q=p+u+1>>1,u=p-u+1>>1,p=Q,Q=g-C+1>>1,g=g+C+1>>1,C=Q,Q=c-B+1>>1,c=c+B+1>>1,B=Q,Q=d*st+p*at+2048>>12,d=d*at-p*st+2048>>12,p=Q,Q=u*ot+w*nt+2048>>12,u=u*nt-w*ot+2048>>12,w=Q,E[0+y]=g+p,E[7+y]=g-p,E[1+y]=c+w,E[6+y]=c-w,E[2+y]=B+u,E[5+y]=B-u,E[3+y]=C+d,E[4+y]=C-d}for(m=0;m<8;++m){let y=m;if(E[1*8+y]===0&&E[2*8+y]===0&&E[3*8+y]===0&&E[4*8+y]===0&&E[5*8+y]===0&&E[6*8+y]===0&&E[7*8+y]===0){Q=$A*h[m+0]+8192>>14,E[0*8+y]=Q,E[1*8+y]=Q,E[2*8+y]=Q,E[3*8+y]=Q,E[4*8+y]=Q,E[5*8+y]=Q,E[6*8+y]=Q,E[7*8+y]=Q;continue}g=$A*E[0*8+y]+2048>>12,c=$A*E[4*8+y]+2048>>12,B=E[2*8+y],C=E[6*8+y],d=ft*(E[1*8+y]-E[7*8+y])+2048>>12,p=ft*(E[1*8+y]+E[7*8+y])+2048>>12,u=E[3*8+y],w=E[5*8+y],Q=g-c+1>>1,g=g+c+1>>1,c=Q,Q=B*lt+C*gt+2048>>12,B=B*gt-C*lt+2048>>12,C=Q,Q=d-w+1>>1,d=d+w+1>>1,w=Q,Q=p+u+1>>1,u=p-u+1>>1,p=Q,Q=g-C+1>>1,g=g+C+1>>1,C=Q,Q=c-B+1>>1,c=c+B+1>>1,B=Q,Q=d*st+p*at+2048>>12,d=d*at-p*st+2048>>12,p=Q,Q=u*ot+w*nt+2048>>12,u=u*nt-w*ot+2048>>12,w=Q,E[0*8+y]=g+p,E[7*8+y]=g-p,E[1*8+y]=c+w,E[6*8+y]=c-w,E[2*8+y]=B+u,E[5*8+y]=B-u,E[3*8+y]=C+d,E[4*8+y]=C-d}for(m=0;m<64;++m){let y=128+(E[m]+8>>4);y<0?a[m]=0:y>255?a[m]=255:a[m]=y}}for(let o=0;o<r;o++){let a=o<<3;for(let h=0;h<8;h++)e.push(new Uint8Array(n));for(let h=0;h<i;h++){f(t.blocks[o][h],s,l);let I=0,g=h<<3;for(let c=0;c<8;c++){let B=e[a+c];for(let C=0;C<8;C++)B[g+C]=s[I++]}}}return e}var Ee,nt,ot,at,st,gt,lt,$A,ft,ni,It,rn=IA(()=>{mA();Ee=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]),nt=4017,ot=799,at=3406,st=2276,gt=1567,lt=3784,$A=5793,ft=2896;ni=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function i(){let s=t[e]<<8|t[e+1];return e+=2,s}function r(){let s=i(),f=t.subarray(e,e+s-2);return e+=f.length,f}function n(s){let f=0,o=0,a,h;for(h in s.components)s.components.hasOwnProperty(h)&&(a=s.components[h],f<a.h&&(f=a.h),o<a.v&&(o=a.v));let I=Math.ceil(s.samplesPerLine/8/f),g=Math.ceil(s.scanLines/8/o);for(h in s.components)if(s.components.hasOwnProperty(h)){a=s.components[h];let c=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/f),B=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),C=I*a.h,d=g*a.v,u=[];for(let w=0;w<d;w++){let p=[];for(let Q=0;Q<C;Q++)p.push(new Int32Array(64));u.push(p)}a.blocksPerLine=c,a.blocksPerColumn=B,a.blocks=u}s.maxH=f,s.maxV=o,s.mcusPerLine=I,s.mcusPerColumn=g}let l=i();if(l!==65496)throw new Error("SOI not found");for(l=i();l!==65497;){switch(l){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 s=r();l===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),l===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let f=i()+e-2;for(;e<f;){let o=t[e++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let h=0;h<64;h++){let I=Ee[h];a[I]=i()}else throw new Error("DQT: invalid table spec");else for(let h=0;h<64;h++){let I=Ee[h];a[I]=t[e++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[e++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},f=t[e++],o;for(let a=0;a<f;a++){o=t[e];let h=t[e+1]>>4,I=t[e+1]&15,g=t[e+2];s.componentsOrder.push(o),s.components[o]={h,v:I,quantizationIdx:g},e+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let f=2;f<s;){let o=t[e++],a=new Uint8Array(16),h=0;for(let g=0;g<16;g++,e++)a[g]=t[e],h+=a[g];let I=new Uint8Array(h);for(let g=0;g<h;g++,e++)I[g]=t[e];f+=17+h,o>>4?this.huffmanTablesAC[o&15]=en(a,I):this.huffmanTablesDC[o&15]=en(a,I)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[e++],f=[],o=this.frames[0];for(let c=0;c<s;c++){let B=o.components[t[e++]],C=t[e++];B.huffmanTableDC=this.huffmanTablesDC[C>>4],B.huffmanTableAC=this.huffmanTablesAC[C&15],f.push(B)}let a=t[e++],h=t[e++],I=t[e++],g=Ha(t,e,o,f,this.resetInterval,a,h,I>>4,I&15);e+=g;break}case 65535:t[e]!==255&&e--;break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${l.toString(16)}`)}l=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 a=0;a<this.frames.length;a++){let h=this.frames[a].components;for(let I of Object.keys(h))h[I].quantizationTable=this.quantizationTables[h[I].quantizationIdx],delete h[I].quantizationIdx}let e=t[0],{components:i,componentsOrder:r}=e,n=[],l=e.samplesPerLine,s=e.scanLines;for(let a=0;a<r.length;a++){let h=i[r[a]];n.push({lines:Ya(e,h),scaleX:h.h/e.maxH,scaleY:h.v/e.maxV})}let f=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let h=0;h<l;++h)for(let I=0;I<n.length;++I){let g=n[I];f[o]=g.lines[0|a*g.scaleY][0|h*g.scaleX],++o}return f}},It=class extends ${constructor(t){super(),this.reader=new ni,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function ne(A){let t=A.length;for(;--t>=0;)A[t]=0}function ai(A,t,e,i,r){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=r,this.has_stree=A&&A.length}function si(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}function dA(A,t,e,i,r){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=r}function zs(){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=pt,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(Ls*2),this.dyn_dtree=new Uint16Array((2*Gs+1)*2),this.bl_tree=new Uint16Array((2*Us+1)*2),GA(this.dyn_ltree),GA(this.dyn_dtree),GA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Ms+1),this.heap=new Uint16Array(2*yi+1),GA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*yi+1),GA(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 cg(){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 Ge(A){this.options=yt.assign({level:Qg,method:wg,chunkSize:16384,windowBits:15,memLevel:8,strategy:dg},A||{});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 lo,this.strm.avail_out=0;let e=pe.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==dt)throw new Error(YA[e]);if(t.header&&pe.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=be.string2buf(t.dictionary):fo.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,e=pe.deflateSetDictionary(this.strm,i),e!==dt)throw new Error(YA[e]);this._dict_set=!0}}function Gi(A,t){let e=new Ge(t);if(e.push(A,!0),e.err)throw e.msg||YA[e.err];return e.result}function pg(A,t){return t=t||{},t.raw=!0,Gi(A,t)}function yg(A,t){return t=t||{},t.gzip=!0,Gi(A,t)}function Kg(){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 gl(){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 Ue(A){this.options=yt.assign({chunkSize:1024*64,windowBits:15,to:""},A||{});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&&!(A&&A.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 lo,this.strm.avail_out=0;let e=DA.inflateInit2(this.strm,t.windowBits);if(e!==Fe)throw new Error(YA[e]);if(this.header=new ll,DA.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=be.string2buf(t.dictionary):mo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=DA.inflateSetDictionary(this.strm,t.dictionary),e!==Fe)))throw new Error(YA[e])}function Ui(A,t){let e=new Ue(t);if(e.push(A),e.err)throw e.msg||YA[e.err];return e.result}function Bl(A,t){return t=t||{},t.raw=!0,Ui(A,t)}var Ja,Yn,za,Ka,Pa,Si,ve,me,te,bi,Jn,OA,oi,Va,Fi,zn,Kn,Pn,di,ut,Za,Vn,Xa,xA,we,_e,xe,vi,Qt,Zn,Xn,jn,Wn,De,oA,wA,$n,ja,Wa,Ao,$a,eo,to,nn,gi,on,wi,an,sn,As,es,ts,gn,is,io,rs,ns,os,as,ss,gs,ls,fs,Is,cs,ke,hs,Bs,Cs,AA,YA,oe,Es,pi,us,LA,Qs,MA,ds,ws,cA,ln,eA,fn,pA,ps,li,ys,ms,ct,_s,xs,Ds,ks,pt,Ss,bs,Fs,vs,Rs,yi,Gs,Us,Ls,Ms,z,UA,yA,Ns,ie,Ri,mi,_i,xi,Di,qA,Qe,rA,ae,JA,se,Ts,HA,In,GA,Os,qs,NA,aA,sA,K,ue,ki,ro,re,no,fi,Ae,Hs,Ys,de,Js,Re,oo,ao,Ks,so,Ps,Vs,Zs,Xs,js,Ws,$s,Ag,eg,tg,ig,rg,ng,pe,og,ag,sg,yt,go,Se,gg,lg,fg,Ig,be,lo,fo,hg,Bg,Cg,Eg,dt,ug,Qg,dg,wg,mg,_g,xg,Dg,kg,Sg,ht,bg,Fg,ee,cn,hn,Bn,Ii,Cn,vg,Rg,Gg,Ug,Lg,ye,Mg,Io,co,En,Ng,Bt,zA,Tg,Og,hA,ho,Bo,qg,un,mt,Qn,dn,wn,pn,yn,mn,_n,xn,Dn,wt,_A,ci,kn,hi,Sn,bn,Fn,vn,Ct,Et,Rn,Gn,Un,Ln,Mn,Bi,Nn,Tn,X,Co,Eo,Hg,Yg,Jg,zg,On,KA,uo,Qo,wo,po,Pg,qn,Ci,Ei,Vg,yo,Zg,Xg,jg,Wg,$g,Al,el,tl,il,rl,nl,ol,al,sl,DA,ll,mo,fl,Il,Fe,ui,Qi,cl,Hn,hl,Cl,El,ul,Ql,dl,wl,oI,aI,sI,gI,lI,pl,fI,II,_t,Li=IA(()=>{Ja=0,Yn=1,za=2,Ka=3,Pa=258,Si=29,ve=256,me=ve+1+Si,te=30,bi=19,Jn=2*me+1,OA=15,oi=16,Va=7,Fi=256,zn=16,Kn=17,Pn=18,di=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]),ut=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]),Za=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Vn=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Xa=512,xA=new Array((me+2)*2);ne(xA);we=new Array(te*2);ne(we);_e=new Array(Xa);ne(_e);xe=new Array(Pa-Ka+1);ne(xe);vi=new Array(Si);ne(vi);Qt=new Array(te);ne(Qt);Wn=A=>A<256?_e[A]:_e[256+(A>>>7)],De=(A,t)=>{A.pending_buf[A.pending++]=t&255,A.pending_buf[A.pending++]=t>>>8&255},oA=(A,t,e)=>{A.bi_valid>oi-e?(A.bi_buf|=t<<A.bi_valid&65535,De(A,A.bi_buf),A.bi_buf=t>>oi-A.bi_valid,A.bi_valid+=e-oi):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)},wA=(A,t,e)=>{oA(A,e[t*2],e[t*2+1])},$n=(A,t)=>{let e=0;do e|=A&1,A>>>=1,e<<=1;while(--t>0);return e>>>1},ja=A=>{A.bi_valid===16?(De(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=A.bi_buf&255,A.bi_buf>>=8,A.bi_valid-=8)},Wa=(A,t)=>{let e=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,f=t.stat_desc.max_length,o,a,h,I,g,c,B=0;for(I=0;I<=OA;I++)A.bl_count[I]=0;for(e[A.heap[A.heap_max]*2+1]=0,o=A.heap_max+1;o<Jn;o++)a=A.heap[o],I=e[e[a*2+1]*2+1]+1,I>f&&(I=f,B++),e[a*2+1]=I,!(a>i)&&(A.bl_count[I]++,g=0,a>=s&&(g=l[a-s]),c=e[a*2],A.opt_len+=c*(I+g),n&&(A.static_len+=c*(r[a*2+1]+g)));if(B!==0){do{for(I=f-1;A.bl_count[I]===0;)I--;A.bl_count[I]--,A.bl_count[I+1]+=2,A.bl_count[f]--,B-=2}while(B>0);for(I=f;I!==0;I--)for(a=A.bl_count[I];a!==0;)h=A.heap[--o],!(h>i)&&(e[h*2+1]!==I&&(A.opt_len+=(I-e[h*2+1])*e[h*2],e[h*2+1]=I),a--)}},Ao=(A,t,e)=>{let i=new Array(OA+1),r=0,n,l;for(n=1;n<=OA;n++)r=r+e[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=A[l*2+1];s!==0&&(A[l*2]=$n(i[s]++,s))}},$a=()=>{let A,t,e,i,r,n=new Array(OA+1);for(e=0,i=0;i<Si-1;i++)for(vi[i]=e,A=0;A<1<<di[i];A++)xe[e++]=i;for(xe[e-1]=i,r=0,i=0;i<16;i++)for(Qt[i]=r,A=0;A<1<<ut[i];A++)_e[r++]=i;for(r>>=7;i<te;i++)for(Qt[i]=r<<7,A=0;A<1<<ut[i]-7;A++)_e[256+r++]=i;for(t=0;t<=OA;t++)n[t]=0;for(A=0;A<=143;)xA[A*2+1]=8,A++,n[8]++;for(;A<=255;)xA[A*2+1]=9,A++,n[9]++;for(;A<=279;)xA[A*2+1]=7,A++,n[7]++;for(;A<=287;)xA[A*2+1]=8,A++,n[8]++;for(Ao(xA,me+1,n),A=0;A<te;A++)we[A*2+1]=5,we[A*2]=$n(A,5);Zn=new ai(xA,di,ve+1,me,OA),Xn=new ai(we,ut,0,te,OA),jn=new ai(new Array(0),Za,0,bi,Va)},eo=A=>{let t;for(t=0;t<me;t++)A.dyn_ltree[t*2]=0;for(t=0;t<te;t++)A.dyn_dtree[t*2]=0;for(t=0;t<bi;t++)A.bl_tree[t*2]=0;A.dyn_ltree[Fi*2]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},to=A=>{A.bi_valid>8?De(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},nn=(A,t,e,i)=>{let r=t*2,n=e*2;return A[r]<A[n]||A[r]===A[n]&&i[t]<=i[e]},gi=(A,t,e)=>{let i=A.heap[e],r=e<<1;for(;r<=A.heap_len&&(r<A.heap_len&&nn(t,A.heap[r+1],A.heap[r],A.depth)&&r++,!nn(t,i,A.heap[r],A.depth));)A.heap[e]=A.heap[r],e=r,r<<=1;A.heap[e]=i},on=(A,t,e)=>{let i,r,n=0,l,s;if(A.sym_next!==0)do i=A.pending_buf[A.sym_buf+n++]&255,i+=(A.pending_buf[A.sym_buf+n++]&255)<<8,r=A.pending_buf[A.sym_buf+n++],i===0?wA(A,r,t):(l=xe[r],wA(A,l+ve+1,t),s=di[l],s!==0&&(r-=vi[l],oA(A,r,s)),i--,l=Wn(i),wA(A,l,e),s=ut[l],s!==0&&(i-=Qt[l],oA(A,i,s)));while(n<A.sym_next);wA(A,Fi,t)},wi=(A,t)=>{let e=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,f=-1,o;for(A.heap_len=0,A.heap_max=Jn,l=0;l<n;l++)e[l*2]!==0?(A.heap[++A.heap_len]=f=l,A.depth[l]=0):e[l*2+1]=0;for(;A.heap_len<2;)o=A.heap[++A.heap_len]=f<2?++f:0,e[o*2]=1,A.depth[o]=0,A.opt_len--,r&&(A.static_len-=i[o*2+1]);for(t.max_code=f,l=A.heap_len>>1;l>=1;l--)gi(A,e,l);o=n;do l=A.heap[1],A.heap[1]=A.heap[A.heap_len--],gi(A,e,1),s=A.heap[1],A.heap[--A.heap_max]=l,A.heap[--A.heap_max]=s,e[o*2]=e[l*2]+e[s*2],A.depth[o]=(A.depth[l]>=A.depth[s]?A.depth[l]:A.depth[s])+1,e[l*2+1]=e[s*2+1]=o,A.heap[1]=o++,gi(A,e,1);while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],Wa(A,t),Ao(e,f,A.bl_count)},an=(A,t,e)=>{let i,r=-1,n,l=t[0*2+1],s=0,f=7,o=4;for(l===0&&(f=138,o=3),t[(e+1)*2+1]=65535,i=0;i<=e;i++)n=l,l=t[(i+1)*2+1],!(++s<f&&n===l)&&(s<o?A.bl_tree[n*2]+=s:n!==0?(n!==r&&A.bl_tree[n*2]++,A.bl_tree[zn*2]++):s<=10?A.bl_tree[Kn*2]++:A.bl_tree[Pn*2]++,s=0,r=n,l===0?(f=138,o=3):n===l?(f=6,o=3):(f=7,o=4))},sn=(A,t,e)=>{let i,r=-1,n,l=t[0*2+1],s=0,f=7,o=4;for(l===0&&(f=138,o=3),i=0;i<=e;i++)if(n=l,l=t[(i+1)*2+1],!(++s<f&&n===l)){if(s<o)do wA(A,n,A.bl_tree);while(--s!==0);else n!==0?(n!==r&&(wA(A,n,A.bl_tree),s--),wA(A,zn,A.bl_tree),oA(A,s-3,2)):s<=10?(wA(A,Kn,A.bl_tree),oA(A,s-3,3)):(wA(A,Pn,A.bl_tree),oA(A,s-11,7));s=0,r=n,l===0?(f=138,o=3):n===l?(f=6,o=3):(f=7,o=4)}},As=A=>{let t;for(an(A,A.dyn_ltree,A.l_desc.max_code),an(A,A.dyn_dtree,A.d_desc.max_code),wi(A,A.bl_desc),t=bi-1;t>=3&&A.bl_tree[Vn[t]*2+1]===0;t--);return A.opt_len+=3*(t+1)+5+5+4,t},es=(A,t,e,i)=>{let r;for(oA(A,t-257,5),oA(A,e-1,5),oA(A,i-4,4),r=0;r<i;r++)oA(A,A.bl_tree[Vn[r]*2+1],3);sn(A,A.dyn_ltree,t-1),sn(A,A.dyn_dtree,e-1)},ts=A=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&A.dyn_ltree[e*2]!==0)return 0;if(A.dyn_ltree[9*2]!==0||A.dyn_ltree[10*2]!==0||A.dyn_ltree[13*2]!==0)return 1;for(e=32;e<ve;e++)if(A.dyn_ltree[e*2]!==0)return 1;return 0},gn=!1,is=A=>{gn||($a(),gn=!0),A.l_desc=new si(A.dyn_ltree,Zn),A.d_desc=new si(A.dyn_dtree,Xn),A.bl_desc=new si(A.bl_tree,jn),A.bi_buf=0,A.bi_valid=0,eo(A)},io=(A,t,e,i)=>{oA(A,(Ja<<1)+(i?1:0),3),to(A),De(A,e),De(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e},rs=A=>{oA(A,Yn<<1,3),wA(A,Fi,xA),ja(A)},ns=(A,t,e,i)=>{let r,n,l=0;A.level>0?(A.strm.data_type===2&&(A.strm.data_type=ts(A)),wi(A,A.l_desc),wi(A,A.d_desc),l=As(A),r=A.opt_len+3+7>>>3,n=A.static_len+3+7>>>3,n<=r&&(r=n)):r=n=e+5,e+4<=r&&t!==-1?io(A,t,e,i):A.strategy===4||n===r?(oA(A,(Yn<<1)+(i?1:0),3),on(A,xA,we)):(oA(A,(za<<1)+(i?1:0),3),es(A,A.l_desc.max_code+1,A.d_desc.max_code+1,l+1),on(A,A.dyn_ltree,A.dyn_dtree)),eo(A),i&&to(A)},os=(A,t,e)=>(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=e,t===0?A.dyn_ltree[e*2]++:(A.matches++,t--,A.dyn_ltree[(xe[e]+ve+1)*2]++,A.dyn_dtree[Wn(t)*2]++),A.sym_next===A.sym_end),as=is,ss=io,gs=ns,ls=os,fs=rs,Is={_tr_init:as,_tr_stored_block:ss,_tr_flush_block:gs,_tr_tally:ls,_tr_align:fs},cs=(A,t,e,i)=>{let r=A&65535|0,n=A>>>16&65535|0,l=0;for(;e!==0;){l=e>2e3?2e3:e,e-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},ke=cs,hs=()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=A&1?3988292384^A>>>1:A>>>1;t[e]=A}return t},Bs=new Uint32Array(hs()),Cs=(A,t,e,i)=>{let r=Bs,n=i+e;A^=-1;for(let l=i;l<n;l++)A=A>>>8^r[(A^t[l])&255];return A^-1},AA=Cs,YA={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"},oe={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:Es,_tr_stored_block:pi,_tr_flush_block:us,_tr_tally:LA,_tr_align:Qs}=Is,{Z_NO_FLUSH:MA,Z_PARTIAL_FLUSH:ds,Z_FULL_FLUSH:ws,Z_FINISH:cA,Z_BLOCK:ln,Z_OK:eA,Z_STREAM_END:fn,Z_STREAM_ERROR:pA,Z_DATA_ERROR:ps,Z_BUF_ERROR:li,Z_DEFAULT_COMPRESSION:ys,Z_FILTERED:ms,Z_HUFFMAN_ONLY:ct,Z_RLE:_s,Z_FIXED:xs,Z_DEFAULT_STRATEGY:Ds,Z_UNKNOWN:ks,Z_DEFLATED:pt}=oe,Ss=9,bs=15,Fs=8,vs=29,Rs=256,yi=Rs+1+vs,Gs=30,Us=19,Ls=2*yi+1,Ms=15,z=3,UA=258,yA=UA+z+1,Ns=32,ie=42,Ri=57,mi=69,_i=73,xi=91,Di=103,qA=113,Qe=666,rA=1,ae=2,JA=3,se=4,Ts=3,HA=(A,t)=>(A.msg=YA[t],t),In=A=>A*2-(A>4?9:0),GA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},Os=A=>{let t,e,i,r=A.w_size;t=A.hash_size,i=t;do e=A.head[--i],A.head[i]=e>=r?e-r:0;while(--t);t=r,i=t;do e=A.prev[--i],A.prev[i]=e>=r?e-r:0;while(--t)},qs=(A,t,e)=>(t<<A.hash_shift^e)&A.hash_mask,NA=qs,aA=A=>{let t=A.state,e=t.pending;e>A.avail_out&&(e=A.avail_out),e!==0&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},sA=(A,t)=>{us(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,aA(A.strm)},K=(A,t)=>{A.pending_buf[A.pending++]=t},ue=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=t&255},ki=(A,t,e,i)=>{let r=A.avail_in;return r>i&&(r=i),r===0?0:(A.avail_in-=r,t.set(A.input.subarray(A.next_in,A.next_in+r),e),A.state.wrap===1?A.adler=ke(A.adler,t,r,e):A.state.wrap===2&&(A.adler=AA(A.adler,t,r,e)),A.next_in+=r,A.total_in+=r,r)},ro=(A,t)=>{let e=A.max_chain_length,i=A.strstart,r,n,l=A.prev_length,s=A.nice_match,f=A.strstart>A.w_size-yA?A.strstart-(A.w_size-yA):0,o=A.window,a=A.w_mask,h=A.prev,I=A.strstart+UA,g=o[i+l-1],c=o[i+l];A.prev_length>=A.good_match&&(e>>=2),s>A.lookahead&&(s=A.lookahead);do if(r=t,!(o[r+l]!==c||o[r+l-1]!==g||o[r]!==o[i]||o[++r]!==o[i+1])){i+=2,r++;do;while(o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&i<I);if(n=UA-(I-i),i=I-UA,n>l){if(A.match_start=t,l=n,n>=s)break;g=o[i+l-1],c=o[i+l]}}while((t=h[t&a])>f&&--e!==0);return l<=A.lookahead?l:A.lookahead},re=A=>{let t=A.w_size,e,i,r;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-yA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),Os(A),i+=t),A.strm.avail_in===0)break;if(e=ki(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=z)for(r=A.strstart-A.insert,A.ins_h=A.window[r],A.ins_h=NA(A,A.ins_h,A.window[r+1]);A.insert&&(A.ins_h=NA(A,A.ins_h,A.window[r+z-1]),A.prev[r&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=r,r++,A.insert--,!(A.lookahead+A.insert<z)););}while(A.lookahead<yA&&A.strm.avail_in!==0)},no=(A,t)=>{let e=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,i,r,n,l=0,s=A.strm.avail_in;do{if(i=65535,n=A.bi_valid+42>>3,A.strm.avail_out<n||(n=A.strm.avail_out-n,r=A.strstart-A.block_start,i>r+A.strm.avail_in&&(i=r+A.strm.avail_in),i>n&&(i=n),i<e&&(i===0&&t!==cA||t===MA||i!==r+A.strm.avail_in)))break;l=t===cA&&i===r+A.strm.avail_in?1:0,pi(A,0,0,l),A.pending_buf[A.pending-4]=i,A.pending_buf[A.pending-3]=i>>8,A.pending_buf[A.pending-2]=~i,A.pending_buf[A.pending-1]=~i>>8,aA(A.strm),r&&(r>i&&(r=i),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+r),A.strm.next_out),A.strm.next_out+=r,A.strm.avail_out-=r,A.strm.total_out+=r,A.block_start+=r,i-=r),i&&(ki(A.strm,A.strm.output,A.strm.next_out,i),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i)}while(l===0);return s-=A.strm.avail_in,s&&(s>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=s&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-s,A.strm.next_in),A.strstart),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),l?se:t!==MA&&t!==cA&&A.strm.avail_in===0&&A.strstart===A.block_start?ae:(n=A.window_size-A.strstart,A.strm.avail_in>n&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,n+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),n>A.strm.avail_in&&(n=A.strm.avail_in),n&&(ki(A.strm,A.window,A.strstart,n),A.strstart+=n,A.insert+=n>A.w_size-A.insert?A.w_size-A.insert:n),A.high_water<A.strstart&&(A.high_water=A.strstart),n=A.bi_valid+42>>3,n=A.pending_buf_size-n>65535?65535:A.pending_buf_size-n,e=n>A.w_size?A.w_size:n,r=A.strstart-A.block_start,(r>=e||(r||t===cA)&&t!==MA&&A.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===cA&&A.strm.avail_in===0&&i===r?1:0,pi(A,A.block_start,i,l),A.block_start+=i,aA(A.strm)),l?JA:rA)},fi=(A,t)=>{let e,i;for(;;){if(A.lookahead<yA){if(re(A),A.lookahead<yA&&t===MA)return rA;if(A.lookahead===0)break}if(e=0,A.lookahead>=z&&(A.ins_h=NA(A,A.ins_h,A.window[A.strstart+z-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),e!==0&&A.strstart-e<=A.w_size-yA&&(A.match_length=ro(A,e)),A.match_length>=z)if(i=LA(A,A.strstart-A.match_start,A.match_length-z),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=z){A.match_length--;do A.strstart++,A.ins_h=NA(A,A.ins_h,A.window[A.strstart+z-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart;while(--A.match_length!==0);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=NA(A,A.ins_h,A.window[A.strstart+1]);else i=LA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(sA(A,!1),A.strm.avail_out===0))return rA}return A.insert=A.strstart<z-1?A.strstart:z-1,t===cA?(sA(A,!0),A.strm.avail_out===0?JA:se):A.sym_next&&(sA(A,!1),A.strm.avail_out===0)?rA:ae},Ae=(A,t)=>{let e,i,r;for(;;){if(A.lookahead<yA){if(re(A),A.lookahead<yA&&t===MA)return rA;if(A.lookahead===0)break}if(e=0,A.lookahead>=z&&(A.ins_h=NA(A,A.ins_h,A.window[A.strstart+z-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=z-1,e!==0&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-yA&&(A.match_length=ro(A,e),A.match_length<=5&&(A.strategy===ms||A.match_length===z&&A.strstart-A.match_start>4096)&&(A.match_length=z-1)),A.prev_length>=z&&A.match_length<=A.prev_length){r=A.strstart+A.lookahead-z,i=LA(A,A.strstart-1-A.prev_match,A.prev_length-z),A.lookahead-=A.prev_length-1,A.prev_length-=2;do++A.strstart<=r&&(A.ins_h=NA(A,A.ins_h,A.window[A.strstart+z-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart);while(--A.prev_length!==0);if(A.match_available=0,A.match_length=z-1,A.strstart++,i&&(sA(A,!1),A.strm.avail_out===0))return rA}else if(A.match_available){if(i=LA(A,0,A.window[A.strstart-1]),i&&sA(A,!1),A.strstart++,A.lookahead--,A.strm.avail_out===0)return rA}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=LA(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<z-1?A.strstart:z-1,t===cA?(sA(A,!0),A.strm.avail_out===0?JA:se):A.sym_next&&(sA(A,!1),A.strm.avail_out===0)?rA:ae},Hs=(A,t)=>{let e,i,r,n,l=A.window;for(;;){if(A.lookahead<=UA){if(re(A),A.lookahead<=UA&&t===MA)return rA;if(A.lookahead===0)break}if(A.match_length=0,A.lookahead>=z&&A.strstart>0&&(r=A.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=A.strstart+UA;do;while(i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&r<n);A.match_length=UA-(n-r),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=z?(e=LA(A,1,A.match_length-z),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=LA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(sA(A,!1),A.strm.avail_out===0))return rA}return A.insert=0,t===cA?(sA(A,!0),A.strm.avail_out===0?JA:se):A.sym_next&&(sA(A,!1),A.strm.avail_out===0)?rA:ae},Ys=(A,t)=>{let e;for(;;){if(A.lookahead===0&&(re(A),A.lookahead===0)){if(t===MA)return rA;break}if(A.match_length=0,e=LA(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(sA(A,!1),A.strm.avail_out===0))return rA}return A.insert=0,t===cA?(sA(A,!0),A.strm.avail_out===0?JA:se):A.sym_next&&(sA(A,!1),A.strm.avail_out===0)?rA:ae};de=[new dA(0,0,0,0,no),new dA(4,4,8,4,fi),new dA(4,5,16,8,fi),new dA(4,6,32,32,fi),new dA(4,4,16,16,Ae),new dA(8,16,32,32,Ae),new dA(8,16,128,128,Ae),new dA(8,32,128,256,Ae),new dA(32,128,258,1024,Ae),new dA(32,258,258,4096,Ae)],Js=A=>{A.window_size=2*A.w_size,GA(A.head),A.max_lazy_match=de[A.level].max_lazy,A.good_match=de[A.level].good_length,A.nice_match=de[A.level].nice_length,A.max_chain_length=de[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=z-1,A.match_available=0,A.ins_h=0};Re=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.status!==ie&&t.status!==Ri&&t.status!==mi&&t.status!==_i&&t.status!==xi&&t.status!==Di&&t.status!==qA&&t.status!==Qe?1:0},oo=A=>{if(Re(A))return HA(A,pA);A.total_in=A.total_out=0,A.data_type=ks;let t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ri:t.wrap?ie:qA,A.adler=t.wrap===2?0:1,t.last_flush=-2,Es(t),eA},ao=A=>{let t=oo(A);return t===eA&&Js(A.state),t},Ks=(A,t)=>Re(A)||A.state.wrap!==2?pA:(A.state.gzhead=t,eA),so=(A,t,e,i,r,n)=>{if(!A)return pA;let l=1;if(t===ys&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Ss||e!==pt||i<8||i>15||t<0||t>9||n<0||n>xs||i===8&&l!==1)return HA(A,pA);i===8&&(i=9);let s=new zs;return A.state=s,s.strm=A,s.status=ie,s.wrap=l,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+z-1)/z),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=n,s.method=e,ao(A)},Ps=(A,t)=>so(A,t,pt,bs,Fs,Ds),Vs=(A,t)=>{if(Re(A)||t>ln||t<0)return A?HA(A,pA):pA;let e=A.state;if(!A.output||A.avail_in!==0&&!A.input||e.status===Qe&&t!==cA)return HA(A,A.avail_out===0?li:pA);let i=e.last_flush;if(e.last_flush=t,e.pending!==0){if(aA(A),A.avail_out===0)return e.last_flush=-1,eA}else if(A.avail_in===0&&In(t)<=In(i)&&t!==cA)return HA(A,li);if(e.status===Qe&&A.avail_in!==0)return HA(A,li);if(e.status===ie&&e.wrap===0&&(e.status=qA),e.status===ie){let r=pt+(e.w_bits-8<<4)<<8,n=-1;if(e.strategy>=ct||e.level<2?n=0:e.level<6?n=1:e.level===6?n=2:n=3,r|=n<<6,e.strstart!==0&&(r|=Ns),r+=31-r%31,ue(e,r),e.strstart!==0&&(ue(e,A.adler>>>16),ue(e,A.adler&65535)),A.adler=1,e.status=qA,aA(A),e.pending!==0)return e.last_flush=-1,eA}if(e.status===Ri){if(A.adler=0,K(e,31),K(e,139),K(e,8),e.gzhead)K(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),K(e,e.gzhead.time&255),K(e,e.gzhead.time>>8&255),K(e,e.gzhead.time>>16&255),K(e,e.gzhead.time>>24&255),K(e,e.level===9?2:e.strategy>=ct||e.level<2?4:0),K(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(K(e,e.gzhead.extra.length&255),K(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=AA(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=mi;else if(K(e,0),K(e,0),K(e,0),K(e,0),K(e,0),K(e,e.level===9?2:e.strategy>=ct||e.level<2?4:0),K(e,Ts),e.status=qA,aA(A),e.pending!==0)return e.last_flush=-1,eA}if(e.status===mi){if(e.gzhead.extra){let r=e.pending,n=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+n>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex+=s,aA(A),e.pending!==0)return e.last_flush=-1,eA;r=0,n-=s}let l=new Uint8Array(e.gzhead.extra);e.pending_buf.set(l.subarray(e.gzindex,e.gzindex+n),e.pending),e.pending+=n,e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=_i}if(e.status===_i){if(e.gzhead.name){let r=e.pending,n;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r)),aA(A),e.pending!==0)return e.last_flush=-1,eA;r=0}e.gzindex<e.gzhead.name.length?n=e.gzhead.name.charCodeAt(e.gzindex++)&255:n=0,K(e,n)}while(n!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r)),e.gzindex=0}e.status=xi}if(e.status===xi){if(e.gzhead.comment){let r=e.pending,n;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r)),aA(A),e.pending!==0)return e.last_flush=-1,eA;r=0}e.gzindex<e.gzhead.comment.length?n=e.gzhead.comment.charCodeAt(e.gzindex++)&255:n=0,K(e,n)}while(n!==0);e.gzhead.hcrc&&e.pending>r&&(A.adler=AA(A.adler,e.pending_buf,e.pending-r,r))}e.status=Di}if(e.status===Di){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(aA(A),e.pending!==0))return e.last_flush=-1,eA;K(e,A.adler&255),K(e,A.adler>>8&255),A.adler=0}if(e.status=qA,aA(A),e.pending!==0)return e.last_flush=-1,eA}if(A.avail_in!==0||e.lookahead!==0||t!==MA&&e.status!==Qe){let r=e.level===0?no(e,t):e.strategy===ct?Ys(e,t):e.strategy===_s?Hs(e,t):de[e.level].func(e,t);if((r===JA||r===se)&&(e.status=Qe),r===rA||r===JA)return A.avail_out===0&&(e.last_flush=-1),eA;if(r===ae&&(t===ds?Qs(e):t!==ln&&(pi(e,0,0,!1),t===ws&&(GA(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),aA(A),A.avail_out===0))return e.last_flush=-1,eA}return t!==cA?eA:e.wrap<=0?fn:(e.wrap===2?(K(e,A.adler&255),K(e,A.adler>>8&255),K(e,A.adler>>16&255),K(e,A.adler>>24&255),K(e,A.total_in&255),K(e,A.total_in>>8&255),K(e,A.total_in>>16&255),K(e,A.total_in>>24&255)):(ue(e,A.adler>>>16),ue(e,A.adler&65535)),aA(A),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?eA:fn)},Zs=A=>{if(Re(A))return pA;let t=A.state.status;return A.state=null,t===qA?HA(A,ps):eA},Xs=(A,t)=>{let e=t.length;if(Re(A))return pA;let i=A.state,r=i.wrap;if(r===2||r===1&&i.status!==ie||i.lookahead)return pA;if(r===1&&(A.adler=ke(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){r===0&&(GA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let f=new Uint8Array(i.w_size);f.set(t.subarray(e-i.w_size,e),0),t=f,e=i.w_size}let n=A.avail_in,l=A.next_in,s=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,re(i);i.lookahead>=z;){let f=i.strstart,o=i.lookahead-(z-1);do i.ins_h=NA(i,i.ins_h,i.window[f+z-1]),i.prev[f&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=f,f++;while(--o);i.strstart=f,i.lookahead=z-1,re(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=z-1,i.match_available=0,A.next_in=l,A.input=s,A.avail_in=n,i.wrap=r,eA},js=Ps,Ws=so,$s=ao,Ag=oo,eg=Ks,tg=Vs,ig=Zs,rg=Xs,ng="pako deflate (from Nodeca project)",pe={deflateInit:js,deflateInit2:Ws,deflateReset:$s,deflateResetKeep:Ag,deflateSetHeader:eg,deflate:tg,deflateEnd:ig,deflateSetDictionary:rg,deflateInfo:ng},og=(A,t)=>Object.prototype.hasOwnProperty.call(A,t),ag=function(A){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let i in e)og(e,i)&&(A[i]=e[i])}}return A},sg=A=>{let t=0;for(let i=0,r=A.length;i<r;i++)t+=A[i].length;let e=new Uint8Array(t);for(let i=0,r=0,n=A.length;i<n;i++){let l=A[i];e.set(l,r),r+=l.length}return e},yt={assign:ag,flattenChunks:sg},go=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{go=!1}Se=new Uint8Array(256);for(let A=0;A<256;A++)Se[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;Se[254]=Se[254]=1;gg=A=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(A);let t,e,i,r,n,l=A.length,s=0;for(r=0;r<l;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<l&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),s+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)e=A.charCodeAt(r),(e&64512)===55296&&r+1<l&&(i=A.charCodeAt(r+1),(i&64512)===56320&&(e=65536+(e-55296<<10)+(i-56320),r++)),e<128?t[n++]=e:e<2048?(t[n++]=192|e>>>6,t[n++]=128|e&63):e<65536?(t[n++]=224|e>>>12,t[n++]=128|e>>>6&63,t[n++]=128|e&63):(t[n++]=240|e>>>18,t[n++]=128|e>>>12&63,t[n++]=128|e>>>6&63,t[n++]=128|e&63);return t},lg=(A,t)=>{if(t<65534&&A.subarray&&go)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e="";for(let i=0;i<t;i++)e+=String.fromCharCode(A[i]);return e},fg=(A,t)=>{let e=t||A.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(A.subarray(0,t));let i,r,n=new Array(e*2);for(r=0,i=0;i<e;){let l=A[i++];if(l<128){n[r++]=l;continue}let s=Se[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<e;)l=l<<6|A[i++]&63,s--;if(s>1){n[r++]=65533;continue}l<65536?n[r++]=l:(l-=65536,n[r++]=55296|l>>10&1023,n[r++]=56320|l&1023)}return lg(n,r)},Ig=(A,t)=>{t=t||A.length,t>A.length&&(t=A.length);let e=t-1;for(;e>=0&&(A[e]&192)===128;)e--;return e<0||e===0?t:e+Se[A[e]]>t?e:t},be={string2buf:gg,buf2string:fg,utf8border:Ig};lo=cg,fo=Object.prototype.toString,{Z_NO_FLUSH:hg,Z_SYNC_FLUSH:Bg,Z_FULL_FLUSH:Cg,Z_FINISH:Eg,Z_OK:dt,Z_STREAM_END:ug,Z_DEFAULT_COMPRESSION:Qg,Z_DEFAULT_STRATEGY:dg,Z_DEFLATED:wg}=oe;Ge.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?Eg:hg,typeof A=="string"?e.input=be.string2buf(A):fo.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(n===Bg||n===Cg)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(r=pe.deflate(e,n),r===ug)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),r=pe.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===dt;if(e.avail_out===0){this.onData(e.output);continue}if(n>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Ge.prototype.onData=function(A){this.chunks.push(A)};Ge.prototype.onEnd=function(A){A===dt&&(this.result=yt.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};mg=Ge,_g=Gi,xg=pg,Dg=yg,kg=oe,Sg={Deflate:mg,deflate:_g,deflateRaw:xg,gzip:Dg,constants:kg},ht=16209,bg=16191,Fg=function(t,e){let i,r,n,l,s,f,o,a,h,I,g,c,B,C,d,u,w,p,Q,E,m,y,S,x,D=t.state;i=t.next_in,S=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(e-t.avail_out),s=n+(t.avail_out-257),f=D.dmax,o=D.wsize,a=D.whave,h=D.wnext,I=D.window,g=D.hold,c=D.bits,B=D.lencode,C=D.distcode,d=(1<<D.lenbits)-1,u=(1<<D.distbits)-1;A:do{c<15&&(g+=S[i++]<<c,c+=8,g+=S[i++]<<c,c+=8),w=B[g&d];e:for(;;){if(p=w>>>24,g>>>=p,c-=p,p=w>>>16&255,p===0)x[n++]=w&65535;else if(p&16){Q=w&65535,p&=15,p&&(c<p&&(g+=S[i++]<<c,c+=8),Q+=g&(1<<p)-1,g>>>=p,c-=p),c<15&&(g+=S[i++]<<c,c+=8,g+=S[i++]<<c,c+=8),w=C[g&u];t:for(;;){if(p=w>>>24,g>>>=p,c-=p,p=w>>>16&255,p&16){if(E=w&65535,p&=15,c<p&&(g+=S[i++]<<c,c+=8,c<p&&(g+=S[i++]<<c,c+=8)),E+=g&(1<<p)-1,E>f){t.msg="invalid distance too far back",D.mode=ht;break A}if(g>>>=p,c-=p,p=n-l,E>p){if(p=E-p,p>a&&D.sane){t.msg="invalid distance too far back",D.mode=ht;break A}if(m=0,y=I,h===0){if(m+=o-p,p<Q){Q-=p;do x[n++]=I[m++];while(--p);m=n-E,y=x}}else if(h<p){if(m+=o+h-p,p-=h,p<Q){Q-=p;do x[n++]=I[m++];while(--p);if(m=0,h<Q){p=h,Q-=p;do x[n++]=I[m++];while(--p);m=n-E,y=x}}}else if(m+=h-p,p<Q){Q-=p;do x[n++]=I[m++];while(--p);m=n-E,y=x}for(;Q>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],Q-=3;Q&&(x[n++]=y[m++],Q>1&&(x[n++]=y[m++]))}else{m=n-E;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],Q-=3;while(Q>2);Q&&(x[n++]=x[m++],Q>1&&(x[n++]=x[m++]))}}else if(p&64){t.msg="invalid distance code",D.mode=ht;break A}else{w=C[(w&65535)+(g&(1<<p)-1)];continue t}break}}else if(p&64)if(p&32){D.mode=bg;break A}else{t.msg="invalid literal/length code",D.mode=ht;break A}else{w=B[(w&65535)+(g&(1<<p)-1)];continue e}break}}while(i<r&&n<s);Q=c>>3,i-=Q,c-=Q<<3,g&=(1<<c)-1,t.next_in=i,t.next_out=n,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=n<s?257+(s-n):257-(n-s),D.hold=g,D.bits=c},ee=15,cn=852,hn=592,Bn=0,Ii=1,Cn=2,vg=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]),Rg=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]),Gg=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]),Ug=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]),Lg=(A,t,e,i,r,n,l,s)=>{let f=s.bits,o=0,a=0,h=0,I=0,g=0,c=0,B=0,C=0,d=0,u=0,w,p,Q,E,m,y=null,S,x=new Uint16Array(ee+1),D=new Uint16Array(ee+1),k=null,N,b,_;for(o=0;o<=ee;o++)x[o]=0;for(a=0;a<i;a++)x[t[e+a]]++;for(g=f,I=ee;I>=1&&x[I]===0;I--);if(g>I&&(g=I),I===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(h=1;h<I&&x[h]===0;h++);for(g<h&&(g=h),C=1,o=1;o<=ee;o++)if(C<<=1,C-=x[o],C<0)return-1;if(C>0&&(A===Bn||I!==1))return-1;for(D[1]=0,o=1;o<ee;o++)D[o+1]=D[o]+x[o];for(a=0;a<i;a++)t[e+a]!==0&&(l[D[t[e+a]]++]=a);if(A===Bn?(y=k=l,S=20):A===Ii?(y=vg,k=Rg,S=257):(y=Gg,k=Ug,S=0),u=0,a=0,o=h,m=n,c=g,B=0,Q=-1,d=1<<g,E=d-1,A===Ii&&d>cn||A===Cn&&d>hn)return 1;for(;;){N=o-B,l[a]+1<S?(b=0,_=l[a]):l[a]>=S?(b=k[l[a]-S],_=y[l[a]-S]):(b=32+64,_=0),w=1<<o-B,p=1<<c,h=p;do p-=w,r[m+(u>>B)+p]=N<<24|b<<16|_|0;while(p!==0);for(w=1<<o-1;u&w;)w>>=1;if(w!==0?(u&=w-1,u+=w):u=0,a++,--x[o]===0){if(o===I)break;o=t[e+l[a]]}if(o>g&&(u&E)!==Q){for(B===0&&(B=g),m+=h,c=o-B,C=1<<c;c+B<I&&(C-=x[c+B],!(C<=0));)c++,C<<=1;if(d+=1<<c,A===Ii&&d>cn||A===Cn&&d>hn)return 1;Q=u&E,r[Q]=g<<24|c<<16|m-n|0}}return u!==0&&(r[m+u]=o-B<<24|64<<16|0),s.bits=g,0},ye=Lg,Mg=0,Io=1,co=2,{Z_FINISH:En,Z_BLOCK:Ng,Z_TREES:Bt,Z_OK:zA,Z_STREAM_END:Tg,Z_NEED_DICT:Og,Z_STREAM_ERROR:hA,Z_DATA_ERROR:ho,Z_MEM_ERROR:Bo,Z_BUF_ERROR:qg,Z_DEFLATED:un}=oe,mt=16180,Qn=16181,dn=16182,wn=16183,pn=16184,yn=16185,mn=16186,_n=16187,xn=16188,Dn=16189,wt=16190,_A=16191,ci=16192,kn=16193,hi=16194,Sn=16195,bn=16196,Fn=16197,vn=16198,Ct=16199,Et=16200,Rn=16201,Gn=16202,Un=16203,Ln=16204,Mn=16205,Bi=16206,Nn=16207,Tn=16208,X=16209,Co=16210,Eo=16211,Hg=852,Yg=592,Jg=15,zg=Jg,On=A=>(A>>>24&255)+(A>>>8&65280)+((A&65280)<<8)+((A&255)<<24);KA=A=>{if(!A)return 1;let t=A.state;return!t||t.strm!==A||t.mode<mt||t.mode>Eo?1:0},uo=A=>{if(KA(A))return hA;let t=A.state;return A.total_in=A.total_out=t.total=0,A.msg="",t.wrap&&(A.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(Hg),t.distcode=t.distdyn=new Int32Array(Yg),t.sane=1,t.back=-1,zA},Qo=A=>{if(KA(A))return hA;let t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,uo(A)},wo=(A,t)=>{let e;if(KA(A))return hA;let i=A.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?hA:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,Qo(A))},po=(A,t)=>{if(!A)return hA;let e=new Kg;A.state=e,e.strm=A,e.window=null,e.mode=mt;let i=wo(A,t);return i!==zA&&(A.state=null),i},Pg=A=>po(A,zg),qn=!0,Vg=A=>{if(qn){Ci=new Int32Array(512),Ei=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(ye(Io,A.lens,0,288,Ci,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;ye(co,A.lens,0,32,Ei,0,A.work,{bits:5}),qn=!1}A.lencode=Ci,A.lenbits=9,A.distcode=Ei,A.distbits=5},yo=(A,t,e,i)=>{let r,n=A.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),i>=n.wsize?(n.window.set(t.subarray(e-n.wsize,e),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(e-i,e-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(e-i,e),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=r))),0},Zg=(A,t)=>{let e,i,r,n,l,s,f,o,a,h,I,g,c,B,C=0,d,u,w,p,Q,E,m,y,S=new Uint8Array(4),x,D,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(KA(A)||!A.output||!A.input&&A.avail_in!==0)return hA;e=A.state,e.mode===_A&&(e.mode=ci),l=A.next_out,r=A.output,f=A.avail_out,n=A.next_in,i=A.input,s=A.avail_in,o=e.hold,a=e.bits,h=s,I=f,y=zA;A:for(;;)switch(e.mode){case mt:if(e.wrap===0){e.mode=ci;break}for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&2&&o===35615){e.wbits===0&&(e.wbits=15),e.check=0,S[0]=o&255,S[1]=o>>>8&255,e.check=AA(e.check,S,2,0),o=0,a=0,e.mode=Qn;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((o&255)<<8)+(o>>8))%31){A.msg="incorrect header check",e.mode=X;break}if((o&15)!==un){A.msg="unknown compression method",e.mode=X;break}if(o>>>=4,a-=4,m=(o&15)+8,e.wbits===0&&(e.wbits=m),m>15||m>e.wbits){A.msg="invalid window size",e.mode=X;break}e.dmax=1<<e.wbits,e.flags=0,A.adler=e.check=1,e.mode=o&512?Dn:_A,o=0,a=0;break;case Qn:for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.flags=o,(e.flags&255)!==un){A.msg="unknown compression method",e.mode=X;break}if(e.flags&57344){A.msg="unknown header flags set",e.mode=X;break}e.head&&(e.head.text=o>>8&1),e.flags&512&&e.wrap&4&&(S[0]=o&255,S[1]=o>>>8&255,e.check=AA(e.check,S,2,0)),o=0,a=0,e.mode=dn;case dn:for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.head&&(e.head.time=o),e.flags&512&&e.wrap&4&&(S[0]=o&255,S[1]=o>>>8&255,S[2]=o>>>16&255,S[3]=o>>>24&255,e.check=AA(e.check,S,4,0)),o=0,a=0,e.mode=wn;case wn:for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.head&&(e.head.xflags=o&255,e.head.os=o>>8),e.flags&512&&e.wrap&4&&(S[0]=o&255,S[1]=o>>>8&255,e.check=AA(e.check,S,2,0)),o=0,a=0,e.mode=pn;case pn:if(e.flags&1024){for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.length=o,e.head&&(e.head.extra_len=o),e.flags&512&&e.wrap&4&&(S[0]=o&255,S[1]=o>>>8&255,e.check=AA(e.check,S,2,0)),o=0,a=0}else e.head&&(e.head.extra=null);e.mode=yn;case yn:if(e.flags&1024&&(g=e.length,g>s&&(g=s),g&&(e.head&&(m=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(n,n+g),m)),e.flags&512&&e.wrap&4&&(e.check=AA(e.check,i,g,n)),s-=g,n+=g,e.length-=g),e.length))break A;e.length=0,e.mode=mn;case mn:if(e.flags&2048){if(s===0)break A;g=0;do m=i[n+g++],e.head&&m&&e.length<65536&&(e.head.name+=String.fromCharCode(m));while(m&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=AA(e.check,i,g,n)),s-=g,n+=g,m)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=_n;case _n:if(e.flags&4096){if(s===0)break A;g=0;do m=i[n+g++],e.head&&m&&e.length<65536&&(e.head.comment+=String.fromCharCode(m));while(m&&g<s);if(e.flags&512&&e.wrap&4&&(e.check=AA(e.check,i,g,n)),s-=g,n+=g,m)break A}else e.head&&(e.head.comment=null);e.mode=xn;case xn:if(e.flags&512){for(;a<16;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&4&&o!==(e.check&65535)){A.msg="header crc mismatch",e.mode=X;break}o=0,a=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=_A;break;case Dn:for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}A.adler=e.check=On(o),o=0,a=0,e.mode=wt;case wt:if(e.havedict===0)return A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,Og;A.adler=e.check=1,e.mode=_A;case _A:if(t===Ng||t===Bt)break A;case ci:if(e.last){o>>>=a&7,a-=a&7,e.mode=Bi;break}for(;a<3;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}switch(e.last=o&1,o>>>=1,a-=1,o&3){case 0:e.mode=kn;break;case 1:if(Vg(e),e.mode=Ct,t===Bt){o>>>=2,a-=2;break A}break;case 2:e.mode=bn;break;case 3:A.msg="invalid block type",e.mode=X}o>>>=2,a-=2;break;case kn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){A.msg="invalid stored block lengths",e.mode=X;break}if(e.length=o&65535,o=0,a=0,e.mode=hi,t===Bt)break A;case hi:e.mode=Sn;case Sn:if(g=e.length,g){if(g>s&&(g=s),g>f&&(g=f),g===0)break A;r.set(i.subarray(n,n+g),l),s-=g,n+=g,f-=g,l+=g,e.length-=g;break}e.mode=_A;break;case bn:for(;a<14;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.nlen=(o&31)+257,o>>>=5,a-=5,e.ndist=(o&31)+1,o>>>=5,a-=5,e.ncode=(o&15)+4,o>>>=4,a-=4,e.nlen>286||e.ndist>30){A.msg="too many length or distance symbols",e.mode=X;break}e.have=0,e.mode=Fn;case Fn:for(;e.have<e.ncode;){for(;a<3;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.lens[k[e.have++]]=o&7,o>>>=3,a-=3}for(;e.have<19;)e.lens[k[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,x={bits:e.lenbits},y=ye(Mg,e.lens,0,19,e.lencode,0,e.work,x),e.lenbits=x.bits,y){A.msg="invalid code lengths set",e.mode=X;break}e.have=0,e.mode=vn;case vn:for(;e.have<e.nlen+e.ndist;){for(;C=e.lencode[o&(1<<e.lenbits)-1],d=C>>>24,u=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(w<16)o>>>=d,a-=d,e.lens[e.have++]=w;else{if(w===16){for(D=d+2;a<D;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(o>>>=d,a-=d,e.have===0){A.msg="invalid bit length repeat",e.mode=X;break}m=e.lens[e.have-1],g=3+(o&3),o>>>=2,a-=2}else if(w===17){for(D=d+3;a<D;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=d,a-=d,m=0,g=3+(o&7),o>>>=3,a-=3}else{for(D=d+7;a<D;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=d,a-=d,m=0,g=11+(o&127),o>>>=7,a-=7}if(e.have+g>e.nlen+e.ndist){A.msg="invalid bit length repeat",e.mode=X;break}for(;g--;)e.lens[e.have++]=m}}if(e.mode===X)break;if(e.lens[256]===0){A.msg="invalid code -- missing end-of-block",e.mode=X;break}if(e.lenbits=9,x={bits:e.lenbits},y=ye(Io,e.lens,0,e.nlen,e.lencode,0,e.work,x),e.lenbits=x.bits,y){A.msg="invalid literal/lengths set",e.mode=X;break}if(e.distbits=6,e.distcode=e.distdyn,x={bits:e.distbits},y=ye(co,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,x),e.distbits=x.bits,y){A.msg="invalid distances set",e.mode=X;break}if(e.mode=Ct,t===Bt)break A;case Ct:e.mode=Et;case Et:if(s>=6&&f>=258){A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,Fg(A,I),l=A.next_out,r=A.output,f=A.avail_out,n=A.next_in,i=A.input,s=A.avail_in,o=e.hold,a=e.bits,e.mode===_A&&(e.back=-1);break}for(e.back=0;C=e.lencode[o&(1<<e.lenbits)-1],d=C>>>24,u=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(u&&!(u&240)){for(p=d,Q=u,E=w;C=e.lencode[E+((o&(1<<p+Q)-1)>>p)],d=C>>>24,u=C>>>16&255,w=C&65535,!(p+d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=p,a-=p,e.back+=p}if(o>>>=d,a-=d,e.back+=d,e.length=w,u===0){e.mode=Mn;break}if(u&32){e.back=-1,e.mode=_A;break}if(u&64){A.msg="invalid literal/length code",e.mode=X;break}e.extra=u&15,e.mode=Rn;case Rn:if(e.extra){for(D=e.extra;a<D;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.length+=o&(1<<e.extra)-1,o>>>=e.extra,a-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=Gn;case Gn:for(;C=e.distcode[o&(1<<e.distbits)-1],d=C>>>24,u=C>>>16&255,w=C&65535,!(d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(!(u&240)){for(p=d,Q=u,E=w;C=e.distcode[E+((o&(1<<p+Q)-1)>>p)],d=C>>>24,u=C>>>16&255,w=C&65535,!(p+d<=a);){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}o>>>=p,a-=p,e.back+=p}if(o>>>=d,a-=d,e.back+=d,u&64){A.msg="invalid distance code",e.mode=X;break}e.offset=w,e.extra=u&15,e.mode=Un;case Un:if(e.extra){for(D=e.extra;a<D;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}e.offset+=o&(1<<e.extra)-1,o>>>=e.extra,a-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg="invalid distance too far back",e.mode=X;break}e.mode=Ln;case Ln:if(f===0)break A;if(g=I-f,e.offset>g){if(g=e.offset-g,g>e.whave&&e.sane){A.msg="invalid distance too far back",e.mode=X;break}g>e.wnext?(g-=e.wnext,c=e.wsize-g):c=e.wnext-g,g>e.length&&(g=e.length),B=e.window}else B=r,c=l-e.offset,g=e.length;g>f&&(g=f),f-=g,e.length-=g;do r[l++]=B[c++];while(--g);e.length===0&&(e.mode=Et);break;case Mn:if(f===0)break A;r[l++]=e.length,f--,e.mode=Et;break;case Bi:if(e.wrap){for(;a<32;){if(s===0)break A;s--,o|=i[n++]<<a,a+=8}if(I-=f,A.total_out+=I,e.total+=I,e.wrap&4&&I&&(A.adler=e.check=e.flags?AA(e.check,r,I,l-I):ke(e.check,r,I,l-I)),I=f,e.wrap&4&&(e.flags?o:On(o))!==e.check){A.msg="incorrect data check",e.mode=X;break}o=0,a=0}e.mode=Nn;case Nn:if(e.wrap&&e.flags){for(;a<32;){if(s===0)break A;s--,o+=i[n++]<<a,a+=8}if(e.wrap&4&&o!==(e.total&4294967295)){A.msg="incorrect length check",e.mode=X;break}o=0,a=0}e.mode=Tn;case Tn:y=Tg;break A;case X:y=ho;break A;case Co:return Bo;case Eo:default:return hA}return A.next_out=l,A.avail_out=f,A.next_in=n,A.avail_in=s,e.hold=o,e.bits=a,(e.wsize||I!==A.avail_out&&e.mode<X&&(e.mode<Bi||t!==En))&&yo(A,A.output,A.next_out,I-A.avail_out),h-=A.avail_in,I-=A.avail_out,A.total_in+=h,A.total_out+=I,e.total+=I,e.wrap&4&&I&&(A.adler=e.check=e.flags?AA(e.check,r,I,A.next_out-I):ke(e.check,r,I,A.next_out-I)),A.data_type=e.bits+(e.last?64:0)+(e.mode===_A?128:0)+(e.mode===Ct||e.mode===hi?256:0),(h===0&&I===0||t===En)&&y===zA&&(y=qg),y},Xg=A=>{if(KA(A))return hA;let t=A.state;return t.window&&(t.window=null),A.state=null,zA},jg=(A,t)=>{if(KA(A))return hA;let e=A.state;return e.wrap&2?(e.head=t,t.done=!1,zA):hA},Wg=(A,t)=>{let e=t.length,i,r,n;return KA(A)||(i=A.state,i.wrap!==0&&i.mode!==wt)?hA:i.mode===wt&&(r=1,r=ke(r,t,e,0),r!==i.check)?ho:(n=yo(A,t,e,e),n?(i.mode=Co,Bo):(i.havedict=1,zA))},$g=Qo,Al=wo,el=uo,tl=Pg,il=po,rl=Zg,nl=Xg,ol=jg,al=Wg,sl="pako inflate (from Nodeca project)",DA={inflateReset:$g,inflateReset2:Al,inflateResetKeep:el,inflateInit:tl,inflateInit2:il,inflate:rl,inflateEnd:nl,inflateGetHeader:ol,inflateSetDictionary:al,inflateInfo:sl};ll=gl,mo=Object.prototype.toString,{Z_NO_FLUSH:fl,Z_FINISH:Il,Z_OK:Fe,Z_STREAM_END:ui,Z_NEED_DICT:Qi,Z_STREAM_ERROR:cl,Z_DATA_ERROR:Hn,Z_MEM_ERROR:hl}=oe;Ue.prototype.push=function(A,t){let e=this.strm,i=this.options.chunkSize,r=this.options.dictionary,n,l,s;if(this.ended)return!1;for(t===~~t?l=t:l=t===!0?Il:fl,mo.call(A)==="[object ArrayBuffer]"?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),n=DA.inflate(e,l),n===Qi&&r&&(n=DA.inflateSetDictionary(e,r),n===Fe?n=DA.inflate(e,l):n===Hn&&(n=Qi));e.avail_in>0&&n===ui&&e.state.wrap>0&&A[e.next_in]!==0;)DA.inflateReset(e),n=DA.inflate(e,l);switch(n){case cl:case Hn:case Qi:case hl:return this.onEnd(n),this.ended=!0,!1}if(s=e.avail_out,e.next_out&&(e.avail_out===0||n===ui))if(this.options.to==="string"){let f=be.utf8border(e.output,e.next_out),o=e.next_out-f,a=be.buf2string(e.output,f);e.next_out=o,e.avail_out=i-o,o&&e.output.set(e.output.subarray(f,f+o),0),this.onData(a)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(n===Fe&&s===0)){if(n===ui)return n=DA.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};Ue.prototype.onData=function(A){this.chunks.push(A)};Ue.prototype.onEnd=function(A){A===Fe&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=yt.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};Cl=Ue,El=Ui,ul=Bl,Ql=Ui,dl=oe,wl={Inflate:Cl,inflate:El,inflateRaw:ul,ungzip:Ql,constants:dl},{Deflate:oI,deflate:aI,deflateRaw:sI,gzip:gI}=Sg,{Inflate:lI,inflate:pl,inflateRaw:fI,ungzip:II}=wl,_t=pl});var _o={};vA(_o,{default:()=>xt});var xt,xo=IA(()=>{Li();mA();xt=class extends ${decodeBlock(t){return _t(new Uint8Array(t)).buffer}}});var Do={};vA(Do,{default:()=>Dt});var Dt,ko=IA(()=>{mA();Dt=class extends ${decodeBlock(t){let e=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=e.getInt8(r);if(n<0){let l=e.getUint8(r+1);n=-n;for(let s=0;s<=n;++s)i.push(l);r+=1}else{for(let l=0;l<=n;++l)i.push(e.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var So=FA((EI,kt)=>{(function(){var A=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,h){h=h||{};var I=h.encodedMaskData||h.encodedMaskData===null,g=f(a,h.inputOffset||0,I),c=h.noDataValue!==null?h.noDataValue:r.defaultNoDataValue,B=n(g,h.pixelType||Float32Array,h.encodedMaskData,c,h.returnMask),C={width:g.width,height:g.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:g.pixels.maxValue,noDataValue:c};return B.resultMask&&(C.maskData=B.resultMask),h.returnEncodedMask&&g.mask&&(C.encodedMaskData=g.mask.bitset?g.mask.bitset:null),h.returnFileInfo&&(C.fileInfo=l(g),h.computeUsedBitDepths&&(C.fileInfo.bitDepths=s(g))),C};var n=function(a,h,I,g,c){var B=0,C=a.pixels.numBlocksX,d=a.pixels.numBlocksY,u=Math.floor(a.width/C),w=Math.floor(a.height/d),p=2*a.maxZError,Q=Number.MAX_VALUE,E;I=I||(a.mask?a.mask.bitset:null);var m,y;m=new h(a.width*a.height),c&&I&&(y=new Uint8Array(a.width*a.height));for(var S=new Float32Array(u*w),x,D,k=0;k<=d;k++){var N=k!==d?w:a.height%d;if(N!==0)for(var b=0;b<=C;b++){var _=b!==C?u:a.width%C;if(_!==0){var R=k*a.width*w+b*u,T=a.width-_,F=a.pixels.blocks[B],v,U,q;F.encoding<2?(F.encoding===0?v=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,p,S,a.pixels.maxValue),v=S),U=0):F.encoding===2?q=0:q=F.offset;var Y;if(I)for(D=0;D<N;D++){for(R&7&&(Y=I[R>>3],Y<<=R&7),x=0;x<_;x++)R&7||(Y=I[R>>3]),Y&128?(y&&(y[R]=1),E=F.encoding<2?v[U++]:q,Q=Q>E?E:Q,m[R++]=E):(y&&(y[R]=0),m[R++]=g),Y<<=1;R+=T}else if(F.encoding<2)for(D=0;D<N;D++){for(x=0;x<_;x++)E=v[U++],Q=Q>E?E:Q,m[R++]=E;R+=T}else for(Q=Q>q?q:Q,D=0;D<N;D++){for(x=0;x<_;x++)m[R++]=q;R+=T}if(F.encoding===1&&U!==F.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:m,resultMask:y,minValue:Q}},l=function(a){return{fileIdentifierString:a.fileIdentifierString,fileVersion:a.fileVersion,imageType:a.imageType,height:a.height,width:a.width,maxZError:a.maxZError,eofOffset:a.eofOffset,mask:a.mask?{numBlocksX:a.mask.numBlocksX,numBlocksY:a.mask.numBlocksY,numBytes:a.mask.numBytes,maxValue:a.mask.maxValue}:null,pixels:{numBlocksX:a.pixels.numBlocksX,numBlocksY:a.pixels.numBlocksY,numBytes:a.pixels.numBytes,maxValue:a.pixels.maxValue,noDataValue:a.noDataValue}}},s=function(a){for(var h=a.pixels.numBlocksX*a.pixels.numBlocksY,I={},g=0;g<h;g++){var c=a.pixels.blocks[g];c.encoding===0?I.float32=!0:c.encoding===1?I[c.bitsPerPixel]=!0:I[0]=!0}return Object.keys(I)},f=function(a,h,I){var g={},c=new Uint8Array(a,h,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,c),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;h+=10;var B=new DataView(a,h,24);if(g.fileVersion=B.getInt32(0,!0),g.imageType=B.getInt32(4,!0),g.height=B.getUint32(8,!0),g.width=B.getUint32(12,!0),g.maxZError=B.getFloat64(16,!0),h+=24,!I)if(B=new DataView(a,h,16),g.mask={},g.mask.numBlocksY=B.getUint32(0,!0),g.mask.numBlocksX=B.getUint32(4,!0),g.mask.numBytes=B.getUint32(8,!0),g.mask.maxValue=B.getFloat32(12,!0),h+=16,g.mask.numBytes>0){var C=new Uint8Array(Math.ceil(g.width*g.height/8));B=new DataView(a,h,g.mask.numBytes);var d=B.getInt16(0,!0),u=2,w=0;do{if(d>0)for(;d--;)C[w++]=B.getUint8(u++);else{var p=B.getUint8(u++);for(d=-d;d--;)C[w++]=p}d=B.getInt16(u,!0),u+=2}while(u<g.mask.numBytes);if(d!==-32768||w<C.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=C,h+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));B=new DataView(a,h,16),g.pixels={},g.pixels.numBlocksY=B.getUint32(0,!0),g.pixels.numBlocksX=B.getUint32(4,!0),g.pixels.numBytes=B.getUint32(8,!0),g.pixels.maxValue=B.getFloat32(12,!0),h+=16;var Q=g.pixels.numBlocksX,E=g.pixels.numBlocksY,m=Q+(g.width%Q>0?1:0),y=E+(g.height%E>0?1:0);g.pixels.blocks=new Array(m*y);for(var S=0,x=0;x<y;x++)for(var D=0;D<m;D++){var k=0,N=a.byteLength-h;B=new DataView(a,h,Math.min(10,N));var b={};g.pixels.blocks[S++]=b;var _=B.getUint8(0);if(k++,b.encoding=_&63,b.encoding>3)throw"Invalid block encoding ("+b.encoding+")";if(b.encoding===2){h++;continue}if(_!==0&&_!==2){if(_>>=6,b.offsetType=_,_===2)b.offset=B.getInt8(1),k++;else if(_===1)b.offset=B.getInt16(1,!0),k+=2;else if(_===0)b.offset=B.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(b.encoding===1)if(_=B.getUint8(k),k++,b.bitsPerPixel=_&63,_>>=6,b.numValidPixelsType=_,_===2)b.numValidPixels=B.getUint8(k),k++;else if(_===1)b.numValidPixels=B.getUint16(k,!0),k+=2;else if(_===0)b.numValidPixels=B.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(h+=k,b.encoding!==3){var R,T;if(b.encoding===0){var F=(g.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";R=new ArrayBuffer(F*4),T=new Uint8Array(R),T.set(new Uint8Array(a,h,F*4));var v=new Float32Array(R);b.rawData=v,h+=F*4}else if(b.encoding===1){var U=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),q=Math.ceil(U/4);R=new ArrayBuffer(q*4),T=new Uint8Array(R),T.set(new Uint8Array(a,h,U)),b.stuffedData=new Uint32Array(R),h+=U}}}return g.eofOffset=h,g},o=function(a,h,I,g,c,B,C){var d=(1<<h)-1,u=0,w,p=0,Q,E,m=Math.ceil((C-g)/c),y=a.length*4-Math.ceil(h*I/8);for(a[a.length-1]<<=8*y,w=0;w<I;w++){if(p===0&&(E=a[u++],p=32),p>=h)Q=E>>>p-h&d,p-=h;else{var S=h-p;Q=(E&d)<<S&d,E=a[u++],p=32-S,Q+=E>>>p}B[w]=Q<m?g+Q*c:C}return B};return r}(),t=function(){"use strict";var r={unstuff:function(f,o,a,h,I,g,c,B){var C=(1<<a)-1,d=0,u,w=0,p,Q,E,m,y=f.length*4-Math.ceil(a*h/8);if(f[f.length-1]<<=8*y,I)for(u=0;u<h;u++)w===0&&(Q=f[d++],w=32),w>=a?(p=Q>>>w-a&C,w-=a):(E=a-w,p=(Q&C)<<E&C,Q=f[d++],w=32-E,p+=Q>>>w),o[u]=I[p];else for(m=Math.ceil((B-g)/c),u=0;u<h;u++)w===0&&(Q=f[d++],w=32),w>=a?(p=Q>>>w-a&C,w-=a):(E=a-w,p=(Q&C)<<E&C,Q=f[d++],w=32-E,p+=Q>>>w),o[u]=p<m?g+p*c:B},unstuffLUT:function(f,o,a,h,I,g){var c=(1<<o)-1,B=0,C=0,d=0,u=0,w=0,p,Q=[],E=f.length*4-Math.ceil(o*a/8);f[f.length-1]<<=8*E;var m=Math.ceil((g-h)/I);for(C=0;C<a;C++)u===0&&(p=f[B++],u=32),u>=o?(w=p>>>u-o&c,u-=o):(d=o-u,w=(p&c)<<d&c,p=f[B++],u=32-d,w+=p>>>u),Q[C]=w<m?h+w*I:g;return Q.unshift(h),Q},unstuff2:function(f,o,a,h,I,g,c,B){var C=(1<<a)-1,d=0,u,w=0,p=0,Q,E,m;if(I)for(u=0;u<h;u++)w===0&&(E=f[d++],w=32,p=0),w>=a?(Q=E>>>p&C,w-=a,p+=a):(m=a-w,Q=E>>>p&C,E=f[d++],w=32-m,Q|=(E&(1<<m)-1)<<a-m,p=m),o[u]=I[Q];else{var y=Math.ceil((B-g)/c);for(u=0;u<h;u++)w===0&&(E=f[d++],w=32,p=0),w>=a?(Q=E>>>p&C,w-=a,p+=a):(m=a-w,Q=E>>>p&C,E=f[d++],w=32-m,Q|=(E&(1<<m)-1)<<a-m,p=m),o[u]=Q<y?g+Q*c:B}return o},unstuffLUT2:function(f,o,a,h,I,g){var c=(1<<o)-1,B=0,C=0,d=0,u=0,w=0,p=0,Q,E=[],m=Math.ceil((g-h)/I);for(C=0;C<a;C++)u===0&&(Q=f[B++],u=32,p=0),u>=o?(w=Q>>>p&c,u-=o,p+=o):(d=o-u,w=Q>>>p&c,Q=f[B++],u=32-d,w|=(Q&(1<<d)-1)<<o-d,p=d),E[C]=w<m?h+w*I:g;return E.unshift(h),E},originalUnstuff:function(f,o,a,h){var I=(1<<a)-1,g=0,c,B=0,C,d,u,w=f.length*4-Math.ceil(a*h/8);for(f[f.length-1]<<=8*w,c=0;c<h;c++)B===0&&(d=f[g++],B=32),B>=a?(C=d>>>B-a&I,B-=a):(u=a-B,C=(d&I)<<u&I,d=f[g++],B=32-u,C+=d>>>B),o[c]=C;return o},originalUnstuff2:function(f,o,a,h){var I=(1<<a)-1,g=0,c,B=0,C=0,d,u,w;for(c=0;c<h;c++)B===0&&(u=f[g++],B=32,C=0),B>=a?(d=u>>>C&I,B-=a,C+=a):(w=a-B,d=u>>>C&I,u=f[g++],B=32-w,d|=(u&(1<<w)-1)<<a-w,C=w),o[c]=d;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(f){for(var o=65535,a=65535,h=f.length,I=Math.floor(h/2),g=0;I;){var c=I>=359?359:I;I-=c;do o+=f[g++]<<8,a+=o+=f[g++];while(--c);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return h&1&&(a+=o+=f[g]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(f,o){var a=o.ptr,h=new Uint8Array(f,a,6),I={};if(I.fileIdentifierString=String.fromCharCode.apply(null,h),I.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+I.fileIdentifierString;a+=6;var g=new DataView(f,a,8),c=g.getInt32(0,!0);I.fileVersion=c,a+=4,c>=3&&(I.checksum=g.getUint32(4,!0),a+=4),g=new DataView(f,a,12),I.height=g.getUint32(0,!0),I.width=g.getUint32(4,!0),a+=8,c>=4?(I.numDims=g.getUint32(8,!0),a+=4):I.numDims=1,g=new DataView(f,a,40),I.numValidPixel=g.getUint32(0,!0),I.microBlockSize=g.getInt32(4,!0),I.blobSize=g.getInt32(8,!0),I.imageType=g.getInt32(12,!0),I.maxZError=g.getFloat64(16,!0),I.zMin=g.getFloat64(24,!0),I.zMax=g.getFloat64(32,!0),a+=40,o.headerInfo=I,o.ptr=a;var B,C;if(c>=3&&(C=c>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(f,a-C,I.blobSize-14)),B!==I.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(f,o){var a=o.headerInfo,h=this.getDataTypeArray(a.imageType),I=a.numDims*this.getDataTypeSize(a.imageType),g=this.readSubArray(f,o.ptr,h,I),c=this.readSubArray(f,o.ptr+I,h,I);o.ptr+=2*I;var B,C=!0;for(B=0;B<a.numDims;B++)if(g[B]!==c[B]){C=!1;break}return a.minValues=g,a.maxValues=c,C},readSubArray:function(f,o,a,h){var I;if(a===Uint8Array)I=new Uint8Array(f,o,h);else{var g=new ArrayBuffer(h),c=new Uint8Array(g);c.set(new Uint8Array(f,o,h)),I=new a(g)}return I},readMask:function(f,o){var a=o.ptr,h=o.headerInfo,I=h.width*h.height,g=h.numValidPixel,c=new DataView(f,a,4),B={};if(B.numBytes=c.getUint32(0,!0),a+=4,(g===0||I===g)&&B.numBytes!==0)throw"invalid mask";var C,d;if(g===0)C=new Uint8Array(Math.ceil(I/8)),B.bitset=C,d=new Uint8Array(I),o.pixels.resultMask=d,a+=B.numBytes;else if(B.numBytes>0){C=new Uint8Array(Math.ceil(I/8)),c=new DataView(f,a,B.numBytes);var u=c.getInt16(0,!0),w=2,p=0,Q=0;do{if(u>0)for(;u--;)C[p++]=c.getUint8(w++);else for(Q=c.getUint8(w++),u=-u;u--;)C[p++]=Q;u=c.getInt16(w,!0),w+=2}while(w<B.numBytes);if(u!==-32768||p<C.length)throw"Unexpected end of mask RLE encoding";d=new Uint8Array(I);var E=0,m=0;for(m=0;m<I;m++)m&7?(E=C[m>>3],E<<=m&7):E=C[m>>3],E&128&&(d[m]=1);o.pixels.resultMask=d,B.bitset=C,a+=B.numBytes}return o.ptr=a,o.mask=B,!0},readDataOneSweep:function(f,o,a,h){var I=o.ptr,g=o.headerInfo,c=g.numDims,B=g.width*g.height,C=g.imageType,d=g.numValidPixel*n.getDataTypeSize(C)*c,u,w=o.pixels.resultMask;if(a===Uint8Array)u=new Uint8Array(f,I,d);else{var p=new ArrayBuffer(d),Q=new Uint8Array(p);Q.set(new Uint8Array(f,I,d)),u=new a(p)}if(u.length===B*c)h?o.pixels.resultPixels=n.swapDimensionOrder(u,B,c,a,!0):o.pixels.resultPixels=u;else{o.pixels.resultPixels=new a(B*c);var E=0,m=0,y=0,S=0;if(c>1){if(h){for(m=0;m<B;m++)if(w[m])for(S=m,y=0;y<c;y++,S+=B)o.pixels.resultPixels[S]=u[E++]}else for(m=0;m<B;m++)if(w[m])for(S=m*c,y=0;y<c;y++)o.pixels.resultPixels[S+y]=u[E++]}else for(m=0;m<B;m++)w[m]&&(o.pixels.resultPixels[m]=u[E++])}return I+=d,o.ptr=I,!0},readHuffmanTree:function(f,o){var a=this.HUFFMAN_LUT_BITS_MAX,h=new DataView(f,o.ptr,16);o.ptr+=16;var I=h.getInt32(0,!0);if(I<2)throw"unsupported Huffman version";var g=h.getInt32(4,!0),c=h.getInt32(8,!0),B=h.getInt32(12,!0);if(c>=B)return!1;var C=new Uint32Array(B-c);n.decodeBits(f,o,C);var d=[],u,w,p,Q;for(u=c;u<B;u++)w=u-(u<g?0:g),d[w]={first:C[u-c],second:null};var E=f.byteLength-o.ptr,m=Math.ceil(E/4),y=new ArrayBuffer(m*4),S=new Uint8Array(y);S.set(new Uint8Array(f,o.ptr,E));var x=new Uint32Array(y),D=0,k,N=0;for(k=x[0],u=c;u<B;u++)w=u-(u<g?0:g),Q=d[w].first,Q>0&&(d[w].second=k<<D>>>32-Q,32-D>=Q?(D+=Q,D===32&&(D=0,N++,k=x[N])):(D+=Q-32,N++,k=x[N],d[w].second|=k>>>32-D));var b=0,_=0,R=new l;for(u=0;u<d.length;u++)d[u]!==void 0&&(b=Math.max(b,d[u].first));b>=a?_=a:_=b;var T=[],F,v,U,q,Y,J;for(u=c;u<B;u++)if(w=u-(u<g?0:g),Q=d[w].first,Q>0)if(F=[Q,w],Q<=_)for(v=d[w].second<<_-Q,U=1<<_-Q,p=0;p<U;p++)T[v|p]=F;else for(v=d[w].second,J=R,q=Q-1;q>=0;q--)Y=v>>>q&1,Y?(J.right||(J.right=new l),J=J.right):(J.left||(J.left=new l),J=J.left),q===0&&!J.val&&(J.val=F[1]);return{decodeLut:T,numBitsLUTQick:_,numBitsLUT:b,tree:R,stuffedData:x,srcPtr:N,bitPos:D}},readHuffman:function(f,o,a,h){var I=o.headerInfo,g=I.numDims,c=o.headerInfo.height,B=o.headerInfo.width,C=B*c,d=this.readHuffmanTree(f,o),u=d.decodeLut,w=d.tree,p=d.stuffedData,Q=d.srcPtr,E=d.bitPos,m=d.numBitsLUTQick,y=d.numBitsLUT,S=o.headerInfo.imageType===0?128:0,x,D,k,N=o.pixels.resultMask,b,_,R,T,F,v,U,q=0;E>0&&(Q++,E=0);var Y=p[Q],J=o.encodeMode===1,M=new a(C*g),G=M,L;if(g<2||J){for(L=0;L<g;L++)if(g>1&&(G=new a(M.buffer,C*L,C),q=0),o.headerInfo.numValidPixel===B*c)for(v=0,T=0;T<c;T++)for(F=0;F<B;F++,v++){if(D=0,b=Y<<E>>>32-m,_=b,32-E<m&&(b|=p[Q+1]>>>64-E-m,_=b),u[_])D=u[_][1],E+=u[_][0];else for(b=Y<<E>>>32-y,_=b,32-E<y&&(b|=p[Q+1]>>>64-E-y,_=b),x=w,U=0;U<y;U++)if(R=b>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+U+1;break}E>=32&&(E-=32,Q++,Y=p[Q]),k=D-S,J?(F>0?k+=q:T>0?k+=G[v-B]:k+=q,k&=255,G[v]=k,q=k):G[v]=k}else for(v=0,T=0;T<c;T++)for(F=0;F<B;F++,v++)if(N[v]){if(D=0,b=Y<<E>>>32-m,_=b,32-E<m&&(b|=p[Q+1]>>>64-E-m,_=b),u[_])D=u[_][1],E+=u[_][0];else for(b=Y<<E>>>32-y,_=b,32-E<y&&(b|=p[Q+1]>>>64-E-y,_=b),x=w,U=0;U<y;U++)if(R=b>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+U+1;break}E>=32&&(E-=32,Q++,Y=p[Q]),k=D-S,J?(F>0&&N[v-1]?k+=q:T>0&&N[v-B]?k+=G[v-B]:k+=q,k&=255,G[v]=k,q=k):G[v]=k}}else for(v=0,T=0;T<c;T++)for(F=0;F<B;F++)if(v=T*B+F,!N||N[v])for(L=0;L<g;L++,v+=C){if(D=0,b=Y<<E>>>32-m,_=b,32-E<m&&(b|=p[Q+1]>>>64-E-m,_=b),u[_])D=u[_][1],E+=u[_][0];else for(b=Y<<E>>>32-y,_=b,32-E<y&&(b|=p[Q+1]>>>64-E-y,_=b),x=w,U=0;U<y;U++)if(R=b>>>y-U-1&1,x=R?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+U+1;break}E>=32&&(E-=32,Q++,Y=p[Q]),k=D-S,G[v]=k}o.ptr=o.ptr+(Q+1)*4+(E>0?4:0),o.pixels.resultPixels=M,g>1&&!h&&(o.pixels.resultPixels=n.swapDimensionOrder(M,C,g,a))},decodeBits:function(f,o,a,h,I){{var g=o.headerInfo,c=g.fileVersion,B=0,C=f.byteLength-o.ptr>=5?5:f.byteLength-o.ptr,d=new DataView(f,o.ptr,C),u=d.getUint8(0);B++;var w=u>>6,p=w===0?4:3-w,Q=(u&32)>0,E=u&31,m=0;if(p===1)m=d.getUint8(B),B++;else if(p===2)m=d.getUint16(B,!0),B+=2;else if(p===4)m=d.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var y=2*g.maxZError,S,x,D,k,N,b,_,R,T,F,v=g.numDims>1?g.maxValues[I]:g.zMax;if(Q){for(o.counter.lut++,R=d.getUint8(B),T=E,B++,k=Math.ceil((R-1)*E/8),N=Math.ceil(k/4),x=new ArrayBuffer(N*4),D=new Uint8Array(x),o.ptr+=B,D.set(new Uint8Array(f,o.ptr,k)),_=new Uint32Array(x),o.ptr+=k,F=0;R-1>>>F;)F++;k=Math.ceil(m*F/8),N=Math.ceil(k/4),x=new ArrayBuffer(N*4),D=new Uint8Array(x),D.set(new Uint8Array(f,o.ptr,k)),S=new Uint32Array(x),o.ptr+=k,c>=3?b=r.unstuffLUT2(_,E,R-1,h,y,v):b=r.unstuffLUT(_,E,R-1,h,y,v),c>=3?r.unstuff2(S,a,F,m,b):r.unstuff(S,a,F,m,b)}else o.counter.bitstuffer++,F=E,o.ptr+=B,F>0&&(k=Math.ceil(m*F/8),N=Math.ceil(k/4),x=new ArrayBuffer(N*4),D=new Uint8Array(x),D.set(new Uint8Array(f,o.ptr,k)),S=new Uint32Array(x),o.ptr+=k,c>=3?h==null?r.originalUnstuff2(S,a,F,m):r.unstuff2(S,a,F,m,!1,h,y,v):h==null?r.originalUnstuff(S,a,F,m):r.unstuff(S,a,F,m,!1,h,y,v))}},readTiles:function(f,o,a,h){var I=o.headerInfo,g=I.width,c=I.height,B=g*c,C=I.microBlockSize,d=I.imageType,u=n.getDataTypeSize(d),w=Math.ceil(g/C),p=Math.ceil(c/C);o.pixels.numBlocksY=p,o.pixels.numBlocksX=w,o.pixels.ptr=0;var Q=0,E=0,m=0,y=0,S=0,x=0,D=0,k=0,N=0,b=0,_=0,R=0,T=0,F=0,v=0,U=0,q,Y,J,M,G,L,P=new a(C*C),Z=c%C||C,W=g%C||C,j,tA,lA=I.numDims,TA,CA=o.pixels.resultMask,fA=o.pixels.resultPixels,ea=I.fileVersion,ji=ea>=5?14:15,SA,Mt=I.zMax,bA;for(m=0;m<p;m++)for(S=m!==p-1?C:Z,y=0;y<w;y++)for(x=y!==w-1?C:W,_=m*g*C+y*C,R=g-x,TA=0;TA<lA;TA++){if(lA>1?(bA=fA,_=m*g*C+y*C,fA=new a(o.pixels.resultPixels.buffer,B*TA*u,B),Mt=I.maxValues[TA]):bA=null,D=f.byteLength-o.ptr,q=new DataView(f,o.ptr,Math.min(10,D)),Y={},U=0,k=q.getUint8(0),U++,SA=I.fileVersion>=5?k&4:0,N=k>>6&255,b=k>>2&ji,b!==(y*C>>3&ji)||SA&&TA===0)throw"integrity issue";if(L=k&3,L>3)throw o.ptr+=U,"Invalid block encoding ("+L+")";if(L===2){if(SA)if(CA)for(Q=0;Q<S;Q++)for(E=0;E<x;E++)CA[_]&&(fA[_]=bA[_]),_++;else for(Q=0;Q<S;Q++)for(E=0;E<x;E++)fA[_]=bA[_],_++;o.counter.constant++,o.ptr+=U;continue}else if(L===0){if(SA)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=U,T=S*x*u,F=f.byteLength-o.ptr,T=T<F?T:F,J=new ArrayBuffer(T%u===0?T:T+u-T%u),M=new Uint8Array(J),M.set(new Uint8Array(f,o.ptr,T)),G=new a(J),v=0,CA)for(Q=0;Q<S;Q++){for(E=0;E<x;E++)CA[_]&&(fA[_]=G[v++]),_++;_+=R}else for(Q=0;Q<S;Q++){for(E=0;E<x;E++)fA[_++]=G[v++];_+=R}o.ptr+=v*u}else if(j=n.getDataTypeUsed(SA&&d<6?4:d,N),tA=n.getOnePixel(Y,U,j,q),U+=n.getDataTypeSize(j),L===3)if(o.ptr+=U,o.counter.constantoffset++,CA)for(Q=0;Q<S;Q++){for(E=0;E<x;E++)CA[_]&&(fA[_]=SA?Math.min(Mt,bA[_]+tA):tA),_++;_+=R}else for(Q=0;Q<S;Q++){for(E=0;E<x;E++)fA[_]=SA?Math.min(Mt,bA[_]+tA):tA,_++;_+=R}else if(o.ptr+=U,n.decodeBits(f,o,P,tA,TA),U=0,SA)if(CA)for(Q=0;Q<S;Q++){for(E=0;E<x;E++)CA[_]&&(fA[_]=P[U++]+bA[_]),_++;_+=R}else for(Q=0;Q<S;Q++){for(E=0;E<x;E++)fA[_]=P[U++]+bA[_],_++;_+=R}else if(CA)for(Q=0;Q<S;Q++){for(E=0;E<x;E++)CA[_]&&(fA[_]=P[U++]),_++;_+=R}else for(Q=0;Q<S;Q++){for(E=0;E<x;E++)fA[_++]=P[U++];_+=R}}lA>1&&!h&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,B,lA,a))},formatFileInfo:function(f){return{fileIdentifierString:f.headerInfo.fileIdentifierString,fileVersion:f.headerInfo.fileVersion,imageType:f.headerInfo.imageType,height:f.headerInfo.height,width:f.headerInfo.width,numValidPixel:f.headerInfo.numValidPixel,microBlockSize:f.headerInfo.microBlockSize,blobSize:f.headerInfo.blobSize,maxZError:f.headerInfo.maxZError,pixelType:n.getPixelType(f.headerInfo.imageType),eofOffset:f.eofOffset,mask:f.mask?{numBytes:f.mask.numBytes}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,maxValue:f.headerInfo.zMax,minValue:f.headerInfo.zMin,noDataValue:f.noDataValue}}},constructConstantSurface:function(f,o){var a=f.headerInfo.zMax,h=f.headerInfo.zMin,I=f.headerInfo.maxValues,g=f.headerInfo.numDims,c=f.headerInfo.height*f.headerInfo.width,B=0,C=0,d=0,u=f.pixels.resultMask,w=f.pixels.resultPixels;if(u)if(g>1){if(o)for(B=0;B<g;B++)for(d=B*c,a=I[B],C=0;C<c;C++)u[C]&&(w[d+C]=a);else for(C=0;C<c;C++)if(u[C])for(d=C*g,B=0;B<g;B++)w[d+g]=I[B]}else for(C=0;C<c;C++)u[C]&&(w[C]=a);else if(g>1&&h!==a)if(o)for(B=0;B<g;B++)for(d=B*c,a=I[B],C=0;C<c;C++)w[d+C]=a;else for(C=0;C<c;C++)for(d=C*g,B=0;B<g;B++)w[d+B]=I[B];else for(C=0;C<c*g;C++)w[C]=a},getDataTypeArray:function(f){var o;switch(f){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(f){var o;switch(f){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(f,o){if(o==null)return!1;var a;switch(f){case 0:a=o>=-128&&o<=127;break;case 1:a=o>=0&&o<=255;break;case 2:a=o>=-32768&&o<=32767;break;case 3:a=o>=0&&o<=65536;break;case 4:a=o>=-2147483648&&o<=2147483647;break;case 5:a=o>=0&&o<=4294967296;break;case 6:a=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:a=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(f){var o=0;switch(f){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=f}return o},getDataTypeUsed:function(f,o){var a=f;switch(f){case 2:case 4:a=f-o;break;case 3:case 5:a=f-2*o;break;case 6:o===0?a=f:o===1?a=2:a=1;break;case 7:o===0?a=f:a=f-2*o+1;break;default:a=f;break}return a},getOnePixel:function(f,o,a,h){var I=0;switch(a){case 0:I=h.getInt8(o);break;case 1:I=h.getUint8(o);break;case 2:I=h.getInt16(o,!0);break;case 3:I=h.getUint16(o,!0);break;case 4:I=h.getInt32(o,!0);break;case 5:I=h.getUInt32(o,!0);break;case 6:I=h.getFloat32(o,!0);break;case 7:I=h.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return I},swapDimensionOrder:function(f,o,a,h,I){var g=0,c=0,B=0,C=0,d=f;if(a>1)if(d=new h(o*a),I)for(g=0;g<o;g++)for(C=g,B=0;B<a;B++,C+=o)d[C]=f[c++];else for(g=0;g<o;g++)for(C=g,B=0;B<a;B++,C+=o)d[c++]=f[C];return d}},l=function(f,o,a){this.val=f,this.left=o,this.right=a},s={decode:function(f,o){o=o||{};var a=o.noDataValue,h=0,I={};if(I.ptr=o.inputOffset||0,I.pixels={},!!n.readHeaderInfo(f,I)){var g=I.headerInfo,c=g.fileVersion,B=n.getDataTypeArray(g.imageType);if(c>5)throw"unsupported lerc version 2."+c;n.readMask(f,I),g.numValidPixel!==g.width*g.height&&!I.pixels.resultMask&&(I.pixels.resultMask=o.maskData);var C=g.width*g.height;I.pixels.resultPixels=new B(C*g.numDims),I.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var d=!o.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)n.constructConstantSurface(I,d);else if(c>=4&&n.checkMinMaxRanges(f,I))n.constructConstantSurface(I,d);else{var u=new DataView(f,I.ptr,2),w=u.getUint8(0);if(I.ptr++,w)n.readDataOneSweep(f,I,B,d);else if(c>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var p=u.getUint8(1);if(I.ptr++,I.encodeMode=p,p>2||c<4&&p>1)throw"Invalid Huffman flag "+p;p?n.readHuffman(f,I,B,d):n.readTiles(f,I,B,d)}else n.readTiles(f,I,B,d)}I.eofOffset=I.ptr;var Q;o.inputOffset?(Q=I.headerInfo.blobSize+o.inputOffset-I.ptr,Math.abs(Q)>=1&&(I.eofOffset=o.inputOffset+I.headerInfo.blobSize)):(Q=I.headerInfo.blobSize-I.ptr,Math.abs(Q)>=1&&(I.eofOffset=I.headerInfo.blobSize));var E={width:g.width,height:g.height,pixelData:I.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:I.pixels.resultMask};if(I.pixels.resultMask&&n.isValidPixelValue(g.imageType,a)){var m=I.pixels.resultMask;for(h=0;h<C;h++)m[h]||(E.pixelData[h]=a);E.noDataValue=a}return I.noDataValue=a,o.returnFileInfo&&(E.fileInfo=n.formatFileInfo(I)),E}},getBandCount:function(f){var o=0,a=0,h={};for(h.ptr=0,h.pixels={};a<f.byteLength-58;)n.readHeaderInfo(f,h),a+=h.headerInfo.blobSize,o++,h.ptr=a;return o}};return s}(),e=function(){var r=new ArrayBuffer(4),n=new Uint8Array(r),l=new Uint32Array(r);return l[0]=1,n[0]===1}(),i={decode:function(r,n){if(!e)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),f=String.fromCharCode.apply(null,s),o,a;if(f.trim()==="CntZImage")o=A,a=1;else if(f.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+f;for(var h=0,I=r.byteLength-10,g,c=[],B,C,d={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},u=0;l<I;){var w=o.decode(r,{inputOffset:l,encodedMaskData:g,maskData:C,returnMask:h===0,returnEncodedMask:h===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=w.fileInfo.eofOffset,C=w.maskData,h===0&&(g=w.encodedMaskData,d.width=w.width,d.height=w.height,d.dimCount=w.dimCount||1,d.pixelType=w.pixelType||w.fileInfo.pixelType,d.mask=C),a>1&&(C&&c.push(C),w.fileInfo.mask&&w.fileInfo.mask.numBytes>0&&u++),h++,d.pixels.push(w.pixelData),d.statistics.push({minValue:w.minValue,maxValue:w.maxValue,noDataValue:w.noDataValue,dimStats:w.dimStats})}var p,Q,E;if(a>1&&u>1){for(E=d.width*d.height,d.bandMasks=c,C=new Uint8Array(E),C.set(c[0]),p=1;p<c.length;p++)for(B=c[p],Q=0;Q<E;Q++)C[Q]=C[Q]&B[Q];d.maskData=C}return d}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof kt<"u"&&kt.exports?kt.exports=i:this.Lerc=i})()});var Le,kA,Ni,Mi,St,bo,Fo=IA(()=>{Mi={env:{emscripten_notify_memory_growth:function(A){Ni=new Uint8Array(kA.exports.memory.buffer)}}},St=class{init(){return Le||(typeof fetch<"u"?Le=fetch("data:application/wasm;base64,"+bo).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Mi)).then(this._init):Le=WebAssembly.instantiate(Buffer.from(bo,"base64"),Mi).then(this._init),Le)}_init(t){kA=t.instance,Mi.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!kA)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=kA.exports.malloc(i);Ni.set(t,r),e=e||Number(kA.exports.ZSTD_findDecompressedSize(r,i));let n=kA.exports.malloc(e),l=kA.exports.ZSTD_decompress(n,e,r,i),s=Ni.slice(n,n+l);return kA.exports.free(r),kA.exports.free(n),s}},bo="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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 Go={};vA(Go,{default:()=>bt,zstd:()=>Ro});var vo,Ro,bt,Uo=IA(()=>{Li();vo=he(So(),1);Fo();mA();tt();Ro=new St,bt=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[qr.AddCompression]}decodeBlock(t){switch(this.addCompression){case et.None:break;case et.Deflate:t=_t(new Uint8Array(t)).buffer;break;case et.Zstandard:t=Ro.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return vo.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var Lo={};vA(Lo,{default:()=>Ft});var Ft,Mo=IA(()=>{mA();Ft=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,e){let i=new Blob([e]),r=await createImageBitmap(i),n;typeof document<"u"?(n=document.createElement("canvas"),n.width=r.width,n.height=r.height):n=new OffscreenCanvas(r.width,r.height);let l=n.getContext("2d");return l.drawImage(r,0,0),l.getImageData(0,0,r.width,r.height).data.buffer}}});var Nl={};vA(Nl,{default:()=>Ye});module.exports=aa(Nl);var gA=he(require("sharp")),Aa=he(tr());var ir="Cannot convert undefined or null to object";function V(A){return(t,...e)=>Ba(A,t,e)}function VA(A,t){return V(Pe(A,t).get)}var{apply:Ba,construct:Jl,defineProperty:zl,get:Kl,getOwnPropertyDescriptor:Pe,getPrototypeOf:Ve,has:Pl,ownKeys:nr,set:Vl,setPrototypeOf:Zl}=Reflect;var{EPSILON:or,MAX_SAFE_INTEGER:Xl,isFinite:Ca,isNaN:Ea}=Number,{iterator:ZA,species:jl,toStringTag:ua,for:Wl}=Symbol,Ze=Object,{create:Xe,defineProperty:ar,freeze:$l,is:Af}=Ze,qt=Ze.prototype,ef=qt.__lookupGetter__?V(qt.__lookupGetter__):(A,t)=>{if(A==null)throw pa(ir);let e=Ze(A);do{let i=Pe(e,t);if(i!==void 0)return Qa(i,"get")?i.get:void 0}while((e=Ve(e))!==null)},Qa=Ze.hasOwn||V(qt.hasOwnProperty),sr=Array,tf=sr.isArray,je=sr.prototype,rf=V(je.join),nf=V(je.push),of=V(je.toLocaleString),Ht=je[ZA],gr=V(Ht),{abs:da,trunc:af}=Math,We=ArrayBuffer,sf=We.isView,lr=We.prototype,gf=V(lr.slice),lf=VA(lr,"byteLength"),rr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,ff=rr&&VA(rr.prototype,"byteLength"),fr=Ve(Uint8Array),If=fr.from,iA=fr.prototype,cf=iA[ZA],hf=V(iA.keys),Bf=V(iA.values),Cf=V(iA.entries),Ef=V(iA.set),uf=V(iA.reverse),Qf=V(iA.fill),df=V(iA.copyWithin),wf=V(iA.sort),pf=V(iA.slice),yf=V(iA.subarray),mf=VA(iA,"buffer"),_f=VA(iA,"byteOffset"),xf=VA(iA,"length"),Df=VA(iA,ua),Ir=Uint8Array,Yt=Uint16Array;var $e=Uint32Array,cr=Float32Array,XA=Ve([][ZA]()),Jt=V(XA.next),hr=V(function*(){}().next),Br=Ve(XA),Cr=DataView.prototype,Er=V(Cr.getUint16),wa=V(Cr.setUint16),pa=TypeError;var ya=WeakSet,ur=ya.prototype,kf=V(ur.add),Sf=V(ur.has),At=WeakMap,zt=At.prototype,Kt=V(zt.get),bf=V(zt.has),Qr=V(zt.set);var dr=new At,ma=Xe(null,{next:{value:function(){let t=Kt(dr,this);return Jt(t)}},[ZA]:{value:function(){return this}}});function wr(A){if(A[ZA]===Ht&&XA.next===Jt)return A;let t=Xe(ma);return Qr(dr,t,gr(A)),t}var _a=new At,xa=Xe(Br,{next:{value:function(){let t=Kt(_a,this);return hr(t)},writable:!0,configurable:!0}});for(let A of nr(XA))A!=="next"&&ar(xa,A,Pe(XA,A));var Da=1/or;var ka=6103515625e-14;var pr=.0009765625,Uf=pr*ka,Lf=pr*Da;var yr=new We(4),Sa=new cr(yr),ba=new $e(yr),EA=new Yt(512),uA=new Ir(512);for(let A=0;A<256;++A){let t=A-127;t<-24?(EA[A]=0,EA[A|256]=32768,uA[A]=24,uA[A|256]=24):t<-14?(EA[A]=1024>>-t-14,EA[A|256]=1024>>-t-14|32768,uA[A]=-t-1,uA[A|256]=-t-1):t<=15?(EA[A]=t+15<<10,EA[A|256]=t+15<<10|32768,uA[A]=13,uA[A|256]=13):t<128?(EA[A]=31744,EA[A|256]=64512,uA[A]=24,uA[A|256]=24):(EA[A]=31744,EA[A|256]=64512,uA[A]=13,uA[A|256]=13)}var Pt=new $e(2048);for(let A=1;A<1024;++A){let t=A<<13,e=0;for(;!(t&8388608);)t<<=1,e-=8388608;t&=-8388609,e+=947912704,Pt[A]=t|e}for(let A=1024;A<2048;++A)Pt[A]=939524096+(A-1024<<13);var jA=new $e(64);for(let A=1;A<31;++A)jA[A]=A<<23;jA[31]=1199570944;jA[32]=2147483648;for(let A=33;A<63;++A)jA[A]=2147483648+(A-32<<23);jA[63]=3347054592;var mr=new Yt(64);for(let A=1;A<64;++A)A!==32&&(mr[A]=1024);function _r(A){let t=A>>10;return ba[0]=Pt[mr[t]+(A&1023)]+jA[t],Sa[0]}function Be(A,t,...e){return _r(Er(A,t,...wr(e)))}var Rt=he(Dr(),1),qo=he(Nr(),1);tt();function Hr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n;for(let l=0,s=0;l<A.length;++l,s+=3)n=256-A[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function Yr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n;for(let l=0,s=0;l<A.length;++l,s+=3)n=A[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function Jr(A,t){let{width:e,height:i}=A,r=new Uint8Array(e*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,f=0;s<A.length;++s,f+=3){let o=A[s];r[f]=t[o]/65536*256,r[f+1]=t[o+n]/65536*256,r[f+2]=t[o+l]/65536*256}return r}function zr(A){let{width:t,height:e}=A,i=new Uint8Array(t*e*3);for(let r=0,n=0;r<A.length;r+=4,n+=3){let l=A[r],s=A[r+1],f=A[r+2],o=A[r+3];i[n]=255*((255-l)/256)*((255-o)/256),i[n+1]=255*((255-s)/256)*((255-o)/256),i[n+2]=255*((255-f)/256)*((255-o)/256)}return i}function Kr(A){let{width:t,height:e}=A,i=new Uint8ClampedArray(t*e*3);for(let r=0,n=0;r<A.length;r+=3,n+=3){let l=A[r],s=A[r+1],f=A[r+2];i[n]=l+1.402*(f-128),i[n+1]=l-.34414*(s-128)-.71414*(f-128),i[n+2]=l+1.772*(s-128)}return i}var Ga=.95047,Ua=1,La=1.08883;function Pr(A){let{width:t,height:e}=A,i=new Uint8Array(t*e*3);for(let r=0,n=0;r<A.length;r+=3,n+=3){let l=A[r+0],s=A[r+1]<<24>>24,f=A[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,h=o-f/200,I,g,c;a=Ga*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=Ua*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),h=La*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),I=a*3.2406+o*-1.5372+h*-.4986,g=a*-.9689+o*1.8758+h*.0415,c=a*.0557+o*-.204+h*1.057,I=I>.0031308?1.055*I**(1/2.4)-.055:12.92*I,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,i[n]=Math.max(0,Math.min(1,I))*255,i[n+1]=Math.max(0,Math.min(1,g))*255,i[n+2]=Math.max(0,Math.min(1,c))*255}return i}var No=new Map;function BA(A,t){Array.isArray(A)||(A=[A]),A.forEach(e=>No.set(e,t))}async function Ti(A){let t=No.get(A.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${A.Compression}`);let e=await t();return new e(A)}BA([void 0,1],()=>Promise.resolve().then(()=>(jr(),Xr)).then(A=>A.default));BA(5,()=>Promise.resolve().then(()=>(An(),$r)).then(A=>A.default));BA(6,()=>{throw new Error("old style JPEG compression is not supported.")});BA(7,()=>Promise.resolve().then(()=>(rn(),tn)).then(A=>A.default));BA([8,32946],()=>Promise.resolve().then(()=>(xo(),_o)).then(A=>A.default));BA(32773,()=>Promise.resolve().then(()=>(ko(),Do)).then(A=>A.default));BA(34887,()=>Promise.resolve().then(()=>(Uo(),Go)).then(async A=>(await A.zstd.init(),A)).then(A=>A.default));BA(50001,()=>Promise.resolve().then(()=>(Mo(),Lo)).then(A=>A.default));function vt(A,t,e,i=1){return new(Object.getPrototypeOf(A)).constructor(t*e*i)}function yl(A,t,e,i,r){let n=t/i,l=e/r;return A.map(s=>{let f=vt(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),e-1);for(let h=0;h<i;++h){let I=Math.min(Math.round(n*h),t-1),g=s[a*t+I];f[o*i+h]=g}}return f})}function ge(A,t,e){return(1-e)*A+e*t}function ml(A,t,e,i,r){let n=t/i,l=e/r;return A.map(s=>{let f=vt(s,i,r);for(let o=0;o<r;++o){let a=l*o,h=Math.floor(a),I=Math.min(Math.ceil(a),e-1);for(let g=0;g<i;++g){let c=n*g,B=c%1,C=Math.floor(c),d=Math.min(Math.ceil(c),t-1),u=s[h*t+C],w=s[h*t+d],p=s[I*t+C],Q=s[I*t+d],E=ge(ge(u,w,B),ge(p,Q,B),a%1);f[o*i+g]=E}}return f})}function To(A,t,e,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return yl(A,t,e,i,r);case"bilinear":case"linear":return ml(A,t,e,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function _l(A,t,e,i,r,n){let l=t/i,s=e/r,f=vt(A,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),e-1);for(let h=0;h<i;++h){let I=Math.min(Math.round(l*h),t-1);for(let g=0;g<n;++g){let c=A[a*t*n+I*n+g];f[o*i*n+h*n+g]=c}}}return f}function xl(A,t,e,i,r,n){let l=t/i,s=e/r,f=vt(A,i,r,n);for(let o=0;o<r;++o){let a=s*o,h=Math.floor(a),I=Math.min(Math.ceil(a),e-1);for(let g=0;g<i;++g){let c=l*g,B=c%1,C=Math.floor(c),d=Math.min(Math.ceil(c),t-1);for(let u=0;u<n;++u){let w=A[h*t*n+C*n+u],p=A[h*t*n+d*n+u],Q=A[I*t*n+C*n+u],E=A[I*t*n+d*n+u],m=ge(ge(w,p,B),ge(Q,E,B),a%1);f[o*i*n+g*n+u]=m}}}return f}function Oo(A,t,e,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return _l(A,t,e,i,r,n);case"bilinear":case"linear":return xl(A,t,e,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Dl(A,t,e){let i=0;for(let r=t;r<e;++r)i+=A[r];return i}function Oi(A,t,e){switch(A){case 1:if(t<=8)return new Uint8Array(e);if(t<=16)return new Uint16Array(e);if(t<=32)return new Uint32Array(e);break;case 2:if(t===8)return new Int8Array(e);if(t===16)return new Int16Array(e);if(t===32)return new Int32Array(e);break;case 3:switch(t){case 16:case 32:return new Float32Array(e);case 64:return new Float64Array(e);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function kl(A,t){return(A===1||A===2)&&t<=32&&t%8===0?!1:!(A===3&&(t===16||t===32||t===64))}function Sl(A,t,e,i,r,n,l){let s=new DataView(A),f=e===2?l*n:l*n*i,o=e===2?1:i,a=Oi(t,r,f),h=parseInt("1".repeat(r),2);if(t===1){let I;e===1?I=i*r:I=r;let g=n*I;g&7&&(g=g+7&-8);for(let c=0;c<l;++c){let B=c*g;for(let C=0;C<n;++C){let d=B+C*o*r;for(let u=0;u<o;++u){let w=d+u*r,p=(c*n+C)*o+u,Q=Math.floor(w/8),E=w%8;if(E+r<=8)a[p]=s.getUint8(Q)>>8-r-E&h;else if(E+r<=16)a[p]=s.getUint16(Q)>>16-r-E&h;else if(E+r<=24){let m=s.getUint16(Q)<<8|s.getUint8(Q+2);a[p]=m>>24-r-E&h}else a[p]=s.getUint32(Q)>>32-r-E&h}}}}return a.buffer}var qi=class{constructor(t,e,i,r,n,l){this.fileDirectory=t,this.geoKeys=e,this.dataView=i,this.littleEndian=r,this.tiles=n?{}:null,this.isTiled=!t.StripOffsets;let s=t.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}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 e=0;e<this.fileDirectory.BitsPerSample.length;++e)t+=this.getSampleByteSize(e);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 e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(e){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(r,n){return Be(this,r,n)};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,e){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Oi(i,r,e)}async getTileOrStrip(t,e,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),f,{tiles:o}=this;this.planarConfiguration===1?f=e*l+t:this.planarConfiguration===2&&(f=i*l*s+e*l+t);let a,h;this.isTiled?(a=this.fileDirectory.TileOffsets[f],h=this.fileDirectory.TileByteCounts[f]):(a=this.fileDirectory.StripOffsets[f],h=this.fileDirectory.StripByteCounts[f]);let I=(await this.source.fetch([{offset:a,length:h}],n))[0],g;return o===null||!o[f]?(g=(async()=>{let c=await r.decode(this.fileDirectory,I),B=this.getSampleFormat(),C=this.getBitsPerSample();return kl(B,C)&&(c=Sl(c,B,this.planarConfiguration,this.getSamplesPerPixel(),C,this.getTileWidth(),this.getBlockHeight(e))),c})(),o!==null&&(o[f]=g)):g=o[f],{x:t,y:e,sample:i,data:await g}}async _readRaster(t,e,i,r,n,l,s,f,o){let a=this.getTileWidth(),h=this.getTileHeight(),I=this.getWidth(),g=this.getHeight(),c=Math.max(Math.floor(t[0]/a),0),B=Math.min(Math.ceil(t[2]/a),Math.ceil(I/a)),C=Math.max(Math.floor(t[1]/h),0),d=Math.min(Math.ceil(t[3]/h),Math.ceil(g/h)),u=t[2]-t[0],w=this.getBytesPerPixel(),p=[],Q=[];for(let y=0;y<e.length;++y)this.planarConfiguration===1?p.push(Dl(this.fileDirectory.BitsPerSample,0,e[y])/8):p.push(0),Q.push(this.getReaderForSample(e[y]));let E=[],{littleEndian:m}=this;for(let y=C;y<d;++y)for(let S=c;S<B;++S){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(S,y,0,n,o));for(let D=0;D<e.length;++D){let k=D,N=e[D];this.planarConfiguration===2&&(w=this.getSampleByteSize(N),x=this.getTileOrStrip(S,y,N,n,o));let b=x.then(_=>{let R=_.data,T=new DataView(R),F=this.getBlockHeight(_.y),v=_.y*h,U=_.x*a,q=v+F,Y=(_.x+1)*a,J=Q[k],M=Math.min(F,F-(q-t[3]),g-v),G=Math.min(a,a-(Y-t[2]),I-U);for(let L=Math.max(0,t[1]-v);L<M;++L)for(let P=Math.max(0,t[0]-U);P<G;++P){let Z=(L*a+P)*w,W=J.call(T,Z+p[k],m),j;r?(j=(L+v-t[1])*u*e.length+(P+U-t[0])*e.length+k,i[j]=W):(j=(L+v-t[1])*u+P+U-t[0],i[k][j]=W)}});E.push(b)}}if(await Promise.all(E),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=Oo(i,t[2]-t[0],t[3]-t[1],l,s,e.length,f):y=To(i,t[2]-t[0],t[3]-t[1],l,s,f),y.width=l,y.height=s,y}return i.width=l||t[2]-t[0],i.height=s||t[3]-t[1],i}async readRasters({window:t,samples:e=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:f,signal:o}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let h=a[2]-a[0],I=a[3]-a[1],g=h*I,c=this.getSamplesPerPixel();if(!e||!e.length)for(let u=0;u<c;++u)e.push(u);else for(let u=0;u<e.length;++u)if(e[u]>=c)return Promise.reject(new RangeError(`Invalid sample index '${e[u]}'.`));let B;if(i){let u=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,w=Math.max.apply(null,this.fileDirectory.BitsPerSample);B=Oi(u,w,g*e.length),f&&B.fill(f)}else{B=[];for(let u=0;u<e.length;++u){let w=this.getArrayForSample(e[u],g);Array.isArray(f)&&u<f.length?w.fill(f[u]):f&&!Array.isArray(f)&&w.fill(f),B.push(w)}}let C=r||await Ti(this.fileDirectory);return await this._readRaster(a,e,B,i,C,n,l,s,o)}async readRGB({window:t,interleave:e=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:f}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let a=this.fileDirectory.PhotometricInterpretation;if(a===nA.RGB){let d=[0,1,2];if(this.fileDirectory.ExtraSamples!==Or.Unspecified&&s){d=[];for(let u=0;u<this.fileDirectory.BitsPerSample.length;u+=1)d.push(u)}return this.readRasters({window:t,interleave:e,samples:d,pool:i,width:r,height:n,resampleMethod:l,signal:f})}let h;switch(a){case nA.WhiteIsZero:case nA.BlackIsZero:case nA.Palette:h=[0];break;case nA.CMYK:h=[0,1,2,3];break;case nA.YCbCr:case nA.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let I={window:o,interleave:!0,samples:h,pool:i,width:r,height:n,resampleMethod:l,signal:f},{fileDirectory:g}=this,c=await this.readRasters(I),B=2**this.fileDirectory.BitsPerSample[0],C;switch(a){case nA.WhiteIsZero:C=Hr(c,B);break;case nA.BlackIsZero:C=Yr(c,B);break;case nA.Palette:C=Jr(c,g.ColorMap);break;case nA.CMYK:C=zr(c);break;case nA.YCbCr:C=Kr(c);break;case nA.CIELab:C=Pr(c);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){let d=new Uint8Array(C.length/3),u=new Uint8Array(C.length/3),w=new Uint8Array(C.length/3);for(let p=0,Q=0;p<C.length;p+=3,++Q)d[Q]=C[p],u[Q]=C[p+1],w[Q]=C[p+2];C=[d,u,w]}return C.width=c.width,C.height=c.height,C}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let e=0;e<this.fileDirectory.ModelTiepoint.length;e+=6)t.push({i:this.fileDirectory.ModelTiepoint[e],j:this.fileDirectory.ModelTiepoint[e+1],k:this.fileDirectory.ModelTiepoint[e+2],x:this.fileDirectory.ModelTiepoint[e+3],y:this.fileDirectory.ModelTiepoint[e+4],z:this.fileDirectory.ModelTiepoint[e+5]});return t}getGDALMetadata(t=null){let e={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,qo.default)(i,"Item");t===null?r=r.filter(n=>(0,Rt.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Rt.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];e[(0,Rt.default)(l,"name")]=l.inner}return e}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,e=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(e)return[e[3],e[7],e[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let e=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(e)return[e[0],-e[1],e[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[r,n,l]=t.getResolution();return[r*t.getWidth()/this.getWidth(),n*t.getHeight()/this.getHeight(),l*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 e=this.getHeight(),i=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[r,n,l,s,f,o,a,h]=this.fileDirectory.ModelTransformation,g=[[0,0],[0,e],[i,0],[i,e]].map(([C,d])=>[s+r*C+n*d,h+f*C+o*d]),c=g.map(C=>C[0]),B=g.map(C=>C[1]);return[Math.min(...c),Math.min(...B),Math.max(...c),Math.max(...B)]}else{let r=this.getOrigin(),n=this.getResolution(),l=r[0],s=r[1],f=l+n[0]*i,o=s+n[1]*e;return[Math.min(l,f),Math.min(s,o),Math.max(l,f),Math.max(s,o)]}}},Ho=qi;var Me=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,e){let i=this.getUint32(t,e),r=this.getUint32(t+4,e),n;if(e){if(n=i+2**32*r,!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*i+r,!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}getInt64(t,e){let i=0,r=(this._dataView.getUint8(t+(e?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(e?l:7-l));r&&(n?s!==0&&(s=~(s-1)&255,n=!1):s=~s&255),i+=s*256**l}return r&&(i=-i),i}getUint8(t,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return Be(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}};var Ne=class{constructor(t,e,i,r){this._dataView=new DataView(t),this._sliceOffset=e,this._littleEndian=i,this._bigTiff=r}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,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}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 e=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=e+2**32*i,!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*e+i,!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}readInt64(t){let e=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,r=!0;for(let n=0;n<8;n++){let l=this._dataView.getUint8(t+(this._littleEndian?n:7-n));i&&(r?l!==0&&(l=~(l-1)&255,r=!1):l=~l&255),e+=l*256**n}return i&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var Yo=`\r
4
+ \r
5
+ `;function Jo(A){if(typeof Object.fromEntries<"u")return Object.fromEntries(A);let t={};for(let[e,i]of A)t[e.toLowerCase()]=i;return t}function bl(A){let t=A.split(`\r
6
+ `).map(e=>{let i=e.split(":").map(r=>r.trim());return i[0]=i[0].toLowerCase(),i});return Jo(t)}function zo(A){let[t,...e]=A.split(";").map(r=>r.trim()),i=e.map(r=>r.split("="));return{type:t,params:Jo(i)}}function Gt(A){let t,e,i;return A&&([,t,e,i]=A.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),e=parseInt(e,10),i=parseInt(i,10)),{start:t,end:e,total:i}}function Ko(A,t){let e=null,i=new TextDecoder("ascii"),r=[],n=`--${t}`,l=`${n}--`;for(let s=0;s<10;++s)i.decode(new Uint8Array(A,s,n.length))===n&&(e=s);if(e===null)throw new Error("Could not find initial boundary");for(;e<A.byteLength;){let s=i.decode(new Uint8Array(A,e,Math.min(n.length+1024,A.byteLength-e)));if(s.length===0||s.startsWith(l))break;if(!s.startsWith(n))throw new Error("Part does not start with boundary");let f=s.substr(n.length+2);if(f.length===0)break;let o=f.indexOf(Yo),a=bl(f.substr(0,o)),{start:h,end:I,total:g}=Gt(a["content-range"]),c=e+n.length+o+Yo.length,B=parseInt(I,10)+1-parseInt(h,10);r.push({headers:a,data:A.slice(c,c+B),offset:h,length:B,fileSize:g}),e=c+B+4}return r}var le=class{async fetch(t,e=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,e)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var Te=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[e,i]of t)this.onEviction(e,i.value)}_deleteIfExpired(t,e){return typeof e.expiry=="number"&&e.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,e.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,e){if(this._deleteIfExpired(t,e)===!1)return e.value}_getItemValue(t,e){return e.expiry?this._getOrDeleteIfExpired(t,e):e.value}_peek(t,e){let i=e.get(t);return this._getItemValue(t,i)}_set(t,e){this.cache.set(t,e),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,e){this.oldCache.delete(t),this._set(t,e)}*_entriesAscending(){for(let t of this.oldCache){let[e,i]=t;this.cache.has(e)||this._deleteIfExpired(e,i)===!1&&(yield t)}for(let t of this.cache){let[e,i]=t;this._deleteIfExpired(e,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let e=this.cache.get(t);return this._getItemValue(t,e)}if(this.oldCache.has(t)){let e=this.oldCache.get(t);if(this._deleteIfExpired(t,e)===!1)return this._moveToRecent(t,e),e.value}}set(t,e,{maxAge:i=this.maxAge}={}){let r=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:e,expiry:r}):this._set(t,{value:e,expiry:r}),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 e=this.cache.delete(t);return e&&this._size--,this.oldCache.delete(t)||e}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 e=[...this._entriesAscending()],i=e.length-t;i<0?(this.cache=new Map(e),this.oldCache=new Map,this._size=e.length):(i>0&&this._emitEvictions(e.slice(0,i)),this.oldCache=new Map(e.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[e,i]=t;this._deleteIfExpired(e,i)===!1&&(yield[e,i.value])}for(let t of this.oldCache){let[e,i]=t;this.cache.has(e)||this._deleteIfExpired(e,i)===!1&&(yield[e,i.value])}}*entriesDescending(){let t=[...this.cache];for(let e=t.length-1;e>=0;--e){let i=t[e],[r,n]=i;this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}t=[...this.oldCache];for(let e=t.length-1;e>=0;--e){let i=t[e],[r,n]=i;this.cache.has(r)||this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}}*entriesAscending(){for(let[t,e]of this._entriesAscending())yield[t,e.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let e of this.oldCache.keys())this.cache.has(e)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,e=this){for(let[i,r]of this.entriesAscending())t.call(e,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function Po(A){return new Promise(t=>setTimeout(t,A))}function Vo(A,t){let e=Array.isArray(A)?A:Array.from(A),i=Array.isArray(t)?t:Array.from(t);return e.map((r,n)=>[r,i[n]])}var fe=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,fe),this.name="AbortError"}},Hi=class extends Error{constructor(t,e){super(e),this.errors=t,this.message=e,this.name="AggregateError"}},Zo=Hi;var Yi=class{constructor(t,e,i=null){this.offset=t,this.length=e,this.data=i}get top(){return this.offset+this.length}},Ut=class{constructor(t,e,i){this.offset=t,this.length=e,this.blockIds=i}},Lt=class extends le{constructor(t,{blockSize:e=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=e,this.blockCache=new Te({maxSize:i,onEviction:(r,n)=>{this.evictedBlocks.set(r,n)}}),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,e){let i=[],r=[],n=[];this.evictedBlocks.clear();for(let{offset:I,length:g}of t){let c=I+g,{fileSize:B}=this;B!==null&&(c=Math.min(c,B));let C=Math.floor(I/this.blockSize)*this.blockSize;for(let d=C;d<c;d+=this.blockSize){let u=Math.floor(d/this.blockSize);!this.blockCache.has(u)&&!this.blockRequests.has(u)&&(this.blockIdsToFetch.add(u),r.push(u)),this.blockRequests.has(u)&&i.push(this.blockRequests.get(u)),n.push(u)}}await Po(),this.fetchBlocks(e);let l=[];for(let I of r)this.blockRequests.has(I)&&l.push(this.blockRequests.get(I));await Promise.allSettled(i),await Promise.allSettled(l);let s=[],f=n.filter(I=>this.abortedBlockIds.has(I)||!this.blockCache.has(I));if(f.forEach(I=>this.blockIdsToFetch.add(I)),f.length>0&&e&&!e.aborted){this.fetchBlocks(null);for(let I of f){let g=this.blockRequests.get(I);if(!g)throw new Error(`Block ${I} is not in the block requests`);s.push(g)}await Promise.allSettled(s)}if(e&&e.aborted)throw new fe("Request was aborted");let o=n.map(I=>this.blockCache.get(I)||this.evictedBlocks.get(I)),a=o.filter(I=>!I);if(a.length)throw new Zo(a,"Request failed");let h=new Map(Vo(n,o));return this.readSliceData(t,h)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let e=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(e,t);for(let r=0;r<e.length;++r){let n=e[r];for(let l of n.blockIds)this.blockRequests.set(l,(async()=>{try{let s=(await i)[r],f=l*this.blockSize,o=f-s.offset,a=Math.min(o+this.blockSize,s.data.byteLength),h=s.data.slice(o,a),I=new Yi(f,h.byteLength,h,l);this.blockCache.set(l,I),this.abortedBlockIds.delete(l)}catch(s){if(s.name==="AbortError")s.signal=t,this.blockCache.delete(l),this.abortedBlockIds.add(l);else throw s}finally{this.blockRequests.delete(l)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let e=Array.from(t).sort((l,s)=>l-s);if(e.length===0)return[];let i=[],r=null,n=[];for(let l of e)r===null||r+1===l?(i.push(l),r=l):(n.push(new Ut(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[l],r=l);return n.push(new Ut(i[0]*this.blockSize,i.length*this.blockSize,i)),n}readSliceData(t,e){return t.map(i=>{let r=i.offset+i.length;this.fileSize!==null&&(r=Math.min(this.fileSize,r));let n=Math.floor(i.offset/this.blockSize),l=Math.floor(r/this.blockSize),s=new ArrayBuffer(i.length),f=new Uint8Array(s);for(let o=n;o<=l;++o){let a=e.get(o),h=a.offset-i.offset,I=a.top-r,g=0,c=0,B;h<0?g=-h:h>0&&(c=h),I<0?B=a.length-g:B=r-a.offset-g;let C=new Uint8Array(a.data,g,B);f.set(C,c)}return s})}};var Oe=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")}},qe=class{constructor(t){this.url=t}async request({headers:t,signal:e}={}){throw new Error("request is not implemented")}};var Ji=class extends le{constructor(t,e,i,r){super(),this.client=t,this.headers=e,this.maxRanges=i,this.allowFullFile=r,this._fileSize=null}async fetch(t,e){return this.maxRanges>=t.length?this.fetchSlices(t,e):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,e))))}async fetchSlices(t,e){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:r,length:n})=>`${r}-${r+n}`).join(",")}`},signal:e});if(i.ok)if(i.status===206){let{type:r,params:n}=zo(i.getHeader("content-type"));if(r==="multipart/byteranges"){let h=Ko(await i.getData(),n.boundary);return this._fileSize=h[0].fileSize||null,h}let l=await i.getData(),{start:s,end:f,total:o}=Gt(i.getHeader("content-range"));this._fileSize=o||null;let a=[{data:l,offset:s,length:f-s}];if(t.length>1){let h=await Promise.all(t.slice(1).map(I=>this.fetchSlice(I,e)));return a.concat(h)}return a}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let r=await i.getData();return this._fileSize=r.byteLength,[{data:r,offset:0,length:r.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,e){let{offset:i,length:r}=t,n=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+r}`},signal:e});if(n.ok)if(n.status===206){let l=await n.getData(),{total:s}=Gt(n.getHeader("content-range"));return this._fileSize=s||null,{data:l,offset:i,length:r}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let l=await n.getData();return this._fileSize=l.byteLength,{data:l,offset:0,length:l.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function Fl(A,{blockSize:t,cacheSize:e}){return t===null?A:new Lt(A,{blockSize:t,cacheSize:e})}function Xo(A,{headers:t={},maxRanges:e=0,allowFullFile:i=!1,...r}={}){let n=new Ji(A,t,e,i);return Fl(n,r)}tt();mA();function zi(A){switch(A){case O.BYTE:case O.ASCII:case O.SBYTE:case O.UNDEFINED:return 1;case O.SHORT:case O.SSHORT:return 2;case O.LONG:case O.SLONG:case O.FLOAT:case O.IFD:return 4;case O.RATIONAL:case O.SRATIONAL:case O.DOUBLE:case O.LONG8:case O.SLONG8:case O.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${A}`)}}function vl(A){let t=A.GeoKeyDirectory;if(!t)return null;let e={};for(let i=4;i<=t[3]*4;i+=4){let r=Ce[t[i]],n=t[i+1]?WA[t[i+1]]:null,l=t[i+2],s=t[i+3],f=null;if(!n)f=s;else{if(f=A[n],typeof f>"u"||f===null)throw new Error(`Could not get value of geoKey '${r}'.`);typeof f=="string"?f=f.substring(s,s+l-1):f.subarray&&(f=f.subarray(s,s+l),l===1&&(f=f[0]))}e[r]=f}return e}function Ie(A,t,e,i){let r=null,n=null,l=zi(t);switch(t){case O.BYTE:case O.ASCII:case O.UNDEFINED:r=new Uint8Array(e),n=A.readUint8;break;case O.SBYTE:r=new Int8Array(e),n=A.readInt8;break;case O.SHORT:r=new Uint16Array(e),n=A.readUint16;break;case O.SSHORT:r=new Int16Array(e),n=A.readInt16;break;case O.LONG:case O.IFD:r=new Uint32Array(e),n=A.readUint32;break;case O.SLONG:r=new Int32Array(e),n=A.readInt32;break;case O.LONG8:case O.IFD8:r=new Array(e),n=A.readUint64;break;case O.SLONG8:r=new Array(e),n=A.readInt64;break;case O.RATIONAL:r=new Uint32Array(e*2),n=A.readUint32;break;case O.SRATIONAL:r=new Int32Array(e*2),n=A.readInt32;break;case O.FLOAT:r=new Float32Array(e),n=A.readFloat32;break;case O.DOUBLE:r=new Float64Array(e),n=A.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===O.RATIONAL||t===O.SRATIONAL)for(let s=0;s<e;s+=2)r[s]=n.call(A,i+s*l),r[s+1]=n.call(A,i+(s*l+4));else for(let s=0;s<e;++s)r[s]=n.call(A,i+s*l);return t===O.ASCII?new TextDecoder("utf-8").decode(r):r}var Ki=class{constructor(t,e,i){this.fileDirectory=t,this.geoKeyDirectory=e,this.nextIFDByteOffset=i}},ce=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},Pi=class{async readRasters(t={}){let{window:e,width:i,height:r}=t,{resX:n,resY:l,bbox:s}=t,f=await this.getImage(),o=f,a=await this.getImageCount(),h=f.getBoundingBox();if(e&&s)throw new Error('Both "bbox" and "window" passed.');if(i||r){if(e){let[c,B]=f.getOrigin(),[C,d]=f.getResolution();s=[c+e[0]*C,B+e[1]*d,c+e[2]*C,B+e[3]*d]}let g=s||h;if(i){if(n)throw new Error("Both width and resX passed");n=(g[2]-g[0])/i}if(r){if(l)throw new Error("Both width and resY passed");l=(g[3]-g[1])/r}}if(n||l){let g=[];for(let c=0;c<a;++c){let B=await this.getImage(c),{SubfileType:C,NewSubfileType:d}=B.fileDirectory;(c===0||C===2||d&1)&&g.push(B)}g.sort((c,B)=>c.getWidth()-B.getWidth());for(let c=0;c<g.length;++c){let B=g[c],C=(h[2]-h[0])/B.getWidth(),d=(h[3]-h[1])/B.getHeight();if(o=B,n&&n>C||l&&l>d)break}}let I=e;if(s){let[g,c]=f.getOrigin(),[B,C]=o.getResolution(f);I=[Math.round((s[0]-g)/B),Math.round((s[1]-c)/C),Math.round((s[2]-g)/B),Math.round((s[3]-c)/C)],I=[Math.min(I[0],I[2]),Math.min(I[1],I[3]),Math.max(I[0],I[2]),Math.max(I[1],I[3])]}return o.readRasters({...t,window:I})}},He=class extends Pi{constructor(t,e,i,r,n={}){super(),this.source=t,this.littleEndian=e,this.bigTiff=i,this.firstIFDOffset=r,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,e){let i=this.bigTiff?4048:1024;return new Ne((await this.source.fetch([{offset:t,length:typeof e<"u"?e:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let e=this.bigTiff?20:12,i=this.bigTiff?8:2,r=await this.getSlice(t),n=this.bigTiff?r.readUint64(t):r.readUint16(t),l=n*e+(this.bigTiff?16:6);r.covers(t,l)||(r=await this.getSlice(t,l));let s={},f=t+(this.bigTiff?8:2);for(let h=0;h<n;f+=e,++h){let I=r.readUint16(f),g=r.readUint16(f+2),c=this.bigTiff?r.readUint64(f+4):r.readUint32(f+4),B,C,d=zi(g),u=f+(this.bigTiff?12:8);if(d*c<=(this.bigTiff?8:4))B=Ie(r,g,c,u);else{let w=r.readOffset(u),p=zi(g)*c;if(r.covers(w,p))B=Ie(r,g,c,w);else{let Q=await this.getSlice(w,p);B=Ie(Q,g,c,w)}}c===1&&Tr.indexOf(I)===-1&&!(g===O.RATIONAL||g===O.SRATIONAL)?C=B[0]:C=B,s[WA[I]]=C}let o=vl(s),a=r.readOffset(t+i+e*n);return new Ki(s,o,a)}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(e){throw e instanceof ce?new ce(t):e}return this.ifdRequests[t]=(async()=>{let e=await this.ifdRequests[t-1];if(e.nextIFDByteOffset===0)throw new ce(t);return this.parseFileDirectoryAt(e.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let e=await this.requestIFD(t);return new Ho(e.fileDirectory,e.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,e=!0;for(;e;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof ce)e=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let e="GDAL_STRUCTURAL_METADATA_SIZE=",i=e.length+100,r=await this.getSlice(t,i);if(e===Ie(r,O.ASCII,e.length,t)){let l=Ie(r,O.ASCII,i,t).split(`
7
+ `)[0],s=Number(l.split("=")[1].split(" ")[0])+l.length;s>i&&(r=await this.getSlice(t,s));let f=Ie(r,O.ASCII,s,t);this.ghostValues={},f.split(`
8
+ `).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,a])=>{this.ghostValues[o]=a})}return this.ghostValues}static async fromSource(t,e,i){let r=(await t.fetch([{offset:0,length:1024}],i))[0],n=new Me(r),l=n.getUint16(0,0),s;if(l===18761)s=!0;else if(l===19789)s=!1;else throw new TypeError("Invalid byte order value.");let f=n.getUint16(2,s),o;if(f===42)o=!1;else if(f===43){if(o=!0,n.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let a=o?n.getUint64(8,s):n.getUint32(4,s);return new He(t,s,o,a,e)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function jo(A,t={},e){return He.fromSource(Xo(A,t),e)}var Rl=1e8,Wo=1e4,$o=1e4,Gl=512,Ul=512,Ll={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"]},Vi=class extends ${async decode(t,e){let i=Array.isArray(t.BitsPerSample)?t.BitsPerSample.length:t.SamplesPerPixel||4,r=(0,gA.default)(e,{sequentialRead:!0}),l=(await r.metadata()).channels||4;i===4&&l<4&&r.ensureAlpha?r=r.ensureAlpha():i===3&&l>3&&r.removeAlpha&&(r=r.removeAlpha());let{data:s,info:f}=await r.raw().toBuffer({resolveWithObject:!0});if(f.channels!==i){let o=f.width*f.height,a=Buffer.alloc(o*i),h=s;for(let I=0;I<o;I+=1){let g=I*f.channels,c=I*i;for(let B=0;B<i;B+=1)B<f.channels?a[c+B]=h[g+B]:a[c+B]=B===3?255:0}return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}return s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)}};BA(50001,()=>Promise.resolve(Vi));var Zi=class extends Oe{constructor(e){super();this.result=e}get ok(){return this.result.res.status>=200&&this.result.res.status<300}get status(){return this.result.res.status}getHeader(e){return this.result.res.headers[e.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}},Xi=class extends qe{constructor(e,i){super(e);this.objectKey=e,this.ossClient=i}async request({headers:e={}}={}){let i=await this.ossClient.get(this.objectKey,{headers:e,timeout:3e4});return new Zi(i)}};async function Ml(A,t){let e=new Xi(A,t);return jo(e)}var Ye=class extends Aa.default{constructor(e,i,r=!1,n=Rl,l=Wo,s=$o,f=Gl,o=Ul){super(e,i,n,l,s,f,o);this.enableHD=r}regionImpl(e,i){e&&(i=i.extract({left:e.x,top:e.y,width:e.w,height:e.h}))}sizeImpl(e,i){e&&(i=i.resize({...e,fit:"fill"}))}rotationImpl(e,i){e&&(e.isMirror&&(i=i.flop()),i=i.rotate(e.degree))}qualityFormatImpl(e,i,r,n,l){e&&(e==="color"?r=r.toColorspace("srgb"):e==="gray"||e==="grey"?r=r.grayscale():e==="bitonal"&&(r=r.threshold())),i&&(r=r.toFormat(i)),n==="png"&&(l.paletteBitDepth===1||l.space==="b-w")&&(r=r.toColorspace("b-w").png({colors:2}))}async generateImageTile(e,i,r){let n=e.split("/"),l=n.pop(),s=l.split(".")[0],f=l.split(".")[1],o=n.pop(),a=n.pop(),h=n.pop(),I=n.pop(),g={width:i.width,height:i.height},c=super.normalizeRegionParams(h,g),B=super.normalizeSizeParams(a,{width:c?c.w:g.width,height:c?c.h:g.height}),{x:C,y:d,w:u,h:w}=c!=null?c:{x:0,y:0,w:g.width,h:g.height},{width:p,height:Q}=B,E=await Ml(I,r),m=await E.getImage();console.log(`Source dimensions: ${m.getWidth()} x ${m.getHeight()}`),console.log(`Extracting region: x=${C}, y=${d}, w=${u}, h=${w}`),console.log(`Output size: ${p} x ${Q}`);let y=await E.getImageCount();console.log(`Total images (including overviews): ${y}`);let S=m.getSamplesPerPixel(),x;S>=3?(x=[0,1,2],S>=4&&x.push(3)):x=[0],console.log("Using automatic overview selection based on resolution...");let D=Math.max(u/p,w/Q),k=m,N=1;for(let J=0;J<y;J++){let M=await E.getImage(J),G=m.getWidth()/M.getWidth();G<=D&&G>N&&(N=G,k=M)}console.log(`Selected overview with scale: ${N.toFixed(2)}x`),console.log(`Overview dimensions: ${k.getWidth()} x ${k.getHeight()}`);let b=[Math.floor(C/N),Math.floor(d/N),Math.floor((C+u)/N),Math.floor((d+w)/N)],_;try{_=await k.readRasters({window:b,width:p,height:Q,samples:x,interleave:!0,resampleMethod:"bilinear"})}catch(J){console.log(`Failed to read from overview, falling back to main image: ${J}`);let M=[C,d,C+u,d+w];_=await m.readRasters({window:M,width:p,height:Q,samples:x,interleave:!0,resampleMethod:"bilinear"})}let R=x.length,T=Buffer.from(_.buffer,_.byteOffset,_.byteLength),F=(0,gA.default)(T,{raw:{width:p,height:Q,channels:R}}),v=super.normalizeRotationParams(o);this.rotationImpl(v,F);let U=super.normalizeQualityParams(s),q=super.normalizeFormatParams(f,i.format);this.qualityFormatImpl(U,q,F,f,i);let Y={};return Y.body=F,Y.contentType=super.getContentType(q),Y}iiifTransform(e,i){let r=this.enableHD?(0,gA.default)({limitInputPixels:!1,sequentialRead:!0}):(0,gA.default)(),n=e.split("/"),l=n.pop(),s=l.split(".")[0],f=l.split(".")[1],o=n.pop(),a=n.pop(),h=n.pop(),I=!1,g=r,c={width:i.width,height:i.height};i&&i.orientation&&(I=!0,g=g.rotate(),i.orientation>=5&&(c={width:i.height,height:i.width}));let B=super.normalizeRegionParams(h,c);this.regionImpl(B,g);let C=super.normalizeSizeParams(a,{width:B?B.w:c.width,height:B?B.h:c.height});this.sizeImpl(C,g);let d=super.normalizeRotationParams(o);this.rotationImpl(d,g);let u=super.normalizeQualityParams(s),w=super.normalizeFormatParams(f,i.format);return this.qualityFormatImpl(u,w,g,f,i),B||C||d||u||w||I?g:(console.log("skip iiif transform"),null)}async generateIiifImage(e,i,r=256){let n=this.enableHD?(0,gA.default)(i,{limitInputPixels:!1,sequentialRead:!0}):(0,gA.default)(i),l=e.split("/"),s=l.pop(),f=s.split(".")[0],o=s.split(".")[1],a=l.pop(),h=l.pop(),I=l.pop(),g=await n.metadata(),c={width:g.width,height:g.height},B={},C=n,d=super.normalizeRegionParams(I,c);this.regionImpl(d,C);let u=super.normalizeSizeParams(h,{width:d?d.w:c.width,height:d?d.h:c.height});this.sizeImpl(u,C);let{x:w,y:p,w:Q,h:E}=d||{x:0,y:0,w:c.width,h:c.height},{width:m,height:y}=u||{width:c.width,height:c.height};try{if(Q*E>m*y*r&&m<Wo&&y<$o&&g.pages&&g.pages>1){console.log("thumbnail");let k=Math.max(m/Q,y/E),[N,b,_,R]=[Math.round(w*k),Math.round(p*k),Math.round(Q*k),Math.round(E*k)],[T,F]=[Math.round(c.width*k),Math.round(c.height*k)];console.log("rawMeta.pages: "+g.pages);let v=Math.max(0,g.pages-1);console.log("selectedPage1: "+v),v>=g.pages&&(console.log("Warning: Selected page exceeds available pages, using last available page"),v=Math.max(0,g.pages-1));let U=this.enableHD?await(0,gA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).metadata():await(0,gA.default)(i,{page:v}).metadata(),q=U.width,Y=U.height;for(;v>0&&(Y<F||q<T);)Y*=2,q*=2,v--;(v<0||v>=g.pages)&&(console.log("Warning: Invalid page index after calculation, using page 0"),v=0),console.log("selectedPage2: "+v);let J={width:T,height:F,fastShrinkOnLoad:!1},M=this.enableHD?await(0,gA.default)(i,{limitInputPixels:!1,page:v,sequentialRead:!0}).resize(J).toBuffer():await(0,gA.default)(i,{page:v}).resize(J).toBuffer(),G=this.enableHD?(0,gA.default)(M,{limitInputPixels:!1,sequentialRead:!0}):(0,gA.default)(M),L=await G.metadata();console.log(L),b+R>L.height&&(R=L.height-b,console.log("adjested sh: "+R)),N+_>L.width&&(_=L.width-N,console.log("adjusted sw: "+_));let P={x:N,y:b,w:_,h:R};this.regionImpl(P,G),this.sizeImpl(u,G),console.log(L.width,L.height,J.width,J.height,P,u),C=G}}catch(k){console.trace(k),console.log(k)}let S=super.normalizeRotationParams(a);this.rotationImpl(S,C);let x=super.normalizeQualityParams(f);console.log(o,g.format);let D=super.normalizeFormatParams(o,g.format);return this.qualityFormatImpl(x,D,C,o,g),console.log("pipeline "+C),B.body=C,B.contentType=super.getContentType(D),B}generateImageInfo(e,i,r=""){let n=this.version,l=this.level,s={width:i.width,height:i.height};i&&i.orientation&&i.orientation>=5&&(console.log(i.orientation),s={width:i.height,height:i.width});let f=super.generateImageInfoTemp(e,s),o=f.info;if((n==="2.0"||n==="2.1")&&(o.profile=[super.uriPattern("compliance")],l==="2")){let a={};a.formats=["jpg","png","webp","jp2","pdf","tif"],a.qualities=["color","gray","bitonal","default","native","grey"],a.supports=Ll[Number(n)],o.profile.push(a)}return n==="3.0"&&r&&(o.extraFormats=[r],o.preferredFormats=[r]),r&&(o.formats=[r]),f}};module.exports=Ye;
2
9
  /*! Bundled license information:
3
10
 
4
11
  pako/dist/pako.esm.mjs:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etu-wiki/sharp-iiif-shims",
3
- "version": "0.0.100",
3
+ "version": "0.0.102",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {