@gisatcz/deckgl-geolib 2.1.2-dev.0 → 2.1.2-dev.1

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.
@@ -1,5 +1,4 @@
1
- "use strict";var A=require("@deck.gl/core"),g=require("@deck.gl/geo-layers"),I=require("@deck.gl/layers"),e=require("@deck.gl/extensions"),t=require("chroma-js"),B=require("@loaders.gl/schema"),i=require("@loaders.gl/loader-utils"),C=require("@deck.gl/mesh-layers");function Q(A){return(g,...I)=>a(A,g,I)}function E(A,g){return Q(n(A,g).get)}const{apply:a,construct:s,defineProperty:o,get:r,getOwnPropertyDescriptor:n,getPrototypeOf:h,has:l,ownKeys:c,set:w,setPrototypeOf:D}=Reflect,{iterator:d,species:y,toStringTag:f,for:u}=Symbol,S=Object,{create:G,defineProperty:N,freeze:F,is:k}=S,R=Array.prototype[d],L=Q(R),U=ArrayBuffer;E(U.prototype,"byteLength");const m="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:null;m&&E(m.prototype,"byteLength");const p=h(Uint8Array);p.from;const Y=p.prototype;Y[d],Q(Y.keys),Q(Y.values),Q(Y.entries),Q(Y.set),Q(Y.reverse),Q(Y.fill),Q(Y.copyWithin),Q(Y.sort),Q(Y.slice),Q(Y.subarray),E(Y,"buffer"),E(Y,"byteOffset"),E(Y,"length"),E(Y,f);const M=Uint8Array,K=Uint16Array,b=Uint32Array,J=Float32Array,H=h([][d]()),q=Q(H.next),x=Q(function*(){}().next),_=h(H),T=Q(DataView.prototype.getUint16),O=WeakMap,v=O.prototype,P=Q(v.get),Z=Q(v.set),V=new O,z=G(null,{next:{value:function(){const A=P(V,this);return q(A)}},[d]:{value:function(){return this}}});const j=new O,W=G(_,{next:{value:function(){const A=P(j,this);return x(A)},writable:!0,configurable:!0}});for(const A of c(H))"next"!==A&&N(W,A,n(H,A));const X=new U(4),$=new J(X),AA=new b(X),gA=new K(512),IA=new M(512);for(let A=0;A<256;++A){const g=A-127;g<-24?(gA[A]=0,gA[256|A]=32768,IA[A]=24,IA[256|A]=24):g<-14?(gA[A]=1024>>-g-14,gA[256|A]=1024>>-g-14|32768,IA[A]=-g-1,IA[256|A]=-g-1):g<=15?(gA[A]=g+15<<10,gA[256|A]=g+15<<10|32768,IA[A]=13,IA[256|A]=13):g<128?(gA[A]=31744,gA[256|A]=64512,IA[A]=24,IA[256|A]=24):(gA[A]=31744,gA[256|A]=64512,IA[A]=13,IA[256|A]=13)}const eA=new b(2048);for(let A=1;A<1024;++A){let g=A<<13,I=0;for(;!(8388608&g);)g<<=1,I-=8388608;g&=-8388609,I+=947912704,eA[A]=g|I}for(let A=1024;A<2048;++A)eA[A]=939524096+(A-1024<<13);const tA=new b(64);for(let A=1;A<31;++A)tA[A]=A<<23;tA[31]=1199570944,tA[32]=2147483648;for(let A=33;A<63;++A)tA[A]=2147483648+(A-32<<23);tA[63]=3347054592;const BA=new K(64);for(let A=1;A<64;++A)32!==A&&(BA[A]=1024);function iA(A,g,...I){return function(A){const g=A>>10;return AA[0]=eA[BA[g]+(1023&A)]+tA[g],$[0]}(T(A,g,...function(A){if(A[d]===R&&H.next===q)return A;const g=G(z);return Z(V,g,L(A)),g}(I)))}function CA(A,g,I){const e=I&&I.debug||!1;e&&console.log("[xml-utils] getting "+g+" in "+A);const t="object"==typeof A?A.outer:A,B=t.slice(0,t.indexOf(">")+1),i=['"',"'"];for(let A=0;A<i.length;A++){const I=i[A],t=g+"\\="+I+"([^"+I+"]*)"+I;e&&console.log("[xml-utils] pattern:",t);const C=new RegExp(t).exec(B);if(e&&console.log("[xml-utils] match:",C),C)return C[1]}}function QA(A,g,I){const e=new RegExp(g).exec(A.slice(I));return e?I+e.index+e[0].length-1:-1}function EA(A,g){const I=new RegExp(g,"g"),e=A.match(I);return e?e.length:0}function aA(A,g,I){const e=I&&I.debug||!1,t=!(I&&!1===typeof I.nested),B=I&&I.startIndex||0;e&&console.log("[xml-utils] starting findTagByName with",g," and ",I);const i=function(A,g,I){const e=new RegExp(g).exec(A.slice(I));return e?I+e.index:-1}(A,`<${g}[ \n>/]`,B);if(e&&console.log("[xml-utils] start:",i),-1===i)return;const C=A.slice(i+g.length);let Q=QA(C,"^[^<]*[ /]>",0);const E=-1!==Q&&"/"===C[Q-1];if(e&&console.log("[xml-utils] selfClosing:",E),!1===E)if(t){let A=0,I=1,e=0;for(;-1!==(Q=QA(C,"[ /]"+g+">",A));){const t=C.substring(A,Q+1);if(I+=EA(t,"<"+g+"[ \n\t>]"),e+=EA(t,"</"+g+">"),e>=I)break;A=Q}}else Q=QA(C,"[ /]"+g+">",0);const a=i+g.length+Q+1;if(e&&console.log("[xml-utils] end:",a),-1===a)return;const s=A.slice(i,a);let o;return o=E?null:s.slice(s.indexOf(">")+1,s.lastIndexOf("<")),{inner:o,outer:s,start:i,end:a}}const sA=Object.freeze({BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,SBYTE:6,UNDEFINED:7,SSHORT:8,SLONG:9,SRATIONAL:10,FLOAT:11,DOUBLE:12,IFD:13,LONG8:16,SLONG8:17,IFD8:18}),oA=Object.freeze({[sA.BYTE]:1,[sA.ASCII]:1,[sA.SBYTE]:1,[sA.UNDEFINED]:1,[sA.SHORT]:2,[sA.SSHORT]:2,[sA.LONG]:4,[sA.SLONG]:4,[sA.FLOAT]:4,[sA.IFD]:4,[sA.RATIONAL]:8,[sA.SRATIONAL]:8,[sA.DOUBLE]:8,[sA.LONG8]:8,[sA.SLONG8]:8,[sA.IFD8]:8});function rA(A){const g=oA[A];if(void 0===g)throw new RangeError(`Invalid field type: ${A}`);return g}const nA=[{tag:254,name:"NewSubfileType",fieldTypes:sA.LONG},{tag:255,name:"SubfileType",type:sA.SHORT},{tag:256,name:"ImageWidth",type:sA.SHORT},{tag:257,name:"ImageLength",type:sA.SHORT},{tag:258,name:"BitsPerSample",type:sA.SHORT,isArray:!0,eager:!0},{tag:259,name:"Compression",type:sA.SHORT},{tag:262,name:"PhotometricInterpretation",type:sA.SHORT},{tag:263,name:"Threshholding",type:sA.SHORT},{tag:264,name:"CellWidth",type:sA.SHORT},{tag:265,name:"CellLength",type:sA.SHORT},{tag:266,name:"FillOrder",type:sA.SHORT},{tag:269,name:"DocumentName",type:sA.ASCII},{tag:270,name:"ImageDescription",type:sA.ASCII},{tag:271,name:"Make",type:sA.ASCII},{tag:272,name:"Model",type:sA.ASCII},{tag:273,name:"StripOffsets",type:sA.SHORT,isArray:!0},{tag:274,name:"Orientation",type:sA.SHORT},{tag:277,name:"SamplesPerPixel",type:sA.SHORT},{tag:278,name:"RowsPerStrip",type:sA.SHORT},{tag:279,name:"StripByteCounts",type:sA.LONG,isArray:!0},{tag:280,name:"MinSampleValue",type:sA.SHORT,isArray:!0},{tag:281,name:"MaxSampleValue",type:sA.SHORT,isArray:!0},{tag:282,name:"XResolution",type:sA.RATIONAL},{tag:283,name:"YResolution",type:sA.RATIONAL},{tag:284,name:"PlanarConfiguration",fieldTypes:sA.SHORT},{tag:285,name:"PageName",type:sA.ASCII},{tag:286,name:"XPosition",type:sA.RATIONAL},{tag:287,name:"YPosition",type:sA.RATIONAL},{tag:288,name:"FreeOffsets",type:sA.LONG},{tag:289,name:"FreeByteCounts",type:sA.LONG},{tag:290,name:"GrayResponseUnit",type:sA.SHORT},{tag:291,name:"GrayResponseCurve",type:sA.SHORT,isArray:!0},{tag:292,name:"T4Options",type:sA.LONG},{tag:293,name:"T6Options",type:sA.LONG},{tag:296,name:"ResolutionUnit",type:sA.SHORT},{tag:297,name:"PageNumber",type:sA.SHORT,isArray:!0},{tag:301,name:"TransferFunction",type:sA.SHORT,isArray:!0},{tag:305,name:"Software",type:sA.ASCII},{tag:306,name:"DateTime",type:sA.ASCII},{tag:315,name:"Artist",type:sA.ASCII},{tag:316,name:"HostComputer",type:sA.ASCII},{tag:317,name:"Predictor",type:sA.SHORT},{tag:318,name:"WhitePoint",type:sA.RATIONAL,isArray:!0},{tag:319,name:"PrimaryChromaticities",type:sA.RATIONAL,isArray:!0},{tag:320,name:"ColorMap",type:sA.SHORT,isArray:!0},{tag:321,name:"HalftoneHints",type:sA.SHORT,isArray:!0},{tag:322,name:"TileWidth",type:sA.SHORT},{tag:323,name:"TileLength",type:sA.SHORT},{tag:324,name:"TileOffsets",type:sA.LONG,isArray:!0},{tag:325,name:"TileByteCounts",type:sA.SHORT,isArray:!0},{tag:332,name:"InkSet",type:sA.SHORT},{tag:333,name:"InkNames",type:sA.ASCII},{tag:334,name:"NumberOfInks",type:sA.SHORT},{tag:336,name:"DotRange",type:sA.BYTE,isArray:!0},{tag:337,name:"TargetPrinter",type:sA.ASCII},{tag:338,name:"ExtraSamples",type:sA.BYTE,isArray:!0},{tag:339,name:"SampleFormat",type:sA.SHORT,isArray:!0,eager:!0},{tag:340,name:"SMinSampleValue",isArray:!0},{tag:341,name:"SMaxSampleValue",isArray:!0},{tag:342,name:"TransferRange",type:sA.SHORT,isArray:!0},{tag:512,name:"JPEGProc",type:sA.SHORT},{tag:513,name:"JPEGInterchangeFormat",type:sA.LONG},{tag:514,name:"JPEGInterchangeFormatLngth",type:sA.LONG},{tag:515,name:"JPEGRestartInterval",type:sA.SHORT},{tag:517,name:"JPEGLosslessPredictors",type:sA.SHORT,isArray:!0},{tag:518,name:"JPEGPointTransforms",type:sA.SHORT,isArray:!0},{tag:519,name:"JPEGQTables",type:sA.LONG,isArray:!0},{tag:520,name:"JPEGDCTables",type:sA.LONG,isArray:!0},{tag:521,name:"JPEGACTables",type:sA.LONG,isArray:!0},{tag:529,name:"YCbCrCoefficients",type:sA.RATIONAL,isArray:!0},{tag:530,name:"YCbCrSubSampling",type:sA.SHORT,isArray:!0},{tag:531,name:"YCbCrPositioning",type:sA.SHORT},{tag:532,name:"ReferenceBlackWhite",type:sA.LONG,isArray:!0},{tag:33432,name:"Copyright",type:sA.ASCII},{tag:326,name:"BadFaxLines"},{tag:327,name:"CleanFaxData"},{tag:343,name:"ClipPath"},{tag:328,name:"ConsecutiveBadFaxLines"},{tag:433,name:"Decode"},{tag:434,name:"DefaultImageColor"},{tag:346,name:"Indexed"},{tag:347,name:"JPEGTables",isArray:!0,eager:!0},{tag:559,name:"StripRowCounts",isArray:!0},{tag:330,name:"SubIFDs",isArray:!0},{tag:344,name:"XClipPathUnits"},{tag:345,name:"YClipPathUnits"},{tag:37378,name:"ApertureValue"},{tag:40961,name:"ColorSpace"},{tag:36868,name:"DateTimeDigitized"},{tag:36867,name:"DateTimeOriginal"},{tag:34665,name:"Exif IFD",type:sA.LONG},{tag:36864,name:"ExifVersion"},{tag:33434,name:"ExposureTime"},{tag:41728,name:"FileSource"},{tag:37385,name:"Flash"},{tag:40960,name:"FlashpixVersion"},{tag:33437,name:"FNumber"},{tag:42016,name:"ImageUniqueID"},{tag:37384,name:"LightSource"},{tag:37500,name:"MakerNote"},{tag:37377,name:"ShutterSpeedValue"},{tag:37510,name:"UserComment"},{tag:33723,name:"IPTC"},{tag:34412,name:"CZ_LSMINFO"},{tag:34675,name:"ICC Profile"},{tag:700,name:"XMP"},{tag:42112,name:"GDAL_METADATA"},{tag:42113,name:"GDAL_NODATA",type:sA.ASCII},{tag:34377,name:"Photoshop"},{tag:33550,name:"ModelPixelScale",type:sA.DOUBLE,isArray:!0,eager:!0},{tag:33922,name:"ModelTiepoint",type:sA.DOUBLE,isArray:!0,eager:!0},{tag:34264,name:"ModelTransformation",type:sA.DOUBLE,isArray:!0,eager:!0},{tag:34735,name:"GeoKeyDirectory",type:sA.SHORT,isArray:!0,eager:!0},{tag:34736,name:"GeoDoubleParams",type:sA.DOUBLE,isArray:!0,eager:!0},{tag:34737,name:"GeoAsciiParams",type:sA.ASCII,eager:!0},{tag:50674,name:"LercParameters",eager:!0}],hA={},lA={};function cA(A,g,I,e=!1,t=!1){hA[g]=A,lA[A]={tag:A,name:g,type:"string"==typeof I?sA[I]:I,isArray:e,eager:t}}for(const A of nA)cA(A.tag,A.name,A.type,A.isArray,A.eager);function wA(A){return"number"==typeof A?A:hA[A]}const DA=0,dA=1,yA=2,fA=3,uA=5,SA=6,GA=8,NA=0,FA=1,kA=0,RA=1,LA=2,UA=Object.freeze({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"}),mA={};for(const A in UA)UA.hasOwnProperty(A)&&(mA[UA[A]]=parseInt(A,10));const pA=new Map;async function YA(A){const g=!A.hasTag("StripOffsets");return{tileWidth:g?await A.loadValue("TileWidth"):await A.loadValue("ImageWidth"),tileHeight:g?await A.loadValue("TileLength"):await A.loadValue("RowsPerStrip")||await A.loadValue("ImageLength"),planarConfiguration:await A.loadValue("PlanarConfiguration"),bitsPerSample:await A.loadValue("BitsPerSample"),predictor:await A.loadValue("Predictor")||1}}function MA(A,g,I=YA,e=!0){Array.isArray(A)||(A=[A]),A.forEach(A=>{pA.set(A,{importFn:g,decoderParameterFn:I,preferWorker:e})})}const KA=[{cases:[void 0,1],importFn:()=>Promise.resolve().then(function(){return $g}).then(A=>A.default),preferWorker:!1},{cases:5,importFn:()=>Promise.resolve().then(function(){return II}).then(A=>A.default)},{cases:6,importFn:()=>{throw new Error("old style JPEG compression is not supported.")}},{cases:7,importFn:()=>Promise.resolve().then(function(){return lI}).then(A=>A.default),decoderParameterFn:async A=>({...await YA(A),JPEGTables:await A.loadValue("JPEGTables")})},{cases:[8,32946],importFn:()=>Promise.resolve().then(function(){return kB}).then(A=>A.default)},{cases:32773,importFn:()=>Promise.resolve().then(function(){return RB}).then(A=>A.default)},{cases:34887,importFn:()=>Promise.resolve().then(function(){return qB}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default),decoderParameterFn:async A=>({...await YA(A),LercParameters:await A.loadValue("LercParameters")})},{cases:5e4,importFn:()=>Promise.resolve().then(function(){return VB}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default)},{cases:50001,importFn:()=>Promise.resolve().then(function(){return zB}).then(A=>A.default),decoderParameterFn:async A=>({...await YA(A),samplesPerPixel:await A.loadValue("SamplesPerPixel")||4}),preferWorker:!1}];for(const A of KA){const{cases:g,importFn:I,decoderParameterFn:e,preferWorker:t}=A;MA(g,I,e,t)}function bA(A,g,I,e=1){return new(Object.getPrototypeOf(A).constructor)(g*I*e)}function JA(A,g,I){return(1-I)*A+I*g}function HA(A,g,I,e,t,B="nearest"){switch(B.toLowerCase()){case"nearest":return function(A,g,I,e,t){const B=g/e,i=I/t;return A.map(A=>{const C=bA(A,e,t);for(let Q=0;Q<t;++Q){const t=Math.min(Math.round(i*Q),I-1);for(let I=0;I<e;++I){const i=Math.min(Math.round(B*I),g-1),E=A[t*g+i];C[Q*e+I]=E}}return C})}(A,g,I,e,t);case"bilinear":case"linear":return function(A,g,I,e,t){const B=g/e,i=I/t;return A.map(A=>{const C=bA(A,e,t);for(let Q=0;Q<t;++Q){const t=i*Q,E=Math.floor(t),a=Math.min(Math.ceil(t),I-1);for(let I=0;I<e;++I){const i=B*I,s=i%1,o=Math.floor(i),r=Math.min(Math.ceil(i),g-1),n=A[E*g+o],h=A[E*g+r],l=A[a*g+o],c=A[a*g+r],w=JA(JA(n,h,s),JA(l,c,s),t%1);C[Q*e+I]=w}}return C})}(A,g,I,e,t);default:throw new Error(`Unsupported resampling method: '${B}'`)}}function qA(A,g,I,e,t,B,i="nearest"){switch(i.toLowerCase()){case"nearest":return function(A,g,I,e,t,B){const i=g/e,C=I/t,Q=bA(A,e,t,B);for(let E=0;E<t;++E){const t=Math.min(Math.round(C*E),I-1);for(let I=0;I<e;++I){const C=Math.min(Math.round(i*I),g-1);for(let i=0;i<B;++i){const a=A[t*g*B+C*B+i];Q[E*e*B+I*B+i]=a}}}return Q}(A,g,I,e,t,B);case"bilinear":case"linear":return function(A,g,I,e,t,B){const i=g/e,C=I/t,Q=bA(A,e,t,B);for(let E=0;E<t;++E){const t=C*E,a=Math.floor(t),s=Math.min(Math.ceil(t),I-1);for(let I=0;I<e;++I){const C=i*I,o=C%1,r=Math.floor(C),n=Math.min(Math.ceil(C),g-1);for(let i=0;i<B;++i){const C=A[a*g*B+r*B+i],h=A[a*g*B+n*B+i],l=A[s*g*B+r*B+i],c=A[s*g*B+n*B+i],w=JA(JA(C,h,o),JA(l,c,o),t%1);Q[E*e*B+I*B+i]=w}}}return Q}(A,g,I,e,t,B);default:throw new Error(`Unsupported resampling method: '${i}'`)}}function xA(A,g,I){let e=0;for(let t=g;t<I;++t)e+=A[t];return e}function _A(A,g,I){switch(A){case 1:if(g<=8)return new Uint8Array(I);if(g<=16)return new Uint16Array(I);if(g<=32)return new Uint32Array(I);break;case 2:if(8===g)return new Int8Array(I);if(16===g)return new Int16Array(I);if(32===g)return new Int32Array(I);break;case 3:switch(g){case 16:case 32:return new Float32Array(I);case 64:return new Float64Array(I)}}throw Error("Unsupported data format/bitsPerSample")}var TA=class{constructor(A,g,I,e){this.fileDirectory=A,this.littleEndian=g,this.tiles=I?{}:null,this.isTiled=!A.hasTag("StripOffsets");const t=A.getValue("PlanarConfiguration")??1;if(1!==t&&2!==t)throw new Error("Invalid planar configuration.");this.planarConfiguration=t,this.source=e}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.fileDirectory.parseGeoKeyDirectory()}getWidth(){return this.fileDirectory.getValue("ImageWidth")}getHeight(){return this.fileDirectory.getValue("ImageLength")}getSamplesPerPixel(){return this.fileDirectory.hasTag("SamplesPerPixel")?this.fileDirectory.getValue("SamplesPerPixel"):1}getTileWidth(){return this.isTiled?this.fileDirectory.getValue("TileWidth"):this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.getValue("TileLength"):this.fileDirectory.hasTag("RowsPerStrip")?Math.min(this.fileDirectory.getValue("RowsPerStrip"),this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(A){return this.isTiled||(A+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-A*this.getTileHeight()}getBytesPerPixel(){let A=0;for(let g=0;g<this.fileDirectory.getValue("BitsPerSample").length;++g)A+=this.getSampleByteSize(g);return A}getSampleByteSize(A){const g=this.fileDirectory.getValue("BitsPerSample");if(A>=g.length)throw new RangeError(`Sample index ${A} is out of range.`);return Math.ceil(g[A]/8)}getReaderForSample(A){const g=this.fileDirectory.hasTag("SampleFormat")?this.fileDirectory.getValue("SampleFormat")[A]:1,I=this.fileDirectory.getValue("BitsPerSample")[A];switch(g){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(A,g){return iA(this,A,g)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(A=0){return this.fileDirectory.hasTag("SampleFormat")?this.fileDirectory.getValue("SampleFormat")[A]:1}getBitsPerSample(A=0){return this.fileDirectory.getValue("BitsPerSample")[A]}getArrayForSample(A,g){return _A(this.getSampleFormat(A),this.getBitsPerSample(A),g)}async getTileOrStrip(A,g,I,e,t){const B=Math.ceil(this.getWidth()/this.getTileWidth()),i=Math.ceil(this.getHeight()/this.getTileHeight());let C;const{tiles:Q}=this;if(1===this.planarConfiguration?C=g*B+A:2===this.planarConfiguration&&(C=I*B*i+g*B+A),void 0===C)throw new Error("Could not determine tile or strip index.");let E,a;if(this.isTiled?(E=await this.fileDirectory.loadValueIndexed("TileOffsets",C),a=await this.fileDirectory.loadValueIndexed("TileByteCounts",C)):(E=await this.fileDirectory.loadValueIndexed("StripOffsets",C),a=await this.fileDirectory.loadValueIndexed("StripByteCounts",C)),0===a){const e=this.getBlockHeight(g)*this.getTileWidth(),t=2===this.planarConfiguration?this.getSampleByteSize(I):this.getBytesPerPixel(),B=new ArrayBuffer(e*t);return this.getArrayForSample(I,B).fill(this.getGDALNoData()||0),{x:A,y:g,sample:I,data:B}}const s=(await this.source.fetch([{offset:E,length:a}],t))[0];let o;return null!==Q&&Q[C]?o=Q[C]:(o=(async()=>{let A=await e.decode(s);const I=this.getSampleFormat(),t=this.getBitsPerSample();return function(A,g){return(1!==A&&2!==A||!(g<=32)||g%8!=0)&&(3!==A||16!==g&&32!==g&&64!==g)}(I,t)&&(A=function(A,g,I,e,t,B,i){const C=new DataView(A),Q=2===I?1:e,E=_A(g,t,2===I?i*B:i*B*e),a=parseInt("1".repeat(t),2);if(1===g){let A;A=1===I?e*t:t;let g=B*A;7&g&&(g=g+7&-8);for(let A=0;A<i;++A){const I=A*g;for(let g=0;g<B;++g){const e=I+g*Q*t;for(let I=0;I<Q;++I){const i=e+I*t,s=(A*B+g)*Q+I,o=Math.floor(i/8),r=i%8;if(r+t<=8)E[s]=C.getUint8(o)>>8-t-r&a;else if(r+t<=16)E[s]=C.getUint16(o)>>16-t-r&a;else if(r+t<=24){const A=C.getUint16(o)<<8|C.getUint8(o+2);E[s]=A>>24-t-r&a}else E[s]=C.getUint32(o)>>32-t-r&a}}}}return E.buffer}(A,I,this.planarConfiguration,this.getSamplesPerPixel(),t,this.getTileWidth(),this.getBlockHeight(g))),A})(),null!==Q&&(Q[C]=o)),{x:A,y:g,sample:I,data:await o}}async _readRaster(A,g,I,e,t,B,i,C,Q){const E=this.getTileWidth(),a=this.getTileHeight(),s=this.getWidth(),o=this.getHeight(),r=Math.max(Math.floor(A[0]/E),0),n=Math.min(Math.ceil(A[2]/E),Math.ceil(s/E)),h=Math.max(Math.floor(A[1]/a),0),l=Math.min(Math.ceil(A[3]/a),Math.ceil(o/a)),c=A[2]-A[0];let w=this.getBytesPerPixel();const D=[],d=[];for(let A=0;A<g.length;++A)1===this.planarConfiguration?D.push(xA(await this.fileDirectory.loadValue("BitsPerSample"),0,g[A])/8):D.push(0),d.push(this.getReaderForSample(g[A]));const y=[],{littleEndian:f}=this;for(let B=h;B<l;++B)for(let i=r;i<n;++i){let C;1===this.planarConfiguration&&(C=this.getTileOrStrip(i,B,0,t,Q));for(let r=0;r<g.length;++r){const n=r,h=g[r];if(2===this.planarConfiguration&&(w=this.getSampleByteSize(h),C=this.getTileOrStrip(i,B,h,t,Q)),!C)throw new Error("Could not get tile or strip data.");const l=C.then(t=>{const B=t.data,i=new DataView(B),C=this.getBlockHeight(t.y),Q=t.y*a,r=t.x*E,h=Q+C,l=(t.x+1)*E,y=d[n],u=Math.min(C,C-(h-A[3]),o-Q),S=Math.min(E,E-(l-A[2]),s-r);for(let t=Math.max(0,A[1]-Q);t<u;++t)for(let B=Math.max(0,A[0]-r);B<S;++B){const C=(t*E+B)*w,a=y.call(i,C+D[n],f);let s;e?(s=(t+Q-A[1])*c*g.length+(B+r-A[0])*g.length+n,I[s]=a):(s=(t+Q-A[1])*c+B+r-A[0],I[n][s]=a)}});y.push(l)}}if(await Promise.all(y),B&&A[2]-A[0]!==B||i&&A[3]-A[1]!==i){let t;t=e?qA(I,A[2]-A[0],A[3]-A[1],B,i,g.length,C):HA(I,A[2]-A[0],A[3]-A[1],B,i,C);const Q=t;return Q.width=B??A[2]-A[0],Q.height=i??A[3]-A[1],Q}const u=I;return u.width=B||A[2]-A[0],u.height=i||A[3]-A[1],u}async readRasters(A={}){const{window:g,samples:I=[],pool:e=null,width:t,height:B,resampleMethod:i,fillValue:C,signal:Q}=A,E="interleave"in A&&A.interleave,a=g||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");const s=(a[2]-a[0])*(a[3]-a[1]),o=this.getSamplesPerPixel();if(I&&I.length){for(let A=0;A<I.length;++A)if(I[A]>=o)return Promise.reject(new RangeError(`Invalid sample index '${I[A]}'.`))}else for(let A=0;A<o;++A)I.push(A);let r;if(E){if(r=_A(this.fileDirectory.hasTag("SampleFormat")?Math.max.apply(null,this.fileDirectory.getValue("SampleFormat")):1,Math.max.apply(null,this.fileDirectory.getValue("BitsPerSample")),s*I.length),C){if(Array.isArray(C))throw new Error("When reading interleaved data, fillValue must be a single number.");r.fill(C)}}else{r=[];for(let A=0;A<I.length;++A){const g=this.getArrayForSample(I[A],s);Array.isArray(C)&&A<C.length?g.fill(C[A]):C&&!Array.isArray(C)&&g.fill(C),r.push(g)}}const n=this.fileDirectory.getValue("Compression")||1,h=await async function(A,g){if(!pA.has(A))throw new Error(`Unknown compression method identifier: ${A}`);const{decoderParameterFn:I}=pA.get(A);return I(g)}(n,this.fileDirectory),l=e?e.bindParameters(n,h):await async function(A,g){if(!pA.has(A))throw new Error(`Unknown compression method identifier: ${A}`);const{importFn:I}=pA.get(A);return new(await I())(g)}(n,h);return await this._readRaster(a,I,r,E,l,t,B,i,Q)}async readRGB(A={}){const{window:g,pool:I=null,width:e,height:t,resampleMethod:B,enableAlpha:i=!1,signal:C}=A,Q=("interleave"in A&&A.interleave)??!1,E=g||[0,0,this.getWidth(),this.getHeight()];if(E[0]>E[2]||E[1]>E[3])throw new Error("Invalid subsets");const a=this.fileDirectory.getValue("PhotometricInterpretation");if(a===yA){let A=[0,1,2];if(this.fileDirectory.getValue("ExtraSamples")!==NA&&i){A=[];for(let g=0;g<this.fileDirectory.getValue("BitsPerSample").length;g+=1)A.push(g)}return this.readRasters({window:g,interleave:Q,samples:A,pool:I,width:e,height:t,resampleMethod:B,signal:C})}let s;switch(a){case DA:case dA:case fA:s=[0];break;case uA:s=[0,1,2,3];break;case SA:case GA:s=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const o={window:E,interleave:!0,samples:s,pool:I,width:e,height:t,resampleMethod:B,signal:C},{fileDirectory:r}=this,n=await this.readRasters(o),h=2**this.getBitsPerSample(0);let l;switch(a){case DA:l=function(A,g){const{width:I,height:e}=A,t=new Uint8Array(I*e*3);let B;for(let I=0,e=0;I<A.length;++I,e+=3)B=256-A[I]/g*256,t[e]=B,t[e+1]=B,t[e+2]=B;return t}(n,h);break;case dA:l=function(A,g){const{width:I,height:e}=A,t=new Uint8Array(I*e*3);let B;for(let I=0,e=0;I<A.length;++I,e+=3)B=A[I]/g*256,t[e]=B,t[e+1]=B,t[e+2]=B;return t}(n,h);break;case fA:l=function(A,g){const{width:I,height:e}=A,t=new Uint8Array(I*e*3),B=g.length/3,i=g.length/3*2;for(let I=0,e=0;I<A.length;++I,e+=3){const C=A[I];t[e]=g[C]/65536*256,t[e+1]=g[C+B]/65536*256,t[e+2]=g[C+i]/65536*256}return t}(n,await r.loadValue("ColorMap"));break;case uA:l=function(A){const{width:g,height:I}=A,e=new Uint8Array(g*I*3);for(let g=0,I=0;g<A.length;g+=4,I+=3){const t=A[g],B=A[g+1],i=A[g+2],C=A[g+3];e[I]=(255-t)/256*255*((255-C)/256),e[I+1]=(255-B)/256*255*((255-C)/256),e[I+2]=(255-i)/256*255*((255-C)/256)}return e}(n);break;case SA:l=function(A){const{width:g,height:I}=A,e=new Uint8ClampedArray(g*I*3);for(let g=0,I=0;g<A.length;g+=3,I+=3){const t=A[g],B=A[g+1],i=A[g+2];e[I]=t+1.402*(i-128),e[I+1]=t-.34414*(B-128)-.71414*(i-128),e[I+2]=t+1.772*(B-128)}return e}(n);break;case GA:l=function(A){const{width:g,height:I}=A,e=new Uint8Array(g*I*3);for(let g=0,I=0;g<A.length;g+=3,I+=3){let t,B,i,C=(A[g+0]+16)/116,Q=(A[g+1]<<24>>24)/500+C,E=C-(A[g+2]<<24>>24)/200;Q=.95047*(Q*Q*Q>.008856?Q*Q*Q:(Q-16/116)/7.787),C=1*(C*C*C>.008856?C*C*C:(C-16/116)/7.787),E=1.08883*(E*E*E>.008856?E*E*E:(E-16/116)/7.787),t=3.2406*Q+-1.5372*C+-.4986*E,B=-.9689*Q+1.8758*C+.0415*E,i=.0557*Q+-.204*C+1.057*E,t=t>.0031308?1.055*t**(1/2.4)-.055:12.92*t,B=B>.0031308?1.055*B**(1/2.4)-.055:12.92*B,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,e[I]=255*Math.max(0,Math.min(1,t)),e[I+1]=255*Math.max(0,Math.min(1,B)),e[I+2]=255*Math.max(0,Math.min(1,i))}return e}(n);break;default:throw new Error("Unsupported photometric interpretation.")}if(!Q){const A=new Uint8Array(l.length/3),g=new Uint8Array(l.length/3),I=new Uint8Array(l.length/3);for(let e=0,t=0;e<l.length;e+=3,++t)A[t]=l[e],g[t]=l[e+1],I[t]=l[e+2];l=[A,g,I]}const c=l;return c.width=n.width,c.height=n.height,c}async getTiePoints(){if(!this.fileDirectory.hasTag("ModelTiepoint"))return[];const A=await this.fileDirectory.loadValue("ModelTiepoint"),g=[];for(let I=0;I<A.length;I+=6)g.push({i:A[I],j:A[I+1],k:A[I+2],x:A[I+3],y:A[I+4],z:A[I+5]});return g}async getGDALMetadata(A=null){const g={};if(!this.fileDirectory.hasTag("GDAL_METADATA"))return null;let I=function(A,g,I){const e=[],t=I&&I.debug||!1,B=!I||"boolean"!=typeof I.nested||I.nested;let i,C=I&&I.startIndex||0;for(;i=aA(A,g,{debug:t,startIndex:C});)C=B?i.start+1+g.length:i.end,e.push(i);return t&&console.log("findTagsByName found",e.length,"tags"),e}(await this.fileDirectory.loadValue("GDAL_METADATA"),"Item");I=null===A?I.filter(A=>void 0===CA(A,"sample")):I.filter(g=>Number(CA(g,"sample"))===A);for(let A=0;A<I.length;++A){const e=I[A];g[CA(e,"name")]=e.inner}return g}getGDALNoData(){if(!this.fileDirectory.hasTag("GDAL_NODATA"))return null;const A=this.fileDirectory.getValue("GDAL_NODATA");return Number(A.substring(0,A.length-1))}getOrigin(){const A=this.fileDirectory.getValue("ModelTiepoint"),g=this.fileDirectory.getValue("ModelTransformation");if(A&&6===A.length)return[A[3],A[4],A[5]];if(g)return[g[3],g[7],g[11]];throw new Error("The image does not have an affine transformation.")}getResolution(A=null){const g=this.fileDirectory.getValue("ModelPixelScale"),I=this.fileDirectory.getValue("ModelTransformation");if(g)return[g[0],-g[1],g[2]];if(I)return 0===I[1]&&0===I[4]?[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(A){const[g,I,e]=A.getResolution();return[g*A.getWidth()/this.getWidth(),I*A.getHeight()/this.getHeight(),e*A.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return 1===this.getGeoKeys()?.GTRasterTypeGeoKey}getBoundingBox(A=!1){const g=this.getHeight(),I=this.getWidth();if(this.fileDirectory.hasTag("ModelTransformation")&&!A){const[A,e,t,B,i,C,Q,E]=this.fileDirectory.getValue("ModelTransformation"),a=[[0,0],[0,g],[I,0],[I,g]].map(([g,I])=>[B+A*g+e*I,E+i*g+C*I]),s=a.map(A=>A[0]),o=a.map(A=>A[1]);return[Math.min(...s),Math.min(...o),Math.max(...s),Math.max(...o)]}{const A=this.getOrigin(),e=this.getResolution(),t=A[0],B=A[1],i=t+e[0]*I,C=B+e[1]*g;return[Math.min(t,i),Math.min(B,C),Math.max(t,i),Math.max(B,C)]}}};class OA{constructor(A){this._dataView=new DataView(A)}get buffer(){return this._dataView.buffer}getUint64(A,g){const I=this.getUint32(A,g),e=this.getUint32(A+4,g);let t;if(g){if(t=I+2**32*e,!Number.isSafeInteger(t))throw new Error(`${t} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return t}if(t=2**32*I+e,!Number.isSafeInteger(t))throw new Error(`${t} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return t}getInt64(A,g){let I=0;const e=(128&this._dataView.getUint8(A+(g?7:0)))>0;let t=!0;for(let B=0;B<8;B++){let i=this._dataView.getUint8(A+(g?B:7-B));e&&(t?0!==i&&(i=255&~(i-1),t=!1):i=255&~i),I+=i*256**B}return e&&(I=-I),I}getUint8(A){return this._dataView.getUint8(A)}getInt8(A){return this._dataView.getInt8(A)}getUint16(A,g){return this._dataView.getUint16(A,g)}getInt16(A,g){return this._dataView.getInt16(A,g)}getUint32(A,g){return this._dataView.getUint32(A,g)}getInt32(A,g){return this._dataView.getInt32(A,g)}getFloat16(A,g){return iA(this._dataView,A,g)}getFloat32(A,g){return this._dataView.getFloat32(A,g)}getFloat64(A,g){return this._dataView.getFloat64(A,g)}}class vA{constructor(A,g,I,e){this._dataView=new DataView(A),this._sliceOffset=g,this._littleEndian=I,this._bigTiff=e}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(A,g){return this.sliceOffset<=A&&this.sliceTop>=A+g}readUint8(A){return this._dataView.getUint8(A-this._sliceOffset)}readInt8(A){return this._dataView.getInt8(A-this._sliceOffset)}readUint16(A){return this._dataView.getUint16(A-this._sliceOffset,this._littleEndian)}readInt16(A){return this._dataView.getInt16(A-this._sliceOffset,this._littleEndian)}readUint32(A){return this._dataView.getUint32(A-this._sliceOffset,this._littleEndian)}readInt32(A){return this._dataView.getInt32(A-this._sliceOffset,this._littleEndian)}readFloat32(A){return this._dataView.getFloat32(A-this._sliceOffset,this._littleEndian)}readFloat64(A){return this._dataView.getFloat64(A-this._sliceOffset,this._littleEndian)}readUint64(A){const g=this.readUint32(A),I=this.readUint32(A+4);let e;if(this._littleEndian){if(e=g+2**32*I,!Number.isSafeInteger(e))throw new Error(`${e} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return e}if(e=2**32*g+I,!Number.isSafeInteger(e))throw new Error(`${e} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return e}readInt64(A){let g=0;const I=(128&this._dataView.getUint8(A+(this._littleEndian?7:0)))>0;let e=!0;for(let t=0;t<8;t++){let B=this._dataView.getUint8(A+(this._littleEndian?t:7-t));I&&(e?0!==B&&(B=255&~(B-1),e=!1):B=255&~B),g+=B*256**t}return I&&(g=-g),g}readOffset(A){return this._bigTiff?this.readUint64(A):this.readUint32(A)}}const PA="\r\n\r\n";function ZA(A){if(void 0!==Object.fromEntries)return Object.fromEntries(A);const g={};for(const[I,e]of A)g[I.toLowerCase()]=e;return g}function VA(A){return ZA(A.split("\r\n").map(A=>{const g=A.split(":").map(A=>A.trim());return g[0]=g[0].toLowerCase(),g}))}function zA(A){let g=NaN,I=NaN,e=NaN;return A&&([,g,I,e]=(A.match(/bytes (\d+)-(\d+)\/(\d+)/)||[]).map(Number)),{start:g,end:I,total:e}}class jA{async fetch(A,g){return Promise.all(A.map(A=>this.fetchSlice(A,g)))}async fetchSlice(A,g){throw new Error(`fetching of slice ${A} not possible, not implemented`)}get fileSize(){return null}async close(){}}class WA extends Map{constructor(A={}){if(super(),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=A.maxSize,this.maxAge=A.maxAge||Number.POSITIVE_INFINITY,this.onEviction=A.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(A){if("function"==typeof this.onEviction)for(const[g,I]of A)this.onEviction(g,I.value)}_deleteIfExpired(A,g){return"number"==typeof g.expiry&&g.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(A,g.value),this.delete(A))}_getOrDeleteIfExpired(A,g){if(!1===this._deleteIfExpired(A,g))return g.value}_getItemValue(A,g){return g.expiry?this._getOrDeleteIfExpired(A,g):g.value}_peek(A,g){const I=g.get(A);return this._getItemValue(A,I)}_set(A,g){this.cache.set(A,g),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(A,g){this.oldCache.delete(A),this._set(A,g)}*_entriesAscending(){for(const A of this.oldCache){const[g,I]=A;if(!this.cache.has(g)){!1===this._deleteIfExpired(g,I)&&(yield A)}}for(const A of this.cache){const[g,I]=A;!1===this._deleteIfExpired(g,I)&&(yield A)}}get(A){if(this.cache.has(A)){const g=this.cache.get(A);return this._getItemValue(A,g)}if(this.oldCache.has(A)){const g=this.oldCache.get(A);if(!1===this._deleteIfExpired(A,g))return this._moveToRecent(A,g),g.value}}set(A,g,{maxAge:I=this.maxAge}={}){const e="number"==typeof I&&I!==Number.POSITIVE_INFINITY?Date.now()+I:void 0;return this.cache.has(A)?this.cache.set(A,{value:g,expiry:e}):this._set(A,{value:g,expiry:e}),this}has(A){return this.cache.has(A)?!this._deleteIfExpired(A,this.cache.get(A)):!!this.oldCache.has(A)&&!this._deleteIfExpired(A,this.oldCache.get(A))}peek(A){return this.cache.has(A)?this._peek(A,this.cache):this.oldCache.has(A)?this._peek(A,this.oldCache):void 0}delete(A){const g=this.cache.delete(A);return g&&this._size--,this.oldCache.delete(A)||g}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const g=[...this._entriesAscending()],I=g.length-A;I<0?(this.cache=new Map(g),this.oldCache=new Map,this._size=g.length):(I>0&&this._emitEvictions(g.slice(0,I)),this.oldCache=new Map(g.slice(I)),this.cache=new Map,this._size=0),this.maxSize=A}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[Symbol.iterator](){for(const A of this.cache){const[g,I]=A;!1===this._deleteIfExpired(g,I)&&(yield[g,I.value])}for(const A of this.oldCache){const[g,I]=A;if(!this.cache.has(g)){!1===this._deleteIfExpired(g,I)&&(yield[g,I.value])}}}*entriesDescending(){let A=[...this.cache];for(let g=A.length-1;g>=0;--g){const I=A[g],[e,t]=I;!1===this._deleteIfExpired(e,t)&&(yield[e,t.value])}A=[...this.oldCache];for(let g=A.length-1;g>=0;--g){const I=A[g],[e,t]=I;if(!this.cache.has(e)){!1===this._deleteIfExpired(e,t)&&(yield[e,t.value])}}}*entriesAscending(){for(const[A,g]of this._entriesAscending())yield[A,g.value]}get size(){if(!this._size)return this.oldCache.size;let A=0;for(const g of this.oldCache.keys())this.cache.has(g)||A++;return Math.min(this._size+A,this.maxSize)}entries(){return this.entriesAscending()}forEach(A,g=this){for(const[I,e]of this.entriesAscending())A.call(g,e,I,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class XA extends Error{constructor(A){super(A),Error.captureStackTrace&&Error.captureStackTrace(this,XA),this.name="AbortError"}}class $A extends Error{constructor(A,g){super(g),this.errors=A,this.message=g,this.name="AggregateError"}}const Ag=$A;class gg{constructor(A,g,I){this.offset=A,this.length=g,this.data=I}get top(){return this.offset+this.length}}class Ig{constructor(A,g,I){this.offset=A,this.length=g,this.blockIds=I}}class eg extends jA{constructor(A,{blockSize:g=65536,cacheSize:I=100}={}){super(),this.source=A,this.blockSize=g,this.blockCache=new WA({maxSize:I,onEviction:(A,g)=>{this.evictedBlocks.set(A,g)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(A,g){const I=[],e=[],t=[];this.evictedBlocks.clear();for(const{offset:g,length:B}of A){let A=g+B;const{fileSize:i}=this;null!==i&&(A=Math.min(A,i));for(let B=Math.floor(g/this.blockSize)*this.blockSize;B<A;B+=this.blockSize){const A=Math.floor(B/this.blockSize);this.blockCache.has(A)||this.blockRequests.has(A)||(this.blockIdsToFetch.add(A),e.push(A)),this.blockRequests.has(A)&&I.push(this.blockRequests.get(A)),t.push(A)}}await async function(A){return new Promise(g=>setTimeout(g,A))}(),this.fetchBlocks(g);const B=[];for(const A of e)this.blockRequests.has(A)&&B.push(this.blockRequests.get(A));await Promise.allSettled(I),await Promise.allSettled(B);const i=[],C=t.filter(A=>this.abortedBlockIds.has(A)||!this.blockCache.has(A));if(C.forEach(A=>this.blockIdsToFetch.add(A)),C.length>0&&g&&!g.aborted){this.fetchBlocks();for(const A of C){const g=this.blockRequests.get(A);if(!g)throw new Error(`Block ${A} is not in the block requests`);i.push(g)}await Promise.allSettled(i)}if(g&&g.aborted)throw new XA("Request was aborted");const Q=t.map(A=>this.blockCache.get(A)||this.evictedBlocks.get(A)),E=Q.filter(A=>!A);if(E.length)throw new Ag(E,"Request failed");const a=new Map(function(A,g){const I=Array.isArray(A)?A:Array.from(A),e=Array.isArray(g)?g:Array.from(g);return I.map((A,g)=>[A,e[g]])}(t,Q));return this.readSliceData(A,a)}fetchBlocks(A){if(this.blockIdsToFetch.size>0){const g=this.groupBlocks(this.blockIdsToFetch),I=this.source.fetch(g,A);for(let e=0;e<g.length;++e){const t=g[e];for(const g of t.blockIds)this.blockRequests.set(g,(async()=>{try{const A=(await I)[e],t=g*this.blockSize,B=t-A.offset,i=Math.min(B+this.blockSize,A.data.byteLength),C=A.data.slice(B,i),Q=new gg(t,C.byteLength,C);this.blockCache.set(g,Q),this.abortedBlockIds.delete(g)}catch(I){if("AbortError"!==I.name)throw I;I.signal=A,this.blockCache.delete(g),this.abortedBlockIds.add(g)}finally{this.blockRequests.delete(g)}})())}this.blockIdsToFetch.clear()}}groupBlocks(A){const g=Array.from(A).sort((A,g)=>A-g);if(0===g.length)return[];let I=[],e=null;const t=[];for(const A of g)null===e||e+1===A?(I.push(A),e=A):(t.push(new Ig(I[0]*this.blockSize,I.length*this.blockSize,I)),I=[A],e=A);return t.push(new Ig(I[0]*this.blockSize,I.length*this.blockSize,I)),t}readSliceData(A,g){return A.map(A=>{let I=A.offset+A.length;null!==this.fileSize&&(I=Math.min(this.fileSize,I));const e=Math.floor(A.offset/this.blockSize),t=Math.floor((I-1)/this.blockSize),B=new ArrayBuffer(A.length),i=new Uint8Array(B);for(let B=e;B<=t;++B){const e=g.get(B);if(!e)continue;const t=e.offset-A.offset;let C,Q=0,E=0;t<0?Q=-t:t>0&&(E=t),C=e.top-I<0?e.length-Q:I-e.offset-Q;const a=new Uint8Array(e.data,Q,C);i.set(a,E)}return B})}}class tg{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(A){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}}class Bg{constructor(A){this.url=A}async request({headers:A,signal:g}={}){throw new Error("request is not implemented")}}class ig extends tg{constructor(A){super(),this.response=A}get status(){return this.response.status}getHeader(A){return this.response.headers.get(A)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}}class Cg extends Bg{constructor(A,g){super(A),this.credentials=g}async request({headers:A,signal:g}={}){const I=await fetch(this.url,{headers:A,credentials:this.credentials,signal:g});return new ig(I)}}class Qg extends tg{constructor(A,g){super(),this.xhr=A,this.data=g}get status(){return this.xhr.status}getHeader(A){return this.xhr.getResponseHeader(A)}async getData(){return this.data}}class Eg extends Bg{constructRequest(A,g){return new Promise((I,e)=>{const t=new XMLHttpRequest;t.open("GET",this.url),t.responseType="arraybuffer";for(const[g,I]of Object.entries(A))t.setRequestHeader(g,I);t.onload=()=>{const A=t.response;I(new Qg(t,A))},t.onerror=e,t.onabort=()=>e(new XA("Request aborted")),t.send(),g&&(g.aborted&&t.abort(),g.addEventListener("abort",()=>t.abort()))})}async request({headers:A,signal:g}={}){return await this.constructRequest(A,g)}}var ag={};class sg extends tg{constructor(A,g){super(),this.response=A,this.dataPromise=g}get status(){return this.response.statusCode}getHeader(A){return this.response.headers[A]}async getData(){return await this.dataPromise}}class og extends Bg{constructor(A){super(A),this.parsedUrl=ag.parse(this.url),this.httpApi=(this.parsedUrl.protocol,ag)}constructRequest(A,g){return new Promise((I,e)=>{const t=this.httpApi.get({...this.parsedUrl,headers:A},A=>{const g=new Promise(g=>{const I=[];A.on("data",A=>{I.push(A)}),A.on("end",()=>{const A=Buffer.concat(I).buffer;g(A)}),A.on("error",e)});I(new sg(A,g))});t.on("error",e),g&&(g.aborted&&t.destroy(new XA("Request aborted")),g.addEventListener("abort",()=>t.destroy(new XA("Request aborted"))))})}async request({headers:A,signal:g}={}){return await this.constructRequest(A,g)}}class rg extends jA{constructor(A,{headers:g,maxRanges:I=0,allowFullFile:e}={}){super(),this.client=A,this.headers=g,this.maxRanges=I,this.allowFullFile=e,this._fileSize=null}async fetch(A,g){return this.maxRanges>=A.length?this.fetchSlices(A,g):(this.maxRanges>0&&A.length,Promise.all(A.map(A=>this.fetchSlice(A,g))))}async fetchSlices(A,g){const I=await this.client.request({headers:{...this.headers,Range:`bytes=${A.map(({offset:A,length:g})=>`${A}-${A+g}`).join(",")}`},signal:g});if(I.ok){if(206===I.status){const{type:e,params:t}=function(A){if(!A)return{type:null,params:{}};const[g,...I]=A.split(";").map(A=>A.trim());return{type:g,params:ZA(I.map(A=>A.split("=")))}}(I.getHeader("content-type"));if("multipart/byteranges"===e){const A=function(A,g){let I=null;const e=new TextDecoder("ascii"),t=[],B=`--${g}`,i=`${B}--`;for(let g=0;g<10;++g)e.decode(new Uint8Array(A,g,B.length))===B&&(I=g);if(null===I)throw new Error("Could not find initial boundary");for(;I<A.byteLength;){const g=e.decode(new Uint8Array(A,I,Math.min(B.length+1024,A.byteLength-I)));if(0===g.length||g.startsWith(i))break;if(!g.startsWith(B))throw new Error("Part does not start with boundary");const C=g.substr(B.length+2);if(0===C.length)break;const Q=C.indexOf(PA),E=VA(C.substr(0,Q)),{start:a,end:s,total:o}=zA(E["content-range"]),r=I+B.length+Q+4,n=s+1-a;t.push({headers:E,data:A.slice(r,r+n),offset:a,length:n,fileSize:o}),I=r+n+4}return t}(await I.getData(),t.boundary);return this._fileSize=A[0].fileSize||null,A}const B=await I.getData(),{start:i,end:C,total:Q}=zA(I.getHeader("content-range"));this._fileSize=Q||null;const E=[{data:B,offset:i,length:C-i}];if(A.length>1){const I=await Promise.all(A.slice(1).map(A=>this.fetchSlice(A,g)));return E.concat(I)}return E}{if(!this.allowFullFile)throw new Error("Server responded with full file");const A=await I.getData();return this._fileSize=A.byteLength,[{data:A,offset:0,length:A.byteLength}]}}throw new Error("Error fetching data.")}async fetchSlice(A,g){const{offset:I,length:e}=A,t=await this.client.request({headers:{...this.headers,Range:`bytes=${I}-${I+e}`},signal:g});if(t.ok){if(206===t.status){const A=await t.getData(),{total:g}=zA(t.getHeader("content-range"));return this._fileSize=g||null,{data:A,offset:I,length:e}}{if(!this.allowFullFile)throw new Error("Server responded with full file");const A=await t.getData();return this._fileSize=A.byteLength,{data:A,offset:0,length:A.byteLength}}}throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}}function ng(A,{blockSize:g,cacheSize:I}){return null===g?A:new eg(A,{blockSize:g,cacheSize:I})}function hg(A,{forceXHR:g=!1,...I}={}){return"function"!=typeof fetch||g?"undefined"!=typeof XMLHttpRequest?function(A,{headers:g={},maxRanges:I=0,allowFullFile:e=!1,...t}={}){const B=new Eg(A);return ng(new rg(B,{headers:g,maxRanges:I,allowFullFile:e}),t)}(A,I):function(A,{headers:g={},maxRanges:I=0,allowFullFile:e=!1,...t}={}){const B=new og(A);return ng(new rg(B,{headers:g,maxRanges:I,allowFullFile:e}),t)}(A,I):function(A,{headers:g={},credentials:I,maxRanges:e=0,allowFullFile:t=!1,...B}={}){const i=new Cg(A,I);return ng(new rg(i,{headers:g,maxRanges:e,allowFullFile:t}),B)}(A,I)}class lg extends jA{constructor(A){super(),this.arrayBuffer=A}fetchSlice(A,g){if(g&&g.aborted)throw new XA("Request aborted");return this.arrayBuffer.slice(A.offset,A.offset+A.length)}}function cg(A,g){switch(A){case sA.BYTE:case sA.ASCII:case sA.UNDEFINED:return new Uint8Array(g);case sA.SBYTE:return new Int8Array(g);case sA.SHORT:return new Uint16Array(g);case sA.SSHORT:return new Int16Array(g);case sA.LONG:case sA.IFD:return new Uint32Array(g);case sA.SLONG:return new Int32Array(g);case sA.LONG8:case sA.IFD8:case sA.SLONG8:return new Array(g);case sA.RATIONAL:return new Uint32Array(2*g);case sA.SRATIONAL:return new Int32Array(2*g);case sA.FLOAT:return new Float32Array(g);case sA.DOUBLE:return new Float64Array(g);default:throw new RangeError(`Invalid field type: ${A}`)}}function wg(A,g){switch(g){case sA.BYTE:case sA.ASCII:case sA.UNDEFINED:return A.readUint8;case sA.SBYTE:return A.readInt8;case sA.SHORT:return A.readUint16;case sA.SSHORT:return A.readInt16;case sA.LONG:case sA.IFD:return A.readUint32;case sA.SLONG:return A.readInt32;case sA.LONG8:case sA.IFD8:return A.readUint64;case sA.SLONG8:return A.readInt64;case sA.RATIONAL:return A.readUint32;case sA.SRATIONAL:return A.readInt32;case sA.FLOAT:return A.readFloat32;case sA.DOUBLE:return A.readFloat64;default:throw new RangeError(`Invalid field type: ${g}`)}}function Dg(A=null,g,I,e,t,B,i=!1){const C=rA(e),Q=A||cg(e,t),E=e===sA.RATIONAL||e===sA.SRATIONAL;if(E)for(let A=0;A<t;A+=2)Q[A]=g.call(I,B+A*C),Q[A+1]=g.call(I,B+(A*C+4));else for(let A=0;A<t;++A)Q[A]=g.call(I,B+A*C);return e===sA.ASCII?new TextDecoder("utf-8").decode(Q):1!==t||i||E?Q:Q[0]}class dg{constructor(A,g,I,e,t){this.source=A,this.arrayOffset=g,this.littleEndian=I,this.fieldType=e,this.length=t,this.data=cg(e,t),this.itemSize=rA(e),this.maskBitmap=new Uint8Array(Math.ceil(t/8)),this.fetchIndexPromises=new Map,this.fullFetchPromise=null}async loadAll(){return this.fullFetchPromise||(this.fullFetchPromise=this.source.fetch([{offset:this.arrayOffset,length:this.itemSize*this.length}]).then(A=>{const g=new vA(A[0],this.arrayOffset,!0,!1),I=Dg(this.data,wg(g,this.fieldType),g,this.fieldType,this.length,this.arrayOffset,!0);return this.maskBitmap.fill(255),this.fetchIndexPromises.clear(),I})),this.fullFetchPromise}async get(A){if(A<0||A>=this.data.length)throw new RangeError(`Index ${A} out of bounds for length ${this.data.length}`);const g=Math.floor(A/8),I=1<<A%8,e=this.arrayOffset+A*this.itemSize;if(0===(this.maskBitmap[g]&I)){if(!this.fetchIndexPromises.has(A)){const t=this.source.fetch([{offset:e,length:this.itemSize}]).then(t=>{const B=new vA(t[0],this.arrayOffset+A*this.itemSize,!0,!1),i=wg(B,this.fieldType).call(B,e);return this.data[A]=i,this.maskBitmap[g]|=I,this.fetchIndexPromises.delete(A),i});this.fetchIndexPromises.set(A,t)}return this.fetchIndexPromises.get(A)}return this.data[A]}}class yg{constructor(A,g,I,e){this.actualizedFields=A,this.deferredFields=g,this.deferredFieldsBeingResolved=new Map,this.deferredArrays=I,this.nextIFDByteOffset=e}hasTag(A){const g=wA(A);return this.actualizedFields.has(g)||this.deferredFields.has(g)||this.deferredArrays.has(g)}getValue(A){const g=wA(A);if(this.deferredFields.has(g)||this.deferredArrays.has(g)){const A=lA[g];throw new Error(`Field '${A?.name||`Tag${g}`}' (${g}) is deferred. Use loadValue() to load it asynchronously.`)}if(this.actualizedFields.has(g))return this.actualizedFields.get(g)}async loadValue(A){const g=wA(A);if(this.actualizedFields.has(g))return this.actualizedFields.get(g);if(this.deferredFieldsBeingResolved.has(g))return this.deferredFieldsBeingResolved.get(g);if(this.deferredFields.has(g)){const A=this.deferredFields.get(g);this.deferredFields.delete(g);const I=(async()=>{try{const I=await A();return this.actualizedFields.set(g,I),I}finally{this.deferredFieldsBeingResolved.delete(g)}})();return this.deferredFieldsBeingResolved.set(g,I),I}if(this.deferredArrays.has(g)){return this.deferredArrays.get(g).loadAll()}}async loadValueIndexed(A,g){const I=wA(A);if(this.actualizedFields.has(I)){return this.actualizedFields.get(I)[g]}if(this.deferredArrays.has(I)){return this.deferredArrays.get(I).get(g)}if(this.hasTag(I))return(await this.loadValue(I))[g]}parseGeoKeyDirectory(){const A=this.getValue("GeoKeyDirectory");if(!A)return null;const g={};for(let I=4;I<=4*A[3];I+=4){const e=UA[A[I]],t=A[I+1]||null,B=A[I+2],i=A[I+3];let C=null;if(t){if(C=this.getValue(t),null==C)throw new Error(`Could not get value of geoKey '${e}'.`);"string"==typeof C?C=C.substring(i,i+B-1):C.subarray&&(C=C.subarray(i,i+B),1===B&&(C=C[0]))}else C=i;g[e]=C}return g}toObject(){const A={};for(const[g,I]of this.actualizedFields.entries()){const e=lA[g];A[e?e.name:`Tag${g}`]=I}return A}}class fg{constructor(A,g,I,e=!1){this.source=A,this.littleEndian=g,this.bigTiff=I,this.eager=e}async getSlice(A,g){const I=this.bigTiff?4048:1024;return new vA((await this.source.fetch([{offset:A,length:void 0!==g?g:I}]))[0],A,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(A){const g=this.bigTiff?20:12,I=this.bigTiff?8:2;let e=await this.getSlice(A);const t=this.bigTiff?e.readUint64(A):e.readUint16(A),B=t*(g+(this.bigTiff?16:6));e.covers(A,B)||(e=await this.getSlice(A,B));const i=new Map,C=new Map,Q=new Map;let E=A+(this.bigTiff?8:2);for(let A=0;A<t;E+=g,++A){const A=e.readUint16(E),g=e.readUint16(E+2),I=this.bigTiff?e.readUint64(E+4):e.readUint32(E+4);let t=null,B=null,a=null;const s=rA(g),o=E+(this.bigTiff?12:8),r=lA[A]?.isArray,n=lA[A]?.eager||this.eager;if(s*I<=(this.bigTiff?8:4))t=Dg(cg(g,I),wg(e,g),e,g,I,o,r);else{const A=e.readOffset(o),i=rA(g)*I;if(e.covers(A,i))t=Dg(cg(g,I),wg(e,g),e,g,I,A,r);else if(n){const e=await this.getSlice(A,i);t=Dg(cg(g,I),wg(e,g),e,g,I,A,r)}else r?a=new dg(this.source,A,this.littleEndian,g,I):B=async()=>{const e=await this.getSlice(A,i);return Dg(cg(g,I),wg(e,g),e,g,I,A,r)}}null!==t?i.set(A,t):null!==B?C.set(A,B):null!==a&&Q.set(A,a)}const a=e.readOffset(A+I+g*t);return new yg(i,C,Q,a)}}function ug(A,g){let I=A.length-g,e=0;do{for(let I=g;I>0;I--)A[e+g]+=A[e],e++;I-=g}while(I>0)}function Sg(A,g,I){let e=0,t=A.length;const B=t/I;for(;t>g;){for(let I=g;I>0;--I)A[e+g]+=A[e],++e;t-=g}const i=A.slice();for(let g=0;g<B;++g)for(let e=0;e<I;++e)A[I*g+e]=i[(I-e-1)*B+g]}class Gg{constructor(A){this.parameters=A}decodeBlock(A){throw new Error("decodeBlock not implemented")}async decode(A){const g=await this.decodeBlock(A),{tileWidth:I,tileHeight:e,predictor:t,bitsPerSample:B,planarConfiguration:i}=this.parameters;return 1!==t?function(A,g,I,e,t,B){if(!g||1===g)return A;for(let A=0;A<t.length;++A){if(t[A]%8!=0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(t[A]!==t[0])throw new Error("When decoding with predictor, all samples must have the same size.")}const i=t[0]/8,C=2===B?1:t.length;for(let B=0;B<e&&!(B*C*I*i>=A.byteLength);++B){let e;if(2===g){switch(t[0]){case 8:e=new Uint8Array(A,B*C*I*i,C*I*i);break;case 16:e=new Uint16Array(A,B*C*I*i,C*I*i/2);break;case 32:e=new Uint32Array(A,B*C*I*i,C*I*i/4);break;default:throw new Error(`Predictor 2 not allowed with ${t[0]} bits per sample.`)}ug(e,C)}else 3===g&&(e=new Uint8Array(A,B*C*I*i,C*I*i),Sg(e,C,i))}return A}(g,t,I,e,B,i):g}}function Ng(A,g,I,e){let t=null,B=null;const i=rA(g);switch(g){case sA.BYTE:case sA.ASCII:case sA.UNDEFINED:t=new Uint8Array(I),B=A.readUint8;break;case sA.SBYTE:t=new Int8Array(I),B=A.readInt8;break;case sA.SHORT:t=new Uint16Array(I),B=A.readUint16;break;case sA.SSHORT:t=new Int16Array(I),B=A.readInt16;break;case sA.LONG:case sA.IFD:t=new Uint32Array(I),B=A.readUint32;break;case sA.SLONG:t=new Int32Array(I),B=A.readInt32;break;case sA.LONG8:case sA.IFD8:t=new Array(I),B=A.readUint64;break;case sA.SLONG8:t=new Array(I),B=A.readInt64;break;case sA.RATIONAL:t=new Uint32Array(2*I),B=A.readUint32;break;case sA.SRATIONAL:t=new Int32Array(2*I),B=A.readInt32;break;case sA.FLOAT:t=new Float32Array(I),B=A.readFloat32;break;case sA.DOUBLE:t=new Float64Array(I),B=A.readFloat64}if(null===t||null===B)throw new RangeError(`Invalid field type: ${g}`);if(g!==sA.RATIONAL&&g!==sA.SRATIONAL)for(let g=0;g<I;++g)t[g]=B.call(A,e+g*i);else for(let g=0;g<I;g+=2)t[g]=B.call(A,e+g*i),t[g+1]=B.call(A,e+(g*i+4));return g===sA.ASCII?new TextDecoder("utf-8").decode(t):t}class Fg extends Error{constructor(A){super(`No image at index ${A}`),this.index=A}}class kg{async getImage(A=0){throw new Error("Not implemented")}async getImageCount(){throw new Error("Not implemented")}async readRasters(A={}){const{window:g,width:I,height:e}=A;let{resX:t,resY:B,bbox:i}=A;const C=await this.getImage();let Q=C;const E=await this.getImageCount(),a=C.getBoundingBox();if(g&&i)throw new Error('Both "bbox" and "window" passed.');if(I||e){if(g){const[A,I]=C.getOrigin(),[e,t]=C.getResolution();i=[A+g[0]*e,I+g[1]*t,A+g[2]*e,I+g[3]*t]}const A=i||a;if(I){if(t)throw new Error("Both width and resX passed");t=(A[2]-A[0])/I}if(e){if(B)throw new Error("Both width and resY passed");B=(A[3]-A[1])/e}}if(t||B){const A=[];for(let g=0;g<E;++g){const I=await this.getImage(g),e=I.fileDirectory.getValue("SubfileType"),t=I.fileDirectory.getValue("NewSubfileType");(0===g||2===e||1&t)&&A.push(I)}A.sort((A,g)=>A.getWidth()-g.getWidth());for(let g=0;g<A.length;++g){const I=A[g],e=(a[2]-a[0])/I.getWidth(),i=(a[3]-a[1])/I.getHeight();if(Q=I,t&&t>e||B&&B>i)break}}let s=g;if(i){const[A,g]=C.getOrigin(),[I,e]=Q.getResolution(C);s=[Math.round((i[0]-A)/I),Math.round((i[1]-g)/e),Math.round((i[2]-A)/I),Math.round((i[3]-g)/e)],s=[Math.min(s[0],s[2]),Math.min(s[1],s[3]),Math.max(s[0],s[2]),Math.max(s[1],s[3])]}return Q.readRasters({...A,window:s})}}class Rg extends kg{constructor(A,g,I,e,t={}){super(),this.source=A,this.parser=new fg(A,g,I,!1),this.littleEndian=g,this.bigTiff=I,this.firstIFDOffset=e,this.cache=t.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(A,g){const I=this.bigTiff?4048:1024;return new vA((await this.source.fetch([{offset:A,length:void 0!==g?g:I}]))[0],A,this.littleEndian,this.bigTiff)}async requestIFD(A){if(this.ifdRequests[A])return this.ifdRequests[A];if(0===A)return this.ifdRequests[A]=this.parser.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[A];if(!this.ifdRequests[A-1])try{this.ifdRequests[A-1]=this.requestIFD(A-1)}catch(g){if(g instanceof Fg)throw new Fg(A);throw g}return this.ifdRequests[A]=(async()=>{const g=await this.ifdRequests[A-1];if(0===g.nextIFDByteOffset)throw new Fg(A);return this.parser.parseFileDirectoryAt(g.nextIFDByteOffset)})(),this.ifdRequests[A]}async getImage(A=0){return new TA(await this.requestIFD(A),this.littleEndian,this.cache,this.source)}async getImageCount(){let A=0,g=!0;for(;g;)try{await this.requestIFD(A),++A}catch(A){if(!(A instanceof Fg))throw A;g=!1}return A}async getGhostValues(){const A=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const g="GDAL_STRUCTURAL_METADATA_SIZE=";let I=await this.getSlice(A,130);if(g===Ng(I,sA.ASCII,30,A)){const g=Ng(I,sA.ASCII,130,A).split("\n")[0],e=Number(g.split("=")[1].split(" ")[0])+g.length;e>130&&(I=await this.getSlice(A,e));const t=Ng(I,sA.ASCII,e,A);this.ghostValues={},t.split("\n").filter(A=>A.length>0).map(A=>A.split("=")).forEach(([A,g])=>{this.ghostValues[A]=g})}return this.ghostValues}static async fromSource(A,g,I){const e=(await A.fetch([{offset:0,length:1024}],I))[0],t=new OA(e),B=t.getUint16(0,0);let i;if(18761===B)i=!0;else{if(19789!==B)throw new TypeError("Invalid byte order value.");i=!1}const C=t.getUint16(2,i);let Q;if(42===C)Q=!1;else{if(43!==C)throw new TypeError("Invalid magic number.");Q=!0;if(8!==t.getUint16(4,i))throw new Error("Unsupported offset byte-size.")}const E=Q?t.getUint64(8,i):t.getUint32(4,i);return new Rg(A,i,Q,E,g)}close(){return"function"==typeof this.source.close&&this.source.close()}}async function Lg(A,g){return Rg.fromSource(function(A){return new lg(A)}(A),void 0,g)}class Ug{constructor(A=257){this.gridSize=A;const g=A-1;if(g&g-1)throw new Error(`Expected grid size to be 2^n+1, got ${A}.`);this.numTriangles=g*g*2-2,this.numParentTriangles=this.numTriangles-g*g,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(4*this.numTriangles);for(let A=0;A<this.numTriangles;A++){let I=A+2,e=0,t=0,B=0,i=0,C=0,Q=0;for(1&I?B=i=C=g:e=t=Q=g;(I>>=1)>1;){const A=e+B>>1,g=t+i>>1;1&I?(B=e,i=t,e=C,t=Q):(e=B,t=i,B=C,i=Q),C=A,Q=g}const E=4*A;this.coords[E+0]=e,this.coords[E+1]=t,this.coords[E+2]=B,this.coords[E+3]=i}}createTile(A){return new mg(A,this)}}class mg{constructor(A,g){const I=g.gridSize;if(A.length!==I*I)throw new Error(`Expected terrain data of length ${I*I} (${I} x ${I}), got ${A.length}.`);this.terrain=A,this.martini=g,this.errors=new Float32Array(A.length),this.update()}update(){const{numTriangles:A,numParentTriangles:g,coords:I,gridSize:e}=this.martini,{terrain:t,errors:B}=this;for(let i=A-1;i>=0;i--){const A=4*i,C=I[A+0],Q=I[A+1],E=I[A+2],a=I[A+3],s=C+E>>1,o=Q+a>>1,r=s+o-Q,n=o+C-s,h=(t[Q*e+C]+t[a*e+E])/2,l=o*e+s,c=Math.abs(h-t[l]);if(B[l]=Math.max(B[l],c),i<g){const A=(Q+n>>1)*e+(C+r>>1),g=(a+n>>1)*e+(E+r>>1);B[l]=Math.max(B[l],B[A],B[g])}}}getMesh(A=0){const{gridSize:g,indices:I}=this.martini,{errors:e}=this;let t=0,B=0;const i=g-1;function C(i,Q,E,a,s,o){const r=i+E>>1,n=Q+a>>1;Math.abs(i-s)+Math.abs(Q-o)>1&&e[n*g+r]>A?(C(s,o,i,Q,r,n),C(E,a,s,o,r,n)):(I[Q*g+i]=I[Q*g+i]||++t,I[a*g+E]=I[a*g+E]||++t,I[o*g+s]=I[o*g+s]||++t,B++)}I.fill(0),C(0,0,i,i,i,0),C(i,i,0,0,0,i);const Q=new Uint16Array(2*t),E=new Uint32Array(3*B);let a=0;function s(t,B,i,C,o,r){const n=t+i>>1,h=B+C>>1;if(Math.abs(t-o)+Math.abs(B-r)>1&&e[h*g+n]>A)s(o,r,t,B,n,h),s(i,C,o,r,n,h);else{const A=I[B*g+t]-1,e=I[C*g+i]-1,s=I[r*g+o]-1;Q[2*A]=t,Q[2*A+1]=B,Q[2*e]=i,Q[2*e+1]=C,Q[2*s]=o,Q[2*s+1]=r,E[a++]=A,E[a++]=e,E[a++]=s}}return s(0,0,i,i,i,0),s(i,i,0,0,0,i),{vertices:Q,triangles:E}}}function pg(A,g,I,e){const t=e?function(A,g){A.westIndices.sort((A,I)=>g[3*A+1]-g[3*I+1]),A.eastIndices.sort((A,I)=>g[3*I+1]-g[3*A+1]),A.southIndices.sort((A,I)=>g[3*I]-g[3*A]),A.northIndices.sort((A,I)=>g[3*A]-g[3*I]);const I=[];for(const g in A){const e=A[g];for(let A=0;A<e.length-1;A++)I.push([e[A],e[A+1]])}return I}(e,A.POSITION.value):function(A){const g=[];for(let I=0;I<A.length;I+=3)g.push([A[I],A[I+1]]),g.push([A[I+1],A[I+2]]),g.push([A[I+2],A[I]]);g.sort((A,g)=>Math.min(...A)-Math.min(...g)||Math.max(...A)-Math.max(...g));const I=[];let e=0;for(;e<g.length;)g[e][0]===g[e+1]?.[1]&&g[e][1]===g[e+1]?.[0]?e+=2:(I.push(g[e]),e++);return I}(g),B=new A.POSITION.value.constructor(6*t.length),C=new A.TEXCOORD_0.value.constructor(4*t.length),Q=new g.constructor(6*t.length);for(let g=0;g<t.length;g++){Yg({edge:t[g],edgeIndex:g,attributes:A,skirtHeight:I,newPosition:B,newTexcoord0:C,newTriangles:Q})}A.POSITION.value=i.concatenateTypedArrays(A.POSITION.value,B),A.TEXCOORD_0.value=i.concatenateTypedArrays(A.TEXCOORD_0.value,C);return{attributes:A,triangles:g instanceof Array?g.concat(Q):i.concatenateTypedArrays(g,Q)}}function Yg({edge:A,edgeIndex:g,attributes:I,skirtHeight:e,newPosition:t,newTexcoord0:B,newTriangles:i}){const C=I.POSITION.value.length,Q=2*g,E=2*g+1;t.set(I.POSITION.value.subarray(3*A[0],3*A[0]+3),3*Q),t[3*Q+2]=t[3*Q+2]-e,t.set(I.POSITION.value.subarray(3*A[1],3*A[1]+3),3*E),t[3*E+2]=t[3*E+2]-e,B.set(I.TEXCOORD_0.value.subarray(2*A[0],2*A[0]+2),2*Q),B.set(I.TEXCOORD_0.value.subarray(2*A[1],2*A[1]+2),2*E);const a=2*g*3;i[a]=A[0],i[a+1]=C/3+E,i[a+2]=A[1],i[a+3]=C/3+E,i[a+4]=A[0],i[a+5]=C/3+Q}function Mg(A,g,I,e,t,B){return(I-t)*(g-B)-(e-B)*(A-t)}class Kg{constructor(A,g,I=g){this.data=A,this.width=g,this.height=I,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;const e=g-1,t=I-1,B=this._addPoint(0,0),i=this._addPoint(e,0),C=this._addPoint(0,t),Q=this._addPoint(e,t),E=this._addTriangle(Q,B,C,-1,-1,-1);this._addTriangle(B,Q,i,E,-1,-1),this._flush()}run(A=1){for(;this.getMaxError()>A;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(A,g){return this.data[this.width*g+A]}_flush(){const{coords:A}=this;for(let g=0;g<this._pendingLen;g++){const I=this._pending[g],e=2*this.triangles[3*I+0],t=2*this.triangles[3*I+1],B=2*this.triangles[3*I+2];this._findCandidate(A[e],A[e+1],A[t],A[t+1],A[B],A[B+1],I)}this._pendingLen=0}_findCandidate(A,g,I,e,t,B,i){const C=Math.min(A,I,t),Q=Math.min(g,e,B),E=Math.max(A,I,t),a=Math.max(g,e,B);let s=Mg(I,e,t,B,C,Q),o=Mg(t,B,A,g,C,Q),r=Mg(A,g,I,e,C,Q);const n=e-g,h=A-I,l=B-e,c=I-t,w=g-B,D=t-A,d=Mg(A,g,I,e,t,B),y=this.heightAt(A,g)/d,f=this.heightAt(I,e)/d,u=this.heightAt(t,B)/d;let S=0,G=0,N=0,F=0;for(let A=Q;A<=a;A++){let g=0;s<0&&0!==l&&(g=Math.max(g,Math.floor(-s/l))),o<0&&0!==w&&(g=Math.max(g,Math.floor(-o/w))),r<0&&0!==n&&(g=Math.max(g,Math.floor(-r/n)));let I=s+l*g,e=o+w*g,t=r+n*g,B=!1;for(let i=C+g;i<=E;i++){if(I>=0&&e>=0&&t>=0){B=!0;const g=y*I+f*e+u*t,C=Math.abs(g-this.heightAt(i,A));F+=C*C,C>S&&(S=C,G=i,N=A)}else if(B)break;I+=l,e+=w,t+=n}s+=c,o+=D,r+=h}(G===A&&N===g||G===I&&N===e||G===t&&N===B)&&(S=0),this._candidates[2*i]=G,this._candidates[2*i+1]=N,this._rms[i]=F,this._queuePush(i,S,F)}_step(){const A=this._queuePop(),g=3*A+0,I=3*A+1,e=3*A+2,t=this.triangles[g],B=this.triangles[I],i=this.triangles[e],C=this.coords[2*t],Q=this.coords[2*t+1],E=this.coords[2*B],a=this.coords[2*B+1],s=this.coords[2*i],o=this.coords[2*i+1],r=this._candidates[2*A],n=this._candidates[2*A+1],h=this._addPoint(r,n);if(0===Mg(C,Q,E,a,r,n))this._handleCollinear(h,g);else if(0===Mg(E,a,s,o,r,n))this._handleCollinear(h,I);else if(0===Mg(s,o,C,Q,r,n))this._handleCollinear(h,e);else{const A=this._halfedges[g],C=this._halfedges[I],Q=this._halfedges[e],E=this._addTriangle(t,B,h,A,-1,-1,g),a=this._addTriangle(B,i,h,C,-1,E+1),s=this._addTriangle(i,t,h,Q,E+2,a+1);this._legalize(E),this._legalize(a),this._legalize(s)}}_addPoint(A,g){const I=this.coords.length>>1;return this.coords.push(A,g),I}_addTriangle(A,g,I,e,t,B,i=this.triangles.length){const C=i/3;return this.triangles[i+0]=A,this.triangles[i+1]=g,this.triangles[i+2]=I,this._halfedges[i+0]=e,this._halfedges[i+1]=t,this._halfedges[i+2]=B,e>=0&&(this._halfedges[e]=i+0),t>=0&&(this._halfedges[t]=i+1),B>=0&&(this._halfedges[B]=i+2),this._candidates[2*C+0]=0,this._candidates[2*C+1]=0,this._queueIndices[C]=-1,this._rms[C]=0,this._pending[this._pendingLen++]=C,i}_legalize(A){const g=this._halfedges[A];if(g<0)return;const I=A-A%3,e=g-g%3,t=I+(A+1)%3,B=I+(A+2)%3,i=e+(g+2)%3,C=e+(g+1)%3,Q=this.triangles[B],E=this.triangles[A],a=this.triangles[t],s=this.triangles[i],{coords:o}=this;if(!function(A,g,I,e,t,B,i,C){const Q=A-i,E=g-C,a=I-i,s=e-C,o=t-i,r=B-C,n=a*a+s*s,h=o*o+r*r;return Q*(s*h-n*r)-E*(a*h-n*o)+(Q*Q+E*E)*(a*r-s*o)<0}(o[2*Q],o[2*Q+1],o[2*E],o[2*E+1],o[2*a],o[2*a+1],o[2*s],o[2*s+1]))return;const r=this._halfedges[t],n=this._halfedges[B],h=this._halfedges[i],l=this._halfedges[C];this._queueRemove(I/3),this._queueRemove(e/3);const c=this._addTriangle(Q,s,a,-1,h,r,I),w=this._addTriangle(s,Q,E,c,n,l,e);this._legalize(c+1),this._legalize(w+2)}_handleCollinear(A,g){const I=g-g%3,e=I+(g+1)%3,t=I+(g+2)%3,B=this.triangles[t],i=this.triangles[g],C=this.triangles[e],Q=this._halfedges[e],E=this._halfedges[t],a=this._halfedges[g];if(a<0){const g=this._addTriangle(A,B,i,-1,E,-1,I),e=this._addTriangle(B,A,C,g,-1,Q);return this._legalize(g+1),void this._legalize(e+2)}const s=a-a%3,o=s+(a+2)%3,r=s+(a+1)%3,n=this.triangles[o],h=this._halfedges[o],l=this._halfedges[r];this._queueRemove(s/3);const c=this._addTriangle(B,i,A,E,-1,-1,I),w=this._addTriangle(i,n,A,l,-1,c+1,s),D=this._addTriangle(n,C,A,h,-1,w+1),d=this._addTriangle(C,B,A,Q,c+2,D+1);this._legalize(c),this._legalize(w),this._legalize(D),this._legalize(d)}_queuePush(A,g,I){const e=this._queue.length;this._queueIndices[A]=e,this._queue.push(A),this._errors.push(g),this._rmsSum+=I,this._queueUp(e)}_queuePop(){const A=this._queue.length-1;return this._queueSwap(0,A),this._queueDown(0,A),this._queuePopBack()}_queuePopBack(){const A=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[A],this._queueIndices[A]=-1,A}_queueRemove(A){const g=this._queueIndices[A];if(g<0){const g=this._pending.indexOf(A);if(-1===g)throw new Error("Broken triangulation (something went wrong).");return void(this._pending[g]=this._pending[--this._pendingLen])}const I=this._queue.length-1;I!==g&&(this._queueSwap(g,I),this._queueDown(g,I)||this._queueUp(g)),this._queuePopBack()}_queueLess(A,g){return this._errors[A]>this._errors[g]}_queueSwap(A,g){const I=this._queue[A],e=this._queue[g];this._queue[A]=e,this._queue[g]=I,this._queueIndices[I]=g,this._queueIndices[e]=A;const t=this._errors[A];this._errors[A]=this._errors[g],this._errors[g]=t}_queueUp(A){let g=A;for(;;){const A=g-1>>1;if(A===g||!this._queueLess(g,A))break;this._queueSwap(A,g),g=A}}_queueDown(A,g){let I=A;for(;;){const A=2*I+1;if(A>=g||A<0)break;const e=A+1;let t=A;if(e<g&&this._queueLess(e,A)&&(t=e),!this._queueLess(t,I))break;this._queueSwap(I,t),I=t}return I>A}}const bg={type:"image",tesselator:"martini",format:"uint8",useHeatMap:!0,useColorsBasedOnValues:!1,useAutoRange:!1,useDataForOpacity:!1,useSingleColor:!1,useColorClasses:!1,blurredTexture:!0,clipLow:null,clipHigh:null,multiplier:1,color:[255,0,255,255],colorScale:t.brewer.YlOrRd,colorScaleValueRange:[0,255],colorsBasedOnValues:null,colorClasses:null,alpha:100,useChannel:null,useChannelIndex:null,noDataValue:void 0,numOfChannels:void 0,nullColor:[0,0,0,0],unidentifiedColor:[0,0,0,0],clippedColor:[0,0,0,0],terrainColor:[133,133,133,255],terrainSkirtHeight:100,terrainMinValue:0,planarConfig:void 0};class Jg{data;scale=(A,g,I,e,t)=>(A-g)*(t-e)/(I-g)+e;async setUrl(A){const g=await fetch(A),I=await g.arrayBuffer(),e=await Lg(I),t=await e.getImage(0);this.data=t}async getMap(A,g,I){const e={...bg,...g};switch(e.type){case"image":return this.getBitmap(A,e);case"terrain":return this.getHeightmap(A,e,I);default:return null}}async getHeightmap(A,g,I){let e,t,i=[];"string"==typeof A?(await this.setUrl(A),i=await this.data.readRasters(),e=this.data.getWidth(),t=this.data.getHeight()):(i=A.rasters,e=A.width,t=A.height);const C={...g};let Q=i[0];C.useChannelIndex??=null==C.useChannel?null:C.useChannel-1,null!=g.useChannelIndex&&i[C.useChannelIndex]&&(Q=i[C.useChannelIndex]);const E=new Float32Array((257===e?e:e+1)*(257===t?t:t+1)),a=Q.length/(e*t);let s=null===g.useChannelIndex?0:g.useChannelIndex;const o=257===e;for(let A=0;A<t;A++)for(let I=0;I<e;I++){let t=g.noDataValue&&Q[s]===g.noDataValue?g.terrainMinValue:Q[s]*g.multiplier;(Number.isNaN(t)||t<-34e37||t>34e37)&&(t=g.terrainMinValue);E[o?A*e+I:A*(e+1)+I]=t,s+=a}if(!o){for(let A=(e+1)*e,g=0;g<e;g++,A++)E[A]=E[A-e-1];for(let A=t,g=0;g<t+1;g++,A+=t+1)E[A]=E[A-1]}const{terrainSkirtHeight:r}=g;let n;switch(g.tesselator){case"martini":n=Hg(I,e,E);break;case"delatin":n=qg(I,e,t,E);break;default:n=e!==t||t&&e-1?qg(I,e,t,E):Hg(I,e,E)}const{vertices:h}=n;let{triangles:l}=n,c=function(A,g,I,e,t){const B=257===I?257:I+1,i=A.length/2,C=new Float32Array(3*i),Q=new Float32Array(2*i),[E,a,s,o]=t||[0,0,I,e],r=257===I?I-1:I,n=257===e?e-1:e,h=(s-E)/r,l=(o-a)/n;for(let I=0;I<i;I++){const e=A[2*I],t=A[2*I+1],i=t*B+e;C[3*I+0]=e*h+E,C[3*I+1]=-t*l+o,C[3*I+2]=g[i],Q[2*I+0]=e/r,Q[2*I+1]=t/n}return{POSITION:{value:C,size:3},TEXCOORD_0:{value:Q,size:2}}}(h,E,e,t,A.bounds);const w=B.getMeshBoundingBox(c);if(r){const{attributes:A,triangles:g}=pg(c,l,r);c=A,l=g}return{loaderData:{header:{}},header:{vertexCount:l.length,boundingBox:w},mode:4,indices:{value:Uint32Array.from(l),size:1},attributes:c}}async getBitmap(A,g){const I={...g};let e,t,B,i=[];"string"==typeof A?(await this.setUrl(A),i=await this.data.readRasters(),e=i.length,t=this.data.getWidth(),B=this.data.getHeight()):(i=A.rasters,e=i.length,t=A.width,B=A.height);const C=document.createElement("canvas");C.width=t,C.height=B;const Q=C.getContext("2d"),E=Q.createImageData(t,B);let a,s,o,r;const n=t*B*4;if(I.unidentifiedColor=this.getColorFromChromaType(I.unidentifiedColor),I.nullColor=this.getColorFromChromaType(I.nullColor),I.clippedColor=this.getColorFromChromaType(I.clippedColor),I.color=this.getColorFromChromaType(I.color),I.useChannelIndex??=null===g.useChannel?null:g.useChannel-1,null==I.useChannelIndex){if(1===e){if(i[0].length/(t*B)===1){const A=i[0];I.useAutoRange&&(I.colorScaleValueRange=this.getMinMax(A,I));this.getColorValue(A,I,n).forEach((A,g)=>{E.data[g]=A})}if(i[0].length/(t*B)===3){let A=0;for(let g=0;g<n;g+=4){const e=[i[0][A],i[0][A+1],i[0][A+2]],t=this.hasPixelsNoData(e,I.noDataValue)?I.nullColor:[...e,Math.floor(2.55*I.alpha)];[E.data[g],E.data[g+1],E.data[g+2],E.data[g+3]]=t,A+=3}}i[0].length/(t*B)===4&&i[0].forEach((A,g)=>{E.data[g]=A})}if(3===e){let A=0;for(let g=0;g<n;g+=4)a=i[0][A],s=i[1][A],o=i[2][A],r=Math.floor(2.55*I.alpha),E.data[g]=a,E.data[g+1]=s,E.data[g+2]=o,E.data[g+3]=r,A+=1}if(4===e){let A=0;for(let g=0;g<n;g+=4)a=i[0][A],s=i[1][A],o=i[2][A],r=Math.floor(2.55*I.alpha),E.data[g]=a,E.data[g+1]=s,E.data[g+2]=o,E.data[g+3]=r,A+=1}}else if(I.useChannelIndex<I.numOfChannels&&I.useChannelIndex>=0){let A=i[0];i[I.useChannelIndex]&&(A=i[I.useChannelIndex]),I.useAutoRange&&(I.colorScaleValueRange=this.getMinMax(A,I));this.getColorValue(A,I,n,I.numOfChannels).forEach((A,g)=>{E.data[g]=A})}else{console.log(`Defined channel(${g.useChannel}) or channel index(${g.useChannelIndex}) does not exist, choose a different channel or set the useChannel property to null if you want to visualize RGB(A) imagery`);this.getDefaultColor(n,I.nullColor).forEach((A,g)=>{E.data[g]=A})}Q.putImageData(E,0,0);return C.toDataURL("image/png")}getMinMax(A,g){let I=g.maxValue?g.maxValue:Number.MIN_VALUE,e=g.minValue?g.minValue:Number.MAX_VALUE;for(let t=0;t<A.length;t+=1)void 0!==g.noDataValue&&A[t]===g.noDataValue||(A[t]>I&&(I=A[t]),A[t]<e&&(e=A[t]));return[e,I]}getColorValue(A,g,I,e=1){const B=t.scale(g.colorScale).domain(g.colorScaleValueRange);let i=null===g.useChannelIndex?0:g.useChannelIndex;const C=new Array(I),Q=g.colorsBasedOnValues?g.colorsBasedOnValues.map(([A])=>A):void 0,E=g.colorsBasedOnValues?g.colorsBasedOnValues.map(([,A])=>[...t(A).rgb(),Math.floor(2.55*g.alpha)]):void 0,a=g.useColorClasses?g.colorClasses.map(([A])=>[...t(A).rgb(),Math.floor(2.55*g.alpha)]):void 0,s=g.useColorClasses?g.colorClasses.map(([,A])=>A):void 0,o=g.useColorClasses?g.colorClasses.map(([,,A],I)=>void 0!==A?A:I===g.colorClasses.length-1?[!0,!0]:[!0,!1]):void 0;for(let t=0;t<I;t+=4){let I=g.nullColor;if(!Number.isNaN(A[i])&&(void 0===g.noDataValue||A[i]!==g.noDataValue))if(null!=g.clipLow&&A[i]<=g.clipLow||null!=g.clipHigh&&A[i]>=g.clipHigh)I=g.clippedColor;else{if(g.useHeatMap&&(I=[...B(A[i]).rgb(),Math.floor(2.55*g.alpha)]),g.useColorsBasedOnValues){const e=Q.indexOf(A[i]);I=e>-1?E[e]:g.unidentifiedColor}if(g.useColorClasses){const e=this.findClassIndex(A[i],s,o);I=e>-1?a[e]:g.unidentifiedColor}g.useSingleColor&&(I=g.color),g.useDataForOpacity&&(I[3]=this.scale(A[i],g.colorScaleValueRange[0],g.colorScaleValueRange.slice(-1)[0],0,255))}[C[t],C[t+1],C[t+2],C[t+3]]=I,i+=e}return C}findClassIndex(A,g,I){for(let e=0;e<g.length;e+=1){const[t,B]=g[e],[i,C]=I[e];if((i?A>=t:A>t)&&(C?A<=B:A<B))return e}return-1}getDefaultColor(A,g){const I=new Array(A);for(let e=0;e<A;e+=4)[I[e],I[e+1],I[e+2],I[e+3]]=g;return I}getColorFromChromaType(A){return Array.isArray(A)&&4===A.length?A:[...t(A).rgb(),255]}hasPixelsNoData(A,g){return void 0!==g&&A.every(A=>A===g)}}function Hg(A,g,I){const e=new Ug(257===g?257:g+1).createTile(I),{vertices:t,triangles:B}=e.getMesh(A);return{vertices:t,triangles:B}}function qg(A,g,I,e){const t=new Kg(e,257===g?257:g+1,257===I?257:I+1);t.run(A);const{coords:B,triangles:i}=t;return{vertices:B,triangles:i}}const xg=2*Math.PI*6378137,_g=xg/2,Tg=[-20037508.342789244,20037508.342789244],Og={blurredTexture:!0};class vg{cog;cogZoomLookup=[];cogResolutionLookup=[];cogOrigin=[0,0];zoomRange=[0,0];tileSize;bounds;geo=new Jg;options;constructor(A){this.options={...Og,...A}}async initializeCog(A){if(this.cog)return;this.cog=await async function(A,g={},I){return Rg.fromSource(hg(A,g),void 0,I)}(A);const g=await this.cog.getImage(),I=g.fileDirectory;this.cogOrigin=g.getOrigin(),this.options.noDataValue??=await this.getNoDataValue(g),this.options.format??=await this.getDataTypeFromTags(I),this.options.numOfChannels=I.getValue("SamplesPerPixel"),this.options.planarConfig=I.getValue("PlanarConfiguration"),[this.cogZoomLookup,this.cogResolutionLookup]=await this.buildCogZoomResolutionLookup(this.cog),this.tileSize=g.getTileWidth(),this.zoomRange=this.calculateZoomRange(this.tileSize,g.getResolution()[0],await this.cog.getImageCount()),this.bounds=this.calculateBoundsAsLatLon(g.getBoundingBox())}getZoomRange(){return this.zoomRange}calculateZoomRange(A,g,I){const e=this.getZoomLevelFromResolution(A,g);return[e-(I-1),e]}calculateBoundsAsLatLon(A){const g=Math.min(A[0],A[2]),I=Math.max(A[0],A[2]),e=Math.min(A[1],A[3]),t=Math.max(A[1],A[3]),B=this.getLatLon([g,e]),i=this.getLatLon([I,t]);return[B[0],B[1],i[0],i[1]]}getZoomLevelFromResolution(A,g){return Math.round(Math.log2(xg/(g*A)))}getBoundsAsLatLon(){return this.bounds}getLatLon(A){const g=A[0],I=A[1],e=g/_g*180;let t=I/_g*180;return t=180/Math.PI*(2*Math.atan(Math.exp(t*Math.PI/180))-Math.PI/2),[e,t]}async buildCogZoomResolutionLookup(A){const g=await A.getImageCount(),I=await A.getImage(0),e=I.getResolution()[0],t=I.getWidth(),B=[],i=[];for(let I=0;I<g;I++){const g=e*(t/(await A.getImage(I)).getWidth()),C=Math.round(Math.log2(156543.03125/g));B[I]=C,i[I]=g}return[B,i]}getImageIndexForZoomLevel(A){const g=this.cogZoomLookup[this.cogZoomLookup.length-1];if(A>this.cogZoomLookup[0])return 0;if(A<g)return this.cogZoomLookup.length-1;const I=this.cogZoomLookup.indexOf(A);return-1===I&&console.log("getImageIndexForZoomLevel: error in retrieving image by zoom index"),I}async getTileFromImage(A,g,I,e){const t=this.getImageIndexForZoomLevel(I),B=await this.cog.getImage(t),i=B.getTileWidth(),C=B.getTileHeight();if(!i||!C)throw new Error('GeoTIFF Error: The provided image is not tiled. Please use "rio cogeo create --web-optimized" to fix this.');const Q=this.cogResolutionLookup[t],E=B.getHeight(),a=B.getWidth(),[s,o]=this.cogOrigin,r=this.tileSize,n=xg/r/2**I,h=(Tg[0]+A*r*n-s)/Q,l=(o-(Tg[1]-g*r*n))/Q,c=e||r,w=Math.round(h),D=Math.round(l),d=w+c,y=D+c,f=Math.max(0,w),u=Math.max(0,D),S=Math.min(a,d),G=Math.min(E,y),N=S-f,F=G-u;if(N<=0||F<=0)return[this.createEmptyTile(c)];const k=f-w,R=u-D,L=[f,u,S,G];if(k>0||R>0||N<c||F<c){this.createTileBuffer(this.options.format,c).fill(this.options.noDataValue);const A=await B.readRasters({window:L}),g=Array(A.length*A[0].length);g.fill(this.options.noDataValue);for(let I=0;I<A.length;I+=1){const e=this.createTileBuffer(this.options.format,c);void 0!==this.options.noDataValue&&e.fill(this.options.noDataValue);for(let g=0;g<F;g+=1){const t=R+g,B=t*c,i=g*A.width;for(let g=0;g<N;g+=1){const C=k+g;t<c&&C<c?e[B+C]=A[I][i+g]:console.log(`error in assigning data to tile buffer: destRow ${t}, destCol ${C}, FETCH_SIZE ${c}`)}}for(let A=0;A<e.length;A+=1)g[A*this.options.numOfChannels+I]=e[A]}return[g]}return[await B.readRasters({window:L,interleave:!0})]}createEmptyTile(A){const g=A||this.tileSize,I=this.options.numOfChannels||1,e=new Float32Array(g*g*I);return void 0!==this.options.noDataValue&&e.fill(this.options.noDataValue),e}async getTile(A,g,I,e,t){let B=this.tileSize;"terrain"===this.options.type&&(B=this.tileSize+1);const i=await this.getTileFromImage(A,g,I,B);return this.geo.getMap({rasters:[i[0]],width:B,height:B,bounds:e},this.options,t)}async getDataTypeFromTags(A){const g=A.hasTag("SampleFormat"),I=A.hasTag("BitsPerSample");if(!g||!I)return console.warn("Missing SampleFormat or BitsPerSample tags, defaulting to UInt8"),"UInt8";const e=A.getValue("SampleFormat"),t=A.getValue("BitsPerSample"),B=e&&"number"==typeof e.length&&e.length>0?e[0]:e;let i;return i=1===B?"UInt":2===B?"Int":3===B?"Float":"Unknown",`${i}${t&&"number"==typeof t.length&&t.length>0?t[0]:t}`}getNoDataValue(A){const g=A.getGDALNoData();if(null==g)return void console.warn("No noData value defined — raster might be rendered incorrectly.");const I=String(g).replace(/\0/g,"").trim();if(""===I)return void console.warn("noData value is an empty string after cleanup.");const e=Number(I);return"nan"===I.toLowerCase()?NaN:Number.isNaN(e)?void console.warn(`Failed to parse numeric noData value: '${I}'`):e}createTileBuffer(A,g){const I=g*g;switch(A){case"UInt8":return new Uint8Array(I);case"Int8":return new Int8Array(I);case"UInt16":return new Uint16Array(I);case"Int16":return new Int16Array(I);case"UInt32":return new Uint32Array(I);case"Int32":return new Int32Array(I);case"Float32":return new Float32Array(I);case"Float64":return new Float64Array(I);default:return console.warn(`Unsupported data type: ${A}, defaulting to Float32`),new Float32Array(I)}}}const Pg={type:"object",value:null,validate:(A,g)=>g.optional&&null===A||"string"==typeof A||Array.isArray(A)&&A.every(A=>"string"==typeof A),equal:(A,g)=>{if(A===g)return!0;if(!Array.isArray(A)||!Array.isArray(g))return!1;const I=A.length;if(I!==g.length)return!1;for(let e=0;e<I;e++)if(A[e]!==g[e])return!1;return!0}},Zg={...g.TileLayer.defaultProps,bounds:{type:"array",value:null,optional:!0,compare:!0},rasterData:Pg,clampToTerrain:!1,workerUrl:""};class Vg extends A.CompositeLayer{static defaultProps=Zg;static layerName="CogBitmapLayer";async initializeState(A){super.initializeState(A),this.setState({bitmapCogTiles:this.props.cogTiles||new vg(this.props.cogBitmapOptions),initialized:!1}),await this.init()}async init(){await this.state.bitmapCogTiles.initializeCog(this.props.rasterData);const A=this.state.bitmapCogTiles.getZoomRange(),[g,I]=A;this.setState({initialized:!0,minZoom:g,maxZoom:I})}updateState({props:g,oldProps:I}){const e=g.rasterData!==I.rasterData;if(e){const{rasterData:A}=g,I=A&&(Array.isArray(A)||A.includes("{x}")&&A.includes("{y}")||this.props.isTiled);this.setState({isTiled:I})}e||(g.bounds,I.bounds);this.state.isTiled,g?.cogBitmapOptions?.useChannel&&g.cogBitmapOptions?.useChannel!==I.cogBitmapOptions?.useChannel&&(this.state.bitmapCogTiles.options.useChannel=g.cogBitmapOptions.useChannel),g.workerUrl&&A.log.removed("workerUrl","loadOptions.terrain.workerUrl")()}async getTiledBitmapData(A){return await this.state.bitmapCogTiles.getTile(A.index.x,A.index.y,A.index.z)}renderSubLayers(A){const g=this.getSubLayerClass("image",I.BitmapLayer),{blurredTexture:t}=this.state.bitmapCogTiles.options,{clampToTerrain:B}=this.props,i="object"==typeof B&&null!==B&&"terrainDrawMode"in B,{data:C}=A;if(!C)return null;const{bbox:{west:Q,south:E,east:a,north:s}}=A.tile;return new g({...A,tileSize:this.state.bitmapCogTiles.tileSize},{data:null,image:C,_instanced:!1,bounds:[Q,E,a,s],textureParameters:{minFilter:t?"linear":"nearest",magFilter:t?"linear":"nearest"},extensions:B?[new e._TerrainExtension]:[],...i?{terrainDrawMode:B.terrainDrawMode}:{}})}renderLayers(){const{clampToTerrain:A,maxRequests:I,onTileLoad:e,onTileUnload:t,onTileError:B,maxCacheSize:i,maxCacheByteSize:C,refinementStrategy:Q,cogBitmapOptions:E}=this.props;if(this.state.isTiled&&this.state.initialized){const{tileSize:a}=this.state.bitmapCogTiles;return new g.TileLayer(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledBitmapData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:[A,E.useChannel]},extent:this.state.bitmapCogTiles.getBoundsAsLatLon(),tileSize:a,minZoom:this.state.minZoom,maxZoom:this.state.maxZoom,maxRequests:I,onTileLoad:e,onTileUnload:t,onTileError:B,maxCacheSize:i,maxCacheByteSize:C,refinementStrategy:Q})}return null}}const zg={type:"object",value:null,validate:(A,g)=>g.optional&&null===A||"string"==typeof A||Array.isArray(A)&&A.every(A=>"string"==typeof A),equal:(A,g)=>{if(A===g)return!0;if(!Array.isArray(A)||!Array.isArray(g))return!1;const I=A.length;if(I!==g.length)return!1;for(let e=0;e<I;e++)if(A[e]!==g[e])return!1;return!0}},jg=[1],Wg={...g.TileLayer.defaultProps,elevationData:zg,texture:{...zg,optional:!0},meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0};class Xg extends A.CompositeLayer{static defaultProps=Wg;static layerName="CogTerrainLayer";terrainUrl;async initializeState(A){super.initializeState(A),this.setState({terrainCogTiles:this.props.cogTiles||new vg(this.props.terrainOptions),initialized:!1}),await this.init(this.terrainUrl)}async init(){await this.state.terrainCogTiles.initializeCog(this.props.elevationData);const A=this.state.terrainCogTiles.getZoomRange(),[g,I]=A;this.setState({initialized:!0,minZoom:g,maxZoom:I})}updateState({props:g,oldProps:I}){const e=g.elevationData!==I.elevationData;if(e){const{elevationData:A}=g,I=A&&(Array.isArray(A)||A.includes("{x}")&&A.includes("{y}"))||this.props.isTiled;this.setState({isTiled:I})}e||g.meshMaxError!==I.meshMaxError||g.elevationDecoder!==I.elevationDecoder||(g.bounds,I.bounds);this.state.isTiled,g.workerUrl&&A.log.removed("workerUrl","loadOptions.terrain.workerUrl")()}loadTerrain({elevationData:A,bounds:g,elevationDecoder:I,meshMaxError:e,signal:t}){if(!A)return null;let B=this.getLoadOptions();B={...B,_workerType:"test",terrain:{skirtHeight:this.state.isTiled?2*e:0,...B?.terrain,bounds:g,meshMaxError:e,elevationDecoder:I}};const{fetch:i}=this.props;return i(A,{propName:"elevationData",layer:this,loadOptions:B,signal:t,loaders:[]})}async getTiledTerrainData(A){const{viewport:g}=this.context;let I=[0,0],e=[0,0];if(g.isGeospatial){const t=A.bbox;I=g.projectFlat([t.west,t.south]),e=g.projectFlat([t.east,t.north])}else{const g=A.bbox;I=[g.left,g.bottom],e=[g.right,g.top]}const t=[I[0],I[1],e[0],e[1]],B=await this.state.terrainCogTiles.getTile(A.index.x,A.index.y,A.index.z,t,this.props.meshMaxError);return Promise.all([B,null])}renderSubLayers(g){const I=this.getSubLayerClass("mesh",C.SimpleMeshLayer),{color:e,wireframe:t,material:B}=this.props,{data:i}=g;if(!i)return null;const[Q]=i;return new I({...g,tileSize:256},{data:jg,mesh:Q,_instanced:!1,coordinateSystem:A.COORDINATE_SYSTEM.CARTESIAN,getColor:e,wireframe:t,material:B})}onViewportLoad(A){if(!A)return;const{zRange:g}=this.state,I=A.map(A=>A.content).filter(A=>A&&A[0]).map(A=>{const g=A[0]?.header?.boundingBox;return g?.map(A=>A[2])});if(0===I.length)return;const e=Math.min(...I.map(A=>A[0])),t=Math.max(...I.map(A=>A[1]));(!g||e<g[0]||t>g[1])&&this.setState({zRange:[Number.isFinite(e)?e:0,Number.isFinite(t)?t:0]})}renderLayers(){const{elevationData:A,meshMaxError:I,elevationDecoder:e,tileSize:t,extent:B,maxRequests:i,onTileLoad:C,onTileUnload:Q,onTileError:E,maxCacheSize:a,maxCacheByteSize:s,refinementStrategy:o}=this.props;if(this.state.isTiled&&this.state.initialized)return new g.TileLayer(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:(r=A,Array.isArray(r)?r.join(";"):r||""),meshMaxError:I,elevationDecoder:e}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:t,minZoom:this.state.minZoom,maxZoom:this.state.maxZoom,extent:B,maxRequests:i,onTileLoad:C,onTileUnload:Q,onTileError:E,maxCacheSize:a,maxCacheByteSize:s,refinementStrategy:o});var r}}var $g=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){return A}}});function AI(A,g){for(let I=g.length-1;I>=0;I--)A.push(g[I]);return A}function gI(A){const g=new Uint16Array(4093),I=new Uint8Array(4093);for(let A=0;A<=257;A++)g[A]=4096,I[A]=A;let e=258,t=9,B=0;function i(){e=258,t=9}function C(A){const g=function(A,g,I){const e=g%8,t=Math.floor(g/8),B=8-e,i=g+I-8*(t+1);let C=8*(t+2)-(g+I);const Q=8*(t+2)-g;if(C=Math.max(0,C),t>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;let E=A[t]&2**(8-e)-1;E<<=I-B;let a=E;if(t+1<A.length){let g=A[t+1]>>>C;g<<=Math.max(0,I-Q),a+=g}if(i>8&&t+2<A.length){const e=8*(t+3)-(g+I);a+=A[t+2]>>>e}return a}(A,B,t);return B+=t,g}function Q(A,t){return I[e]=t,g[e]=A,e++,e-1}function E(A){const e=[];for(let t=A;4096!==t;t=g[t])e.push(I[t]);return e}const a=[];i();const s=new Uint8Array(A);let o,r=C(s);for(;257!==r;){if(256===r){for(i(),r=C(s);256===r;)r=C(s);if(257===r)break;if(r>256)throw new Error(`corrupted code at scanline ${r}`);AI(a,E(r)),o=r}else if(r<e){const A=E(r);AI(a,A),Q(o,A[A.length-1]),o=r}else{const A=E(o);if(!A)throw new Error(`Bogus entry. Not in dictionary, ${o} / ${e}, position: ${B}`);AI(a,A),a.push(A[A.length-1]),Q(o,A[A.length-1]),o=r}e+1>=2**t&&(12===t?o=void 0:t++),r=C(s)}return new Uint8Array(a)}var II=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){return gI(A).buffer}}});const eI=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]),tI=4017,BI=799,iI=3406,CI=2276,QI=1567,EI=3784,aI=5793,sI=2896;function oI(A,g){let I=0;const e=[];let t=16;for(;t>0&&!A[t-1];)--t;e.push({children:[],index:0});let B,i=e[0];for(let C=0;C<t;C++){for(let t=0;t<A[C];t++){if(i=e.pop(),!i)throw new Error("buildHuffmanTable: codeLength mismatch");for(i.children[i.index]=g[I];i.index>0;)if(i=e.pop(),!i)throw new Error("buildHuffmanTable: codeLength mismatch");for(i.index++,e.push(i);e.length<=C;)e.push(B={children:[],index:0}),i.children[i.index]=B.children,i=B;I++}C+1<t&&(e.push(B={children:[],index:0}),i.children[i.index]=B.children,i=B)}return e[0].children}function rI(A,g,I,e,t,B,i,C,Q){const{mcusPerLine:E,progressive:a}=I,s=g;let o=g,r=0,n=0;function h(){if(n>0)return n--,r>>n&1;if(r=A[o++],255===r){const g=A[o++];if(g)throw new Error(`unexpected marker: ${(r<<8|g).toString(16)}`)}return n=7,r>>>7}function l(A){let g,I=A;for(;null!==(g=h());){if(I=I[g],"number"==typeof I)return I;if("object"!=typeof I)throw new Error("invalid huffman sequence")}return null}function c(A){let g=A,I=0;for(;g>0;){const A=h();if(null===A)return;I=I<<1|A,--g}return I}function w(A){const g=c(A);if(void 0!==g)return g>=1<<A-1?g:g+(-1<<A)+1}let D=0;let d,y=0;function f(A,g,I,e,t){const B=I%E,i=(I/E|0)*A.v+e,C=B*A.h+t;g(A,A.blocks[i][C])}function u(A,g,I){const e=I/A.blocksPerLine|0,t=I%A.blocksPerLine;g(A,A.blocks[e][t])}const S=e.length;let G,N,F,k,R,L;L=a?0===B?0===C?function(A,g){const I=l(A.huffmanTableDC),e=w(I);if(void 0===e)throw new Error("Unexpected end of data in DC coefficient decoding");const t=0===I?0:e<<Q;A.pred+=t,g[0]=A.pred}:function(A,g){g[0]|=h()<<Q}:0===C?function(A,g){if(D>0)return void D--;let I=B;const e=i;for(;I<=e;){const e=l(A.huffmanTableAC);if(null===e)throw new Error("Unexpected end of data in AC coefficient decoding");const t=15&e,B=e>>4;if(0===t){if(B<15){const A=c(B);if(void 0===A)throw new Error("Unexpected end of data in AC coefficient decoding");D=A+(1<<B)-1;break}I+=16}else{I+=B;const A=eI[I],e=w(t);if(void 0===e)throw new Error("Unexpected end of data in AC coefficient decoding");g[A]=e*(1<<Q),I++}}}:function(A,g){let I=B;const e=i;let t=0;for(;I<=e;){const e=eI[I],B=g[e]<0?-1:1;switch(y){case 0:{const g=l(A.huffmanTableAC);if(null===g)throw new Error("Unexpected end of data in AC coefficient decoding");const I=15&g;if(t=g>>4,0===I)if(t<15){const A=c(t);if(void 0===A)throw new Error("Unexpected end of data in AC coefficient decoding");D=A+(1<<t),y=4}else t=16,y=1;else{if(1!==I)throw new Error("invalid ACn encoding");d=w(I),y=t?2:3}continue}case 1:case 2:g[e]?g[e]+=(h()<<Q)*B:(t--,0===t&&(y=2===y?3:0));break;case 3:g[e]?g[e]+=(h()<<Q)*B:(g[e]=d<<Q,y=0);break;case 4:g[e]&&(g[e]+=(h()<<Q)*B)}I++}4===y&&(D--,0===D&&(y=0))}:function(A,g){const I=l(A.huffmanTableDC),e=0===I?0:w(I);A.pred+=e,g[0]=A.pred;let t=1;for(;t<64;){const I=l(A.huffmanTableAC);if(null===I)throw new Error("Unexpected end of data in AC coefficient decoding");const e=15&I,B=I>>4;if(0===e){if(B<15)break;t+=16}else t+=B,g[eI[t]]=w(e),t++}};let U,m,p=0;m=1===S?e[0].blocksPerLine*e[0].blocksPerColumn:E*I.mcusPerColumn;const Y=t||m;for(;p<m;){for(N=0;N<S;N++)e[N].pred=0;if(D=0,1===S)for(G=e[0],R=0;R<Y;R++)u(G,L,p),p++;else for(R=0;R<Y;R++){for(N=0;N<S;N++){G=e[N];const{h:A,v:g}=G;for(F=0;F<g;F++)for(k=0;k<A;k++)f(G,L,p,F,k)}if(p++,p===m)break}if(n=0,U=A[o]<<8|A[o+1],U<65280)throw new Error("marker was not found");if(!(U>=65488&&U<=65495))break;o+=2}return o-s}function nI(A,g){const I=[],{blocksPerLine:e,blocksPerColumn:t}=g,B=e<<3,i=new Int32Array(64),C=new Uint8Array(64);function Q(A,I,e){const t=g.quantizationTable;let B,i,C,Q,E,a,s,o,r;const n=e;let h;for(h=0;h<64;h++)n[h]=A[h]*t[h];for(h=0;h<8;++h){const A=8*h;0!==n[1+A]||0!==n[2+A]||0!==n[3+A]||0!==n[4+A]||0!==n[5+A]||0!==n[6+A]||0!==n[7+A]?(B=aI*n[0+A]+128>>8,i=aI*n[4+A]+128>>8,C=n[2+A],Q=n[6+A],E=sI*(n[1+A]-n[7+A])+128>>8,o=sI*(n[1+A]+n[7+A])+128>>8,a=n[3+A]<<4,s=n[5+A]<<4,r=B-i+1>>1,B=B+i+1>>1,i=r,r=C*EI+Q*QI+128>>8,C=C*QI-Q*EI+128>>8,Q=r,r=E-s+1>>1,E=E+s+1>>1,s=r,r=o+a+1>>1,a=o-a+1>>1,o=r,r=B-Q+1>>1,B=B+Q+1>>1,Q=r,r=i-C+1>>1,i=i+C+1>>1,C=r,r=E*CI+o*iI+2048>>12,E=E*iI-o*CI+2048>>12,o=r,r=a*BI+s*tI+2048>>12,a=a*tI-s*BI+2048>>12,s=r,n[0+A]=B+o,n[7+A]=B-o,n[1+A]=i+s,n[6+A]=i-s,n[2+A]=C+a,n[5+A]=C-a,n[3+A]=Q+E,n[4+A]=Q-E):(r=aI*n[0+A]+512>>10,n[0+A]=r,n[1+A]=r,n[2+A]=r,n[3+A]=r,n[4+A]=r,n[5+A]=r,n[6+A]=r,n[7+A]=r)}for(h=0;h<8;++h){const A=h;0!==n[8+A]||0!==n[16+A]||0!==n[24+A]||0!==n[32+A]||0!==n[40+A]||0!==n[48+A]||0!==n[56+A]?(B=aI*n[0+A]+2048>>12,i=aI*n[32+A]+2048>>12,C=n[16+A],Q=n[48+A],E=sI*(n[8+A]-n[56+A])+2048>>12,o=sI*(n[8+A]+n[56+A])+2048>>12,a=n[24+A],s=n[40+A],r=B-i+1>>1,B=B+i+1>>1,i=r,r=C*EI+Q*QI+2048>>12,C=C*QI-Q*EI+2048>>12,Q=r,r=E-s+1>>1,E=E+s+1>>1,s=r,r=o+a+1>>1,a=o-a+1>>1,o=r,r=B-Q+1>>1,B=B+Q+1>>1,Q=r,r=i-C+1>>1,i=i+C+1>>1,C=r,r=E*CI+o*iI+2048>>12,E=E*iI-o*CI+2048>>12,o=r,r=a*BI+s*tI+2048>>12,a=a*tI-s*BI+2048>>12,s=r,n[0+A]=B+o,n[56+A]=B-o,n[8+A]=i+s,n[48+A]=i-s,n[16+A]=C+a,n[40+A]=C-a,n[24+A]=Q+E,n[32+A]=Q-E):(r=aI*e[h+0]+8192>>14,n[0+A]=r,n[8+A]=r,n[16+A]=r,n[24+A]=r,n[32+A]=r,n[40+A]=r,n[48+A]=r,n[56+A]=r)}for(h=0;h<64;++h){const A=128+(n[h]+8>>4);I[h]=A<0?0:A>255?255:A}}for(let A=0;A<t;A++){const t=A<<3;for(let A=0;A<8;A++)I.push(new Uint8Array(B));for(let B=0;B<e;B++){Q(g.blocks[A][B],C,i);let e=0;const E=B<<3;for(let A=0;A<8;A++){const g=I[t+A];for(let A=0;A<8;A++)g[E+A]=C[e++]}}}return I}class hI{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.frames=[]}resetFrames(){this.frames=[]}parse(A){let g=0;function I(){const I=A[g]<<8|A[g+1];return g+=2,I}function e(){const e=I(),t=A.subarray(g,g+e-2);return g+=t.length,t}function t(A){let g,I,e=0,t=0;for(I in A.components)A.components.hasOwnProperty(I)&&(g=A.components[I],e<g.h&&(e=g.h),t<g.v&&(t=g.v));const B=Math.ceil(A.samplesPerLine/8/e),i=Math.ceil(A.scanLines/8/t);for(I in A.components)if(A.components.hasOwnProperty(I)){g=A.components[I];const C=Math.ceil(Math.ceil(A.samplesPerLine/8)*g.h/e),Q=Math.ceil(Math.ceil(A.scanLines/8)*g.v/t),E=B*g.h,a=i*g.v,s=[];for(let A=0;A<a;A++){const A=[];for(let g=0;g<E;g++)A.push(new Int32Array(64));s.push(A)}g.blocksPerLine=C,g.blocksPerColumn=Q,g.blocks=s}A.maxH=e,A.maxV=t,A.mcusPerLine=B,A.mcusPerColumn=i}let B=I();if(65496!==B)throw new Error("SOI not found");for(B=I();65497!==B;){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:{const A=e();65504===B&&74===A[0]&&70===A[1]&&73===A[2]&&70===A[3]&&0===A[4]&&(this.jfif={version:{major:A[5],minor:A[6]},densityUnits:A[7],xDensity:A[8]<<8|A[9],yDensity:A[10]<<8|A[11],thumbWidth:A[12],thumbHeight:A[13],thumbData:A.subarray(14,14+3*A[12]*A[13])}),65518===B&&65===A[0]&&100===A[1]&&111===A[2]&&98===A[3]&&101===A[4]&&0===A[5]&&(this.adobe={version:A[6],flags0:A[7]<<8|A[8],flags1:A[9]<<8|A[10],transformCode:A[11]});break}case 65499:{const e=I()+g-2;for(;g<e;){const e=A[g++],t=new Int32Array(64);if(e>>4){if(e>>4!=1)throw new Error("DQT: invalid table spec");for(let A=0;A<64;A++){t[eI[A]]=I()}}else for(let I=0;I<64;I++){t[eI[I]]=A[g++]}this.quantizationTables[15&e]=t}break}case 65472:case 65473:case 65474:{I();const e={extended:65473===B,progressive:65474===B,precision:A[g++],scanLines:I(),samplesPerLine:I(),components:{},componentsOrder:[]},i=A[g++];let C;for(let I=0;I<i;I++){C=A[g];const I=A[g+1]>>4,t=15&A[g+1],B=A[g+2];e.componentsOrder.push(C),e.components[C]={h:I,v:t,quantizationIdx:B},g+=3}t(e),this.frames.push(e);break}case 65476:{const e=I();for(let I=2;I<e;){const e=A[g++],t=new Uint8Array(16);let B=0;for(let I=0;I<16;I++,g++)t[I]=A[g],B+=t[I];const i=new Uint8Array(B);for(let I=0;I<B;I++,g++)i[I]=A[g];I+=17+B,e>>4?this.huffmanTablesAC[15&e]=oI(t,i):this.huffmanTablesDC[15&e]=oI(t,i)}break}case 65501:I(),this.resetInterval=I();break;case 65498:{I();const e=A[g++],t=[],B=this.frames[0];for(let I=0;I<e;I++){const I=B.components[A[g++]],e=A[g++];I.huffmanTableDC=this.huffmanTablesDC[e>>4],I.huffmanTableAC=this.huffmanTablesAC[15&e],t.push(I)}const i=A[g++],C=A[g++],Q=A[g++],E=rI(A,g,B,t,this.resetInterval,i,C,Q>>4,15&Q);g+=E;break}case 65535:255!==A[g]&&g--;break;default:if(255===A[g-3]&&A[g-2]>=192&&A[g-2]<=254){g-=3;break}throw new Error(`unknown JPEG marker ${B.toString(16)}`)}B=I()}}getResult(){const{frames:A}=this;if(0===this.frames.length)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++){const g=this.frames[A].components;for(const A of Object.keys(g))g[A].quantizationTable=this.quantizationTables[g[A].quantizationIdx],delete g[A].quantizationIdx}const g=A[0],{components:I,componentsOrder:e}=g,t=[],B=g.samplesPerLine,i=g.scanLines;for(let A=0;A<e.length;A++){const B=I[e[A]];t.push({lines:nI(0,B),scaleX:B.h/g.maxH,scaleY:B.v/g.maxV})}const C=new Uint8Array(B*i*t.length);let Q=0;for(let A=0;A<i;++A)for(let g=0;g<B;++g)for(let I=0;I<t.length;++I){const e=t[I];C[Q]=e.lines[0|A*e.scaleY][0|g*e.scaleX],++Q}return C}}var lI=Object.freeze({__proto__:null,default:class extends Gg{constructor(A){super(A),this.reader=new hI,A.JPEGTables&&this.reader.parse(A.JPEGTables)}decodeBlock(A){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(A)),this.reader.getResult().buffer}}});
2
- /*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function cI(A){let g=A.length;for(;--g>=0;)A[g]=0}const wI=256,DI=286,dI=30,yI=15,fI=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]),uI=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]),SI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),GI=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),NI=new Array(576);cI(NI);const FI=new Array(60);cI(FI);const kI=new Array(512);cI(kI);const RI=new Array(256);cI(RI);const LI=new Array(29);cI(LI);const UI=new Array(dI);function mI(A,g,I,e,t){this.static_tree=A,this.extra_bits=g,this.extra_base=I,this.elems=e,this.max_length=t,this.has_stree=A&&A.length}let pI,YI,MI;function KI(A,g){this.dyn_tree=A,this.max_code=0,this.stat_desc=g}cI(UI);const bI=A=>A<256?kI[A]:kI[256+(A>>>7)],JI=(A,g)=>{A.pending_buf[A.pending++]=255&g,A.pending_buf[A.pending++]=g>>>8&255},HI=(A,g,I)=>{A.bi_valid>16-I?(A.bi_buf|=g<<A.bi_valid&65535,JI(A,A.bi_buf),A.bi_buf=g>>16-A.bi_valid,A.bi_valid+=I-16):(A.bi_buf|=g<<A.bi_valid&65535,A.bi_valid+=I)},qI=(A,g,I)=>{HI(A,I[2*g],I[2*g+1])},xI=(A,g)=>{let I=0;do{I|=1&A,A>>>=1,I<<=1}while(--g>0);return I>>>1},_I=(A,g,I)=>{const e=new Array(16);let t,B,i=0;for(t=1;t<=yI;t++)i=i+I[t-1]<<1,e[t]=i;for(B=0;B<=g;B++){let g=A[2*B+1];0!==g&&(A[2*B]=xI(e[g]++,g))}},TI=A=>{let g;for(g=0;g<DI;g++)A.dyn_ltree[2*g]=0;for(g=0;g<dI;g++)A.dyn_dtree[2*g]=0;for(g=0;g<19;g++)A.bl_tree[2*g]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},OI=A=>{A.bi_valid>8?JI(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},vI=(A,g,I,e)=>{const t=2*g,B=2*I;return A[t]<A[B]||A[t]===A[B]&&e[g]<=e[I]},PI=(A,g,I)=>{const e=A.heap[I];let t=I<<1;for(;t<=A.heap_len&&(t<A.heap_len&&vI(g,A.heap[t+1],A.heap[t],A.depth)&&t++,!vI(g,e,A.heap[t],A.depth));)A.heap[I]=A.heap[t],I=t,t<<=1;A.heap[I]=e},ZI=(A,g,I)=>{let e,t,B,i,C=0;if(0!==A.sym_next)do{e=255&A.pending_buf[A.sym_buf+C++],e+=(255&A.pending_buf[A.sym_buf+C++])<<8,t=A.pending_buf[A.sym_buf+C++],0===e?qI(A,t,g):(B=RI[t],qI(A,B+wI+1,g),i=fI[B],0!==i&&(t-=LI[B],HI(A,t,i)),e--,B=bI(e),qI(A,B,I),i=uI[B],0!==i&&(e-=UI[B],HI(A,e,i)))}while(C<A.sym_next);qI(A,256,g)},VI=(A,g)=>{const I=g.dyn_tree,e=g.stat_desc.static_tree,t=g.stat_desc.has_stree,B=g.stat_desc.elems;let i,C,Q,E=-1;for(A.heap_len=0,A.heap_max=573,i=0;i<B;i++)0!==I[2*i]?(A.heap[++A.heap_len]=E=i,A.depth[i]=0):I[2*i+1]=0;for(;A.heap_len<2;)Q=A.heap[++A.heap_len]=E<2?++E:0,I[2*Q]=1,A.depth[Q]=0,A.opt_len--,t&&(A.static_len-=e[2*Q+1]);for(g.max_code=E,i=A.heap_len>>1;i>=1;i--)PI(A,I,i);Q=B;do{i=A.heap[1],A.heap[1]=A.heap[A.heap_len--],PI(A,I,1),C=A.heap[1],A.heap[--A.heap_max]=i,A.heap[--A.heap_max]=C,I[2*Q]=I[2*i]+I[2*C],A.depth[Q]=(A.depth[i]>=A.depth[C]?A.depth[i]:A.depth[C])+1,I[2*i+1]=I[2*C+1]=Q,A.heap[1]=Q++,PI(A,I,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],((A,g)=>{const I=g.dyn_tree,e=g.max_code,t=g.stat_desc.static_tree,B=g.stat_desc.has_stree,i=g.stat_desc.extra_bits,C=g.stat_desc.extra_base,Q=g.stat_desc.max_length;let E,a,s,o,r,n,h=0;for(o=0;o<=yI;o++)A.bl_count[o]=0;for(I[2*A.heap[A.heap_max]+1]=0,E=A.heap_max+1;E<573;E++)a=A.heap[E],o=I[2*I[2*a+1]+1]+1,o>Q&&(o=Q,h++),I[2*a+1]=o,a>e||(A.bl_count[o]++,r=0,a>=C&&(r=i[a-C]),n=I[2*a],A.opt_len+=n*(o+r),B&&(A.static_len+=n*(t[2*a+1]+r)));if(0!==h){do{for(o=Q-1;0===A.bl_count[o];)o--;A.bl_count[o]--,A.bl_count[o+1]+=2,A.bl_count[Q]--,h-=2}while(h>0);for(o=Q;0!==o;o--)for(a=A.bl_count[o];0!==a;)s=A.heap[--E],s>e||(I[2*s+1]!==o&&(A.opt_len+=(o-I[2*s+1])*I[2*s],I[2*s+1]=o),a--)}})(A,g),_I(I,E,A.bl_count)},zI=(A,g,I)=>{let e,t,B=-1,i=g[1],C=0,Q=7,E=4;for(0===i&&(Q=138,E=3),g[2*(I+1)+1]=65535,e=0;e<=I;e++)t=i,i=g[2*(e+1)+1],++C<Q&&t===i||(C<E?A.bl_tree[2*t]+=C:0!==t?(t!==B&&A.bl_tree[2*t]++,A.bl_tree[32]++):C<=10?A.bl_tree[34]++:A.bl_tree[36]++,C=0,B=t,0===i?(Q=138,E=3):t===i?(Q=6,E=3):(Q=7,E=4))},jI=(A,g,I)=>{let e,t,B=-1,i=g[1],C=0,Q=7,E=4;for(0===i&&(Q=138,E=3),e=0;e<=I;e++)if(t=i,i=g[2*(e+1)+1],!(++C<Q&&t===i)){if(C<E)do{qI(A,t,A.bl_tree)}while(0!==--C);else 0!==t?(t!==B&&(qI(A,t,A.bl_tree),C--),qI(A,16,A.bl_tree),HI(A,C-3,2)):C<=10?(qI(A,17,A.bl_tree),HI(A,C-3,3)):(qI(A,18,A.bl_tree),HI(A,C-11,7));C=0,B=t,0===i?(Q=138,E=3):t===i?(Q=6,E=3):(Q=7,E=4)}};let WI=!1;const XI=(A,g,I,e)=>{HI(A,0+(e?1:0),3),OI(A),JI(A,I),JI(A,~I),I&&A.pending_buf.set(A.window.subarray(g,g+I),A.pending),A.pending+=I};var $I=(A,g,I,e)=>{let t,B,i=0;A.level>0?(2===A.strm.data_type&&(A.strm.data_type=(A=>{let g,I=4093624447;for(g=0;g<=31;g++,I>>>=1)if(1&I&&0!==A.dyn_ltree[2*g])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(g=32;g<wI;g++)if(0!==A.dyn_ltree[2*g])return 1;return 0})(A)),VI(A,A.l_desc),VI(A,A.d_desc),i=(A=>{let g;for(zI(A,A.dyn_ltree,A.l_desc.max_code),zI(A,A.dyn_dtree,A.d_desc.max_code),VI(A,A.bl_desc),g=18;g>=3&&0===A.bl_tree[2*GI[g]+1];g--);return A.opt_len+=3*(g+1)+5+5+4,g})(A),t=A.opt_len+3+7>>>3,B=A.static_len+3+7>>>3,B<=t&&(t=B)):t=B=I+5,I+4<=t&&-1!==g?XI(A,g,I,e):4===A.strategy||B===t?(HI(A,2+(e?1:0),3),ZI(A,NI,FI)):(HI(A,4+(e?1:0),3),((A,g,I,e)=>{let t;for(HI(A,g-257,5),HI(A,I-1,5),HI(A,e-4,4),t=0;t<e;t++)HI(A,A.bl_tree[2*GI[t]+1],3);jI(A,A.dyn_ltree,g-1),jI(A,A.dyn_dtree,I-1)})(A,A.l_desc.max_code+1,A.d_desc.max_code+1,i+1),ZI(A,A.dyn_ltree,A.dyn_dtree)),TI(A),e&&OI(A)},Ae={_tr_init:A=>{WI||((()=>{let A,g,I,e,t;const B=new Array(16);for(I=0,e=0;e<28;e++)for(LI[e]=I,A=0;A<1<<fI[e];A++)RI[I++]=e;for(RI[I-1]=e,t=0,e=0;e<16;e++)for(UI[e]=t,A=0;A<1<<uI[e];A++)kI[t++]=e;for(t>>=7;e<dI;e++)for(UI[e]=t<<7,A=0;A<1<<uI[e]-7;A++)kI[256+t++]=e;for(g=0;g<=yI;g++)B[g]=0;for(A=0;A<=143;)NI[2*A+1]=8,A++,B[8]++;for(;A<=255;)NI[2*A+1]=9,A++,B[9]++;for(;A<=279;)NI[2*A+1]=7,A++,B[7]++;for(;A<=287;)NI[2*A+1]=8,A++,B[8]++;for(_I(NI,287,B),A=0;A<dI;A++)FI[2*A+1]=5,FI[2*A]=xI(A,5);pI=new mI(NI,fI,257,DI,yI),YI=new mI(FI,uI,0,dI,yI),MI=new mI(new Array(0),SI,0,19,7)})(),WI=!0),A.l_desc=new KI(A.dyn_ltree,pI),A.d_desc=new KI(A.dyn_dtree,YI),A.bl_desc=new KI(A.bl_tree,MI),A.bi_buf=0,A.bi_valid=0,TI(A)},_tr_stored_block:XI,_tr_flush_block:$I,_tr_tally:(A,g,I)=>(A.pending_buf[A.sym_buf+A.sym_next++]=g,A.pending_buf[A.sym_buf+A.sym_next++]=g>>8,A.pending_buf[A.sym_buf+A.sym_next++]=I,0===g?A.dyn_ltree[2*I]++:(A.matches++,g--,A.dyn_ltree[2*(RI[I]+wI+1)]++,A.dyn_dtree[2*bI(g)]++),A.sym_next===A.sym_end),_tr_align:A=>{HI(A,2,3),qI(A,256,NI),(A=>{16===A.bi_valid?(JI(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)})(A)}};var ge=(A,g,I,e)=>{let t=65535&A,B=A>>>16&65535,i=0;for(;0!==I;){i=I>2e3?2e3:I,I-=i;do{t=t+g[e++]|0,B=B+t|0}while(--i);t%=65521,B%=65521}return t|B<<16};const Ie=new Uint32Array((()=>{let A,g=[];for(var I=0;I<256;I++){A=I;for(var e=0;e<8;e++)A=1&A?3988292384^A>>>1:A>>>1;g[I]=A}return g})());var ee=(A,g,I,e)=>{const t=Ie,B=e+I;A^=-1;for(let I=e;I<B;I++)A=A>>>8^t[255&(A^g[I])];return-1^A},te={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"},Be={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};const{_tr_init:ie,_tr_stored_block:Ce,_tr_flush_block:Qe,_tr_tally:Ee,_tr_align:ae}=Ae,{Z_NO_FLUSH:se,Z_PARTIAL_FLUSH:oe,Z_FULL_FLUSH:re,Z_FINISH:ne,Z_BLOCK:he,Z_OK:le,Z_STREAM_END:ce,Z_STREAM_ERROR:we,Z_DATA_ERROR:De,Z_BUF_ERROR:de,Z_DEFAULT_COMPRESSION:ye,Z_FILTERED:fe,Z_HUFFMAN_ONLY:ue,Z_RLE:Se,Z_FIXED:Ge,Z_DEFAULT_STRATEGY:Ne,Z_UNKNOWN:Fe,Z_DEFLATED:ke}=Be,Re=258,Le=262,Ue=42,me=113,pe=666,Ye=(A,g)=>(A.msg=te[g],g),Me=A=>2*A-(A>4?9:0),Ke=A=>{let g=A.length;for(;--g>=0;)A[g]=0},be=A=>{let g,I,e,t=A.w_size;g=A.hash_size,e=g;do{I=A.head[--e],A.head[e]=I>=t?I-t:0}while(--g);g=t,e=g;do{I=A.prev[--e],A.prev[e]=I>=t?I-t:0}while(--g)};let Je=(A,g,I)=>(g<<A.hash_shift^I)&A.hash_mask;const He=A=>{const g=A.state;let I=g.pending;I>A.avail_out&&(I=A.avail_out),0!==I&&(A.output.set(g.pending_buf.subarray(g.pending_out,g.pending_out+I),A.next_out),A.next_out+=I,g.pending_out+=I,A.total_out+=I,A.avail_out-=I,g.pending-=I,0===g.pending&&(g.pending_out=0))},qe=(A,g)=>{Qe(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,g),A.block_start=A.strstart,He(A.strm)},xe=(A,g)=>{A.pending_buf[A.pending++]=g},_e=(A,g)=>{A.pending_buf[A.pending++]=g>>>8&255,A.pending_buf[A.pending++]=255&g},Te=(A,g,I,e)=>{let t=A.avail_in;return t>e&&(t=e),0===t?0:(A.avail_in-=t,g.set(A.input.subarray(A.next_in,A.next_in+t),I),1===A.state.wrap?A.adler=ge(A.adler,g,t,I):2===A.state.wrap&&(A.adler=ee(A.adler,g,t,I)),A.next_in+=t,A.total_in+=t,t)},Oe=(A,g)=>{let I,e,t=A.max_chain_length,B=A.strstart,i=A.prev_length,C=A.nice_match;const Q=A.strstart>A.w_size-Le?A.strstart-(A.w_size-Le):0,E=A.window,a=A.w_mask,s=A.prev,o=A.strstart+Re;let r=E[B+i-1],n=E[B+i];A.prev_length>=A.good_match&&(t>>=2),C>A.lookahead&&(C=A.lookahead);do{if(I=g,E[I+i]===n&&E[I+i-1]===r&&E[I]===E[B]&&E[++I]===E[B+1]){B+=2,I++;do{}while(E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&E[++B]===E[++I]&&B<o);if(e=Re-(o-B),B=o-Re,e>i){if(A.match_start=g,i=e,e>=C)break;r=E[B+i-1],n=E[B+i]}}}while((g=s[g&a])>Q&&0!==--t);return i<=A.lookahead?i:A.lookahead},ve=A=>{const g=A.w_size;let I,e,t;do{if(e=A.window_size-A.lookahead-A.strstart,A.strstart>=g+(g-Le)&&(A.window.set(A.window.subarray(g,g+g-e),0),A.match_start-=g,A.strstart-=g,A.block_start-=g,A.insert>A.strstart&&(A.insert=A.strstart),be(A),e+=g),0===A.strm.avail_in)break;if(I=Te(A.strm,A.window,A.strstart+A.lookahead,e),A.lookahead+=I,A.lookahead+A.insert>=3)for(t=A.strstart-A.insert,A.ins_h=A.window[t],A.ins_h=Je(A,A.ins_h,A.window[t+1]);A.insert&&(A.ins_h=Je(A,A.ins_h,A.window[t+3-1]),A.prev[t&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=t,t++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<Le&&0!==A.strm.avail_in)},Pe=(A,g)=>{let I,e,t,B=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,i=0,C=A.strm.avail_in;do{if(I=65535,t=A.bi_valid+42>>3,A.strm.avail_out<t)break;if(t=A.strm.avail_out-t,e=A.strstart-A.block_start,I>e+A.strm.avail_in&&(I=e+A.strm.avail_in),I>t&&(I=t),I<B&&(0===I&&g!==ne||g===se||I!==e+A.strm.avail_in))break;i=g===ne&&I===e+A.strm.avail_in?1:0,Ce(A,0,0,i),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,He(A.strm),e&&(e>I&&(e=I),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+e),A.strm.next_out),A.strm.next_out+=e,A.strm.avail_out-=e,A.strm.total_out+=e,A.block_start+=e,I-=e),I&&(Te(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(0===i);return C-=A.strm.avail_in,C&&(C>=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<=C&&(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-C,A.strm.next_in),A.strstart),A.strstart+=C,A.insert+=C>A.w_size-A.insert?A.w_size-A.insert:C),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),i?4:g!==se&&g!==ne&&0===A.strm.avail_in&&A.strstart===A.block_start?2:(t=A.window_size-A.strstart,A.strm.avail_in>t&&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++,t+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),t>A.strm.avail_in&&(t=A.strm.avail_in),t&&(Te(A.strm,A.window,A.strstart,t),A.strstart+=t,A.insert+=t>A.w_size-A.insert?A.w_size-A.insert:t),A.high_water<A.strstart&&(A.high_water=A.strstart),t=A.bi_valid+42>>3,t=A.pending_buf_size-t>65535?65535:A.pending_buf_size-t,B=t>A.w_size?A.w_size:t,e=A.strstart-A.block_start,(e>=B||(e||g===ne)&&g!==se&&0===A.strm.avail_in&&e<=t)&&(I=e>t?t:e,i=g===ne&&0===A.strm.avail_in&&I===e?1:0,Ce(A,A.block_start,I,i),A.block_start+=I,He(A.strm)),i?3:1)},Ze=(A,g)=>{let I,e;for(;;){if(A.lookahead<Le){if(ve(A),A.lookahead<Le&&g===se)return 1;if(0===A.lookahead)break}if(I=0,A.lookahead>=3&&(A.ins_h=Je(A,A.ins_h,A.window[A.strstart+3-1]),I=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==I&&A.strstart-I<=A.w_size-Le&&(A.match_length=Oe(A,I)),A.match_length>=3)if(e=Ee(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=Je(A,A.ins_h,A.window[A.strstart+3-1]),I=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=Je(A,A.ins_h,A.window[A.strstart+1]);else e=Ee(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(e&&(qe(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,g===ne?(qe(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(qe(A,!1),0===A.strm.avail_out)?1:2},Ve=(A,g)=>{let I,e,t;for(;;){if(A.lookahead<Le){if(ve(A),A.lookahead<Le&&g===se)return 1;if(0===A.lookahead)break}if(I=0,A.lookahead>=3&&(A.ins_h=Je(A,A.ins_h,A.window[A.strstart+3-1]),I=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=2,0!==I&&A.prev_length<A.max_lazy_match&&A.strstart-I<=A.w_size-Le&&(A.match_length=Oe(A,I),A.match_length<=5&&(A.strategy===fe||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){t=A.strstart+A.lookahead-3,e=Ee(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=t&&(A.ins_h=Je(A,A.ins_h,A.window[A.strstart+3-1]),I=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,e&&(qe(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if(e=Ee(A,0,A.window[A.strstart-1]),e&&qe(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(e=Ee(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,g===ne?(qe(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(qe(A,!1),0===A.strm.avail_out)?1:2};function ze(A,g,I,e,t){this.good_length=A,this.max_lazy=g,this.nice_length=I,this.max_chain=e,this.func=t}const je=[new ze(0,0,0,0,Pe),new ze(4,4,8,4,Ze),new ze(4,5,16,8,Ze),new ze(4,6,32,32,Ze),new ze(4,4,16,16,Ve),new ze(8,16,32,32,Ve),new ze(8,16,128,128,Ve),new ze(8,32,128,256,Ve),new ze(32,128,258,1024,Ve),new ze(32,258,258,4096,Ve)];function We(){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=ke,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(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),Ke(this.dyn_ltree),Ke(this.dyn_dtree),Ke(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),Ke(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),Ke(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}const Xe=A=>{if(!A)return 1;const g=A.state;return!g||g.strm!==A||g.status!==Ue&&57!==g.status&&69!==g.status&&73!==g.status&&91!==g.status&&103!==g.status&&g.status!==me&&g.status!==pe?1:0},$e=A=>{if(Xe(A))return Ye(A,we);A.total_in=A.total_out=0,A.data_type=Fe;const g=A.state;return g.pending=0,g.pending_out=0,g.wrap<0&&(g.wrap=-g.wrap),g.status=2===g.wrap?57:g.wrap?Ue:me,A.adler=2===g.wrap?0:1,g.last_flush=-2,ie(g),le},At=A=>{const g=$e(A);var I;return g===le&&((I=A.state).window_size=2*I.w_size,Ke(I.head),I.max_lazy_match=je[I.level].max_lazy,I.good_match=je[I.level].good_length,I.nice_match=je[I.level].nice_length,I.max_chain_length=je[I.level].max_chain,I.strstart=0,I.block_start=0,I.lookahead=0,I.insert=0,I.match_length=I.prev_length=2,I.match_available=0,I.ins_h=0),g},gt=(A,g,I,e,t,B)=>{if(!A)return we;let i=1;if(g===ye&&(g=6),e<0?(i=0,e=-e):e>15&&(i=2,e-=16),t<1||t>9||I!==ke||e<8||e>15||g<0||g>9||B<0||B>Ge||8===e&&1!==i)return Ye(A,we);8===e&&(e=9);const C=new We;return A.state=C,C.strm=A,C.status=Ue,C.wrap=i,C.gzhead=null,C.w_bits=e,C.w_size=1<<C.w_bits,C.w_mask=C.w_size-1,C.hash_bits=t+7,C.hash_size=1<<C.hash_bits,C.hash_mask=C.hash_size-1,C.hash_shift=~~((C.hash_bits+3-1)/3),C.window=new Uint8Array(2*C.w_size),C.head=new Uint16Array(C.hash_size),C.prev=new Uint16Array(C.w_size),C.lit_bufsize=1<<t+6,C.pending_buf_size=4*C.lit_bufsize,C.pending_buf=new Uint8Array(C.pending_buf_size),C.sym_buf=C.lit_bufsize,C.sym_end=3*(C.lit_bufsize-1),C.level=g,C.strategy=B,C.method=I,At(A)};var It={deflateInit:(A,g)=>gt(A,g,ke,15,8,Ne),deflateInit2:gt,deflateReset:At,deflateResetKeep:$e,deflateSetHeader:(A,g)=>Xe(A)||2!==A.state.wrap?we:(A.state.gzhead=g,le),deflate:(A,g)=>{if(Xe(A)||g>he||g<0)return A?Ye(A,we):we;const I=A.state;if(!A.output||0!==A.avail_in&&!A.input||I.status===pe&&g!==ne)return Ye(A,0===A.avail_out?de:we);const e=I.last_flush;if(I.last_flush=g,0!==I.pending){if(He(A),0===A.avail_out)return I.last_flush=-1,le}else if(0===A.avail_in&&Me(g)<=Me(e)&&g!==ne)return Ye(A,de);if(I.status===pe&&0!==A.avail_in)return Ye(A,de);if(I.status===Ue&&0===I.wrap&&(I.status=me),I.status===Ue){let g=ke+(I.w_bits-8<<4)<<8,e=-1;if(e=I.strategy>=ue||I.level<2?0:I.level<6?1:6===I.level?2:3,g|=e<<6,0!==I.strstart&&(g|=32),g+=31-g%31,_e(I,g),0!==I.strstart&&(_e(I,A.adler>>>16),_e(I,65535&A.adler)),A.adler=1,I.status=me,He(A),0!==I.pending)return I.last_flush=-1,le}if(57===I.status)if(A.adler=0,xe(I,31),xe(I,139),xe(I,8),I.gzhead)xe(I,(I.gzhead.text?1:0)+(I.gzhead.hcrc?2:0)+(I.gzhead.extra?4:0)+(I.gzhead.name?8:0)+(I.gzhead.comment?16:0)),xe(I,255&I.gzhead.time),xe(I,I.gzhead.time>>8&255),xe(I,I.gzhead.time>>16&255),xe(I,I.gzhead.time>>24&255),xe(I,9===I.level?2:I.strategy>=ue||I.level<2?4:0),xe(I,255&I.gzhead.os),I.gzhead.extra&&I.gzhead.extra.length&&(xe(I,255&I.gzhead.extra.length),xe(I,I.gzhead.extra.length>>8&255)),I.gzhead.hcrc&&(A.adler=ee(A.adler,I.pending_buf,I.pending,0)),I.gzindex=0,I.status=69;else if(xe(I,0),xe(I,0),xe(I,0),xe(I,0),xe(I,0),xe(I,9===I.level?2:I.strategy>=ue||I.level<2?4:0),xe(I,3),I.status=me,He(A),0!==I.pending)return I.last_flush=-1,le;if(69===I.status){if(I.gzhead.extra){let g=I.pending,e=(65535&I.gzhead.extra.length)-I.gzindex;for(;I.pending+e>I.pending_buf_size;){let t=I.pending_buf_size-I.pending;if(I.pending_buf.set(I.gzhead.extra.subarray(I.gzindex,I.gzindex+t),I.pending),I.pending=I.pending_buf_size,I.gzhead.hcrc&&I.pending>g&&(A.adler=ee(A.adler,I.pending_buf,I.pending-g,g)),I.gzindex+=t,He(A),0!==I.pending)return I.last_flush=-1,le;g=0,e-=t}let t=new Uint8Array(I.gzhead.extra);I.pending_buf.set(t.subarray(I.gzindex,I.gzindex+e),I.pending),I.pending+=e,I.gzhead.hcrc&&I.pending>g&&(A.adler=ee(A.adler,I.pending_buf,I.pending-g,g)),I.gzindex=0}I.status=73}if(73===I.status){if(I.gzhead.name){let g,e=I.pending;do{if(I.pending===I.pending_buf_size){if(I.gzhead.hcrc&&I.pending>e&&(A.adler=ee(A.adler,I.pending_buf,I.pending-e,e)),He(A),0!==I.pending)return I.last_flush=-1,le;e=0}g=I.gzindex<I.gzhead.name.length?255&I.gzhead.name.charCodeAt(I.gzindex++):0,xe(I,g)}while(0!==g);I.gzhead.hcrc&&I.pending>e&&(A.adler=ee(A.adler,I.pending_buf,I.pending-e,e)),I.gzindex=0}I.status=91}if(91===I.status){if(I.gzhead.comment){let g,e=I.pending;do{if(I.pending===I.pending_buf_size){if(I.gzhead.hcrc&&I.pending>e&&(A.adler=ee(A.adler,I.pending_buf,I.pending-e,e)),He(A),0!==I.pending)return I.last_flush=-1,le;e=0}g=I.gzindex<I.gzhead.comment.length?255&I.gzhead.comment.charCodeAt(I.gzindex++):0,xe(I,g)}while(0!==g);I.gzhead.hcrc&&I.pending>e&&(A.adler=ee(A.adler,I.pending_buf,I.pending-e,e))}I.status=103}if(103===I.status){if(I.gzhead.hcrc){if(I.pending+2>I.pending_buf_size&&(He(A),0!==I.pending))return I.last_flush=-1,le;xe(I,255&A.adler),xe(I,A.adler>>8&255),A.adler=0}if(I.status=me,He(A),0!==I.pending)return I.last_flush=-1,le}if(0!==A.avail_in||0!==I.lookahead||g!==se&&I.status!==pe){let e=0===I.level?Pe(I,g):I.strategy===ue?((A,g)=>{let I;for(;;){if(0===A.lookahead&&(ve(A),0===A.lookahead)){if(g===se)return 1;break}if(A.match_length=0,I=Ee(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,I&&(qe(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,g===ne?(qe(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(qe(A,!1),0===A.strm.avail_out)?1:2})(I,g):I.strategy===Se?((A,g)=>{let I,e,t,B;const i=A.window;for(;;){if(A.lookahead<=Re){if(ve(A),A.lookahead<=Re&&g===se)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(t=A.strstart-1,e=i[t],e===i[++t]&&e===i[++t]&&e===i[++t])){B=A.strstart+Re;do{}while(e===i[++t]&&e===i[++t]&&e===i[++t]&&e===i[++t]&&e===i[++t]&&e===i[++t]&&e===i[++t]&&e===i[++t]&&t<B);A.match_length=Re-(B-t),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(I=Ee(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(I=Ee(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),I&&(qe(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,g===ne?(qe(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(qe(A,!1),0===A.strm.avail_out)?1:2})(I,g):je[I.level].func(I,g);if(3!==e&&4!==e||(I.status=pe),1===e||3===e)return 0===A.avail_out&&(I.last_flush=-1),le;if(2===e&&(g===oe?ae(I):g!==he&&(Ce(I,0,0,!1),g===re&&(Ke(I.head),0===I.lookahead&&(I.strstart=0,I.block_start=0,I.insert=0))),He(A),0===A.avail_out))return I.last_flush=-1,le}return g!==ne?le:I.wrap<=0?ce:(2===I.wrap?(xe(I,255&A.adler),xe(I,A.adler>>8&255),xe(I,A.adler>>16&255),xe(I,A.adler>>24&255),xe(I,255&A.total_in),xe(I,A.total_in>>8&255),xe(I,A.total_in>>16&255),xe(I,A.total_in>>24&255)):(_e(I,A.adler>>>16),_e(I,65535&A.adler)),He(A),I.wrap>0&&(I.wrap=-I.wrap),0!==I.pending?le:ce)},deflateEnd:A=>{if(Xe(A))return we;const g=A.state.status;return A.state=null,g===me?Ye(A,De):le},deflateSetDictionary:(A,g)=>{let I=g.length;if(Xe(A))return we;const e=A.state,t=e.wrap;if(2===t||1===t&&e.status!==Ue||e.lookahead)return we;if(1===t&&(A.adler=ge(A.adler,g,I,0)),e.wrap=0,I>=e.w_size){0===t&&(Ke(e.head),e.strstart=0,e.block_start=0,e.insert=0);let A=new Uint8Array(e.w_size);A.set(g.subarray(I-e.w_size,I),0),g=A,I=e.w_size}const B=A.avail_in,i=A.next_in,C=A.input;for(A.avail_in=I,A.next_in=0,A.input=g,ve(e);e.lookahead>=3;){let A=e.strstart,g=e.lookahead-2;do{e.ins_h=Je(e,e.ins_h,e.window[A+3-1]),e.prev[A&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=A,A++}while(--g);e.strstart=A,e.lookahead=2,ve(e)}return e.strstart+=e.lookahead,e.block_start=e.strstart,e.insert=e.lookahead,e.lookahead=0,e.match_length=e.prev_length=2,e.match_available=0,A.next_in=i,A.input=C,A.avail_in=B,e.wrap=t,le},deflateInfo:"pako deflate (from Nodeca project)"};const et=(A,g)=>Object.prototype.hasOwnProperty.call(A,g);var tt=function(A){const g=Array.prototype.slice.call(arguments,1);for(;g.length;){const I=g.shift();if(I){if("object"!=typeof I)throw new TypeError(I+"must be non-object");for(const g in I)et(I,g)&&(A[g]=I[g])}}return A},Bt=A=>{let g=0;for(let I=0,e=A.length;I<e;I++)g+=A[I].length;const I=new Uint8Array(g);for(let g=0,e=0,t=A.length;g<t;g++){let t=A[g];I.set(t,e),e+=t.length}return I};let it=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){it=!1}const Ct=new Uint8Array(256);for(let A=0;A<256;A++)Ct[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;Ct[254]=Ct[254]=1;var Qt=A=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let g,I,e,t,B,i=A.length,C=0;for(t=0;t<i;t++)I=A.charCodeAt(t),55296==(64512&I)&&t+1<i&&(e=A.charCodeAt(t+1),56320==(64512&e)&&(I=65536+(I-55296<<10)+(e-56320),t++)),C+=I<128?1:I<2048?2:I<65536?3:4;for(g=new Uint8Array(C),B=0,t=0;B<C;t++)I=A.charCodeAt(t),55296==(64512&I)&&t+1<i&&(e=A.charCodeAt(t+1),56320==(64512&e)&&(I=65536+(I-55296<<10)+(e-56320),t++)),I<128?g[B++]=I:I<2048?(g[B++]=192|I>>>6,g[B++]=128|63&I):I<65536?(g[B++]=224|I>>>12,g[B++]=128|I>>>6&63,g[B++]=128|63&I):(g[B++]=240|I>>>18,g[B++]=128|I>>>12&63,g[B++]=128|I>>>6&63,g[B++]=128|63&I);return g},Et=(A,g)=>{const I=g||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,g));let e,t;const B=new Array(2*I);for(t=0,e=0;e<I;){let g=A[e++];if(g<128){B[t++]=g;continue}let i=Ct[g];if(i>4)B[t++]=65533,e+=i-1;else{for(g&=2===i?31:3===i?15:7;i>1&&e<I;)g=g<<6|63&A[e++],i--;i>1?B[t++]=65533:g<65536?B[t++]=g:(g-=65536,B[t++]=55296|g>>10&1023,B[t++]=56320|1023&g)}}return((A,g)=>{if(g<65534&&A.subarray&&it)return String.fromCharCode.apply(null,A.length===g?A:A.subarray(0,g));let I="";for(let e=0;e<g;e++)I+=String.fromCharCode(A[e]);return I})(B,t)},at=(A,g)=>{(g=g||A.length)>A.length&&(g=A.length);let I=g-1;for(;I>=0&&128==(192&A[I]);)I--;return I<0||0===I?g:I+Ct[A[I]]>g?I:g};var st=function(){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};const ot=Object.prototype.toString,{Z_NO_FLUSH:rt,Z_SYNC_FLUSH:nt,Z_FULL_FLUSH:ht,Z_FINISH:lt,Z_OK:ct,Z_STREAM_END:wt,Z_DEFAULT_COMPRESSION:Dt,Z_DEFAULT_STRATEGY:dt,Z_DEFLATED:yt}=Be;function ft(A){this.options=tt({level:Dt,method:yt,chunkSize:16384,windowBits:15,memLevel:8,strategy:dt},A||{});let g=this.options;g.raw&&g.windowBits>0?g.windowBits=-g.windowBits:g.gzip&&g.windowBits>0&&g.windowBits<16&&(g.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new st,this.strm.avail_out=0;let I=It.deflateInit2(this.strm,g.level,g.method,g.windowBits,g.memLevel,g.strategy);if(I!==ct)throw new Error(te[I]);if(g.header&&It.deflateSetHeader(this.strm,g.header),g.dictionary){let A;if(A="string"==typeof g.dictionary?Qt(g.dictionary):"[object ArrayBuffer]"===ot.call(g.dictionary)?new Uint8Array(g.dictionary):g.dictionary,I=It.deflateSetDictionary(this.strm,A),I!==ct)throw new Error(te[I]);this._dict_set=!0}}ft.prototype.push=function(A,g){const I=this.strm,e=this.options.chunkSize;let t,B;if(this.ended)return!1;for(B=g===~~g?g:!0===g?lt:rt,"string"==typeof A?I.input=Qt(A):"[object ArrayBuffer]"===ot.call(A)?I.input=new Uint8Array(A):I.input=A,I.next_in=0,I.avail_in=I.input.length;;)if(0===I.avail_out&&(I.output=new Uint8Array(e),I.next_out=0,I.avail_out=e),(B===nt||B===ht)&&I.avail_out<=6)this.onData(I.output.subarray(0,I.next_out)),I.avail_out=0;else{if(t=It.deflate(I,B),t===wt)return I.next_out>0&&this.onData(I.output.subarray(0,I.next_out)),t=It.deflateEnd(this.strm),this.onEnd(t),this.ended=!0,t===ct;if(0!==I.avail_out){if(B>0&&I.next_out>0)this.onData(I.output.subarray(0,I.next_out)),I.avail_out=0;else if(0===I.avail_in)break}else this.onData(I.output)}return!0},ft.prototype.onData=function(A){this.chunks.push(A)},ft.prototype.onEnd=function(A){A===ct&&(this.result=Bt(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};const ut=16209;var St=function(A,g){let I,e,t,B,i,C,Q,E,a,s,o,r,n,h,l,c,w,D,d,y,f,u,S,G;const N=A.state;I=A.next_in,S=A.input,e=I+(A.avail_in-5),t=A.next_out,G=A.output,B=t-(g-A.avail_out),i=t+(A.avail_out-257),C=N.dmax,Q=N.wsize,E=N.whave,a=N.wnext,s=N.window,o=N.hold,r=N.bits,n=N.lencode,h=N.distcode,l=(1<<N.lenbits)-1,c=(1<<N.distbits)-1;A:do{r<15&&(o+=S[I++]<<r,r+=8,o+=S[I++]<<r,r+=8),w=n[o&l];g:for(;;){if(D=w>>>24,o>>>=D,r-=D,D=w>>>16&255,0===D)G[t++]=65535&w;else{if(!(16&D)){if(64&D){if(32&D){N.mode=16191;break A}A.msg="invalid literal/length code",N.mode=ut;break A}w=n[(65535&w)+(o&(1<<D)-1)];continue g}for(d=65535&w,D&=15,D&&(r<D&&(o+=S[I++]<<r,r+=8),d+=o&(1<<D)-1,o>>>=D,r-=D),r<15&&(o+=S[I++]<<r,r+=8,o+=S[I++]<<r,r+=8),w=h[o&c];;){if(D=w>>>24,o>>>=D,r-=D,D=w>>>16&255,16&D){if(y=65535&w,D&=15,r<D&&(o+=S[I++]<<r,r+=8,r<D&&(o+=S[I++]<<r,r+=8)),y+=o&(1<<D)-1,y>C){A.msg="invalid distance too far back",N.mode=ut;break A}if(o>>>=D,r-=D,D=t-B,y>D){if(D=y-D,D>E&&N.sane){A.msg="invalid distance too far back",N.mode=ut;break A}if(f=0,u=s,0===a){if(f+=Q-D,D<d){d-=D;do{G[t++]=s[f++]}while(--D);f=t-y,u=G}}else if(a<D){if(f+=Q+a-D,D-=a,D<d){d-=D;do{G[t++]=s[f++]}while(--D);if(f=0,a<d){D=a,d-=D;do{G[t++]=s[f++]}while(--D);f=t-y,u=G}}}else if(f+=a-D,D<d){d-=D;do{G[t++]=s[f++]}while(--D);f=t-y,u=G}for(;d>2;)G[t++]=u[f++],G[t++]=u[f++],G[t++]=u[f++],d-=3;d&&(G[t++]=u[f++],d>1&&(G[t++]=u[f++]))}else{f=t-y;do{G[t++]=G[f++],G[t++]=G[f++],G[t++]=G[f++],d-=3}while(d>2);d&&(G[t++]=G[f++],d>1&&(G[t++]=G[f++]))}break}if(64&D){A.msg="invalid distance code",N.mode=ut;break A}w=h[(65535&w)+(o&(1<<D)-1)]}}break}}while(I<e&&t<i);d=r>>3,I-=d,r-=d<<3,o&=(1<<r)-1,A.next_in=I,A.next_out=t,A.avail_in=I<e?e-I+5:5-(I-e),A.avail_out=t<i?i-t+257:257-(t-i),N.hold=o,N.bits=r};const Gt=15,Nt=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]),Ft=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]),kt=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]),Rt=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]);var Lt=(A,g,I,e,t,B,i,C)=>{const Q=C.bits;let E,a,s,o,r,n,h=0,l=0,c=0,w=0,D=0,d=0,y=0,f=0,u=0,S=0,G=null;const N=new Uint16Array(16),F=new Uint16Array(16);let k,R,L,U=null;for(h=0;h<=Gt;h++)N[h]=0;for(l=0;l<e;l++)N[g[I+l]]++;for(D=Q,w=Gt;w>=1&&0===N[w];w--);if(D>w&&(D=w),0===w)return t[B++]=20971520,t[B++]=20971520,C.bits=1,0;for(c=1;c<w&&0===N[c];c++);for(D<c&&(D=c),f=1,h=1;h<=Gt;h++)if(f<<=1,f-=N[h],f<0)return-1;if(f>0&&(0===A||1!==w))return-1;for(F[1]=0,h=1;h<Gt;h++)F[h+1]=F[h]+N[h];for(l=0;l<e;l++)0!==g[I+l]&&(i[F[g[I+l]]++]=l);if(0===A?(G=U=i,n=20):1===A?(G=Nt,U=Ft,n=257):(G=kt,U=Rt,n=0),S=0,l=0,h=c,r=B,d=D,y=0,s=-1,u=1<<D,o=u-1,1===A&&u>852||2===A&&u>592)return 1;for(;;){k=h-y,i[l]+1<n?(R=0,L=i[l]):i[l]>=n?(R=U[i[l]-n],L=G[i[l]-n]):(R=96,L=0),E=1<<h-y,a=1<<d,c=a;do{a-=E,t[r+(S>>y)+a]=k<<24|R<<16|L}while(0!==a);for(E=1<<h-1;S&E;)E>>=1;if(0!==E?(S&=E-1,S+=E):S=0,l++,0===--N[h]){if(h===w)break;h=g[I+i[l]]}if(h>D&&(S&o)!==s){for(0===y&&(y=D),r+=c,d=h-y,f=1<<d;d+y<w&&(f-=N[d+y],!(f<=0));)d++,f<<=1;if(u+=1<<d,1===A&&u>852||2===A&&u>592)return 1;s=S&o,t[s]=D<<24|d<<16|r-B}}return 0!==S&&(t[r+S]=h-y<<24|64<<16),C.bits=D,0};const{Z_FINISH:Ut,Z_BLOCK:mt,Z_TREES:pt,Z_OK:Yt,Z_STREAM_END:Mt,Z_NEED_DICT:Kt,Z_STREAM_ERROR:bt,Z_DATA_ERROR:Jt,Z_MEM_ERROR:Ht,Z_BUF_ERROR:qt,Z_DEFLATED:xt}=Be,_t=16180,Tt=16190,Ot=16191,vt=16192,Pt=16194,Zt=16199,Vt=16200,zt=16206,jt=16209,Wt=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function Xt(){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}const $t=A=>{if(!A)return 1;const g=A.state;return!g||g.strm!==A||g.mode<_t||g.mode>16211?1:0},AB=A=>{if($t(A))return bt;const g=A.state;return A.total_in=A.total_out=g.total=0,A.msg="",g.wrap&&(A.adler=1&g.wrap),g.mode=_t,g.last=0,g.havedict=0,g.flags=-1,g.dmax=32768,g.head=null,g.hold=0,g.bits=0,g.lencode=g.lendyn=new Int32Array(852),g.distcode=g.distdyn=new Int32Array(592),g.sane=1,g.back=-1,Yt},gB=A=>{if($t(A))return bt;const g=A.state;return g.wsize=0,g.whave=0,g.wnext=0,AB(A)},IB=(A,g)=>{let I;if($t(A))return bt;const e=A.state;return g<0?(I=0,g=-g):(I=5+(g>>4),g<48&&(g&=15)),g&&(g<8||g>15)?bt:(null!==e.window&&e.wbits!==g&&(e.window=null),e.wrap=I,e.wbits=g,gB(A))},eB=(A,g)=>{if(!A)return bt;const I=new Xt;A.state=I,I.strm=A,I.window=null,I.mode=_t;const e=IB(A,g);return e!==Yt&&(A.state=null),e};let tB,BB,iB=!0;const CB=A=>{if(iB){tB=new Int32Array(512),BB=new Int32Array(32);let g=0;for(;g<144;)A.lens[g++]=8;for(;g<256;)A.lens[g++]=9;for(;g<280;)A.lens[g++]=7;for(;g<288;)A.lens[g++]=8;for(Lt(1,A.lens,0,288,tB,0,A.work,{bits:9}),g=0;g<32;)A.lens[g++]=5;Lt(2,A.lens,0,32,BB,0,A.work,{bits:5}),iB=!1}A.lencode=tB,A.lenbits=9,A.distcode=BB,A.distbits=5},QB=(A,g,I,e)=>{let t;const B=A.state;return null===B.window&&(B.wsize=1<<B.wbits,B.wnext=0,B.whave=0,B.window=new Uint8Array(B.wsize)),e>=B.wsize?(B.window.set(g.subarray(I-B.wsize,I),0),B.wnext=0,B.whave=B.wsize):(t=B.wsize-B.wnext,t>e&&(t=e),B.window.set(g.subarray(I-e,I-e+t),B.wnext),(e-=t)?(B.window.set(g.subarray(I-e,I),0),B.wnext=e,B.whave=B.wsize):(B.wnext+=t,B.wnext===B.wsize&&(B.wnext=0),B.whave<B.wsize&&(B.whave+=t))),0};var EB={inflateReset:gB,inflateReset2:IB,inflateResetKeep:AB,inflateInit:A=>eB(A,15),inflateInit2:eB,inflate:(A,g)=>{let I,e,t,B,i,C,Q,E,a,s,o,r,n,h,l,c,w,D,d,y,f,u,S=0;const G=new Uint8Array(4);let N,F;const k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if($t(A)||!A.output||!A.input&&0!==A.avail_in)return bt;I=A.state,I.mode===Ot&&(I.mode=vt),i=A.next_out,t=A.output,Q=A.avail_out,B=A.next_in,e=A.input,C=A.avail_in,E=I.hold,a=I.bits,s=C,o=Q,u=Yt;A:for(;;)switch(I.mode){case _t:if(0===I.wrap){I.mode=vt;break}for(;a<16;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(2&I.wrap&&35615===E){0===I.wbits&&(I.wbits=15),I.check=0,G[0]=255&E,G[1]=E>>>8&255,I.check=ee(I.check,G,2,0),E=0,a=0,I.mode=16181;break}if(I.head&&(I.head.done=!1),!(1&I.wrap)||(((255&E)<<8)+(E>>8))%31){A.msg="incorrect header check",I.mode=jt;break}if((15&E)!==xt){A.msg="unknown compression method",I.mode=jt;break}if(E>>>=4,a-=4,f=8+(15&E),0===I.wbits&&(I.wbits=f),f>15||f>I.wbits){A.msg="invalid window size",I.mode=jt;break}I.dmax=1<<I.wbits,I.flags=0,A.adler=I.check=1,I.mode=512&E?16189:Ot,E=0,a=0;break;case 16181:for(;a<16;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(I.flags=E,(255&I.flags)!==xt){A.msg="unknown compression method",I.mode=jt;break}if(57344&I.flags){A.msg="unknown header flags set",I.mode=jt;break}I.head&&(I.head.text=E>>8&1),512&I.flags&&4&I.wrap&&(G[0]=255&E,G[1]=E>>>8&255,I.check=ee(I.check,G,2,0)),E=0,a=0,I.mode=16182;case 16182:for(;a<32;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.head&&(I.head.time=E),512&I.flags&&4&I.wrap&&(G[0]=255&E,G[1]=E>>>8&255,G[2]=E>>>16&255,G[3]=E>>>24&255,I.check=ee(I.check,G,4,0)),E=0,a=0,I.mode=16183;case 16183:for(;a<16;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.head&&(I.head.xflags=255&E,I.head.os=E>>8),512&I.flags&&4&I.wrap&&(G[0]=255&E,G[1]=E>>>8&255,I.check=ee(I.check,G,2,0)),E=0,a=0,I.mode=16184;case 16184:if(1024&I.flags){for(;a<16;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.length=E,I.head&&(I.head.extra_len=E),512&I.flags&&4&I.wrap&&(G[0]=255&E,G[1]=E>>>8&255,I.check=ee(I.check,G,2,0)),E=0,a=0}else I.head&&(I.head.extra=null);I.mode=16185;case 16185:if(1024&I.flags&&(r=I.length,r>C&&(r=C),r&&(I.head&&(f=I.head.extra_len-I.length,I.head.extra||(I.head.extra=new Uint8Array(I.head.extra_len)),I.head.extra.set(e.subarray(B,B+r),f)),512&I.flags&&4&I.wrap&&(I.check=ee(I.check,e,r,B)),C-=r,B+=r,I.length-=r),I.length))break A;I.length=0,I.mode=16186;case 16186:if(2048&I.flags){if(0===C)break A;r=0;do{f=e[B+r++],I.head&&f&&I.length<65536&&(I.head.name+=String.fromCharCode(f))}while(f&&r<C);if(512&I.flags&&4&I.wrap&&(I.check=ee(I.check,e,r,B)),C-=r,B+=r,f)break A}else I.head&&(I.head.name=null);I.length=0,I.mode=16187;case 16187:if(4096&I.flags){if(0===C)break A;r=0;do{f=e[B+r++],I.head&&f&&I.length<65536&&(I.head.comment+=String.fromCharCode(f))}while(f&&r<C);if(512&I.flags&&4&I.wrap&&(I.check=ee(I.check,e,r,B)),C-=r,B+=r,f)break A}else I.head&&(I.head.comment=null);I.mode=16188;case 16188:if(512&I.flags){for(;a<16;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(4&I.wrap&&E!==(65535&I.check)){A.msg="header crc mismatch",I.mode=jt;break}E=0,a=0}I.head&&(I.head.hcrc=I.flags>>9&1,I.head.done=!0),A.adler=I.check=0,I.mode=Ot;break;case 16189:for(;a<32;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}A.adler=I.check=Wt(E),E=0,a=0,I.mode=Tt;case Tt:if(0===I.havedict)return A.next_out=i,A.avail_out=Q,A.next_in=B,A.avail_in=C,I.hold=E,I.bits=a,Kt;A.adler=I.check=1,I.mode=Ot;case Ot:if(g===mt||g===pt)break A;case vt:if(I.last){E>>>=7&a,a-=7&a,I.mode=zt;break}for(;a<3;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}switch(I.last=1&E,E>>>=1,a-=1,3&E){case 0:I.mode=16193;break;case 1:if(CB(I),I.mode=Zt,g===pt){E>>>=2,a-=2;break A}break;case 2:I.mode=16196;break;case 3:A.msg="invalid block type",I.mode=jt}E>>>=2,a-=2;break;case 16193:for(E>>>=7&a,a-=7&a;a<32;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if((65535&E)!=(E>>>16^65535)){A.msg="invalid stored block lengths",I.mode=jt;break}if(I.length=65535&E,E=0,a=0,I.mode=Pt,g===pt)break A;case Pt:I.mode=16195;case 16195:if(r=I.length,r){if(r>C&&(r=C),r>Q&&(r=Q),0===r)break A;t.set(e.subarray(B,B+r),i),C-=r,B+=r,Q-=r,i+=r,I.length-=r;break}I.mode=Ot;break;case 16196:for(;a<14;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(I.nlen=257+(31&E),E>>>=5,a-=5,I.ndist=1+(31&E),E>>>=5,a-=5,I.ncode=4+(15&E),E>>>=4,a-=4,I.nlen>286||I.ndist>30){A.msg="too many length or distance symbols",I.mode=jt;break}I.have=0,I.mode=16197;case 16197:for(;I.have<I.ncode;){for(;a<3;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.lens[k[I.have++]]=7&E,E>>>=3,a-=3}for(;I.have<19;)I.lens[k[I.have++]]=0;if(I.lencode=I.lendyn,I.lenbits=7,N={bits:I.lenbits},u=Lt(0,I.lens,0,19,I.lencode,0,I.work,N),I.lenbits=N.bits,u){A.msg="invalid code lengths set",I.mode=jt;break}I.have=0,I.mode=16198;case 16198:for(;I.have<I.nlen+I.ndist;){for(;S=I.lencode[E&(1<<I.lenbits)-1],l=S>>>24,c=S>>>16&255,w=65535&S,!(l<=a);){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(w<16)E>>>=l,a-=l,I.lens[I.have++]=w;else{if(16===w){for(F=l+2;a<F;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(E>>>=l,a-=l,0===I.have){A.msg="invalid bit length repeat",I.mode=jt;break}f=I.lens[I.have-1],r=3+(3&E),E>>>=2,a-=2}else if(17===w){for(F=l+3;a<F;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}E>>>=l,a-=l,f=0,r=3+(7&E),E>>>=3,a-=3}else{for(F=l+7;a<F;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}E>>>=l,a-=l,f=0,r=11+(127&E),E>>>=7,a-=7}if(I.have+r>I.nlen+I.ndist){A.msg="invalid bit length repeat",I.mode=jt;break}for(;r--;)I.lens[I.have++]=f}}if(I.mode===jt)break;if(0===I.lens[256]){A.msg="invalid code -- missing end-of-block",I.mode=jt;break}if(I.lenbits=9,N={bits:I.lenbits},u=Lt(1,I.lens,0,I.nlen,I.lencode,0,I.work,N),I.lenbits=N.bits,u){A.msg="invalid literal/lengths set",I.mode=jt;break}if(I.distbits=6,I.distcode=I.distdyn,N={bits:I.distbits},u=Lt(2,I.lens,I.nlen,I.ndist,I.distcode,0,I.work,N),I.distbits=N.bits,u){A.msg="invalid distances set",I.mode=jt;break}if(I.mode=Zt,g===pt)break A;case Zt:I.mode=Vt;case Vt:if(C>=6&&Q>=258){A.next_out=i,A.avail_out=Q,A.next_in=B,A.avail_in=C,I.hold=E,I.bits=a,St(A,o),i=A.next_out,t=A.output,Q=A.avail_out,B=A.next_in,e=A.input,C=A.avail_in,E=I.hold,a=I.bits,I.mode===Ot&&(I.back=-1);break}for(I.back=0;S=I.lencode[E&(1<<I.lenbits)-1],l=S>>>24,c=S>>>16&255,w=65535&S,!(l<=a);){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(c&&!(240&c)){for(D=l,d=c,y=w;S=I.lencode[y+((E&(1<<D+d)-1)>>D)],l=S>>>24,c=S>>>16&255,w=65535&S,!(D+l<=a);){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}E>>>=D,a-=D,I.back+=D}if(E>>>=l,a-=l,I.back+=l,I.length=w,0===c){I.mode=16205;break}if(32&c){I.back=-1,I.mode=Ot;break}if(64&c){A.msg="invalid literal/length code",I.mode=jt;break}I.extra=15&c,I.mode=16201;case 16201:if(I.extra){for(F=I.extra;a<F;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.length+=E&(1<<I.extra)-1,E>>>=I.extra,a-=I.extra,I.back+=I.extra}I.was=I.length,I.mode=16202;case 16202:for(;S=I.distcode[E&(1<<I.distbits)-1],l=S>>>24,c=S>>>16&255,w=65535&S,!(l<=a);){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(!(240&c)){for(D=l,d=c,y=w;S=I.distcode[y+((E&(1<<D+d)-1)>>D)],l=S>>>24,c=S>>>16&255,w=65535&S,!(D+l<=a);){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}E>>>=D,a-=D,I.back+=D}if(E>>>=l,a-=l,I.back+=l,64&c){A.msg="invalid distance code",I.mode=jt;break}I.offset=w,I.extra=15&c,I.mode=16203;case 16203:if(I.extra){for(F=I.extra;a<F;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}I.offset+=E&(1<<I.extra)-1,E>>>=I.extra,a-=I.extra,I.back+=I.extra}if(I.offset>I.dmax){A.msg="invalid distance too far back",I.mode=jt;break}I.mode=16204;case 16204:if(0===Q)break A;if(r=o-Q,I.offset>r){if(r=I.offset-r,r>I.whave&&I.sane){A.msg="invalid distance too far back",I.mode=jt;break}r>I.wnext?(r-=I.wnext,n=I.wsize-r):n=I.wnext-r,r>I.length&&(r=I.length),h=I.window}else h=t,n=i-I.offset,r=I.length;r>Q&&(r=Q),Q-=r,I.length-=r;do{t[i++]=h[n++]}while(--r);0===I.length&&(I.mode=Vt);break;case 16205:if(0===Q)break A;t[i++]=I.length,Q--,I.mode=Vt;break;case zt:if(I.wrap){for(;a<32;){if(0===C)break A;C--,E|=e[B++]<<a,a+=8}if(o-=Q,A.total_out+=o,I.total+=o,4&I.wrap&&o&&(A.adler=I.check=I.flags?ee(I.check,t,o,i-o):ge(I.check,t,o,i-o)),o=Q,4&I.wrap&&(I.flags?E:Wt(E))!==I.check){A.msg="incorrect data check",I.mode=jt;break}E=0,a=0}I.mode=16207;case 16207:if(I.wrap&&I.flags){for(;a<32;){if(0===C)break A;C--,E+=e[B++]<<a,a+=8}if(4&I.wrap&&E!==(4294967295&I.total)){A.msg="incorrect length check",I.mode=jt;break}E=0,a=0}I.mode=16208;case 16208:u=Mt;break A;case jt:u=Jt;break A;case 16210:return Ht;default:return bt}return A.next_out=i,A.avail_out=Q,A.next_in=B,A.avail_in=C,I.hold=E,I.bits=a,(I.wsize||o!==A.avail_out&&I.mode<jt&&(I.mode<zt||g!==Ut))&&QB(A,A.output,A.next_out,o-A.avail_out),s-=A.avail_in,o-=A.avail_out,A.total_in+=s,A.total_out+=o,I.total+=o,4&I.wrap&&o&&(A.adler=I.check=I.flags?ee(I.check,t,o,A.next_out-o):ge(I.check,t,o,A.next_out-o)),A.data_type=I.bits+(I.last?64:0)+(I.mode===Ot?128:0)+(I.mode===Zt||I.mode===Pt?256:0),(0===s&&0===o||g===Ut)&&u===Yt&&(u=qt),u},inflateEnd:A=>{if($t(A))return bt;let g=A.state;return g.window&&(g.window=null),A.state=null,Yt},inflateGetHeader:(A,g)=>{if($t(A))return bt;const I=A.state;return 2&I.wrap?(I.head=g,g.done=!1,Yt):bt},inflateSetDictionary:(A,g)=>{const I=g.length;let e,t,B;return $t(A)?bt:(e=A.state,0!==e.wrap&&e.mode!==Tt?bt:e.mode===Tt&&(t=1,t=ge(t,g,I,0),t!==e.check)?Jt:(B=QB(A,g,I,I),B?(e.mode=16210,Ht):(e.havedict=1,Yt)))},inflateInfo:"pako inflate (from Nodeca project)"};var aB=function(){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};const sB=Object.prototype.toString,{Z_NO_FLUSH:oB,Z_FINISH:rB,Z_OK:nB,Z_STREAM_END:hB,Z_NEED_DICT:lB,Z_STREAM_ERROR:cB,Z_DATA_ERROR:wB,Z_MEM_ERROR:DB}=Be;function dB(A){this.options=tt({chunkSize:65536,windowBits:15,to:""},A||{});const g=this.options;g.raw&&g.windowBits>=0&&g.windowBits<16&&(g.windowBits=-g.windowBits,0===g.windowBits&&(g.windowBits=-15)),!(g.windowBits>=0&&g.windowBits<16)||A&&A.windowBits||(g.windowBits+=32),g.windowBits>15&&g.windowBits<48&&(15&g.windowBits||(g.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new st,this.strm.avail_out=0;let I=EB.inflateInit2(this.strm,g.windowBits);if(I!==nB)throw new Error(te[I]);if(this.header=new aB,EB.inflateGetHeader(this.strm,this.header),g.dictionary&&("string"==typeof g.dictionary?g.dictionary=Qt(g.dictionary):"[object ArrayBuffer]"===sB.call(g.dictionary)&&(g.dictionary=new Uint8Array(g.dictionary)),g.raw&&(I=EB.inflateSetDictionary(this.strm,g.dictionary),I!==nB)))throw new Error(te[I])}function yB(A,g){const I=new dB(g);if(I.push(A),I.err)throw I.msg||te[I.err];return I.result}dB.prototype.push=function(A,g){const I=this.strm,e=this.options.chunkSize,t=this.options.dictionary;let B,i,C;if(this.ended)return!1;for(i=g===~~g?g:!0===g?rB:oB,"[object ArrayBuffer]"===sB.call(A)?I.input=new Uint8Array(A):I.input=A,I.next_in=0,I.avail_in=I.input.length;;){for(0===I.avail_out&&(I.output=new Uint8Array(e),I.next_out=0,I.avail_out=e),B=EB.inflate(I,i),B===lB&&t&&(B=EB.inflateSetDictionary(I,t),B===nB?B=EB.inflate(I,i):B===wB&&(B=lB));I.avail_in>0&&B===hB&&I.state.wrap>0&&0!==A[I.next_in];)EB.inflateReset(I),B=EB.inflate(I,i);switch(B){case cB:case wB:case lB:case DB:return this.onEnd(B),this.ended=!0,!1}if(C=I.avail_out,I.next_out&&(0===I.avail_out||B===hB))if("string"===this.options.to){let A=at(I.output,I.next_out),g=I.next_out-A,t=Et(I.output,A);I.next_out=g,I.avail_out=e-g,g&&I.output.set(I.output.subarray(A,A+g),0),this.onData(t)}else this.onData(I.output.length===I.next_out?I.output:I.output.subarray(0,I.next_out));if(B!==nB||0!==C){if(B===hB)return B=EB.inflateEnd(this.strm),this.onEnd(B),this.ended=!0,!0;if(0===I.avail_in)break}}return!0},dB.prototype.onData=function(A){this.chunks.push(A)},dB.prototype.onEnd=function(A){A===nB&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Bt(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var fB={Inflate:dB,inflate:yB,inflateRaw:function(A,g){return(g=g||{}).raw=!0,yB(A,g)},ungzip:yB,constants:Be};const{Inflate:uB,inflate:SB,inflateRaw:GB,ungzip:NB}=fB;var FB=SB;var kB=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){return FB(new Uint8Array(A)).buffer}}});var RB=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){const g=new DataView(A),I=[];for(let e=0;e<A.byteLength;++e){let A=g.getInt8(e);if(A<0){const t=g.getUint8(e+1);A=-A;for(let g=0;g<=A;++g)I.push(t);e+=1}else{for(let t=0;t<=A;++t)I.push(g.getUint8(e+t+1));e+=A+1}}return new Uint8Array(I).buffer}}});function LB(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var UB,mB={exports:{}};UB=mB,
1
+ "use strict";var A=require("@deck.gl/core"),I=require("@deck.gl/geo-layers"),g=require("@deck.gl/layers"),B=require("@deck.gl/extensions"),C=require("chroma-js"),e=require("@loaders.gl/schema"),i=require("@loaders.gl/loader-utils"),Q=require("@deck.gl/mesh-layers");function t(A){return(I,...g)=>s(A,I,g)}function E(A,I){return t(a(A,I).get)}const{apply:s,getOwnPropertyDescriptor:a,getPrototypeOf:o,ownKeys:r}=Reflect,{iterator:n,toStringTag:h}=Symbol,D=Object,{create:l,defineProperty:c}=D,w=Array.prototype[n],y=t(w),d=ArrayBuffer;E(d.prototype,"byteLength");const S="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:null;S&&E(S.prototype,"byteLength");const f=o(Uint8Array);f.from;const u=f.prototype;u[n],t(u.keys),t(u.values),t(u.entries),t(u.set),t(u.reverse),t(u.fill),t(u.copyWithin),t(u.sort),t(u.slice),t(u.subarray),E(u,"buffer"),E(u,"byteOffset"),E(u,"length"),E(u,h);const G=Uint8Array,N=Uint16Array,F=Uint32Array,k=Float32Array,R=o([][n]()),L=t(R.next),U=t(function*(){}().next),Y=o(R),m=t(DataView.prototype.getUint16),p=WeakMap,M=p.prototype,K=t(M.get),J=t(M.set),H=new p,q=l(null,{next:{value:function(){const A=K(H,this);return L(A)}},[n]:{value:function(){return this}}});const b=new p,x=l(Y,{next:{value:function(){const A=K(b,this);return U(A)},writable:!0,configurable:!0}});for(const A of r(R))"next"!==A&&c(x,A,a(R,A));const T=new d(4),O=new k(T),P=new F(T),v=new N(512),V=new G(512);for(let A=0;A<256;++A){const I=A-127;I<-24?(v[A]=0,v[256|A]=32768,V[A]=24,V[256|A]=24):I<-14?(v[A]=1024>>-I-14,v[256|A]=1024>>-I-14|32768,V[A]=-I-1,V[256|A]=-I-1):I<=15?(v[A]=I+15<<10,v[256|A]=I+15<<10|32768,V[A]=13,V[256|A]=13):I<128?(v[A]=31744,v[256|A]=64512,V[A]=24,V[256|A]=24):(v[A]=31744,v[256|A]=64512,V[A]=13,V[256|A]=13)}const Z=new F(2048);for(let A=1;A<1024;++A){let I=A<<13,g=0;for(;!(8388608&I);)I<<=1,g-=8388608;I&=-8388609,g+=947912704,Z[A]=I|g}for(let A=1024;A<2048;++A)Z[A]=939524096+(A-1024<<13);const j=new F(64);for(let A=1;A<31;++A)j[A]=A<<23;j[31]=1199570944,j[32]=2147483648;for(let A=33;A<63;++A)j[A]=2147483648+(A-32<<23);j[63]=3347054592;const W=new N(64);for(let A=1;A<64;++A)32!==A&&(W[A]=1024);function z(A,I,...g){return function(A){const I=A>>10;return P[0]=Z[W[I]+(1023&A)]+j[I],O[0]}(m(A,I,...function(A){if(A[n]===w&&R.next===L)return A;const I=l(q);return J(H,I,y(A)),I}(g)))}function _(A,I,g){const B="object"==typeof A?A.outer:A,C=B.slice(0,B.indexOf(">")+1),e=['"',"'"];for(let A=0;A<e.length;A++){const g=e[A],B=new RegExp(I+"\\="+g+"([^"+g+"]*)"+g).exec(C);if(B)return B[1]}}function X(A,I,g){const B=new RegExp(I).exec(A.slice(g));return B?g+B.index+B[0].length-1:-1}function $(A,I){const g=new RegExp(I,"g"),B=A.match(g);return B?B.length:0}function AA(A,I,g){const B=g&&g.debug||!1,C=!(g&&!1===typeof g.nested),e=g&&g.startIndex||0;B&&console.log("[xml-utils] starting findTagByName with",I," and ",g);const i=function(A,I,g){const B=new RegExp(I).exec(A.slice(g));return B?g+B.index:-1}(A,`<${I}[ \n>/]`,e);if(B&&console.log("[xml-utils] start:",i),-1===i)return;const Q=A.slice(i+I.length);let t=X(Q,"^[^<]*[ /]>",0);const E=-1!==t&&"/"===Q[t-1];if(B&&console.log("[xml-utils] selfClosing:",E),!1===E)if(C){let A=0,g=1,B=0;for(;-1!==(t=X(Q,"[ /]"+I+">",A));){const C=Q.substring(A,t+1);if(g+=$(C,"<"+I+"[ \n\t>]"),B+=$(C,"</"+I+">"),B>=g)break;A=t}}else t=X(Q,"[ /]"+I+">",0);const s=i+I.length+t+1;if(B&&console.log("[xml-utils] end:",s),-1===s)return;const a=A.slice(i,s);let o;return o=E?null:a.slice(a.indexOf(">")+1,a.lastIndexOf("<")),{inner:o,outer:a,start:i,end:s}}const IA=Object.freeze({BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,SBYTE:6,UNDEFINED:7,SSHORT:8,SLONG:9,SRATIONAL:10,FLOAT:11,DOUBLE:12,IFD:13,LONG8:16,SLONG8:17,IFD8:18}),gA=Object.freeze({[IA.BYTE]:1,[IA.ASCII]:1,[IA.SBYTE]:1,[IA.UNDEFINED]:1,[IA.SHORT]:2,[IA.SSHORT]:2,[IA.LONG]:4,[IA.SLONG]:4,[IA.FLOAT]:4,[IA.IFD]:4,[IA.RATIONAL]:8,[IA.SRATIONAL]:8,[IA.DOUBLE]:8,[IA.LONG8]:8,[IA.SLONG8]:8,[IA.IFD8]:8});function BA(A){const I=gA[A];if(void 0===I)throw new RangeError(`Invalid field type: ${A}`);return I}const CA=[{tag:254,name:"NewSubfileType",fieldTypes:IA.LONG},{tag:255,name:"SubfileType",type:IA.SHORT},{tag:256,name:"ImageWidth",type:IA.SHORT},{tag:257,name:"ImageLength",type:IA.SHORT},{tag:258,name:"BitsPerSample",type:IA.SHORT,isArray:!0,eager:!0},{tag:259,name:"Compression",type:IA.SHORT},{tag:262,name:"PhotometricInterpretation",type:IA.SHORT},{tag:263,name:"Threshholding",type:IA.SHORT},{tag:264,name:"CellWidth",type:IA.SHORT},{tag:265,name:"CellLength",type:IA.SHORT},{tag:266,name:"FillOrder",type:IA.SHORT},{tag:269,name:"DocumentName",type:IA.ASCII},{tag:270,name:"ImageDescription",type:IA.ASCII},{tag:271,name:"Make",type:IA.ASCII},{tag:272,name:"Model",type:IA.ASCII},{tag:273,name:"StripOffsets",type:IA.SHORT,isArray:!0},{tag:274,name:"Orientation",type:IA.SHORT},{tag:277,name:"SamplesPerPixel",type:IA.SHORT},{tag:278,name:"RowsPerStrip",type:IA.SHORT},{tag:279,name:"StripByteCounts",type:IA.LONG,isArray:!0},{tag:280,name:"MinSampleValue",type:IA.SHORT,isArray:!0},{tag:281,name:"MaxSampleValue",type:IA.SHORT,isArray:!0},{tag:282,name:"XResolution",type:IA.RATIONAL},{tag:283,name:"YResolution",type:IA.RATIONAL},{tag:284,name:"PlanarConfiguration",fieldTypes:IA.SHORT},{tag:285,name:"PageName",type:IA.ASCII},{tag:286,name:"XPosition",type:IA.RATIONAL},{tag:287,name:"YPosition",type:IA.RATIONAL},{tag:288,name:"FreeOffsets",type:IA.LONG},{tag:289,name:"FreeByteCounts",type:IA.LONG},{tag:290,name:"GrayResponseUnit",type:IA.SHORT},{tag:291,name:"GrayResponseCurve",type:IA.SHORT,isArray:!0},{tag:292,name:"T4Options",type:IA.LONG},{tag:293,name:"T6Options",type:IA.LONG},{tag:296,name:"ResolutionUnit",type:IA.SHORT},{tag:297,name:"PageNumber",type:IA.SHORT,isArray:!0},{tag:301,name:"TransferFunction",type:IA.SHORT,isArray:!0},{tag:305,name:"Software",type:IA.ASCII},{tag:306,name:"DateTime",type:IA.ASCII},{tag:315,name:"Artist",type:IA.ASCII},{tag:316,name:"HostComputer",type:IA.ASCII},{tag:317,name:"Predictor",type:IA.SHORT},{tag:318,name:"WhitePoint",type:IA.RATIONAL,isArray:!0},{tag:319,name:"PrimaryChromaticities",type:IA.RATIONAL,isArray:!0},{tag:320,name:"ColorMap",type:IA.SHORT,isArray:!0},{tag:321,name:"HalftoneHints",type:IA.SHORT,isArray:!0},{tag:322,name:"TileWidth",type:IA.SHORT},{tag:323,name:"TileLength",type:IA.SHORT},{tag:324,name:"TileOffsets",type:IA.LONG,isArray:!0},{tag:325,name:"TileByteCounts",type:IA.SHORT,isArray:!0},{tag:332,name:"InkSet",type:IA.SHORT},{tag:333,name:"InkNames",type:IA.ASCII},{tag:334,name:"NumberOfInks",type:IA.SHORT},{tag:336,name:"DotRange",type:IA.BYTE,isArray:!0},{tag:337,name:"TargetPrinter",type:IA.ASCII},{tag:338,name:"ExtraSamples",type:IA.BYTE,isArray:!0},{tag:339,name:"SampleFormat",type:IA.SHORT,isArray:!0,eager:!0},{tag:340,name:"SMinSampleValue",isArray:!0},{tag:341,name:"SMaxSampleValue",isArray:!0},{tag:342,name:"TransferRange",type:IA.SHORT,isArray:!0},{tag:512,name:"JPEGProc",type:IA.SHORT},{tag:513,name:"JPEGInterchangeFormat",type:IA.LONG},{tag:514,name:"JPEGInterchangeFormatLngth",type:IA.LONG},{tag:515,name:"JPEGRestartInterval",type:IA.SHORT},{tag:517,name:"JPEGLosslessPredictors",type:IA.SHORT,isArray:!0},{tag:518,name:"JPEGPointTransforms",type:IA.SHORT,isArray:!0},{tag:519,name:"JPEGQTables",type:IA.LONG,isArray:!0},{tag:520,name:"JPEGDCTables",type:IA.LONG,isArray:!0},{tag:521,name:"JPEGACTables",type:IA.LONG,isArray:!0},{tag:529,name:"YCbCrCoefficients",type:IA.RATIONAL,isArray:!0},{tag:530,name:"YCbCrSubSampling",type:IA.SHORT,isArray:!0},{tag:531,name:"YCbCrPositioning",type:IA.SHORT},{tag:532,name:"ReferenceBlackWhite",type:IA.LONG,isArray:!0},{tag:33432,name:"Copyright",type:IA.ASCII},{tag:326,name:"BadFaxLines"},{tag:327,name:"CleanFaxData"},{tag:343,name:"ClipPath"},{tag:328,name:"ConsecutiveBadFaxLines"},{tag:433,name:"Decode"},{tag:434,name:"DefaultImageColor"},{tag:346,name:"Indexed"},{tag:347,name:"JPEGTables",isArray:!0,eager:!0},{tag:559,name:"StripRowCounts",isArray:!0},{tag:330,name:"SubIFDs",isArray:!0},{tag:344,name:"XClipPathUnits"},{tag:345,name:"YClipPathUnits"},{tag:37378,name:"ApertureValue"},{tag:40961,name:"ColorSpace"},{tag:36868,name:"DateTimeDigitized"},{tag:36867,name:"DateTimeOriginal"},{tag:34665,name:"Exif IFD",type:IA.LONG},{tag:36864,name:"ExifVersion"},{tag:33434,name:"ExposureTime"},{tag:41728,name:"FileSource"},{tag:37385,name:"Flash"},{tag:40960,name:"FlashpixVersion"},{tag:33437,name:"FNumber"},{tag:42016,name:"ImageUniqueID"},{tag:37384,name:"LightSource"},{tag:37500,name:"MakerNote"},{tag:37377,name:"ShutterSpeedValue"},{tag:37510,name:"UserComment"},{tag:33723,name:"IPTC"},{tag:34412,name:"CZ_LSMINFO"},{tag:34675,name:"ICC Profile"},{tag:700,name:"XMP"},{tag:42112,name:"GDAL_METADATA"},{tag:42113,name:"GDAL_NODATA",type:IA.ASCII},{tag:34377,name:"Photoshop"},{tag:33550,name:"ModelPixelScale",type:IA.DOUBLE,isArray:!0,eager:!0},{tag:33922,name:"ModelTiepoint",type:IA.DOUBLE,isArray:!0,eager:!0},{tag:34264,name:"ModelTransformation",type:IA.DOUBLE,isArray:!0,eager:!0},{tag:34735,name:"GeoKeyDirectory",type:IA.SHORT,isArray:!0,eager:!0},{tag:34736,name:"GeoDoubleParams",type:IA.DOUBLE,isArray:!0,eager:!0},{tag:34737,name:"GeoAsciiParams",type:IA.ASCII,eager:!0},{tag:50674,name:"LercParameters",eager:!0}],eA={},iA={};function QA(A,I,g,B=!1,C=!1){eA[I]=A,iA[A]={tag:A,name:I,type:"string"==typeof g?IA[g]:g,isArray:B,eager:C}}for(const A of CA)QA(A.tag,A.name,A.type,A.isArray,A.eager);function tA(A){return"number"==typeof A?A:eA[A]}const EA=0,sA=1,aA=2,oA=3,rA=5,nA=6,hA=8,DA=0,lA=1,cA=0,wA=1,yA=2,dA=Object.freeze({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"}),SA={};for(const A in dA)dA.hasOwnProperty(A)&&(SA[dA[A]]=parseInt(A,10));const fA=new Map;async function uA(A){const I=!A.hasTag("StripOffsets");return{tileWidth:I?await A.loadValue("TileWidth"):await A.loadValue("ImageWidth"),tileHeight:I?await A.loadValue("TileLength"):await A.loadValue("RowsPerStrip")||await A.loadValue("ImageLength"),planarConfiguration:await A.loadValue("PlanarConfiguration"),bitsPerSample:await A.loadValue("BitsPerSample"),predictor:await A.loadValue("Predictor")||1}}function GA(A,I,g=uA,B=!0){Array.isArray(A)||(A=[A]),A.forEach(A=>{fA.set(A,{importFn:I,decoderParameterFn:g,preferWorker:B})})}const NA=[{cases:[void 0,1],importFn:()=>Promise.resolve().then(function(){return OI}).then(A=>A.default),preferWorker:!1},{cases:5,importFn:()=>Promise.resolve().then(function(){return VI}).then(A=>A.default)},{cases:6,importFn:()=>{throw new Error("old style JPEG compression is not supported.")}},{cases:7,importFn:()=>Promise.resolve().then(function(){return ig}).then(A=>A.default),decoderParameterFn:async A=>({...await uA(A),JPEGTables:await A.loadValue("JPEGTables")})},{cases:[8,32946],importFn:()=>Promise.resolve().then(function(){return fB}).then(A=>A.default)},{cases:32773,importFn:()=>Promise.resolve().then(function(){return uB}).then(A=>A.default)},{cases:34887,importFn:()=>Promise.resolve().then(function(){return JB}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default),decoderParameterFn:async A=>({...await uA(A),LercParameters:await A.loadValue("LercParameters")})},{cases:5e4,importFn:()=>Promise.resolve().then(function(){return vB}).then(async A=>(await A.zstd.init(),A)).then(A=>A.default)},{cases:50001,importFn:()=>Promise.resolve().then(function(){return VB}).then(A=>A.default),decoderParameterFn:async A=>({...await uA(A),samplesPerPixel:await A.loadValue("SamplesPerPixel")||4}),preferWorker:!1}];for(const A of NA){const{cases:I,importFn:g,decoderParameterFn:B,preferWorker:C}=A;GA(I,g,B,C)}function FA(A,I,g,B=1){return new(Object.getPrototypeOf(A).constructor)(I*g*B)}function kA(A,I,g){return(1-g)*A+g*I}function RA(A,I,g,B,C,e="nearest"){switch(e.toLowerCase()){case"nearest":return function(A,I,g,B,C){const e=I/B,i=g/C;return A.map(A=>{const Q=FA(A,B,C);for(let t=0;t<C;++t){const C=Math.min(Math.round(i*t),g-1);for(let g=0;g<B;++g){const i=Math.min(Math.round(e*g),I-1),E=A[C*I+i];Q[t*B+g]=E}}return Q})}(A,I,g,B,C);case"bilinear":case"linear":return function(A,I,g,B,C){const e=I/B,i=g/C;return A.map(A=>{const Q=FA(A,B,C);for(let t=0;t<C;++t){const C=i*t,E=Math.floor(C),s=Math.min(Math.ceil(C),g-1);for(let g=0;g<B;++g){const i=e*g,a=i%1,o=Math.floor(i),r=Math.min(Math.ceil(i),I-1),n=A[E*I+o],h=A[E*I+r],D=A[s*I+o],l=A[s*I+r],c=kA(kA(n,h,a),kA(D,l,a),C%1);Q[t*B+g]=c}}return Q})}(A,I,g,B,C);default:throw new Error(`Unsupported resampling method: '${e}'`)}}function LA(A,I,g,B,C,e,i="nearest"){switch(i.toLowerCase()){case"nearest":return function(A,I,g,B,C,e){const i=I/B,Q=g/C,t=FA(A,B,C,e);for(let E=0;E<C;++E){const C=Math.min(Math.round(Q*E),g-1);for(let g=0;g<B;++g){const Q=Math.min(Math.round(i*g),I-1);for(let i=0;i<e;++i){const s=A[C*I*e+Q*e+i];t[E*B*e+g*e+i]=s}}}return t}(A,I,g,B,C,e);case"bilinear":case"linear":return function(A,I,g,B,C,e){const i=I/B,Q=g/C,t=FA(A,B,C,e);for(let E=0;E<C;++E){const C=Q*E,s=Math.floor(C),a=Math.min(Math.ceil(C),g-1);for(let g=0;g<B;++g){const Q=i*g,o=Q%1,r=Math.floor(Q),n=Math.min(Math.ceil(Q),I-1);for(let i=0;i<e;++i){const Q=A[s*I*e+r*e+i],h=A[s*I*e+n*e+i],D=A[a*I*e+r*e+i],l=A[a*I*e+n*e+i],c=kA(kA(Q,h,o),kA(D,l,o),C%1);t[E*B*e+g*e+i]=c}}}return t}(A,I,g,B,C,e);default:throw new Error(`Unsupported resampling method: '${i}'`)}}function UA(A,I,g){let B=0;for(let C=I;C<g;++C)B+=A[C];return B}function YA(A,I,g){switch(A){case 1:if(I<=8)return new Uint8Array(g);if(I<=16)return new Uint16Array(g);if(I<=32)return new Uint32Array(g);break;case 2:if(8===I)return new Int8Array(g);if(16===I)return new Int16Array(g);if(32===I)return new Int32Array(g);break;case 3:switch(I){case 16:case 32:return new Float32Array(g);case 64:return new Float64Array(g)}}throw Error("Unsupported data format/bitsPerSample")}class mA{constructor(A,I,g,B){this.fileDirectory=A,this.littleEndian=I,this.tiles=g?{}:null,this.isTiled=!A.hasTag("StripOffsets");const C=A.getValue("PlanarConfiguration")??1;if(1!==C&&2!==C)throw new Error("Invalid planar configuration.");this.planarConfiguration=C,this.source=B}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.fileDirectory.parseGeoKeyDirectory()}getWidth(){return this.fileDirectory.getValue("ImageWidth")}getHeight(){return this.fileDirectory.getValue("ImageLength")}getSamplesPerPixel(){return this.fileDirectory.hasTag("SamplesPerPixel")?this.fileDirectory.getValue("SamplesPerPixel"):1}getTileWidth(){return this.isTiled?this.fileDirectory.getValue("TileWidth"):this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.getValue("TileLength"):this.fileDirectory.hasTag("RowsPerStrip")?Math.min(this.fileDirectory.getValue("RowsPerStrip"),this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(A){return this.isTiled||(A+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-A*this.getTileHeight()}getBytesPerPixel(){let A=0;for(let I=0;I<this.fileDirectory.getValue("BitsPerSample").length;++I)A+=this.getSampleByteSize(I);return A}getSampleByteSize(A){const I=this.fileDirectory.getValue("BitsPerSample");if(A>=I.length)throw new RangeError(`Sample index ${A} is out of range.`);return Math.ceil(I[A]/8)}getReaderForSample(A){const I=this.fileDirectory.hasTag("SampleFormat")?this.fileDirectory.getValue("SampleFormat")[A]:1,g=this.fileDirectory.getValue("BitsPerSample")[A];switch(I){case 1:if(g<=8)return DataView.prototype.getUint8;if(g<=16)return DataView.prototype.getUint16;if(g<=32)return DataView.prototype.getUint32;break;case 2:if(g<=8)return DataView.prototype.getInt8;if(g<=16)return DataView.prototype.getInt16;if(g<=32)return DataView.prototype.getInt32;break;case 3:switch(g){case 16:return function(A,I){return z(this,A,I)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(A=0){return this.fileDirectory.hasTag("SampleFormat")?this.fileDirectory.getValue("SampleFormat")[A]:1}getBitsPerSample(A=0){return this.fileDirectory.getValue("BitsPerSample")[A]}getArrayForSample(A,I){return YA(this.getSampleFormat(A),this.getBitsPerSample(A),I)}async getTileOrStrip(A,I,g,B,C){const e=Math.ceil(this.getWidth()/this.getTileWidth()),i=Math.ceil(this.getHeight()/this.getTileHeight());let Q;const{tiles:t}=this;if(1===this.planarConfiguration?Q=I*e+A:2===this.planarConfiguration&&(Q=g*e*i+I*e+A),void 0===Q)throw new Error("Could not determine tile or strip index.");let E,s;if(this.isTiled?(E=await this.fileDirectory.loadValueIndexed("TileOffsets",Q),s=await this.fileDirectory.loadValueIndexed("TileByteCounts",Q)):(E=await this.fileDirectory.loadValueIndexed("StripOffsets",Q),s=await this.fileDirectory.loadValueIndexed("StripByteCounts",Q)),0===s){const B=this.getBlockHeight(I)*this.getTileWidth(),C=2===this.planarConfiguration?this.getSampleByteSize(g):this.getBytesPerPixel(),e=new ArrayBuffer(B*C);return this.getArrayForSample(g,e).fill(this.getGDALNoData()||0),{x:A,y:I,sample:g,data:e}}const a=(await this.source.fetch([{offset:E,length:s}],C))[0];let o;return null!==t&&t[Q]?o=t[Q]:(o=(async()=>{let A=await B.decode(a);const g=this.getSampleFormat(),C=this.getBitsPerSample();return function(A,I){return(1!==A&&2!==A||!(I<=32)||I%8!=0)&&(3!==A||16!==I&&32!==I&&64!==I)}(g,C)&&(A=function(A,I,g,B,C,e,i){const Q=new DataView(A),t=2===g?1:B,E=YA(I,C,2===g?i*e:i*e*B),s=parseInt("1".repeat(C),2);if(1===I){let A;A=1===g?B*C:C;let I=e*A;7&I&&(I=I+7&-8);for(let A=0;A<i;++A){const g=A*I;for(let I=0;I<e;++I){const B=g+I*t*C;for(let g=0;g<t;++g){const i=B+g*C,a=(A*e+I)*t+g,o=Math.floor(i/8),r=i%8;if(r+C<=8)E[a]=Q.getUint8(o)>>8-C-r&s;else if(r+C<=16)E[a]=Q.getUint16(o)>>16-C-r&s;else if(r+C<=24){const A=Q.getUint16(o)<<8|Q.getUint8(o+2);E[a]=A>>24-C-r&s}else E[a]=Q.getUint32(o)>>32-C-r&s}}}}return E.buffer}(A,g,this.planarConfiguration,this.getSamplesPerPixel(),C,this.getTileWidth(),this.getBlockHeight(I))),A})(),null!==t&&(t[Q]=o)),{x:A,y:I,sample:g,data:await o}}async _readRaster(A,I,g,B,C,e,i,Q,t){const E=this.getTileWidth(),s=this.getTileHeight(),a=this.getWidth(),o=this.getHeight(),r=Math.max(Math.floor(A[0]/E),0),n=Math.min(Math.ceil(A[2]/E),Math.ceil(a/E)),h=Math.max(Math.floor(A[1]/s),0),D=Math.min(Math.ceil(A[3]/s),Math.ceil(o/s)),l=A[2]-A[0];let c=this.getBytesPerPixel();const w=[],y=[];for(let A=0;A<I.length;++A)1===this.planarConfiguration?w.push(UA(await this.fileDirectory.loadValue("BitsPerSample"),0,I[A])/8):w.push(0),y.push(this.getReaderForSample(I[A]));const d=[],{littleEndian:S}=this;for(let e=h;e<D;++e)for(let i=r;i<n;++i){let Q;1===this.planarConfiguration&&(Q=this.getTileOrStrip(i,e,0,C,t));for(let r=0;r<I.length;++r){const n=r,h=I[r];if(2===this.planarConfiguration&&(c=this.getSampleByteSize(h),Q=this.getTileOrStrip(i,e,h,C,t)),!Q)throw new Error("Could not get tile or strip data.");const D=Q.then(C=>{const e=C.data,i=new DataView(e),Q=this.getBlockHeight(C.y),t=C.y*s,r=C.x*E,h=t+Q,D=(C.x+1)*E,d=y[n],f=Math.min(Q,Q-(h-A[3]),o-t),u=Math.min(E,E-(D-A[2]),a-r);for(let C=Math.max(0,A[1]-t);C<f;++C)for(let e=Math.max(0,A[0]-r);e<u;++e){const Q=(C*E+e)*c,s=d.call(i,Q+w[n],S);let a;B?(a=(C+t-A[1])*l*I.length+(e+r-A[0])*I.length+n,g[a]=s):(a=(C+t-A[1])*l+e+r-A[0],g[n][a]=s)}});d.push(D)}}if(await Promise.all(d),e&&A[2]-A[0]!==e||i&&A[3]-A[1]!==i){let C;C=B?LA(g,A[2]-A[0],A[3]-A[1],e,i,I.length,Q):RA(g,A[2]-A[0],A[3]-A[1],e,i,Q);const t=C;return t.width=e??A[2]-A[0],t.height=i??A[3]-A[1],t}const f=g;return f.width=e||A[2]-A[0],f.height=i||A[3]-A[1],f}async readRasters(A={}){const{window:I,samples:g=[],pool:B=null,width:C,height:e,resampleMethod:i,fillValue:Q,signal:t}=A,E="interleave"in A&&A.interleave,s=I||[0,0,this.getWidth(),this.getHeight()];if(s[0]>s[2]||s[1]>s[3])throw new Error("Invalid subsets");const a=(s[2]-s[0])*(s[3]-s[1]),o=this.getSamplesPerPixel();if(g&&g.length){for(let A=0;A<g.length;++A)if(g[A]>=o)return Promise.reject(new RangeError(`Invalid sample index '${g[A]}'.`))}else for(let A=0;A<o;++A)g.push(A);let r;if(E){if(r=YA(this.fileDirectory.hasTag("SampleFormat")?Math.max.apply(null,this.fileDirectory.getValue("SampleFormat")):1,Math.max.apply(null,this.fileDirectory.getValue("BitsPerSample")),a*g.length),Q){if(Array.isArray(Q))throw new Error("When reading interleaved data, fillValue must be a single number.");r.fill(Q)}}else{r=[];for(let A=0;A<g.length;++A){const I=this.getArrayForSample(g[A],a);Array.isArray(Q)&&A<Q.length?I.fill(Q[A]):Q&&!Array.isArray(Q)&&I.fill(Q),r.push(I)}}const n=this.fileDirectory.getValue("Compression")||1,h=await async function(A,I){if(!fA.has(A))throw new Error(`Unknown compression method identifier: ${A}`);const{decoderParameterFn:g}=fA.get(A);return g(I)}(n,this.fileDirectory),D=B?B.bindParameters(n,h):await async function(A,I){if(!fA.has(A))throw new Error(`Unknown compression method identifier: ${A}`);const{importFn:g}=fA.get(A);return new(await g())(I)}(n,h);return await this._readRaster(s,g,r,E,D,C,e,i,t)}async readRGB(A={}){const{window:I,pool:g=null,width:B,height:C,resampleMethod:e,enableAlpha:i=!1,signal:Q}=A,t=("interleave"in A&&A.interleave)??!1,E=I||[0,0,this.getWidth(),this.getHeight()];if(E[0]>E[2]||E[1]>E[3])throw new Error("Invalid subsets");const s=this.fileDirectory.getValue("PhotometricInterpretation");if(s===aA){let A=[0,1,2];if(this.fileDirectory.getValue("ExtraSamples")!==DA&&i){A=[];for(let I=0;I<this.fileDirectory.getValue("BitsPerSample").length;I+=1)A.push(I)}return this.readRasters({window:I,interleave:t,samples:A,pool:g,width:B,height:C,resampleMethod:e,signal:Q})}let a;switch(s){case EA:case sA:case oA:a=[0];break;case rA:a=[0,1,2,3];break;case nA:case hA:a=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const o={window:E,interleave:!0,samples:a,pool:g,width:B,height:C,resampleMethod:e,signal:Q},{fileDirectory:r}=this,n=await this.readRasters(o),h=2**this.getBitsPerSample(0);let D;switch(s){case EA:D=function(A,I){const{width:g,height:B}=A,C=new Uint8Array(g*B*3);let e;for(let g=0,B=0;g<A.length;++g,B+=3)e=256-A[g]/I*256,C[B]=e,C[B+1]=e,C[B+2]=e;return C}(n,h);break;case sA:D=function(A,I){const{width:g,height:B}=A,C=new Uint8Array(g*B*3);let e;for(let g=0,B=0;g<A.length;++g,B+=3)e=A[g]/I*256,C[B]=e,C[B+1]=e,C[B+2]=e;return C}(n,h);break;case oA:D=function(A,I){const{width:g,height:B}=A,C=new Uint8Array(g*B*3),e=I.length/3,i=I.length/3*2;for(let g=0,B=0;g<A.length;++g,B+=3){const Q=A[g];C[B]=I[Q]/65536*256,C[B+1]=I[Q+e]/65536*256,C[B+2]=I[Q+i]/65536*256}return C}(n,await r.loadValue("ColorMap"));break;case rA:D=function(A){const{width:I,height:g}=A,B=new Uint8Array(I*g*3);for(let I=0,g=0;I<A.length;I+=4,g+=3){const C=A[I],e=A[I+1],i=A[I+2],Q=A[I+3];B[g]=(255-C)/256*255*((255-Q)/256),B[g+1]=(255-e)/256*255*((255-Q)/256),B[g+2]=(255-i)/256*255*((255-Q)/256)}return B}(n);break;case nA:D=function(A){const{width:I,height:g}=A,B=new Uint8ClampedArray(I*g*3);for(let I=0,g=0;I<A.length;I+=3,g+=3){const C=A[I],e=A[I+1],i=A[I+2];B[g]=C+1.402*(i-128),B[g+1]=C-.34414*(e-128)-.71414*(i-128),B[g+2]=C+1.772*(e-128)}return B}(n);break;case hA:D=function(A){const{width:I,height:g}=A,B=new Uint8Array(I*g*3);for(let I=0,g=0;I<A.length;I+=3,g+=3){let C,e,i,Q=(A[I+0]+16)/116,t=(A[I+1]<<24>>24)/500+Q,E=Q-(A[I+2]<<24>>24)/200;t=.95047*(t*t*t>.008856?t*t*t:(t-16/116)/7.787),Q=1*(Q*Q*Q>.008856?Q*Q*Q:(Q-16/116)/7.787),E=1.08883*(E*E*E>.008856?E*E*E:(E-16/116)/7.787),C=3.2406*t+-1.5372*Q+-.4986*E,e=-.9689*t+1.8758*Q+.0415*E,i=.0557*t+-.204*Q+1.057*E,C=C>.0031308?1.055*C**(1/2.4)-.055:12.92*C,e=e>.0031308?1.055*e**(1/2.4)-.055:12.92*e,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,B[g]=255*Math.max(0,Math.min(1,C)),B[g+1]=255*Math.max(0,Math.min(1,e)),B[g+2]=255*Math.max(0,Math.min(1,i))}return B}(n);break;default:throw new Error("Unsupported photometric interpretation.")}if(!t){const A=new Uint8Array(D.length/3),I=new Uint8Array(D.length/3),g=new Uint8Array(D.length/3);for(let B=0,C=0;B<D.length;B+=3,++C)A[C]=D[B],I[C]=D[B+1],g[C]=D[B+2];D=[A,I,g]}const l=D;return l.width=n.width,l.height=n.height,l}async getTiePoints(){if(!this.fileDirectory.hasTag("ModelTiepoint"))return[];const A=await this.fileDirectory.loadValue("ModelTiepoint"),I=[];for(let g=0;g<A.length;g+=6)I.push({i:A[g],j:A[g+1],k:A[g+2],x:A[g+3],y:A[g+4],z:A[g+5]});return I}async getGDALMetadata(A=null){const I={};if(!this.fileDirectory.hasTag("GDAL_METADATA"))return null;let g=function(A,I){const g=[];let B,C=0;for(;B=AA(A,I,{debug:!1,startIndex:C});)C=B.start+1+I.length,g.push(B);return g}(await this.fileDirectory.loadValue("GDAL_METADATA"),"Item");g=null===A?g.filter(A=>void 0===_(A,"sample")):g.filter(I=>Number(_(I,"sample"))===A);for(let A=0;A<g.length;++A){const B=g[A];I[_(B,"name")]=B.inner}return I}getGDALNoData(){if(!this.fileDirectory.hasTag("GDAL_NODATA"))return null;const A=this.fileDirectory.getValue("GDAL_NODATA");return Number(A.substring(0,A.length-1))}getOrigin(){const A=this.fileDirectory.getValue("ModelTiepoint"),I=this.fileDirectory.getValue("ModelTransformation");if(A&&6===A.length)return[A[3],A[4],A[5]];if(I)return[I[3],I[7],I[11]];throw new Error("The image does not have an affine transformation.")}getResolution(A=null){const I=this.fileDirectory.getValue("ModelPixelScale"),g=this.fileDirectory.getValue("ModelTransformation");if(I)return[I[0],-I[1],I[2]];if(g)return 0===g[1]&&0===g[4]?[g[0],-g[5],g[10]]:[Math.sqrt(g[0]*g[0]+g[4]*g[4]),-Math.sqrt(g[1]*g[1]+g[5]*g[5]),g[10]];if(A){const[I,g,B]=A.getResolution();return[I*A.getWidth()/this.getWidth(),g*A.getHeight()/this.getHeight(),B*A.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return 1===this.getGeoKeys()?.GTRasterTypeGeoKey}getBoundingBox(A=!1){const I=this.getHeight(),g=this.getWidth();if(this.fileDirectory.hasTag("ModelTransformation")&&!A){const[A,B,C,e,i,Q,t,E]=this.fileDirectory.getValue("ModelTransformation"),s=[[0,0],[0,I],[g,0],[g,I]].map(([I,g])=>[e+A*I+B*g,E+i*I+Q*g]),a=s.map(A=>A[0]),o=s.map(A=>A[1]);return[Math.min(...a),Math.min(...o),Math.max(...a),Math.max(...o)]}{const A=this.getOrigin(),B=this.getResolution(),C=A[0],e=A[1],i=C+B[0]*g,Q=e+B[1]*I;return[Math.min(C,i),Math.min(e,Q),Math.max(C,i),Math.max(e,Q)]}}}class pA{constructor(A){this._dataView=new DataView(A)}get buffer(){return this._dataView.buffer}getUint64(A,I){const g=this.getUint32(A,I),B=this.getUint32(A+4,I);let C;if(I){if(C=g+2**32*B,!Number.isSafeInteger(C))throw new Error(`${C} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return C}if(C=2**32*g+B,!Number.isSafeInteger(C))throw new Error(`${C} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return C}getInt64(A,I){let g=0;const B=(128&this._dataView.getUint8(A+(I?7:0)))>0;let C=!0;for(let e=0;e<8;e++){let i=this._dataView.getUint8(A+(I?e:7-e));B&&(C?0!==i&&(i=255&~(i-1),C=!1):i=255&~i),g+=i*256**e}return B&&(g=-g),g}getUint8(A){return this._dataView.getUint8(A)}getInt8(A){return this._dataView.getInt8(A)}getUint16(A,I){return this._dataView.getUint16(A,I)}getInt16(A,I){return this._dataView.getInt16(A,I)}getUint32(A,I){return this._dataView.getUint32(A,I)}getInt32(A,I){return this._dataView.getInt32(A,I)}getFloat16(A,I){return z(this._dataView,A,I)}getFloat32(A,I){return this._dataView.getFloat32(A,I)}getFloat64(A,I){return this._dataView.getFloat64(A,I)}}class MA{constructor(A,I,g,B){this._dataView=new DataView(A),this._sliceOffset=I,this._littleEndian=g,this._bigTiff=B}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(A,I){return this.sliceOffset<=A&&this.sliceTop>=A+I}readUint8(A){return this._dataView.getUint8(A-this._sliceOffset)}readInt8(A){return this._dataView.getInt8(A-this._sliceOffset)}readUint16(A){return this._dataView.getUint16(A-this._sliceOffset,this._littleEndian)}readInt16(A){return this._dataView.getInt16(A-this._sliceOffset,this._littleEndian)}readUint32(A){return this._dataView.getUint32(A-this._sliceOffset,this._littleEndian)}readInt32(A){return this._dataView.getInt32(A-this._sliceOffset,this._littleEndian)}readFloat32(A){return this._dataView.getFloat32(A-this._sliceOffset,this._littleEndian)}readFloat64(A){return this._dataView.getFloat64(A-this._sliceOffset,this._littleEndian)}readUint64(A){const I=this.readUint32(A),g=this.readUint32(A+4);let B;if(this._littleEndian){if(B=I+2**32*g,!Number.isSafeInteger(B))throw new Error(`${B} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return B}if(B=2**32*I+g,!Number.isSafeInteger(B))throw new Error(`${B} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return B}readInt64(A){let I=0;const g=(128&this._dataView.getUint8(A+(this._littleEndian?7:0)))>0;let B=!0;for(let C=0;C<8;C++){let e=this._dataView.getUint8(A+(this._littleEndian?C:7-C));g&&(B?0!==e&&(e=255&~(e-1),B=!1):e=255&~e),I+=e*256**C}return g&&(I=-I),I}readOffset(A){return this._bigTiff?this.readUint64(A):this.readUint32(A)}}const KA="\r\n\r\n";function JA(A){if(void 0!==Object.fromEntries)return Object.fromEntries(A);const I={};for(const[g,B]of A)I[g.toLowerCase()]=B;return I}function HA(A){return JA(A.split("\r\n").map(A=>{const I=A.split(":").map(A=>A.trim());return I[0]=I[0].toLowerCase(),I}))}function qA(A){let I=NaN,g=NaN,B=NaN;return A&&([,I,g,B]=(A.match(/bytes (\d+)-(\d+)\/(\d+)/)||[]).map(Number)),{start:I,end:g,total:B}}class bA{async fetch(A,I){return Promise.all(A.map(A=>this.fetchSlice(A,I)))}async fetchSlice(A,I){throw new Error(`fetching of slice ${A} not possible, not implemented`)}get fileSize(){return null}async close(){}}class xA extends Map{constructor(A={}){if(super(),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=A.maxSize,this.maxAge=A.maxAge||Number.POSITIVE_INFINITY,this.onEviction=A.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(A){if("function"==typeof this.onEviction)for(const[I,g]of A)this.onEviction(I,g.value)}_deleteIfExpired(A,I){return"number"==typeof I.expiry&&I.expiry<=Date.now()&&("function"==typeof this.onEviction&&this.onEviction(A,I.value),this.delete(A))}_getOrDeleteIfExpired(A,I){if(!1===this._deleteIfExpired(A,I))return I.value}_getItemValue(A,I){return I.expiry?this._getOrDeleteIfExpired(A,I):I.value}_peek(A,I){const g=I.get(A);return this._getItemValue(A,g)}_set(A,I){this.cache.set(A,I),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(A,I){this.oldCache.delete(A),this._set(A,I)}*_entriesAscending(){for(const A of this.oldCache){const[I,g]=A;if(!this.cache.has(I)){!1===this._deleteIfExpired(I,g)&&(yield A)}}for(const A of this.cache){const[I,g]=A;!1===this._deleteIfExpired(I,g)&&(yield A)}}get(A){if(this.cache.has(A)){const I=this.cache.get(A);return this._getItemValue(A,I)}if(this.oldCache.has(A)){const I=this.oldCache.get(A);if(!1===this._deleteIfExpired(A,I))return this._moveToRecent(A,I),I.value}}set(A,I,{maxAge:g=this.maxAge}={}){const B="number"==typeof g&&g!==Number.POSITIVE_INFINITY?Date.now()+g:void 0;return this.cache.has(A)?this.cache.set(A,{value:I,expiry:B}):this._set(A,{value:I,expiry:B}),this}has(A){return this.cache.has(A)?!this._deleteIfExpired(A,this.cache.get(A)):!!this.oldCache.has(A)&&!this._deleteIfExpired(A,this.oldCache.get(A))}peek(A){return this.cache.has(A)?this._peek(A,this.cache):this.oldCache.has(A)?this._peek(A,this.oldCache):void 0}delete(A){const I=this.cache.delete(A);return I&&this._size--,this.oldCache.delete(A)||I}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const I=[...this._entriesAscending()],g=I.length-A;g<0?(this.cache=new Map(I),this.oldCache=new Map,this._size=I.length):(g>0&&this._emitEvictions(I.slice(0,g)),this.oldCache=new Map(I.slice(g)),this.cache=new Map,this._size=0),this.maxSize=A}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[Symbol.iterator](){for(const A of this.cache){const[I,g]=A;!1===this._deleteIfExpired(I,g)&&(yield[I,g.value])}for(const A of this.oldCache){const[I,g]=A;if(!this.cache.has(I)){!1===this._deleteIfExpired(I,g)&&(yield[I,g.value])}}}*entriesDescending(){let A=[...this.cache];for(let I=A.length-1;I>=0;--I){const g=A[I],[B,C]=g;!1===this._deleteIfExpired(B,C)&&(yield[B,C.value])}A=[...this.oldCache];for(let I=A.length-1;I>=0;--I){const g=A[I],[B,C]=g;if(!this.cache.has(B)){!1===this._deleteIfExpired(B,C)&&(yield[B,C.value])}}}*entriesAscending(){for(const[A,I]of this._entriesAscending())yield[A,I.value]}get size(){if(!this._size)return this.oldCache.size;let A=0;for(const I of this.oldCache.keys())this.cache.has(I)||A++;return Math.min(this._size+A,this.maxSize)}entries(){return this.entriesAscending()}forEach(A,I=this){for(const[g,B]of this.entriesAscending())A.call(I,B,g,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}}class TA extends Error{constructor(A){super(A),Error.captureStackTrace&&Error.captureStackTrace(this,TA),this.name="AbortError"}}class OA extends Error{constructor(A,I){super(I),this.errors=A,this.message=I,this.name="AggregateError"}}const PA=OA;class vA{constructor(A,I,g){this.offset=A,this.length=I,this.data=g}get top(){return this.offset+this.length}}class VA{constructor(A,I,g){this.offset=A,this.length=I,this.blockIds=g}}class ZA extends bA{constructor(A,{blockSize:I=65536,cacheSize:g=100}={}){super(),this.source=A,this.blockSize=I,this.blockCache=new xA({maxSize:g,onEviction:(A,I)=>{this.evictedBlocks.set(A,I)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(A,I){const g=[],B=[],C=[];this.evictedBlocks.clear();for(const{offset:I,length:e}of A){let A=I+e;const{fileSize:i}=this;null!==i&&(A=Math.min(A,i));for(let e=Math.floor(I/this.blockSize)*this.blockSize;e<A;e+=this.blockSize){const A=Math.floor(e/this.blockSize);this.blockCache.has(A)||this.blockRequests.has(A)||(this.blockIdsToFetch.add(A),B.push(A)),this.blockRequests.has(A)&&g.push(this.blockRequests.get(A)),C.push(A)}}await async function(A){return new Promise(I=>setTimeout(I,A))}(),this.fetchBlocks(I);const e=[];for(const A of B)this.blockRequests.has(A)&&e.push(this.blockRequests.get(A));await Promise.allSettled(g),await Promise.allSettled(e);const i=[],Q=C.filter(A=>this.abortedBlockIds.has(A)||!this.blockCache.has(A));if(Q.forEach(A=>this.blockIdsToFetch.add(A)),Q.length>0&&I&&!I.aborted){this.fetchBlocks();for(const A of Q){const I=this.blockRequests.get(A);if(!I)throw new Error(`Block ${A} is not in the block requests`);i.push(I)}await Promise.allSettled(i)}if(I&&I.aborted)throw new TA("Request was aborted");const t=C.map(A=>this.blockCache.get(A)||this.evictedBlocks.get(A)),E=t.filter(A=>!A);if(E.length)throw new PA(E,"Request failed");const s=new Map(function(A,I){const g=Array.isArray(A)?A:Array.from(A),B=Array.isArray(I)?I:Array.from(I);return g.map((A,I)=>[A,B[I]])}(C,t));return this.readSliceData(A,s)}fetchBlocks(A){if(this.blockIdsToFetch.size>0){const I=this.groupBlocks(this.blockIdsToFetch),g=this.source.fetch(I,A);for(let B=0;B<I.length;++B){const C=I[B];for(const I of C.blockIds)this.blockRequests.set(I,(async()=>{try{const A=(await g)[B],C=I*this.blockSize,e=C-A.offset,i=Math.min(e+this.blockSize,A.data.byteLength),Q=A.data.slice(e,i),t=new vA(C,Q.byteLength,Q);this.blockCache.set(I,t),this.abortedBlockIds.delete(I)}catch(g){if("AbortError"!==g.name)throw g;g.signal=A,this.blockCache.delete(I),this.abortedBlockIds.add(I)}finally{this.blockRequests.delete(I)}})())}this.blockIdsToFetch.clear()}}groupBlocks(A){const I=Array.from(A).sort((A,I)=>A-I);if(0===I.length)return[];let g=[],B=null;const C=[];for(const A of I)null===B||B+1===A?(g.push(A),B=A):(C.push(new VA(g[0]*this.blockSize,g.length*this.blockSize,g)),g=[A],B=A);return C.push(new VA(g[0]*this.blockSize,g.length*this.blockSize,g)),C}readSliceData(A,I){return A.map(A=>{let g=A.offset+A.length;null!==this.fileSize&&(g=Math.min(this.fileSize,g));const B=Math.floor(A.offset/this.blockSize),C=Math.floor((g-1)/this.blockSize),e=new ArrayBuffer(A.length),i=new Uint8Array(e);for(let e=B;e<=C;++e){const B=I.get(e);if(!B)continue;const C=B.offset-A.offset;let Q,t=0,E=0;C<0?t=-C:C>0&&(E=C),Q=B.top-g<0?B.length-t:g-B.offset-t;const s=new Uint8Array(B.data,t,Q);i.set(s,E)}return e})}}class jA{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(A){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}}class WA{constructor(A){this.url=A}async request({headers:A,signal:I}={}){throw new Error("request is not implemented")}}class zA extends jA{constructor(A){super(),this.response=A}get status(){return this.response.status}getHeader(A){return this.response.headers.get(A)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}}class _A extends WA{constructor(A,I){super(A),this.credentials=I}async request({headers:A,signal:I}={}){const g=await fetch(this.url,{headers:A,credentials:this.credentials,signal:I});return new zA(g)}}class XA extends jA{constructor(A,I){super(),this.xhr=A,this.data=I}get status(){return this.xhr.status}getHeader(A){return this.xhr.getResponseHeader(A)}async getData(){return this.data}}class $A extends WA{constructRequest(A,I){return new Promise((g,B)=>{const C=new XMLHttpRequest;C.open("GET",this.url),C.responseType="arraybuffer";for(const[I,g]of Object.entries(A))C.setRequestHeader(I,g);C.onload=()=>{const A=C.response;g(new XA(C,A))},C.onerror=B,C.onabort=()=>B(new TA("Request aborted")),C.send(),I&&(I.aborted&&C.abort(),I.addEventListener("abort",()=>C.abort()))})}async request({headers:A,signal:I}={}){return await this.constructRequest(A,I)}}var AI={};class II extends jA{constructor(A,I){super(),this.response=A,this.dataPromise=I}get status(){return this.response.statusCode}getHeader(A){return this.response.headers[A]}async getData(){return await this.dataPromise}}class gI extends WA{constructor(A){super(A),this.parsedUrl=AI.parse(this.url),this.httpApi=(this.parsedUrl.protocol,AI)}constructRequest(A,I){return new Promise((g,B)=>{const C=this.httpApi.get({...this.parsedUrl,headers:A},A=>{const I=new Promise(I=>{const g=[];A.on("data",A=>{g.push(A)}),A.on("end",()=>{const A=Buffer.concat(g).buffer;I(A)}),A.on("error",B)});g(new II(A,I))});C.on("error",B),I&&(I.aborted&&C.destroy(new TA("Request aborted")),I.addEventListener("abort",()=>C.destroy(new TA("Request aborted"))))})}async request({headers:A,signal:I}={}){return await this.constructRequest(A,I)}}class BI extends bA{constructor(A,{headers:I,maxRanges:g=0,allowFullFile:B}={}){super(),this.client=A,this.headers=I,this.maxRanges=g,this.allowFullFile=B,this._fileSize=null}async fetch(A,I){return this.maxRanges>=A.length?this.fetchSlices(A,I):(this.maxRanges>0&&A.length,Promise.all(A.map(A=>this.fetchSlice(A,I))))}async fetchSlices(A,I){const g=await this.client.request({headers:{...this.headers,Range:`bytes=${A.map(({offset:A,length:I})=>`${A}-${A+I}`).join(",")}`},signal:I});if(g.ok){if(206===g.status){const{type:B,params:C}=function(A){if(!A)return{type:null,params:{}};const[I,...g]=A.split(";").map(A=>A.trim());return{type:I,params:JA(g.map(A=>A.split("=")))}}(g.getHeader("content-type"));if("multipart/byteranges"===B){const A=function(A,I){let g=null;const B=new TextDecoder("ascii"),C=[],e=`--${I}`,i=`${e}--`;for(let I=0;I<10;++I)B.decode(new Uint8Array(A,I,e.length))===e&&(g=I);if(null===g)throw new Error("Could not find initial boundary");for(;g<A.byteLength;){const I=B.decode(new Uint8Array(A,g,Math.min(e.length+1024,A.byteLength-g)));if(0===I.length||I.startsWith(i))break;if(!I.startsWith(e))throw new Error("Part does not start with boundary");const Q=I.substr(e.length+2);if(0===Q.length)break;const t=Q.indexOf(KA),E=HA(Q.substr(0,t)),{start:s,end:a,total:o}=qA(E["content-range"]),r=g+e.length+t+4,n=a+1-s;C.push({headers:E,data:A.slice(r,r+n),offset:s,length:n,fileSize:o}),g=r+n+4}return C}(await g.getData(),C.boundary);return this._fileSize=A[0].fileSize||null,A}const e=await g.getData(),{start:i,end:Q,total:t}=qA(g.getHeader("content-range"));this._fileSize=t||null;const E=[{data:e,offset:i,length:Q-i}];if(A.length>1){const g=await Promise.all(A.slice(1).map(A=>this.fetchSlice(A,I)));return E.concat(g)}return E}{if(!this.allowFullFile)throw new Error("Server responded with full file");const A=await g.getData();return this._fileSize=A.byteLength,[{data:A,offset:0,length:A.byteLength}]}}throw new Error("Error fetching data.")}async fetchSlice(A,I){const{offset:g,length:B}=A,C=await this.client.request({headers:{...this.headers,Range:`bytes=${g}-${g+B}`},signal:I});if(C.ok){if(206===C.status){const A=await C.getData(),{total:I}=qA(C.getHeader("content-range"));return this._fileSize=I||null,{data:A,offset:g,length:B}}{if(!this.allowFullFile)throw new Error("Server responded with full file");const A=await C.getData();return this._fileSize=A.byteLength,{data:A,offset:0,length:A.byteLength}}}throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}}function CI(A,{blockSize:I,cacheSize:g}){return null===I?A:new ZA(A,{blockSize:I,cacheSize:g})}function eI(A,{forceXHR:I=!1,...g}={}){return"function"!=typeof fetch||I?"undefined"!=typeof XMLHttpRequest?function(A,{headers:I={},maxRanges:g=0,allowFullFile:B=!1,...C}={}){const e=new $A(A);return CI(new BI(e,{headers:I,maxRanges:g,allowFullFile:B}),C)}(A,g):function(A,{headers:I={},maxRanges:g=0,allowFullFile:B=!1,...C}={}){const e=new gI(A);return CI(new BI(e,{headers:I,maxRanges:g,allowFullFile:B}),C)}(A,g):function(A,{headers:I={},credentials:g,maxRanges:B=0,allowFullFile:C=!1,...e}={}){const i=new _A(A,g);return CI(new BI(i,{headers:I,maxRanges:B,allowFullFile:C}),e)}(A,g)}class iI extends bA{constructor(A){super(),this.arrayBuffer=A}fetchSlice(A,I){if(I&&I.aborted)throw new TA("Request aborted");return this.arrayBuffer.slice(A.offset,A.offset+A.length)}}function QI(A,I){switch(A){case IA.BYTE:case IA.ASCII:case IA.UNDEFINED:return new Uint8Array(I);case IA.SBYTE:return new Int8Array(I);case IA.SHORT:return new Uint16Array(I);case IA.SSHORT:return new Int16Array(I);case IA.LONG:case IA.IFD:return new Uint32Array(I);case IA.SLONG:return new Int32Array(I);case IA.LONG8:case IA.IFD8:case IA.SLONG8:return new Array(I);case IA.RATIONAL:return new Uint32Array(2*I);case IA.SRATIONAL:return new Int32Array(2*I);case IA.FLOAT:return new Float32Array(I);case IA.DOUBLE:return new Float64Array(I);default:throw new RangeError(`Invalid field type: ${A}`)}}function tI(A,I){switch(I){case IA.BYTE:case IA.ASCII:case IA.UNDEFINED:return A.readUint8;case IA.SBYTE:return A.readInt8;case IA.SHORT:return A.readUint16;case IA.SSHORT:return A.readInt16;case IA.LONG:case IA.IFD:return A.readUint32;case IA.SLONG:return A.readInt32;case IA.LONG8:case IA.IFD8:return A.readUint64;case IA.SLONG8:return A.readInt64;case IA.RATIONAL:return A.readUint32;case IA.SRATIONAL:return A.readInt32;case IA.FLOAT:return A.readFloat32;case IA.DOUBLE:return A.readFloat64;default:throw new RangeError(`Invalid field type: ${I}`)}}function EI(A=null,I,g,B,C,e,i=!1){const Q=BA(B),t=A||QI(B,C),E=B===IA.RATIONAL||B===IA.SRATIONAL;if(E)for(let A=0;A<C;A+=2)t[A]=I.call(g,e+A*Q),t[A+1]=I.call(g,e+(A*Q+4));else for(let A=0;A<C;++A)t[A]=I.call(g,e+A*Q);return B===IA.ASCII?new TextDecoder("utf-8").decode(t):1!==C||i||E?t:t[0]}class sI{constructor(A,I,g,B,C){this.source=A,this.arrayOffset=I,this.littleEndian=g,this.fieldType=B,this.length=C,this.data=QI(B,C),this.itemSize=BA(B),this.maskBitmap=new Uint8Array(Math.ceil(C/8)),this.fetchIndexPromises=new Map,this.fullFetchPromise=null}async loadAll(){return this.fullFetchPromise||(this.fullFetchPromise=this.source.fetch([{offset:this.arrayOffset,length:this.itemSize*this.length}]).then(A=>{const I=new MA(A[0],this.arrayOffset,!0,!1),g=EI(this.data,tI(I,this.fieldType),I,this.fieldType,this.length,this.arrayOffset,!0);return this.maskBitmap.fill(255),this.fetchIndexPromises.clear(),g})),this.fullFetchPromise}async get(A){if(A<0||A>=this.data.length)throw new RangeError(`Index ${A} out of bounds for length ${this.data.length}`);const I=Math.floor(A/8),g=1<<A%8,B=this.arrayOffset+A*this.itemSize;if(0===(this.maskBitmap[I]&g)){if(!this.fetchIndexPromises.has(A)){const C=this.source.fetch([{offset:B,length:this.itemSize}]).then(C=>{const e=new MA(C[0],this.arrayOffset+A*this.itemSize,!0,!1),i=tI(e,this.fieldType).call(e,B);return this.data[A]=i,this.maskBitmap[I]|=g,this.fetchIndexPromises.delete(A),i});this.fetchIndexPromises.set(A,C)}return this.fetchIndexPromises.get(A)}return this.data[A]}}class aI{constructor(A,I,g,B){this.actualizedFields=A,this.deferredFields=I,this.deferredFieldsBeingResolved=new Map,this.deferredArrays=g,this.nextIFDByteOffset=B}hasTag(A){const I=tA(A);return this.actualizedFields.has(I)||this.deferredFields.has(I)||this.deferredArrays.has(I)}getValue(A){const I=tA(A);if(this.deferredFields.has(I)||this.deferredArrays.has(I)){const A=iA[I];throw new Error(`Field '${A?.name||`Tag${I}`}' (${I}) is deferred. Use loadValue() to load it asynchronously.`)}if(this.actualizedFields.has(I))return this.actualizedFields.get(I)}async loadValue(A){const I=tA(A);if(this.actualizedFields.has(I))return this.actualizedFields.get(I);if(this.deferredFieldsBeingResolved.has(I))return this.deferredFieldsBeingResolved.get(I);if(this.deferredFields.has(I)){const A=this.deferredFields.get(I);this.deferredFields.delete(I);const g=(async()=>{try{const g=await A();return this.actualizedFields.set(I,g),g}finally{this.deferredFieldsBeingResolved.delete(I)}})();return this.deferredFieldsBeingResolved.set(I,g),g}if(this.deferredArrays.has(I)){return this.deferredArrays.get(I).loadAll()}}async loadValueIndexed(A,I){const g=tA(A);if(this.actualizedFields.has(g)){return this.actualizedFields.get(g)[I]}if(this.deferredArrays.has(g)){return this.deferredArrays.get(g).get(I)}if(this.hasTag(g))return(await this.loadValue(g))[I]}parseGeoKeyDirectory(){const A=this.getValue("GeoKeyDirectory");if(!A)return null;const I={};for(let g=4;g<=4*A[3];g+=4){const B=dA[A[g]],C=A[g+1]||null,e=A[g+2],i=A[g+3];let Q=null;if(C){if(Q=this.getValue(C),null==Q)throw new Error(`Could not get value of geoKey '${B}'.`);"string"==typeof Q?Q=Q.substring(i,i+e-1):Q.subarray&&(Q=Q.subarray(i,i+e),1===e&&(Q=Q[0]))}else Q=i;I[B]=Q}return I}toObject(){const A={};for(const[I,g]of this.actualizedFields.entries()){const B=iA[I];A[B?B.name:`Tag${I}`]=g}return A}}class oI{constructor(A,I,g,B=!1){this.source=A,this.littleEndian=I,this.bigTiff=g,this.eager=B}async getSlice(A,I){const g=this.bigTiff?4048:1024;return new MA((await this.source.fetch([{offset:A,length:void 0!==I?I:g}]))[0],A,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(A){const I=this.bigTiff?20:12,g=this.bigTiff?8:2;let B=await this.getSlice(A);const C=this.bigTiff?B.readUint64(A):B.readUint16(A),e=C*(I+(this.bigTiff?16:6));B.covers(A,e)||(B=await this.getSlice(A,e));const i=new Map,Q=new Map,t=new Map;let E=A+(this.bigTiff?8:2);for(let A=0;A<C;E+=I,++A){const A=B.readUint16(E),I=B.readUint16(E+2),g=this.bigTiff?B.readUint64(E+4):B.readUint32(E+4);let C=null,e=null,s=null;const a=BA(I),o=E+(this.bigTiff?12:8),r=iA[A]?.isArray,n=iA[A]?.eager||this.eager;if(a*g<=(this.bigTiff?8:4))C=EI(QI(I,g),tI(B,I),B,I,g,o,r);else{const A=B.readOffset(o),i=BA(I)*g;if(B.covers(A,i))C=EI(QI(I,g),tI(B,I),B,I,g,A,r);else if(n){const B=await this.getSlice(A,i);C=EI(QI(I,g),tI(B,I),B,I,g,A,r)}else r?s=new sI(this.source,A,this.littleEndian,I,g):e=async()=>{const B=await this.getSlice(A,i);return EI(QI(I,g),tI(B,I),B,I,g,A,r)}}null!==C?i.set(A,C):null!==e?Q.set(A,e):null!==s&&t.set(A,s)}const s=B.readOffset(A+g+I*C);return new aI(i,Q,t,s)}}function rI(A,I){let g=A.length-I,B=0;do{for(let g=I;g>0;g--)A[B+I]+=A[B],B++;g-=I}while(g>0)}function nI(A,I,g){let B=0,C=A.length;const e=C/g;for(;C>I;){for(let g=I;g>0;--g)A[B+I]+=A[B],++B;C-=I}const i=A.slice();for(let I=0;I<e;++I)for(let B=0;B<g;++B)A[g*I+B]=i[(g-B-1)*e+I]}class hI{constructor(A){this.parameters=A}decodeBlock(A){throw new Error("decodeBlock not implemented")}async decode(A){const I=await this.decodeBlock(A),{tileWidth:g,tileHeight:B,predictor:C,bitsPerSample:e,planarConfiguration:i}=this.parameters;return 1!==C?function(A,I,g,B,C,e){if(!I||1===I)return A;for(let A=0;A<C.length;++A){if(C[A]%8!=0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(C[A]!==C[0])throw new Error("When decoding with predictor, all samples must have the same size.")}const i=C[0]/8,Q=2===e?1:C.length;for(let e=0;e<B&&!(e*Q*g*i>=A.byteLength);++e){let B;if(2===I){switch(C[0]){case 8:B=new Uint8Array(A,e*Q*g*i,Q*g*i);break;case 16:B=new Uint16Array(A,e*Q*g*i,Q*g*i/2);break;case 32:B=new Uint32Array(A,e*Q*g*i,Q*g*i/4);break;default:throw new Error(`Predictor 2 not allowed with ${C[0]} bits per sample.`)}rI(B,Q)}else 3===I&&(B=new Uint8Array(A,e*Q*g*i,Q*g*i),nI(B,Q,i))}return A}(I,C,g,B,e,i):I}}function DI(A,I,g,B){let C=null,e=null;const i=BA(I);switch(I){case IA.BYTE:case IA.ASCII:case IA.UNDEFINED:C=new Uint8Array(g),e=A.readUint8;break;case IA.SBYTE:C=new Int8Array(g),e=A.readInt8;break;case IA.SHORT:C=new Uint16Array(g),e=A.readUint16;break;case IA.SSHORT:C=new Int16Array(g),e=A.readInt16;break;case IA.LONG:case IA.IFD:C=new Uint32Array(g),e=A.readUint32;break;case IA.SLONG:C=new Int32Array(g),e=A.readInt32;break;case IA.LONG8:case IA.IFD8:C=new Array(g),e=A.readUint64;break;case IA.SLONG8:C=new Array(g),e=A.readInt64;break;case IA.RATIONAL:C=new Uint32Array(2*g),e=A.readUint32;break;case IA.SRATIONAL:C=new Int32Array(2*g),e=A.readInt32;break;case IA.FLOAT:C=new Float32Array(g),e=A.readFloat32;break;case IA.DOUBLE:C=new Float64Array(g),e=A.readFloat64}if(null===C||null===e)throw new RangeError(`Invalid field type: ${I}`);if(I!==IA.RATIONAL&&I!==IA.SRATIONAL)for(let I=0;I<g;++I)C[I]=e.call(A,B+I*i);else for(let I=0;I<g;I+=2)C[I]=e.call(A,B+I*i),C[I+1]=e.call(A,B+(I*i+4));return I===IA.ASCII?new TextDecoder("utf-8").decode(C):C}class lI extends Error{constructor(A){super(`No image at index ${A}`),this.index=A}}class cI{async getImage(A=0){throw new Error("Not implemented")}async getImageCount(){throw new Error("Not implemented")}async readRasters(A={}){const{window:I,width:g,height:B}=A;let{resX:C,resY:e,bbox:i}=A;const Q=await this.getImage();let t=Q;const E=await this.getImageCount(),s=Q.getBoundingBox();if(I&&i)throw new Error('Both "bbox" and "window" passed.');if(g||B){if(I){const[A,g]=Q.getOrigin(),[B,C]=Q.getResolution();i=[A+I[0]*B,g+I[1]*C,A+I[2]*B,g+I[3]*C]}const A=i||s;if(g){if(C)throw new Error("Both width and resX passed");C=(A[2]-A[0])/g}if(B){if(e)throw new Error("Both width and resY passed");e=(A[3]-A[1])/B}}if(C||e){const A=[];for(let I=0;I<E;++I){const g=await this.getImage(I),B=g.fileDirectory.getValue("SubfileType"),C=g.fileDirectory.getValue("NewSubfileType");(0===I||2===B||1&C)&&A.push(g)}A.sort((A,I)=>A.getWidth()-I.getWidth());for(let I=0;I<A.length;++I){const g=A[I],B=(s[2]-s[0])/g.getWidth(),i=(s[3]-s[1])/g.getHeight();if(t=g,C&&C>B||e&&e>i)break}}let a=I;if(i){const[A,I]=Q.getOrigin(),[g,B]=t.getResolution(Q);a=[Math.round((i[0]-A)/g),Math.round((i[1]-I)/B),Math.round((i[2]-A)/g),Math.round((i[3]-I)/B)],a=[Math.min(a[0],a[2]),Math.min(a[1],a[3]),Math.max(a[0],a[2]),Math.max(a[1],a[3])]}return t.readRasters({...A,window:a})}}class wI extends cI{constructor(A,I,g,B,C={}){super(),this.source=A,this.parser=new oI(A,I,g,!1),this.littleEndian=I,this.bigTiff=g,this.firstIFDOffset=B,this.cache=C.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(A,I){const g=this.bigTiff?4048:1024;return new MA((await this.source.fetch([{offset:A,length:void 0!==I?I:g}]))[0],A,this.littleEndian,this.bigTiff)}async requestIFD(A){if(this.ifdRequests[A])return this.ifdRequests[A];if(0===A)return this.ifdRequests[A]=this.parser.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[A];if(!this.ifdRequests[A-1])try{this.ifdRequests[A-1]=this.requestIFD(A-1)}catch(I){if(I instanceof lI)throw new lI(A);throw I}return this.ifdRequests[A]=(async()=>{const I=await this.ifdRequests[A-1];if(0===I.nextIFDByteOffset)throw new lI(A);return this.parser.parseFileDirectoryAt(I.nextIFDByteOffset)})(),this.ifdRequests[A]}async getImage(A=0){return new mA(await this.requestIFD(A),this.littleEndian,this.cache,this.source)}async getImageCount(){let A=0,I=!0;for(;I;)try{await this.requestIFD(A),++A}catch(A){if(!(A instanceof lI))throw A;I=!1}return A}async getGhostValues(){const A=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const I="GDAL_STRUCTURAL_METADATA_SIZE=";let g=await this.getSlice(A,130);if(I===DI(g,IA.ASCII,30,A)){const I=DI(g,IA.ASCII,130,A).split("\n")[0],B=Number(I.split("=")[1].split(" ")[0])+I.length;B>130&&(g=await this.getSlice(A,B));const C=DI(g,IA.ASCII,B,A);this.ghostValues={},C.split("\n").filter(A=>A.length>0).map(A=>A.split("=")).forEach(([A,I])=>{this.ghostValues[A]=I})}return this.ghostValues}static async fromSource(A,I,g){const B=(await A.fetch([{offset:0,length:1024}],g))[0],C=new pA(B),e=C.getUint16(0,0);let i;if(18761===e)i=!0;else{if(19789!==e)throw new TypeError("Invalid byte order value.");i=!1}const Q=C.getUint16(2,i);let t;if(42===Q)t=!1;else{if(43!==Q)throw new TypeError("Invalid magic number.");t=!0;if(8!==C.getUint16(4,i))throw new Error("Unsupported offset byte-size.")}const E=t?C.getUint64(8,i):C.getUint32(4,i);return new wI(A,i,t,E,I)}close(){return"function"==typeof this.source.close&&this.source.close()}}async function yI(A,I){return wI.fromSource(function(A){return new iI(A)}(A),void 0,I)}class dI{constructor(A=257){this.gridSize=A;const I=A-1;if(I&I-1)throw new Error(`Expected grid size to be 2^n+1, got ${A}.`);this.numTriangles=I*I*2-2,this.numParentTriangles=this.numTriangles-I*I,this.indices=new Uint32Array(this.gridSize*this.gridSize),this.coords=new Uint16Array(4*this.numTriangles);for(let A=0;A<this.numTriangles;A++){let g=A+2,B=0,C=0,e=0,i=0,Q=0,t=0;for(1&g?e=i=Q=I:B=C=t=I;(g>>=1)>1;){const A=B+e>>1,I=C+i>>1;1&g?(e=B,i=C,B=Q,C=t):(B=e,C=i,e=Q,i=t),Q=A,t=I}const E=4*A;this.coords[E+0]=B,this.coords[E+1]=C,this.coords[E+2]=e,this.coords[E+3]=i}}createTile(A){return new SI(A,this)}}class SI{constructor(A,I){const g=I.gridSize;if(A.length!==g*g)throw new Error(`Expected terrain data of length ${g*g} (${g} x ${g}), got ${A.length}.`);this.terrain=A,this.martini=I,this.errors=new Float32Array(A.length),this.update()}update(){const{numTriangles:A,numParentTriangles:I,coords:g,gridSize:B}=this.martini,{terrain:C,errors:e}=this;for(let i=A-1;i>=0;i--){const A=4*i,Q=g[A+0],t=g[A+1],E=g[A+2],s=g[A+3],a=Q+E>>1,o=t+s>>1,r=a+o-t,n=o+Q-a,h=(C[t*B+Q]+C[s*B+E])/2,D=o*B+a,l=Math.abs(h-C[D]);if(e[D]=Math.max(e[D],l),i<I){const A=(t+n>>1)*B+(Q+r>>1),I=(s+n>>1)*B+(E+r>>1);e[D]=Math.max(e[D],e[A],e[I])}}}getMesh(A=0){const{gridSize:I,indices:g}=this.martini,{errors:B}=this;let C=0,e=0;const i=I-1;function Q(i,t,E,s,a,o){const r=i+E>>1,n=t+s>>1;Math.abs(i-a)+Math.abs(t-o)>1&&B[n*I+r]>A?(Q(a,o,i,t,r,n),Q(E,s,a,o,r,n)):(g[t*I+i]=g[t*I+i]||++C,g[s*I+E]=g[s*I+E]||++C,g[o*I+a]=g[o*I+a]||++C,e++)}g.fill(0),Q(0,0,i,i,i,0),Q(i,i,0,0,0,i);const t=new Uint16Array(2*C),E=new Uint32Array(3*e);let s=0;function a(C,e,i,Q,o,r){const n=C+i>>1,h=e+Q>>1;if(Math.abs(C-o)+Math.abs(e-r)>1&&B[h*I+n]>A)a(o,r,C,e,n,h),a(i,Q,o,r,n,h);else{const A=g[e*I+C]-1,B=g[Q*I+i]-1,a=g[r*I+o]-1;t[2*A]=C,t[2*A+1]=e,t[2*B]=i,t[2*B+1]=Q,t[2*a]=o,t[2*a+1]=r,E[s++]=A,E[s++]=B,E[s++]=a}}return a(0,0,i,i,i,0),a(i,i,0,0,0,i),{vertices:t,triangles:E}}}function fI(A,I,g,B){const C=function(A){const I=[];for(let g=0;g<A.length;g+=3)I.push([A[g],A[g+1]]),I.push([A[g+1],A[g+2]]),I.push([A[g+2],A[g]]);I.sort((A,I)=>Math.min(...A)-Math.min(...I)||Math.max(...A)-Math.max(...I));const g=[];let B=0;for(;B<I.length;)I[B][0]===I[B+1]?.[1]&&I[B][1]===I[B+1]?.[0]?B+=2:(g.push(I[B]),B++);return g}(I),e=new A.POSITION.value.constructor(6*C.length),Q=new A.TEXCOORD_0.value.constructor(4*C.length),t=new I.constructor(6*C.length);for(let I=0;I<C.length;I++){uI({edge:C[I],edgeIndex:I,attributes:A,skirtHeight:g,newPosition:e,newTexcoord0:Q,newTriangles:t})}A.POSITION.value=i.concatenateTypedArrays(A.POSITION.value,e),A.TEXCOORD_0.value=i.concatenateTypedArrays(A.TEXCOORD_0.value,Q);return{attributes:A,triangles:I instanceof Array?I.concat(t):i.concatenateTypedArrays(I,t)}}function uI({edge:A,edgeIndex:I,attributes:g,skirtHeight:B,newPosition:C,newTexcoord0:e,newTriangles:i}){const Q=g.POSITION.value.length,t=2*I,E=2*I+1;C.set(g.POSITION.value.subarray(3*A[0],3*A[0]+3),3*t),C[3*t+2]=C[3*t+2]-B,C.set(g.POSITION.value.subarray(3*A[1],3*A[1]+3),3*E),C[3*E+2]=C[3*E+2]-B,e.set(g.TEXCOORD_0.value.subarray(2*A[0],2*A[0]+2),2*t),e.set(g.TEXCOORD_0.value.subarray(2*A[1],2*A[1]+2),2*E);const s=2*I*3;i[s]=A[0],i[s+1]=Q/3+E,i[s+2]=A[1],i[s+3]=Q/3+E,i[s+4]=A[0],i[s+5]=Q/3+t}function GI(A,I,g,B,C,e){return(g-C)*(I-e)-(B-e)*(A-C)}class NI{constructor(A,I,g=I){this.data=A,this.width=I,this.height=g,this.coords=[],this.triangles=[],this._halfedges=[],this._candidates=[],this._queueIndices=[],this._queue=[],this._errors=[],this._rms=[],this._pending=[],this._pendingLen=0,this._rmsSum=0;const B=I-1,C=g-1,e=this._addPoint(0,0),i=this._addPoint(B,0),Q=this._addPoint(0,C),t=this._addPoint(B,C),E=this._addTriangle(t,e,Q,-1,-1,-1);this._addTriangle(e,t,i,E,-1,-1),this._flush()}run(A=1){for(;this.getMaxError()>A;)this.refine()}refine(){this._step(),this._flush()}getMaxError(){return this._errors[0]}getRMSD(){return this._rmsSum>0?Math.sqrt(this._rmsSum/(this.width*this.height)):0}heightAt(A,I){return this.data[this.width*I+A]}_flush(){const{coords:A}=this;for(let I=0;I<this._pendingLen;I++){const g=this._pending[I],B=2*this.triangles[3*g+0],C=2*this.triangles[3*g+1],e=2*this.triangles[3*g+2];this._findCandidate(A[B],A[B+1],A[C],A[C+1],A[e],A[e+1],g)}this._pendingLen=0}_findCandidate(A,I,g,B,C,e,i){const Q=Math.min(A,g,C),t=Math.min(I,B,e),E=Math.max(A,g,C),s=Math.max(I,B,e);let a=GI(g,B,C,e,Q,t),o=GI(C,e,A,I,Q,t),r=GI(A,I,g,B,Q,t);const n=B-I,h=A-g,D=e-B,l=g-C,c=I-e,w=C-A,y=GI(A,I,g,B,C,e),d=this.heightAt(A,I)/y,S=this.heightAt(g,B)/y,f=this.heightAt(C,e)/y;let u=0,G=0,N=0,F=0;for(let A=t;A<=s;A++){let I=0;a<0&&0!==D&&(I=Math.max(I,Math.floor(-a/D))),o<0&&0!==c&&(I=Math.max(I,Math.floor(-o/c))),r<0&&0!==n&&(I=Math.max(I,Math.floor(-r/n)));let g=a+D*I,B=o+c*I,C=r+n*I,e=!1;for(let i=Q+I;i<=E;i++){if(g>=0&&B>=0&&C>=0){e=!0;const I=d*g+S*B+f*C,Q=Math.abs(I-this.heightAt(i,A));F+=Q*Q,Q>u&&(u=Q,G=i,N=A)}else if(e)break;g+=D,B+=c,C+=n}a+=l,o+=w,r+=h}(G===A&&N===I||G===g&&N===B||G===C&&N===e)&&(u=0),this._candidates[2*i]=G,this._candidates[2*i+1]=N,this._rms[i]=F,this._queuePush(i,u,F)}_step(){const A=this._queuePop(),I=3*A+0,g=3*A+1,B=3*A+2,C=this.triangles[I],e=this.triangles[g],i=this.triangles[B],Q=this.coords[2*C],t=this.coords[2*C+1],E=this.coords[2*e],s=this.coords[2*e+1],a=this.coords[2*i],o=this.coords[2*i+1],r=this._candidates[2*A],n=this._candidates[2*A+1],h=this._addPoint(r,n);if(0===GI(Q,t,E,s,r,n))this._handleCollinear(h,I);else if(0===GI(E,s,a,o,r,n))this._handleCollinear(h,g);else if(0===GI(a,o,Q,t,r,n))this._handleCollinear(h,B);else{const A=this._halfedges[I],Q=this._halfedges[g],t=this._halfedges[B],E=this._addTriangle(C,e,h,A,-1,-1,I),s=this._addTriangle(e,i,h,Q,-1,E+1),a=this._addTriangle(i,C,h,t,E+2,s+1);this._legalize(E),this._legalize(s),this._legalize(a)}}_addPoint(A,I){const g=this.coords.length>>1;return this.coords.push(A,I),g}_addTriangle(A,I,g,B,C,e,i=this.triangles.length){const Q=i/3;return this.triangles[i+0]=A,this.triangles[i+1]=I,this.triangles[i+2]=g,this._halfedges[i+0]=B,this._halfedges[i+1]=C,this._halfedges[i+2]=e,B>=0&&(this._halfedges[B]=i+0),C>=0&&(this._halfedges[C]=i+1),e>=0&&(this._halfedges[e]=i+2),this._candidates[2*Q+0]=0,this._candidates[2*Q+1]=0,this._queueIndices[Q]=-1,this._rms[Q]=0,this._pending[this._pendingLen++]=Q,i}_legalize(A){const I=this._halfedges[A];if(I<0)return;const g=A-A%3,B=I-I%3,C=g+(A+1)%3,e=g+(A+2)%3,i=B+(I+2)%3,Q=B+(I+1)%3,t=this.triangles[e],E=this.triangles[A],s=this.triangles[C],a=this.triangles[i],{coords:o}=this;if(!function(A,I,g,B,C,e,i,Q){const t=A-i,E=I-Q,s=g-i,a=B-Q,o=C-i,r=e-Q,n=s*s+a*a,h=o*o+r*r;return t*(a*h-n*r)-E*(s*h-n*o)+(t*t+E*E)*(s*r-a*o)<0}(o[2*t],o[2*t+1],o[2*E],o[2*E+1],o[2*s],o[2*s+1],o[2*a],o[2*a+1]))return;const r=this._halfedges[C],n=this._halfedges[e],h=this._halfedges[i],D=this._halfedges[Q];this._queueRemove(g/3),this._queueRemove(B/3);const l=this._addTriangle(t,a,s,-1,h,r,g),c=this._addTriangle(a,t,E,l,n,D,B);this._legalize(l+1),this._legalize(c+2)}_handleCollinear(A,I){const g=I-I%3,B=g+(I+1)%3,C=g+(I+2)%3,e=this.triangles[C],i=this.triangles[I],Q=this.triangles[B],t=this._halfedges[B],E=this._halfedges[C],s=this._halfedges[I];if(s<0){const I=this._addTriangle(A,e,i,-1,E,-1,g),B=this._addTriangle(e,A,Q,I,-1,t);return this._legalize(I+1),void this._legalize(B+2)}const a=s-s%3,o=a+(s+2)%3,r=a+(s+1)%3,n=this.triangles[o],h=this._halfedges[o],D=this._halfedges[r];this._queueRemove(a/3);const l=this._addTriangle(e,i,A,E,-1,-1,g),c=this._addTriangle(i,n,A,D,-1,l+1,a),w=this._addTriangle(n,Q,A,h,-1,c+1),y=this._addTriangle(Q,e,A,t,l+2,w+1);this._legalize(l),this._legalize(c),this._legalize(w),this._legalize(y)}_queuePush(A,I,g){const B=this._queue.length;this._queueIndices[A]=B,this._queue.push(A),this._errors.push(I),this._rmsSum+=g,this._queueUp(B)}_queuePop(){const A=this._queue.length-1;return this._queueSwap(0,A),this._queueDown(0,A),this._queuePopBack()}_queuePopBack(){const A=this._queue.pop();return this._errors.pop(),this._rmsSum-=this._rms[A],this._queueIndices[A]=-1,A}_queueRemove(A){const I=this._queueIndices[A];if(I<0){const I=this._pending.indexOf(A);if(-1===I)throw new Error("Broken triangulation (something went wrong).");return void(this._pending[I]=this._pending[--this._pendingLen])}const g=this._queue.length-1;g!==I&&(this._queueSwap(I,g),this._queueDown(I,g)||this._queueUp(I)),this._queuePopBack()}_queueLess(A,I){return this._errors[A]>this._errors[I]}_queueSwap(A,I){const g=this._queue[A],B=this._queue[I];this._queue[A]=B,this._queue[I]=g,this._queueIndices[g]=I,this._queueIndices[B]=A;const C=this._errors[A];this._errors[A]=this._errors[I],this._errors[I]=C}_queueUp(A){let I=A;for(;;){const A=I-1>>1;if(A===I||!this._queueLess(I,A))break;this._queueSwap(A,I),I=A}}_queueDown(A,I){let g=A;for(;;){const A=2*g+1;if(A>=I||A<0)break;const B=A+1;let C=A;if(B<I&&this._queueLess(B,A)&&(C=B),!this._queueLess(C,g))break;this._queueSwap(g,C),g=C}return g>A}}const FI={type:"image",tesselator:"martini",format:"uint8",useHeatMap:!0,useColorsBasedOnValues:!1,useAutoRange:!1,useDataForOpacity:!1,useSingleColor:!1,useColorClasses:!1,blurredTexture:!0,clipLow:null,clipHigh:null,multiplier:1,color:[255,0,255,255],colorScale:C.brewer.YlOrRd,colorScaleValueRange:[0,255],colorsBasedOnValues:null,colorClasses:null,alpha:100,useChannel:null,useChannelIndex:null,noDataValue:void 0,numOfChannels:void 0,nullColor:[0,0,0,0],unidentifiedColor:[0,0,0,0],clippedColor:[0,0,0,0],terrainColor:[133,133,133,255],terrainSkirtHeight:100,terrainMinValue:0,planarConfig:void 0};class kI{data;scale=(A,I,g,B,C)=>(A-I)*(C-B)/(g-I)+B;async setUrl(A){const I=await fetch(A),g=await I.arrayBuffer(),B=await yI(g),C=await B.getImage(0);this.data=C}async getMap(A,I,g){const B={...FI,...I};switch(B.type){case"image":return this.getBitmap(A,B);case"terrain":return this.getHeightmap(A,B,g);default:return null}}async getHeightmap(A,I,g){let B,C,i=[];"string"==typeof A?(await this.setUrl(A),i=await this.data.readRasters(),B=this.data.getWidth(),C=this.data.getHeight()):(i=A.rasters,B=A.width,C=A.height);const Q={...I};let t=i[0];Q.useChannelIndex??=null==Q.useChannel?null:Q.useChannel-1,null!=I.useChannelIndex&&i[Q.useChannelIndex]&&(t=i[Q.useChannelIndex]);const E=new Float32Array((257===B?B:B+1)*(257===C?C:C+1)),s=t.length/(B*C);let a=null===I.useChannelIndex?0:I.useChannelIndex;const o=257===B;for(let A=0;A<C;A++)for(let g=0;g<B;g++){let C=I.noDataValue&&t[a]===I.noDataValue?I.terrainMinValue:t[a]*I.multiplier;(Number.isNaN(C)||C<-34e37||C>34e37)&&(C=I.terrainMinValue);E[o?A*B+g:A*(B+1)+g]=C,a+=s}if(!o){for(let A=(B+1)*B,I=0;I<B;I++,A++)E[A]=E[A-B-1];for(let A=C,I=0;I<C+1;I++,A+=C+1)E[A]=E[A-1]}const{terrainSkirtHeight:r}=I;let n;switch(I.tesselator){case"martini":n=RI(g,B,E);break;case"delatin":n=LI(g,B,C,E);break;default:n=B!==C||C&&B-1?LI(g,B,C,E):RI(g,B,E)}const{vertices:h}=n;let{triangles:D}=n,l=function(A,I,g,B,C){const e=257===g?257:g+1,i=A.length/2,Q=new Float32Array(3*i),t=new Float32Array(2*i),[E,s,a,o]=C||[0,0,g,B],r=257===g?g-1:g,n=257===B?B-1:B,h=(a-E)/r,D=(o-s)/n;for(let g=0;g<i;g++){const B=A[2*g],C=A[2*g+1],i=C*e+B;Q[3*g+0]=B*h+E,Q[3*g+1]=-C*D+o,Q[3*g+2]=I[i],t[2*g+0]=B/r,t[2*g+1]=C/n}return{POSITION:{value:Q,size:3},TEXCOORD_0:{value:t,size:2}}}(h,E,B,C,A.bounds);const c=e.getMeshBoundingBox(l);if(r){const{attributes:A,triangles:I}=fI(l,D,r);l=A,D=I}return{loaderData:{header:{}},header:{vertexCount:D.length,boundingBox:c},mode:4,indices:{value:Uint32Array.from(D),size:1},attributes:l}}async getBitmap(A,I){const g={...I};let B,C,e,i=[];"string"==typeof A?(await this.setUrl(A),i=await this.data.readRasters(),B=i.length,C=this.data.getWidth(),e=this.data.getHeight()):(i=A.rasters,B=i.length,C=A.width,e=A.height);const Q=document.createElement("canvas");Q.width=C,Q.height=e;const t=Q.getContext("2d"),E=t.createImageData(C,e);let s,a,o,r;const n=C*e*4;if(g.unidentifiedColor=this.getColorFromChromaType(g.unidentifiedColor),g.nullColor=this.getColorFromChromaType(g.nullColor),g.clippedColor=this.getColorFromChromaType(g.clippedColor),g.color=this.getColorFromChromaType(g.color),g.useChannelIndex??=null===I.useChannel?null:I.useChannel-1,null==g.useChannelIndex){if(1===B){if(i[0].length/(C*e)===1){const A=i[0];g.useAutoRange&&(g.colorScaleValueRange=this.getMinMax(A,g));this.getColorValue(A,g,n).forEach((A,I)=>{E.data[I]=A})}if(i[0].length/(C*e)===3){let A=0;for(let I=0;I<n;I+=4){const B=[i[0][A],i[0][A+1],i[0][A+2]],C=this.hasPixelsNoData(B,g.noDataValue)?g.nullColor:[...B,Math.floor(2.55*g.alpha)];[E.data[I],E.data[I+1],E.data[I+2],E.data[I+3]]=C,A+=3}}i[0].length/(C*e)===4&&i[0].forEach((A,I)=>{E.data[I]=A})}if(3===B){let A=0;for(let I=0;I<n;I+=4)s=i[0][A],a=i[1][A],o=i[2][A],r=Math.floor(2.55*g.alpha),E.data[I]=s,E.data[I+1]=a,E.data[I+2]=o,E.data[I+3]=r,A+=1}if(4===B){let A=0;for(let I=0;I<n;I+=4)s=i[0][A],a=i[1][A],o=i[2][A],r=Math.floor(2.55*g.alpha),E.data[I]=s,E.data[I+1]=a,E.data[I+2]=o,E.data[I+3]=r,A+=1}}else if(g.useChannelIndex<g.numOfChannels&&g.useChannelIndex>=0){let A=i[0];i[g.useChannelIndex]&&(A=i[g.useChannelIndex]),g.useAutoRange&&(g.colorScaleValueRange=this.getMinMax(A,g));this.getColorValue(A,g,n,g.numOfChannels).forEach((A,I)=>{E.data[I]=A})}else{console.log(`Defined channel(${I.useChannel}) or channel index(${I.useChannelIndex}) does not exist, choose a different channel or set the useChannel property to null if you want to visualize RGB(A) imagery`);this.getDefaultColor(n,g.nullColor).forEach((A,I)=>{E.data[I]=A})}t.putImageData(E,0,0);return Q.toDataURL("image/png")}getMinMax(A,I){let g=I.maxValue?I.maxValue:Number.MIN_VALUE,B=I.minValue?I.minValue:Number.MAX_VALUE;for(let C=0;C<A.length;C+=1)void 0!==I.noDataValue&&A[C]===I.noDataValue||(A[C]>g&&(g=A[C]),A[C]<B&&(B=A[C]));return[B,g]}getColorValue(A,I,g,B=1){const e=C.scale(I.colorScale).domain(I.colorScaleValueRange);let i=null===I.useChannelIndex?0:I.useChannelIndex;const Q=new Array(g),t=I.colorsBasedOnValues?I.colorsBasedOnValues.map(([A])=>A):void 0,E=I.colorsBasedOnValues?I.colorsBasedOnValues.map(([,A])=>[...C(A).rgb(),Math.floor(2.55*I.alpha)]):void 0,s=I.useColorClasses?I.colorClasses.map(([A])=>[...C(A).rgb(),Math.floor(2.55*I.alpha)]):void 0,a=I.useColorClasses?I.colorClasses.map(([,A])=>A):void 0,o=I.useColorClasses?I.colorClasses.map(([,,A],g)=>void 0!==A?A:g===I.colorClasses.length-1?[!0,!0]:[!0,!1]):void 0;for(let C=0;C<g;C+=4){let g=I.nullColor;if(!Number.isNaN(A[i])&&(void 0===I.noDataValue||A[i]!==I.noDataValue))if(null!=I.clipLow&&A[i]<=I.clipLow||null!=I.clipHigh&&A[i]>=I.clipHigh)g=I.clippedColor;else{if(I.useHeatMap&&(g=[...e(A[i]).rgb(),Math.floor(2.55*I.alpha)]),I.useColorsBasedOnValues){const B=t.indexOf(A[i]);g=B>-1?E[B]:I.unidentifiedColor}if(I.useColorClasses){const B=this.findClassIndex(A[i],a,o);g=B>-1?s[B]:I.unidentifiedColor}I.useSingleColor&&(g=I.color),I.useDataForOpacity&&(g[3]=this.scale(A[i],I.colorScaleValueRange[0],I.colorScaleValueRange.slice(-1)[0],0,255))}[Q[C],Q[C+1],Q[C+2],Q[C+3]]=g,i+=B}return Q}findClassIndex(A,I,g){for(let B=0;B<I.length;B+=1){const[C,e]=I[B],[i,Q]=g[B];if((i?A>=C:A>C)&&(Q?A<=e:A<e))return B}return-1}getDefaultColor(A,I){const g=new Array(A);for(let B=0;B<A;B+=4)[g[B],g[B+1],g[B+2],g[B+3]]=I;return g}getColorFromChromaType(A){return Array.isArray(A)&&4===A.length?A:[...C(A).rgb(),255]}hasPixelsNoData(A,I){return void 0!==I&&A.every(A=>A===I)}}function RI(A,I,g){const B=new dI(257===I?257:I+1).createTile(g),{vertices:C,triangles:e}=B.getMesh(A);return{vertices:C,triangles:e}}function LI(A,I,g,B){const C=new NI(B,257===I?257:I+1,257===g?257:g+1);C.run(A);const{coords:e,triangles:i}=C;return{vertices:e,triangles:i}}const UI=2*Math.PI*6378137,YI=UI/2,mI=[-20037508.342789244,20037508.342789244],pI={blurredTexture:!0};class MI{cog;cogZoomLookup=[];cogResolutionLookup=[];cogOrigin=[0,0];zoomRange=[0,0];tileSize;bounds;geo=new kI;options;constructor(A){this.options={...pI,...A}}async initializeCog(A){if(this.cog)return;this.cog=await async function(A,I={},g){return wI.fromSource(eI(A,I),void 0,g)}(A);const I=await this.cog.getImage(),g=I.fileDirectory;this.cogOrigin=I.getOrigin(),this.options.noDataValue??=await this.getNoDataValue(I),this.options.format??=await this.getDataTypeFromTags(g),this.options.numOfChannels=g.getValue("SamplesPerPixel"),this.options.planarConfig=g.getValue("PlanarConfiguration"),[this.cogZoomLookup,this.cogResolutionLookup]=await this.buildCogZoomResolutionLookup(this.cog),this.tileSize=I.getTileWidth(),this.zoomRange=this.calculateZoomRange(this.tileSize,I.getResolution()[0],await this.cog.getImageCount()),this.bounds=this.calculateBoundsAsLatLon(I.getBoundingBox())}getZoomRange(){return this.zoomRange}calculateZoomRange(A,I,g){const B=this.getZoomLevelFromResolution(A,I);return[B-(g-1),B]}calculateBoundsAsLatLon(A){const I=Math.min(A[0],A[2]),g=Math.max(A[0],A[2]),B=Math.min(A[1],A[3]),C=Math.max(A[1],A[3]),e=this.getLatLon([I,B]),i=this.getLatLon([g,C]);return[e[0],e[1],i[0],i[1]]}getZoomLevelFromResolution(A,I){return Math.round(Math.log2(UI/(I*A)))}getBoundsAsLatLon(){return this.bounds}getLatLon(A){const I=A[0],g=A[1],B=I/YI*180;let C=g/YI*180;return C=180/Math.PI*(2*Math.atan(Math.exp(C*Math.PI/180))-Math.PI/2),[B,C]}async buildCogZoomResolutionLookup(A){const I=await A.getImageCount(),g=await A.getImage(0),B=g.getResolution()[0],C=g.getWidth(),e=[],i=[];for(let g=0;g<I;g++){const I=B*(C/(await A.getImage(g)).getWidth()),Q=Math.round(Math.log2(156543.03125/I));e[g]=Q,i[g]=I}return[e,i]}getImageIndexForZoomLevel(A){const I=this.cogZoomLookup[this.cogZoomLookup.length-1];if(A>this.cogZoomLookup[0])return 0;if(A<I)return this.cogZoomLookup.length-1;const g=this.cogZoomLookup.indexOf(A);return-1===g&&console.log("getImageIndexForZoomLevel: error in retrieving image by zoom index"),g}async getTileFromImage(A,I,g,B){const C=this.getImageIndexForZoomLevel(g),e=await this.cog.getImage(C),i=e.getTileWidth(),Q=e.getTileHeight();if(!i||!Q)throw new Error('GeoTIFF Error: The provided image is not tiled. Please use "rio cogeo create --web-optimized" to fix this.');const t=this.cogResolutionLookup[C],E=e.getHeight(),s=e.getWidth(),[a,o]=this.cogOrigin,r=this.tileSize,n=UI/r/2**g,h=(mI[0]+A*r*n-a)/t,D=(o-(mI[1]-I*r*n))/t,l=B||r,c=Math.round(h),w=Math.round(D),y=c+l,d=w+l,S=Math.max(0,c),f=Math.max(0,w),u=Math.min(s,y),G=Math.min(E,d),N=u-S,F=G-f;if(N<=0||F<=0)return[this.createEmptyTile(l)];const k=S-c,R=f-w,L=[S,f,u,G];if(k>0||R>0||N<l||F<l){this.createTileBuffer(this.options.format,l).fill(this.options.noDataValue);const A=await e.readRasters({window:L}),I=Array(A.length*A[0].length);I.fill(this.options.noDataValue);for(let g=0;g<A.length;g+=1){const B=this.createTileBuffer(this.options.format,l);void 0!==this.options.noDataValue&&B.fill(this.options.noDataValue);for(let I=0;I<F;I+=1){const C=R+I,e=C*l,i=I*A.width;for(let I=0;I<N;I+=1){const Q=k+I;C<l&&Q<l?B[e+Q]=A[g][i+I]:console.log(`error in assigning data to tile buffer: destRow ${C}, destCol ${Q}, FETCH_SIZE ${l}`)}}for(let A=0;A<B.length;A+=1)I[A*this.options.numOfChannels+g]=B[A]}return[I]}return[await e.readRasters({window:L,interleave:!0})]}createEmptyTile(A){const I=A||this.tileSize,g=this.options.numOfChannels||1,B=new Float32Array(I*I*g);return void 0!==this.options.noDataValue&&B.fill(this.options.noDataValue),B}async getTile(A,I,g,B,C){let e=this.tileSize;"terrain"===this.options.type&&(e=this.tileSize+1);const i=await this.getTileFromImage(A,I,g,e);return this.geo.getMap({rasters:[i[0]],width:e,height:e,bounds:B},this.options,C)}async getDataTypeFromTags(A){const I=A.hasTag("SampleFormat"),g=A.hasTag("BitsPerSample");if(!I||!g)return console.warn("Missing SampleFormat or BitsPerSample tags, defaulting to UInt8"),"UInt8";const B=A.getValue("SampleFormat"),C=A.getValue("BitsPerSample"),e=B&&"number"==typeof B.length&&B.length>0?B[0]:B;let i;return i=1===e?"UInt":2===e?"Int":3===e?"Float":"Unknown",`${i}${C&&"number"==typeof C.length&&C.length>0?C[0]:C}`}getNoDataValue(A){const I=A.getGDALNoData();if(null==I)return void console.warn("No noData value defined — raster might be rendered incorrectly.");const g=String(I).replace(/\0/g,"").trim();if(""===g)return void console.warn("noData value is an empty string after cleanup.");const B=Number(g);return"nan"===g.toLowerCase()?NaN:Number.isNaN(B)?void console.warn(`Failed to parse numeric noData value: '${g}'`):B}createTileBuffer(A,I){const g=I*I;switch(A){case"UInt8":return new Uint8Array(g);case"Int8":return new Int8Array(g);case"UInt16":return new Uint16Array(g);case"Int16":return new Int16Array(g);case"UInt32":return new Uint32Array(g);case"Int32":return new Int32Array(g);case"Float32":return new Float32Array(g);case"Float64":return new Float64Array(g);default:return console.warn(`Unsupported data type: ${A}, defaulting to Float32`),new Float32Array(g)}}}const KI={type:"object",value:null,validate:(A,I)=>I.optional&&null===A||"string"==typeof A||Array.isArray(A)&&A.every(A=>"string"==typeof A),equal:(A,I)=>{if(A===I)return!0;if(!Array.isArray(A)||!Array.isArray(I))return!1;const g=A.length;if(g!==I.length)return!1;for(let B=0;B<g;B++)if(A[B]!==I[B])return!1;return!0}},JI={...I.TileLayer.defaultProps,bounds:{type:"array",value:null,optional:!0,compare:!0},rasterData:KI,clampToTerrain:!1,workerUrl:""};class HI extends A.CompositeLayer{static defaultProps=JI;static layerName="CogBitmapLayer";async initializeState(A){super.initializeState(A),this.setState({bitmapCogTiles:this.props.cogTiles||new MI(this.props.cogBitmapOptions),initialized:!1}),await this.init()}async init(){await this.state.bitmapCogTiles.initializeCog(this.props.rasterData);const A=this.state.bitmapCogTiles.getZoomRange(),[I,g]=A;this.setState({initialized:!0,minZoom:I,maxZoom:g})}updateState({props:I,oldProps:g}){const B=I.rasterData!==g.rasterData;if(B){const{rasterData:A}=I,g=A&&(Array.isArray(A)||A.includes("{x}")&&A.includes("{y}")||this.props.isTiled);this.setState({isTiled:g})}B||(I.bounds,g.bounds);this.state.isTiled,I?.cogBitmapOptions?.useChannel&&I.cogBitmapOptions?.useChannel!==g.cogBitmapOptions?.useChannel&&(this.state.bitmapCogTiles.options.useChannel=I.cogBitmapOptions.useChannel),I.workerUrl&&A.log.removed("workerUrl","loadOptions.terrain.workerUrl")()}async getTiledBitmapData(A){return await this.state.bitmapCogTiles.getTile(A.index.x,A.index.y,A.index.z)}renderSubLayers(A){const I=this.getSubLayerClass("image",g.BitmapLayer),{blurredTexture:C}=this.state.bitmapCogTiles.options,{clampToTerrain:e}=this.props,i="object"==typeof e&&null!==e&&"terrainDrawMode"in e,{data:Q}=A;if(!Q)return null;const{bbox:{west:t,south:E,east:s,north:a}}=A.tile;return new I({...A,tileSize:this.state.bitmapCogTiles.tileSize},{data:null,image:Q,_instanced:!1,bounds:[t,E,s,a],textureParameters:{minFilter:C?"linear":"nearest",magFilter:C?"linear":"nearest"},extensions:e?[new B._TerrainExtension]:[],...i?{terrainDrawMode:e.terrainDrawMode}:{}})}renderLayers(){const{clampToTerrain:A,maxRequests:g,onTileLoad:B,onTileUnload:C,onTileError:e,maxCacheSize:i,maxCacheByteSize:Q,refinementStrategy:t,cogBitmapOptions:E}=this.props;if(this.state.isTiled&&this.state.initialized){const{tileSize:s}=this.state.bitmapCogTiles;return new I.TileLayer(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledBitmapData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:[A,E.useChannel]},extent:this.state.bitmapCogTiles.getBoundsAsLatLon(),tileSize:s,minZoom:this.state.minZoom,maxZoom:this.state.maxZoom,maxRequests:g,onTileLoad:B,onTileUnload:C,onTileError:e,maxCacheSize:i,maxCacheByteSize:Q,refinementStrategy:t})}return null}}const qI={type:"object",value:null,validate:(A,I)=>I.optional&&null===A||"string"==typeof A||Array.isArray(A)&&A.every(A=>"string"==typeof A),equal:(A,I)=>{if(A===I)return!0;if(!Array.isArray(A)||!Array.isArray(I))return!1;const g=A.length;if(g!==I.length)return!1;for(let B=0;B<g;B++)if(A[B]!==I[B])return!1;return!0}},bI=[1],xI={...I.TileLayer.defaultProps,elevationData:qI,texture:{...qI,optional:!0},meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0};class TI extends A.CompositeLayer{static defaultProps=xI;static layerName="CogTerrainLayer";terrainUrl;async initializeState(A){super.initializeState(A),this.setState({terrainCogTiles:this.props.cogTiles||new MI(this.props.terrainOptions),initialized:!1}),await this.init(this.terrainUrl)}async init(){await this.state.terrainCogTiles.initializeCog(this.props.elevationData);const A=this.state.terrainCogTiles.getZoomRange(),[I,g]=A;this.setState({initialized:!0,minZoom:I,maxZoom:g})}updateState({props:I,oldProps:g}){const B=I.elevationData!==g.elevationData;if(B){const{elevationData:A}=I,g=A&&(Array.isArray(A)||A.includes("{x}")&&A.includes("{y}"))||this.props.isTiled;this.setState({isTiled:g})}B||I.meshMaxError!==g.meshMaxError||I.elevationDecoder!==g.elevationDecoder||(I.bounds,g.bounds);this.state.isTiled,I.workerUrl&&A.log.removed("workerUrl","loadOptions.terrain.workerUrl")()}loadTerrain({elevationData:A,bounds:I,elevationDecoder:g,meshMaxError:B,signal:C}){if(!A)return null;let e=this.getLoadOptions();e={...e,_workerType:"test",terrain:{skirtHeight:this.state.isTiled?2*B:0,...e?.terrain,bounds:I,meshMaxError:B,elevationDecoder:g}};const{fetch:i}=this.props;return i(A,{propName:"elevationData",layer:this,loadOptions:e,signal:C,loaders:[]})}async getTiledTerrainData(A){const{viewport:I}=this.context;let g=[0,0],B=[0,0];if(I.isGeospatial){const C=A.bbox;g=I.projectFlat([C.west,C.south]),B=I.projectFlat([C.east,C.north])}else{const I=A.bbox;g=[I.left,I.bottom],B=[I.right,I.top]}const C=[g[0],g[1],B[0],B[1]],e=await this.state.terrainCogTiles.getTile(A.index.x,A.index.y,A.index.z,C,this.props.meshMaxError);return Promise.all([e,null])}renderSubLayers(I){const g=this.getSubLayerClass("mesh",Q.SimpleMeshLayer),{color:B,wireframe:C,material:e}=this.props,{data:i}=I;if(!i)return null;const[t]=i;return new g({...I,tileSize:256},{data:bI,mesh:t,_instanced:!1,coordinateSystem:A.COORDINATE_SYSTEM.CARTESIAN,getColor:B,wireframe:C,material:e})}onViewportLoad(A){if(!A)return;const{zRange:I}=this.state,g=A.map(A=>A.content).filter(A=>A&&A[0]).map(A=>{const I=A[0]?.header?.boundingBox;return I?.map(A=>A[2])});if(0===g.length)return;const B=Math.min(...g.map(A=>A[0])),C=Math.max(...g.map(A=>A[1]));(!I||B<I[0]||C>I[1])&&this.setState({zRange:[Number.isFinite(B)?B:0,Number.isFinite(C)?C:0]})}renderLayers(){const{elevationData:A,meshMaxError:g,elevationDecoder:B,tileSize:C,extent:e,maxRequests:i,onTileLoad:Q,onTileUnload:t,onTileError:E,maxCacheSize:s,maxCacheByteSize:a,refinementStrategy:o}=this.props;if(this.state.isTiled&&this.state.initialized)return new I.TileLayer(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:(r=A,Array.isArray(r)?r.join(";"):r||""),meshMaxError:g,elevationDecoder:B}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:C,minZoom:this.state.minZoom,maxZoom:this.state.maxZoom,extent:e,maxRequests:i,onTileLoad:Q,onTileUnload:t,onTileError:E,maxCacheSize:s,maxCacheByteSize:a,refinementStrategy:o});var r}}var OI=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){return A}}});function PI(A,I){for(let g=I.length-1;g>=0;g--)A.push(I[g]);return A}function vI(A){const I=new Uint16Array(4093),g=new Uint8Array(4093);for(let A=0;A<=257;A++)I[A]=4096,g[A]=A;let B=258,C=9,e=0;function i(){B=258,C=9}function Q(A){const I=function(A,I,g){const B=I%8,C=Math.floor(I/8),e=8-B,i=I+g-8*(C+1);let Q=8*(C+2)-(I+g);const t=8*(C+2)-I;if(Q=Math.max(0,Q),C>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;let E=A[C]&2**(8-B)-1;E<<=g-e;let s=E;if(C+1<A.length){let I=A[C+1]>>>Q;I<<=Math.max(0,g-t),s+=I}if(i>8&&C+2<A.length){const B=8*(C+3)-(I+g);s+=A[C+2]>>>B}return s}(A,e,C);return e+=C,I}function t(A,C){return g[B]=C,I[B]=A,B++,B-1}function E(A){const B=[];for(let C=A;4096!==C;C=I[C])B.push(g[C]);return B}const s=[];i();const a=new Uint8Array(A);let o,r=Q(a);for(;257!==r;){if(256===r){for(i(),r=Q(a);256===r;)r=Q(a);if(257===r)break;if(r>256)throw new Error(`corrupted code at scanline ${r}`);PI(s,E(r)),o=r}else if(r<B){const A=E(r);PI(s,A),t(o,A[A.length-1]),o=r}else{const A=E(o);if(!A)throw new Error(`Bogus entry. Not in dictionary, ${o} / ${B}, position: ${e}`);PI(s,A),s.push(A[A.length-1]),t(o,A[A.length-1]),o=r}B+1>=2**C&&(12===C?o=void 0:C++),r=Q(a)}return new Uint8Array(s)}var VI=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){return vI(A).buffer}}});const ZI=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]),jI=4017,WI=799,zI=3406,_I=2276,XI=1567,$I=3784,Ag=5793,Ig=2896;function gg(A,I){let g=0;const B=[];let C=16;for(;C>0&&!A[C-1];)--C;B.push({children:[],index:0});let e,i=B[0];for(let Q=0;Q<C;Q++){for(let C=0;C<A[Q];C++){if(i=B.pop(),!i)throw new Error("buildHuffmanTable: codeLength mismatch");for(i.children[i.index]=I[g];i.index>0;)if(i=B.pop(),!i)throw new Error("buildHuffmanTable: codeLength mismatch");for(i.index++,B.push(i);B.length<=Q;)B.push(e={children:[],index:0}),i.children[i.index]=e.children,i=e;g++}Q+1<C&&(B.push(e={children:[],index:0}),i.children[i.index]=e.children,i=e)}return B[0].children}function Bg(A,I,g,B,C,e,i,Q,t){const{mcusPerLine:E,progressive:s}=g,a=I;let o=I,r=0,n=0;function h(){if(n>0)return n--,r>>n&1;if(r=A[o++],255===r){const I=A[o++];if(I)throw new Error(`unexpected marker: ${(r<<8|I).toString(16)}`)}return n=7,r>>>7}function D(A){let I,g=A;for(;null!==(I=h());){if(g=g[I],"number"==typeof g)return g;if("object"!=typeof g)throw new Error("invalid huffman sequence")}return null}function l(A){let I=A,g=0;for(;I>0;){const A=h();if(null===A)return;g=g<<1|A,--I}return g}function c(A){const I=l(A);if(void 0!==I)return I>=1<<A-1?I:I+(-1<<A)+1}let w=0;let y,d=0;function S(A,I,g,B,C){const e=g%E,i=(g/E|0)*A.v+B,Q=e*A.h+C;I(A,A.blocks[i][Q])}function f(A,I,g){const B=g/A.blocksPerLine|0,C=g%A.blocksPerLine;I(A,A.blocks[B][C])}const u=B.length;let G,N,F,k,R,L;L=s?0===e?0===Q?function(A,I){const g=D(A.huffmanTableDC),B=c(g);if(void 0===B)throw new Error("Unexpected end of data in DC coefficient decoding");const C=0===g?0:B<<t;A.pred+=C,I[0]=A.pred}:function(A,I){I[0]|=h()<<t}:0===Q?function(A,I){if(w>0)return void w--;let g=e;const B=i;for(;g<=B;){const B=D(A.huffmanTableAC);if(null===B)throw new Error("Unexpected end of data in AC coefficient decoding");const C=15&B,e=B>>4;if(0===C){if(e<15){const A=l(e);if(void 0===A)throw new Error("Unexpected end of data in AC coefficient decoding");w=A+(1<<e)-1;break}g+=16}else{g+=e;const A=ZI[g],B=c(C);if(void 0===B)throw new Error("Unexpected end of data in AC coefficient decoding");I[A]=B*(1<<t),g++}}}:function(A,I){let g=e;const B=i;let C=0;for(;g<=B;){const B=ZI[g],e=I[B]<0?-1:1;switch(d){case 0:{const I=D(A.huffmanTableAC);if(null===I)throw new Error("Unexpected end of data in AC coefficient decoding");const g=15&I;if(C=I>>4,0===g)if(C<15){const A=l(C);if(void 0===A)throw new Error("Unexpected end of data in AC coefficient decoding");w=A+(1<<C),d=4}else C=16,d=1;else{if(1!==g)throw new Error("invalid ACn encoding");y=c(g),d=C?2:3}continue}case 1:case 2:I[B]?I[B]+=(h()<<t)*e:(C--,0===C&&(d=2===d?3:0));break;case 3:I[B]?I[B]+=(h()<<t)*e:(I[B]=y<<t,d=0);break;case 4:I[B]&&(I[B]+=(h()<<t)*e)}g++}4===d&&(w--,0===w&&(d=0))}:function(A,I){const g=D(A.huffmanTableDC),B=0===g?0:c(g);A.pred+=B,I[0]=A.pred;let C=1;for(;C<64;){const g=D(A.huffmanTableAC);if(null===g)throw new Error("Unexpected end of data in AC coefficient decoding");const B=15&g,e=g>>4;if(0===B){if(e<15)break;C+=16}else C+=e,I[ZI[C]]=c(B),C++}};let U,Y,m=0;Y=1===u?B[0].blocksPerLine*B[0].blocksPerColumn:E*g.mcusPerColumn;const p=C||Y;for(;m<Y;){for(N=0;N<u;N++)B[N].pred=0;if(w=0,1===u)for(G=B[0],R=0;R<p;R++)f(G,L,m),m++;else for(R=0;R<p;R++){for(N=0;N<u;N++){G=B[N];const{h:A,v:I}=G;for(F=0;F<I;F++)for(k=0;k<A;k++)S(G,L,m,F,k)}if(m++,m===Y)break}if(n=0,U=A[o]<<8|A[o+1],U<65280)throw new Error("marker was not found");if(!(U>=65488&&U<=65495))break;o+=2}return o-a}function Cg(A,I){const g=[],{blocksPerLine:B,blocksPerColumn:C}=I,e=B<<3,i=new Int32Array(64),Q=new Uint8Array(64);function t(A,g,B){const C=I.quantizationTable;let e,i,Q,t,E,s,a,o,r;const n=B;let h;for(h=0;h<64;h++)n[h]=A[h]*C[h];for(h=0;h<8;++h){const A=8*h;0!==n[1+A]||0!==n[2+A]||0!==n[3+A]||0!==n[4+A]||0!==n[5+A]||0!==n[6+A]||0!==n[7+A]?(e=Ag*n[0+A]+128>>8,i=Ag*n[4+A]+128>>8,Q=n[2+A],t=n[6+A],E=Ig*(n[1+A]-n[7+A])+128>>8,o=Ig*(n[1+A]+n[7+A])+128>>8,s=n[3+A]<<4,a=n[5+A]<<4,r=e-i+1>>1,e=e+i+1>>1,i=r,r=Q*$I+t*XI+128>>8,Q=Q*XI-t*$I+128>>8,t=r,r=E-a+1>>1,E=E+a+1>>1,a=r,r=o+s+1>>1,s=o-s+1>>1,o=r,r=e-t+1>>1,e=e+t+1>>1,t=r,r=i-Q+1>>1,i=i+Q+1>>1,Q=r,r=E*_I+o*zI+2048>>12,E=E*zI-o*_I+2048>>12,o=r,r=s*WI+a*jI+2048>>12,s=s*jI-a*WI+2048>>12,a=r,n[0+A]=e+o,n[7+A]=e-o,n[1+A]=i+a,n[6+A]=i-a,n[2+A]=Q+s,n[5+A]=Q-s,n[3+A]=t+E,n[4+A]=t-E):(r=Ag*n[0+A]+512>>10,n[0+A]=r,n[1+A]=r,n[2+A]=r,n[3+A]=r,n[4+A]=r,n[5+A]=r,n[6+A]=r,n[7+A]=r)}for(h=0;h<8;++h){const A=h;0!==n[8+A]||0!==n[16+A]||0!==n[24+A]||0!==n[32+A]||0!==n[40+A]||0!==n[48+A]||0!==n[56+A]?(e=Ag*n[0+A]+2048>>12,i=Ag*n[32+A]+2048>>12,Q=n[16+A],t=n[48+A],E=Ig*(n[8+A]-n[56+A])+2048>>12,o=Ig*(n[8+A]+n[56+A])+2048>>12,s=n[24+A],a=n[40+A],r=e-i+1>>1,e=e+i+1>>1,i=r,r=Q*$I+t*XI+2048>>12,Q=Q*XI-t*$I+2048>>12,t=r,r=E-a+1>>1,E=E+a+1>>1,a=r,r=o+s+1>>1,s=o-s+1>>1,o=r,r=e-t+1>>1,e=e+t+1>>1,t=r,r=i-Q+1>>1,i=i+Q+1>>1,Q=r,r=E*_I+o*zI+2048>>12,E=E*zI-o*_I+2048>>12,o=r,r=s*WI+a*jI+2048>>12,s=s*jI-a*WI+2048>>12,a=r,n[0+A]=e+o,n[56+A]=e-o,n[8+A]=i+a,n[48+A]=i-a,n[16+A]=Q+s,n[40+A]=Q-s,n[24+A]=t+E,n[32+A]=t-E):(r=Ag*B[h+0]+8192>>14,n[0+A]=r,n[8+A]=r,n[16+A]=r,n[24+A]=r,n[32+A]=r,n[40+A]=r,n[48+A]=r,n[56+A]=r)}for(h=0;h<64;++h){const A=128+(n[h]+8>>4);g[h]=A<0?0:A>255?255:A}}for(let A=0;A<C;A++){const C=A<<3;for(let A=0;A<8;A++)g.push(new Uint8Array(e));for(let e=0;e<B;e++){t(I.blocks[A][e],Q,i);let B=0;const E=e<<3;for(let A=0;A<8;A++){const I=g[C+A];for(let A=0;A<8;A++)I[E+A]=Q[B++]}}}return g}class eg{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.frames=[]}resetFrames(){this.frames=[]}parse(A){let I=0;function g(){const g=A[I]<<8|A[I+1];return I+=2,g}function B(){const B=g(),C=A.subarray(I,I+B-2);return I+=C.length,C}function C(A){let I,g,B=0,C=0;for(g in A.components)A.components.hasOwnProperty(g)&&(I=A.components[g],B<I.h&&(B=I.h),C<I.v&&(C=I.v));const e=Math.ceil(A.samplesPerLine/8/B),i=Math.ceil(A.scanLines/8/C);for(g in A.components)if(A.components.hasOwnProperty(g)){I=A.components[g];const Q=Math.ceil(Math.ceil(A.samplesPerLine/8)*I.h/B),t=Math.ceil(Math.ceil(A.scanLines/8)*I.v/C),E=e*I.h,s=i*I.v,a=[];for(let A=0;A<s;A++){const A=[];for(let I=0;I<E;I++)A.push(new Int32Array(64));a.push(A)}I.blocksPerLine=Q,I.blocksPerColumn=t,I.blocks=a}A.maxH=B,A.maxV=C,A.mcusPerLine=e,A.mcusPerColumn=i}let e=g();if(65496!==e)throw new Error("SOI not found");for(e=g();65497!==e;){switch(e){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:{const A=B();65504===e&&74===A[0]&&70===A[1]&&73===A[2]&&70===A[3]&&0===A[4]&&(this.jfif={version:{major:A[5],minor:A[6]},densityUnits:A[7],xDensity:A[8]<<8|A[9],yDensity:A[10]<<8|A[11],thumbWidth:A[12],thumbHeight:A[13],thumbData:A.subarray(14,14+3*A[12]*A[13])}),65518===e&&65===A[0]&&100===A[1]&&111===A[2]&&98===A[3]&&101===A[4]&&0===A[5]&&(this.adobe={version:A[6],flags0:A[7]<<8|A[8],flags1:A[9]<<8|A[10],transformCode:A[11]});break}case 65499:{const B=g()+I-2;for(;I<B;){const B=A[I++],C=new Int32Array(64);if(B>>4){if(B>>4!=1)throw new Error("DQT: invalid table spec");for(let A=0;A<64;A++){C[ZI[A]]=g()}}else for(let g=0;g<64;g++){C[ZI[g]]=A[I++]}this.quantizationTables[15&B]=C}break}case 65472:case 65473:case 65474:{g();const B={extended:65473===e,progressive:65474===e,precision:A[I++],scanLines:g(),samplesPerLine:g(),components:{},componentsOrder:[]},i=A[I++];let Q;for(let g=0;g<i;g++){Q=A[I];const g=A[I+1]>>4,C=15&A[I+1],e=A[I+2];B.componentsOrder.push(Q),B.components[Q]={h:g,v:C,quantizationIdx:e},I+=3}C(B),this.frames.push(B);break}case 65476:{const B=g();for(let g=2;g<B;){const B=A[I++],C=new Uint8Array(16);let e=0;for(let g=0;g<16;g++,I++)C[g]=A[I],e+=C[g];const i=new Uint8Array(e);for(let g=0;g<e;g++,I++)i[g]=A[I];g+=17+e,B>>4?this.huffmanTablesAC[15&B]=gg(C,i):this.huffmanTablesDC[15&B]=gg(C,i)}break}case 65501:g(),this.resetInterval=g();break;case 65498:{g();const B=A[I++],C=[],e=this.frames[0];for(let g=0;g<B;g++){const g=e.components[A[I++]],B=A[I++];g.huffmanTableDC=this.huffmanTablesDC[B>>4],g.huffmanTableAC=this.huffmanTablesAC[15&B],C.push(g)}const i=A[I++],Q=A[I++],t=A[I++],E=Bg(A,I,e,C,this.resetInterval,i,Q,t>>4,15&t);I+=E;break}case 65535:255!==A[I]&&I--;break;default:if(255===A[I-3]&&A[I-2]>=192&&A[I-2]<=254){I-=3;break}throw new Error(`unknown JPEG marker ${e.toString(16)}`)}e=g()}}getResult(){const{frames:A}=this;if(0===this.frames.length)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++){const I=this.frames[A].components;for(const A of Object.keys(I))I[A].quantizationTable=this.quantizationTables[I[A].quantizationIdx],delete I[A].quantizationIdx}const I=A[0],{components:g,componentsOrder:B}=I,C=[],e=I.samplesPerLine,i=I.scanLines;for(let A=0;A<B.length;A++){const e=g[B[A]];C.push({lines:Cg(0,e),scaleX:e.h/I.maxH,scaleY:e.v/I.maxV})}const Q=new Uint8Array(e*i*C.length);let t=0;for(let A=0;A<i;++A)for(let I=0;I<e;++I)for(let g=0;g<C.length;++g){const B=C[g];Q[t]=B.lines[0|A*B.scaleY][0|I*B.scaleX],++t}return Q}}var ig=Object.freeze({__proto__:null,default:class extends hI{constructor(A){super(A),this.reader=new eg,A.JPEGTables&&this.reader.parse(A.JPEGTables)}decodeBlock(A){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(A)),this.reader.getResult().buffer}}});function Qg(A){let I=A.length;for(;--I>=0;)A[I]=0}Qg(new Array(576));Qg(new Array(60));Qg(new Array(512));Qg(new Array(256));Qg(new Array(29));Qg(new Array(30));var tg=(A,I,g,B)=>{let C=65535&A,e=A>>>16&65535,i=0;for(;0!==g;){i=g>2e3?2e3:g,g-=i;do{C=C+I[B++]|0,e=e+C|0}while(--i);C%=65521,e%=65521}return C|e<<16};const Eg=new Uint32Array((()=>{let A,I=[];for(var g=0;g<256;g++){A=g;for(var B=0;B<8;B++)A=1&A?3988292384^A>>>1:A>>>1;I[g]=A}return I})());var sg=(A,I,g,B)=>{const C=Eg,e=B+g;A^=-1;for(let g=B;g<e;g++)A=A>>>8^C[255&(A^I[g])];return-1^A},ag={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"},og={Z_NO_FLUSH:0,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFLATED:8};const rg=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var ng=function(A){const I=Array.prototype.slice.call(arguments,1);for(;I.length;){const g=I.shift();if(g){if("object"!=typeof g)throw new TypeError(g+"must be non-object");for(const I in g)rg(g,I)&&(A[I]=g[I])}}return A},hg=A=>{let I=0;for(let g=0,B=A.length;g<B;g++)I+=A[g].length;const g=new Uint8Array(I);for(let I=0,B=0,C=A.length;I<C;I++){let C=A[I];g.set(C,B),B+=C.length}return g};let Dg=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){Dg=!1}const lg=new Uint8Array(256);for(let A=0;A<256;A++)lg[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;lg[254]=lg[254]=1;var cg=A=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let I,g,B,C,e,i=A.length,Q=0;for(C=0;C<i;C++)g=A.charCodeAt(C),55296==(64512&g)&&C+1<i&&(B=A.charCodeAt(C+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),C++)),Q+=g<128?1:g<2048?2:g<65536?3:4;for(I=new Uint8Array(Q),e=0,C=0;e<Q;C++)g=A.charCodeAt(C),55296==(64512&g)&&C+1<i&&(B=A.charCodeAt(C+1),56320==(64512&B)&&(g=65536+(g-55296<<10)+(B-56320),C++)),g<128?I[e++]=g:g<2048?(I[e++]=192|g>>>6,I[e++]=128|63&g):g<65536?(I[e++]=224|g>>>12,I[e++]=128|g>>>6&63,I[e++]=128|63&g):(I[e++]=240|g>>>18,I[e++]=128|g>>>12&63,I[e++]=128|g>>>6&63,I[e++]=128|63&g);return I},wg=(A,I)=>{const g=I||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,I));let B,C;const e=new Array(2*g);for(C=0,B=0;B<g;){let I=A[B++];if(I<128){e[C++]=I;continue}let i=lg[I];if(i>4)e[C++]=65533,B+=i-1;else{for(I&=2===i?31:3===i?15:7;i>1&&B<g;)I=I<<6|63&A[B++],i--;i>1?e[C++]=65533:I<65536?e[C++]=I:(I-=65536,e[C++]=55296|I>>10&1023,e[C++]=56320|1023&I)}}return((A,I)=>{if(I<65534&&A.subarray&&Dg)return String.fromCharCode.apply(null,A.length===I?A:A.subarray(0,I));let g="";for(let B=0;B<I;B++)g+=String.fromCharCode(A[B]);return g})(e,C)},yg=(A,I)=>{(I=I||A.length)>A.length&&(I=A.length);let g=I-1;for(;g>=0&&128==(192&A[g]);)g--;return g<0||0===g?I:g+lg[A[g]]>I?g:I};var dg=function(){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};const Sg=16209;var fg=function(A,I){let g,B,C,e,i,Q,t,E,s,a,o,r,n,h,D,l,c,w,y,d,S,f,u,G;const N=A.state;g=A.next_in,u=A.input,B=g+(A.avail_in-5),C=A.next_out,G=A.output,e=C-(I-A.avail_out),i=C+(A.avail_out-257),Q=N.dmax,t=N.wsize,E=N.whave,s=N.wnext,a=N.window,o=N.hold,r=N.bits,n=N.lencode,h=N.distcode,D=(1<<N.lenbits)-1,l=(1<<N.distbits)-1;A:do{r<15&&(o+=u[g++]<<r,r+=8,o+=u[g++]<<r,r+=8),c=n[o&D];I:for(;;){if(w=c>>>24,o>>>=w,r-=w,w=c>>>16&255,0===w)G[C++]=65535&c;else{if(!(16&w)){if(64&w){if(32&w){N.mode=16191;break A}A.msg="invalid literal/length code",N.mode=Sg;break A}c=n[(65535&c)+(o&(1<<w)-1)];continue I}for(y=65535&c,w&=15,w&&(r<w&&(o+=u[g++]<<r,r+=8),y+=o&(1<<w)-1,o>>>=w,r-=w),r<15&&(o+=u[g++]<<r,r+=8,o+=u[g++]<<r,r+=8),c=h[o&l];;){if(w=c>>>24,o>>>=w,r-=w,w=c>>>16&255,16&w){if(d=65535&c,w&=15,r<w&&(o+=u[g++]<<r,r+=8,r<w&&(o+=u[g++]<<r,r+=8)),d+=o&(1<<w)-1,d>Q){A.msg="invalid distance too far back",N.mode=Sg;break A}if(o>>>=w,r-=w,w=C-e,d>w){if(w=d-w,w>E&&N.sane){A.msg="invalid distance too far back",N.mode=Sg;break A}if(S=0,f=a,0===s){if(S+=t-w,w<y){y-=w;do{G[C++]=a[S++]}while(--w);S=C-d,f=G}}else if(s<w){if(S+=t+s-w,w-=s,w<y){y-=w;do{G[C++]=a[S++]}while(--w);if(S=0,s<y){w=s,y-=w;do{G[C++]=a[S++]}while(--w);S=C-d,f=G}}}else if(S+=s-w,w<y){y-=w;do{G[C++]=a[S++]}while(--w);S=C-d,f=G}for(;y>2;)G[C++]=f[S++],G[C++]=f[S++],G[C++]=f[S++],y-=3;y&&(G[C++]=f[S++],y>1&&(G[C++]=f[S++]))}else{S=C-d;do{G[C++]=G[S++],G[C++]=G[S++],G[C++]=G[S++],y-=3}while(y>2);y&&(G[C++]=G[S++],y>1&&(G[C++]=G[S++]))}break}if(64&w){A.msg="invalid distance code",N.mode=Sg;break A}c=h[(65535&c)+(o&(1<<w)-1)]}}break}}while(g<B&&C<i);y=r>>3,g-=y,r-=y<<3,o&=(1<<r)-1,A.next_in=g,A.next_out=C,A.avail_in=g<B?B-g+5:5-(g-B),A.avail_out=C<i?i-C+257:257-(C-i),N.hold=o,N.bits=r};const ug=15,Gg=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]),Ng=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]),Fg=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]),kg=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]);var Rg=(A,I,g,B,C,e,i,Q)=>{const t=Q.bits;let E,s,a,o,r,n,h=0,D=0,l=0,c=0,w=0,y=0,d=0,S=0,f=0,u=0,G=null;const N=new Uint16Array(16),F=new Uint16Array(16);let k,R,L,U=null;for(h=0;h<=ug;h++)N[h]=0;for(D=0;D<B;D++)N[I[g+D]]++;for(w=t,c=ug;c>=1&&0===N[c];c--);if(w>c&&(w=c),0===c)return C[e++]=20971520,C[e++]=20971520,Q.bits=1,0;for(l=1;l<c&&0===N[l];l++);for(w<l&&(w=l),S=1,h=1;h<=ug;h++)if(S<<=1,S-=N[h],S<0)return-1;if(S>0&&(0===A||1!==c))return-1;for(F[1]=0,h=1;h<ug;h++)F[h+1]=F[h]+N[h];for(D=0;D<B;D++)0!==I[g+D]&&(i[F[I[g+D]]++]=D);if(0===A?(G=U=i,n=20):1===A?(G=Gg,U=Ng,n=257):(G=Fg,U=kg,n=0),u=0,D=0,h=l,r=e,y=w,d=0,a=-1,f=1<<w,o=f-1,1===A&&f>852||2===A&&f>592)return 1;for(;;){k=h-d,i[D]+1<n?(R=0,L=i[D]):i[D]>=n?(R=U[i[D]-n],L=G[i[D]-n]):(R=96,L=0),E=1<<h-d,s=1<<y,l=s;do{s-=E,C[r+(u>>d)+s]=k<<24|R<<16|L}while(0!==s);for(E=1<<h-1;u&E;)E>>=1;if(0!==E?(u&=E-1,u+=E):u=0,D++,0===--N[h]){if(h===c)break;h=I[g+i[D]]}if(h>w&&(u&o)!==a){for(0===d&&(d=w),r+=l,y=h-d,S=1<<y;y+d<c&&(S-=N[y+d],!(S<=0));)y++,S<<=1;if(f+=1<<y,1===A&&f>852||2===A&&f>592)return 1;a=u&o,C[a]=w<<24|y<<16|r-e}}return 0!==u&&(C[r+u]=h-d<<24|64<<16),Q.bits=w,0};const{Z_FINISH:Lg,Z_BLOCK:Ug,Z_TREES:Yg,Z_OK:mg,Z_STREAM_END:pg,Z_NEED_DICT:Mg,Z_STREAM_ERROR:Kg,Z_DATA_ERROR:Jg,Z_MEM_ERROR:Hg,Z_BUF_ERROR:qg,Z_DEFLATED:bg}=og,xg=16180,Tg=16190,Og=16191,Pg=16192,vg=16194,Vg=16199,Zg=16200,jg=16206,Wg=16209,zg=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function _g(){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}const Xg=A=>{if(!A)return 1;const I=A.state;return!I||I.strm!==A||I.mode<xg||I.mode>16211?1:0},$g=A=>{if(Xg(A))return Kg;const I=A.state;return A.total_in=A.total_out=I.total=0,A.msg="",I.wrap&&(A.adler=1&I.wrap),I.mode=xg,I.last=0,I.havedict=0,I.flags=-1,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new Int32Array(852),I.distcode=I.distdyn=new Int32Array(592),I.sane=1,I.back=-1,mg},AB=A=>{if(Xg(A))return Kg;const I=A.state;return I.wsize=0,I.whave=0,I.wnext=0,$g(A)},IB=(A,I)=>{let g;if(Xg(A))return Kg;const B=A.state;return I<0?(g=0,I=-I):(g=5+(I>>4),I<48&&(I&=15)),I&&(I<8||I>15)?Kg:(null!==B.window&&B.wbits!==I&&(B.window=null),B.wrap=g,B.wbits=I,AB(A))},gB=(A,I)=>{if(!A)return Kg;const g=new _g;A.state=g,g.strm=A,g.window=null,g.mode=xg;const B=IB(A,I);return B!==mg&&(A.state=null),B};let BB,CB,eB=!0;const iB=A=>{if(eB){BB=new Int32Array(512),CB=new Int32Array(32);let I=0;for(;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(Rg(1,A.lens,0,288,BB,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;Rg(2,A.lens,0,32,CB,0,A.work,{bits:5}),eB=!1}A.lencode=BB,A.lenbits=9,A.distcode=CB,A.distbits=5},QB=(A,I,g,B)=>{let C;const e=A.state;return null===e.window&&(e.wsize=1<<e.wbits,e.wnext=0,e.whave=0,e.window=new Uint8Array(e.wsize)),B>=e.wsize?(e.window.set(I.subarray(g-e.wsize,g),0),e.wnext=0,e.whave=e.wsize):(C=e.wsize-e.wnext,C>B&&(C=B),e.window.set(I.subarray(g-B,g-B+C),e.wnext),(B-=C)?(e.window.set(I.subarray(g-B,g),0),e.wnext=B,e.whave=e.wsize):(e.wnext+=C,e.wnext===e.wsize&&(e.wnext=0),e.whave<e.wsize&&(e.whave+=C))),0};var tB={inflateReset:AB,inflateReset2:IB,inflateResetKeep:$g,inflateInit:A=>gB(A,15),inflateInit2:gB,inflate:(A,I)=>{let g,B,C,e,i,Q,t,E,s,a,o,r,n,h,D,l,c,w,y,d,S,f,u=0;const G=new Uint8Array(4);let N,F;const k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Xg(A)||!A.output||!A.input&&0!==A.avail_in)return Kg;g=A.state,g.mode===Og&&(g.mode=Pg),i=A.next_out,C=A.output,t=A.avail_out,e=A.next_in,B=A.input,Q=A.avail_in,E=g.hold,s=g.bits,a=Q,o=t,f=mg;A:for(;;)switch(g.mode){case xg:if(0===g.wrap){g.mode=Pg;break}for(;s<16;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(2&g.wrap&&35615===E){0===g.wbits&&(g.wbits=15),g.check=0,G[0]=255&E,G[1]=E>>>8&255,g.check=sg(g.check,G,2,0),E=0,s=0,g.mode=16181;break}if(g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&E)<<8)+(E>>8))%31){A.msg="incorrect header check",g.mode=Wg;break}if((15&E)!==bg){A.msg="unknown compression method",g.mode=Wg;break}if(E>>>=4,s-=4,S=8+(15&E),0===g.wbits&&(g.wbits=S),S>15||S>g.wbits){A.msg="invalid window size",g.mode=Wg;break}g.dmax=1<<g.wbits,g.flags=0,A.adler=g.check=1,g.mode=512&E?16189:Og,E=0,s=0;break;case 16181:for(;s<16;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(g.flags=E,(255&g.flags)!==bg){A.msg="unknown compression method",g.mode=Wg;break}if(57344&g.flags){A.msg="unknown header flags set",g.mode=Wg;break}g.head&&(g.head.text=E>>8&1),512&g.flags&&4&g.wrap&&(G[0]=255&E,G[1]=E>>>8&255,g.check=sg(g.check,G,2,0)),E=0,s=0,g.mode=16182;case 16182:for(;s<32;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.head&&(g.head.time=E),512&g.flags&&4&g.wrap&&(G[0]=255&E,G[1]=E>>>8&255,G[2]=E>>>16&255,G[3]=E>>>24&255,g.check=sg(g.check,G,4,0)),E=0,s=0,g.mode=16183;case 16183:for(;s<16;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.head&&(g.head.xflags=255&E,g.head.os=E>>8),512&g.flags&&4&g.wrap&&(G[0]=255&E,G[1]=E>>>8&255,g.check=sg(g.check,G,2,0)),E=0,s=0,g.mode=16184;case 16184:if(1024&g.flags){for(;s<16;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.length=E,g.head&&(g.head.extra_len=E),512&g.flags&&4&g.wrap&&(G[0]=255&E,G[1]=E>>>8&255,g.check=sg(g.check,G,2,0)),E=0,s=0}else g.head&&(g.head.extra=null);g.mode=16185;case 16185:if(1024&g.flags&&(r=g.length,r>Q&&(r=Q),r&&(g.head&&(S=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Uint8Array(g.head.extra_len)),g.head.extra.set(B.subarray(e,e+r),S)),512&g.flags&&4&g.wrap&&(g.check=sg(g.check,B,r,e)),Q-=r,e+=r,g.length-=r),g.length))break A;g.length=0,g.mode=16186;case 16186:if(2048&g.flags){if(0===Q)break A;r=0;do{S=B[e+r++],g.head&&S&&g.length<65536&&(g.head.name+=String.fromCharCode(S))}while(S&&r<Q);if(512&g.flags&&4&g.wrap&&(g.check=sg(g.check,B,r,e)),Q-=r,e+=r,S)break A}else g.head&&(g.head.name=null);g.length=0,g.mode=16187;case 16187:if(4096&g.flags){if(0===Q)break A;r=0;do{S=B[e+r++],g.head&&S&&g.length<65536&&(g.head.comment+=String.fromCharCode(S))}while(S&&r<Q);if(512&g.flags&&4&g.wrap&&(g.check=sg(g.check,B,r,e)),Q-=r,e+=r,S)break A}else g.head&&(g.head.comment=null);g.mode=16188;case 16188:if(512&g.flags){for(;s<16;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(4&g.wrap&&E!==(65535&g.check)){A.msg="header crc mismatch",g.mode=Wg;break}E=0,s=0}g.head&&(g.head.hcrc=g.flags>>9&1,g.head.done=!0),A.adler=g.check=0,g.mode=Og;break;case 16189:for(;s<32;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}A.adler=g.check=zg(E),E=0,s=0,g.mode=Tg;case Tg:if(0===g.havedict)return A.next_out=i,A.avail_out=t,A.next_in=e,A.avail_in=Q,g.hold=E,g.bits=s,Mg;A.adler=g.check=1,g.mode=Og;case Og:if(I===Ug||I===Yg)break A;case Pg:if(g.last){E>>>=7&s,s-=7&s,g.mode=jg;break}for(;s<3;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}switch(g.last=1&E,E>>>=1,s-=1,3&E){case 0:g.mode=16193;break;case 1:if(iB(g),g.mode=Vg,I===Yg){E>>>=2,s-=2;break A}break;case 2:g.mode=16196;break;case 3:A.msg="invalid block type",g.mode=Wg}E>>>=2,s-=2;break;case 16193:for(E>>>=7&s,s-=7&s;s<32;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if((65535&E)!=(E>>>16^65535)){A.msg="invalid stored block lengths",g.mode=Wg;break}if(g.length=65535&E,E=0,s=0,g.mode=vg,I===Yg)break A;case vg:g.mode=16195;case 16195:if(r=g.length,r){if(r>Q&&(r=Q),r>t&&(r=t),0===r)break A;C.set(B.subarray(e,e+r),i),Q-=r,e+=r,t-=r,i+=r,g.length-=r;break}g.mode=Og;break;case 16196:for(;s<14;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(g.nlen=257+(31&E),E>>>=5,s-=5,g.ndist=1+(31&E),E>>>=5,s-=5,g.ncode=4+(15&E),E>>>=4,s-=4,g.nlen>286||g.ndist>30){A.msg="too many length or distance symbols",g.mode=Wg;break}g.have=0,g.mode=16197;case 16197:for(;g.have<g.ncode;){for(;s<3;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.lens[k[g.have++]]=7&E,E>>>=3,s-=3}for(;g.have<19;)g.lens[k[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,N={bits:g.lenbits},f=Rg(0,g.lens,0,19,g.lencode,0,g.work,N),g.lenbits=N.bits,f){A.msg="invalid code lengths set",g.mode=Wg;break}g.have=0,g.mode=16198;case 16198:for(;g.have<g.nlen+g.ndist;){for(;u=g.lencode[E&(1<<g.lenbits)-1],D=u>>>24,l=u>>>16&255,c=65535&u,!(D<=s);){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(c<16)E>>>=D,s-=D,g.lens[g.have++]=c;else{if(16===c){for(F=D+2;s<F;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(E>>>=D,s-=D,0===g.have){A.msg="invalid bit length repeat",g.mode=Wg;break}S=g.lens[g.have-1],r=3+(3&E),E>>>=2,s-=2}else if(17===c){for(F=D+3;s<F;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}E>>>=D,s-=D,S=0,r=3+(7&E),E>>>=3,s-=3}else{for(F=D+7;s<F;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}E>>>=D,s-=D,S=0,r=11+(127&E),E>>>=7,s-=7}if(g.have+r>g.nlen+g.ndist){A.msg="invalid bit length repeat",g.mode=Wg;break}for(;r--;)g.lens[g.have++]=S}}if(g.mode===Wg)break;if(0===g.lens[256]){A.msg="invalid code -- missing end-of-block",g.mode=Wg;break}if(g.lenbits=9,N={bits:g.lenbits},f=Rg(1,g.lens,0,g.nlen,g.lencode,0,g.work,N),g.lenbits=N.bits,f){A.msg="invalid literal/lengths set",g.mode=Wg;break}if(g.distbits=6,g.distcode=g.distdyn,N={bits:g.distbits},f=Rg(2,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,N),g.distbits=N.bits,f){A.msg="invalid distances set",g.mode=Wg;break}if(g.mode=Vg,I===Yg)break A;case Vg:g.mode=Zg;case Zg:if(Q>=6&&t>=258){A.next_out=i,A.avail_out=t,A.next_in=e,A.avail_in=Q,g.hold=E,g.bits=s,fg(A,o),i=A.next_out,C=A.output,t=A.avail_out,e=A.next_in,B=A.input,Q=A.avail_in,E=g.hold,s=g.bits,g.mode===Og&&(g.back=-1);break}for(g.back=0;u=g.lencode[E&(1<<g.lenbits)-1],D=u>>>24,l=u>>>16&255,c=65535&u,!(D<=s);){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(l&&!(240&l)){for(w=D,y=l,d=c;u=g.lencode[d+((E&(1<<w+y)-1)>>w)],D=u>>>24,l=u>>>16&255,c=65535&u,!(w+D<=s);){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}E>>>=w,s-=w,g.back+=w}if(E>>>=D,s-=D,g.back+=D,g.length=c,0===l){g.mode=16205;break}if(32&l){g.back=-1,g.mode=Og;break}if(64&l){A.msg="invalid literal/length code",g.mode=Wg;break}g.extra=15&l,g.mode=16201;case 16201:if(g.extra){for(F=g.extra;s<F;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.length+=E&(1<<g.extra)-1,E>>>=g.extra,s-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=16202;case 16202:for(;u=g.distcode[E&(1<<g.distbits)-1],D=u>>>24,l=u>>>16&255,c=65535&u,!(D<=s);){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(!(240&l)){for(w=D,y=l,d=c;u=g.distcode[d+((E&(1<<w+y)-1)>>w)],D=u>>>24,l=u>>>16&255,c=65535&u,!(w+D<=s);){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}E>>>=w,s-=w,g.back+=w}if(E>>>=D,s-=D,g.back+=D,64&l){A.msg="invalid distance code",g.mode=Wg;break}g.offset=c,g.extra=15&l,g.mode=16203;case 16203:if(g.extra){for(F=g.extra;s<F;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}g.offset+=E&(1<<g.extra)-1,E>>>=g.extra,s-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){A.msg="invalid distance too far back",g.mode=Wg;break}g.mode=16204;case 16204:if(0===t)break A;if(r=o-t,g.offset>r){if(r=g.offset-r,r>g.whave&&g.sane){A.msg="invalid distance too far back",g.mode=Wg;break}r>g.wnext?(r-=g.wnext,n=g.wsize-r):n=g.wnext-r,r>g.length&&(r=g.length),h=g.window}else h=C,n=i-g.offset,r=g.length;r>t&&(r=t),t-=r,g.length-=r;do{C[i++]=h[n++]}while(--r);0===g.length&&(g.mode=Zg);break;case 16205:if(0===t)break A;C[i++]=g.length,t--,g.mode=Zg;break;case jg:if(g.wrap){for(;s<32;){if(0===Q)break A;Q--,E|=B[e++]<<s,s+=8}if(o-=t,A.total_out+=o,g.total+=o,4&g.wrap&&o&&(A.adler=g.check=g.flags?sg(g.check,C,o,i-o):tg(g.check,C,o,i-o)),o=t,4&g.wrap&&(g.flags?E:zg(E))!==g.check){A.msg="incorrect data check",g.mode=Wg;break}E=0,s=0}g.mode=16207;case 16207:if(g.wrap&&g.flags){for(;s<32;){if(0===Q)break A;Q--,E+=B[e++]<<s,s+=8}if(4&g.wrap&&E!==(4294967295&g.total)){A.msg="incorrect length check",g.mode=Wg;break}E=0,s=0}g.mode=16208;case 16208:f=pg;break A;case Wg:f=Jg;break A;case 16210:return Hg;default:return Kg}return A.next_out=i,A.avail_out=t,A.next_in=e,A.avail_in=Q,g.hold=E,g.bits=s,(g.wsize||o!==A.avail_out&&g.mode<Wg&&(g.mode<jg||I!==Lg))&&QB(A,A.output,A.next_out,o-A.avail_out),a-=A.avail_in,o-=A.avail_out,A.total_in+=a,A.total_out+=o,g.total+=o,4&g.wrap&&o&&(A.adler=g.check=g.flags?sg(g.check,C,o,A.next_out-o):tg(g.check,C,o,A.next_out-o)),A.data_type=g.bits+(g.last?64:0)+(g.mode===Og?128:0)+(g.mode===Vg||g.mode===vg?256:0),(0===a&&0===o||I===Lg)&&f===mg&&(f=qg),f},inflateEnd:A=>{if(Xg(A))return Kg;let I=A.state;return I.window&&(I.window=null),A.state=null,mg},inflateGetHeader:(A,I)=>{if(Xg(A))return Kg;const g=A.state;return 2&g.wrap?(g.head=I,I.done=!1,mg):Kg},inflateSetDictionary:(A,I)=>{const g=I.length;let B,C,e;return Xg(A)?Kg:(B=A.state,0!==B.wrap&&B.mode!==Tg?Kg:B.mode===Tg&&(C=1,C=tg(C,I,g,0),C!==B.check)?Jg:(e=QB(A,I,g,g),e?(B.mode=16210,Hg):(B.havedict=1,mg)))},inflateInfo:"pako inflate (from Nodeca project)"};var EB=function(){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};const sB=Object.prototype.toString,{Z_NO_FLUSH:aB,Z_FINISH:oB,Z_OK:rB,Z_STREAM_END:nB,Z_NEED_DICT:hB,Z_STREAM_ERROR:DB,Z_DATA_ERROR:lB,Z_MEM_ERROR:cB}=og;function wB(A){this.options=ng({chunkSize:65536,windowBits:15,to:""},A||{});const I=this.options;I.raw&&I.windowBits>=0&&I.windowBits<16&&(I.windowBits=-I.windowBits,0===I.windowBits&&(I.windowBits=-15)),!(I.windowBits>=0&&I.windowBits<16)||A&&A.windowBits||(I.windowBits+=32),I.windowBits>15&&I.windowBits<48&&(15&I.windowBits||(I.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new dg,this.strm.avail_out=0;let g=tB.inflateInit2(this.strm,I.windowBits);if(g!==rB)throw new Error(ag[g]);if(this.header=new EB,tB.inflateGetHeader(this.strm,this.header),I.dictionary&&("string"==typeof I.dictionary?I.dictionary=cg(I.dictionary):"[object ArrayBuffer]"===sB.call(I.dictionary)&&(I.dictionary=new Uint8Array(I.dictionary)),I.raw&&(g=tB.inflateSetDictionary(this.strm,I.dictionary),g!==rB)))throw new Error(ag[g])}wB.prototype.push=function(A,I){const g=this.strm,B=this.options.chunkSize,C=this.options.dictionary;let e,i,Q;if(this.ended)return!1;for(i=I===~~I?I:!0===I?oB:aB,"[object ArrayBuffer]"===sB.call(A)?g.input=new Uint8Array(A):g.input=A,g.next_in=0,g.avail_in=g.input.length;;){for(0===g.avail_out&&(g.output=new Uint8Array(B),g.next_out=0,g.avail_out=B),e=tB.inflate(g,i),e===hB&&C&&(e=tB.inflateSetDictionary(g,C),e===rB?e=tB.inflate(g,i):e===lB&&(e=hB));g.avail_in>0&&e===nB&&g.state.wrap>0&&0!==A[g.next_in];)tB.inflateReset(g),e=tB.inflate(g,i);switch(e){case DB:case lB:case hB:case cB:return this.onEnd(e),this.ended=!0,!1}if(Q=g.avail_out,g.next_out&&(0===g.avail_out||e===nB))if("string"===this.options.to){let A=yg(g.output,g.next_out),I=g.next_out-A,C=wg(g.output,A);g.next_out=I,g.avail_out=B-I,I&&g.output.set(g.output.subarray(A,A+I),0),this.onData(C)}else this.onData(g.output.length===g.next_out?g.output:g.output.subarray(0,g.next_out));if(e!==rB||0!==Q){if(e===nB)return e=tB.inflateEnd(this.strm),this.onEnd(e),this.ended=!0,!0;if(0===g.avail_in)break}}return!0},wB.prototype.onData=function(A){this.chunks.push(A)},wB.prototype.onEnd=function(A){A===rB&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=hg(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var yB={inflate:function(A,I){const g=new wB(I);if(g.push(A),g.err)throw g.msg||ag[g.err];return g.result}};const{inflate:dB}=yB;var SB=dB;var fB=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){return SB(new Uint8Array(A)).buffer}}});var uB=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){const I=new DataView(A),g=[];for(let B=0;B<A.byteLength;++B){let A=I.getInt8(B);if(A<0){const C=I.getUint8(B+1);A=-A;for(let I=0;I<=A;++I)g.push(C);B+=1}else{for(let C=0;C<=A;++C)g.push(I.getUint8(B+C+1));B+=A+1}}return new Uint8Array(g).buffer}}});function GB(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var NB,FB={exports:{}};var kB,RB=(NB||(NB=1,kB=FB,
3
2
  /* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */
4
- function(){var A,g,I,e,t,B,i,C,Q,E,a,s,o,r,n,h,l=(A={defaultNoDataValue:-34027999387901484e22,decode:function(B,i){var C=(i=i||{}).encodedMaskData||null===i.encodedMaskData,Q=t(B,i.inputOffset||0,C),E=null!==i.noDataValue?i.noDataValue:A.defaultNoDataValue,a=g(Q,i.pixelType||Float32Array,i.encodedMaskData,E,i.returnMask),s={width:Q.width,height:Q.height,pixelData:a.resultPixels,minValue:a.minValue,maxValue:Q.pixels.maxValue,noDataValue:E};return a.resultMask&&(s.maskData=a.resultMask),i.returnEncodedMask&&Q.mask&&(s.encodedMaskData=Q.mask.bitset?Q.mask.bitset:null),i.returnFileInfo&&(s.fileInfo=I(Q),i.computeUsedBitDepths&&(s.fileInfo.bitDepths=e(Q))),s}},g=function(A,g,I,e,t){var i,C,Q,E=0,a=A.pixels.numBlocksX,s=A.pixels.numBlocksY,o=Math.floor(A.width/a),r=Math.floor(A.height/s),n=2*A.maxZError,h=Number.MAX_VALUE;I=I||(A.mask?A.mask.bitset:null),C=new g(A.width*A.height),t&&I&&(Q=new Uint8Array(A.width*A.height));for(var l,c,w=new Float32Array(o*r),D=0;D<=s;D++){var d=D!==s?r:A.height%s;if(0!==d)for(var y=0;y<=a;y++){var f=y!==a?o:A.width%a;if(0!==f){var u,S,G,N,F=D*A.width*r+y*o,k=A.width-f,R=A.pixels.blocks[E];if(R.encoding<2?(0===R.encoding?u=R.rawData:(B(R.stuffedData,R.bitsPerPixel,R.numValidPixels,R.offset,n,w,A.pixels.maxValue),u=w),S=0):G=2===R.encoding?0:R.offset,I)for(c=0;c<d;c++){for(7&F&&(N=I[F>>3],N<<=7&F),l=0;l<f;l++)7&F||(N=I[F>>3]),128&N?(Q&&(Q[F]=1),h=h>(i=R.encoding<2?u[S++]:G)?i:h,C[F++]=i):(Q&&(Q[F]=0),C[F++]=e),N<<=1;F+=k}else if(R.encoding<2)for(c=0;c<d;c++){for(l=0;l<f;l++)h=h>(i=u[S++])?i:h,C[F++]=i;F+=k}else for(h=h>G?G:h,c=0;c<d;c++){for(l=0;l<f;l++)C[F++]=G;F+=k}if(1===R.encoding&&S!==R.numValidPixels)throw"Block and Mask do not match";E++}}}return{resultPixels:C,resultMask:Q,minValue:h}},I=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}}},e=function(A){for(var g=A.pixels.numBlocksX*A.pixels.numBlocksY,I={},e=0;e<g;e++){var t=A.pixels.blocks[e];0===t.encoding?I.float32=!0:1===t.encoding?I[t.bitsPerPixel]=!0:I[0]=!0}return Object.keys(I)},t=function(A,g,I){var e={},t=new Uint8Array(A,g,10);if(e.fileIdentifierString=String.fromCharCode.apply(null,t),"CntZImage"!==e.fileIdentifierString.trim())throw"Unexpected file identifier string: "+e.fileIdentifierString;g+=10;var B=new DataView(A,g,24);if(e.fileVersion=B.getInt32(0,!0),e.imageType=B.getInt32(4,!0),e.height=B.getUint32(8,!0),e.width=B.getUint32(12,!0),e.maxZError=B.getFloat64(16,!0),g+=24,!I)if(B=new DataView(A,g,16),e.mask={},e.mask.numBlocksY=B.getUint32(0,!0),e.mask.numBlocksX=B.getUint32(4,!0),e.mask.numBytes=B.getUint32(8,!0),e.mask.maxValue=B.getFloat32(12,!0),g+=16,e.mask.numBytes>0){var i=new Uint8Array(Math.ceil(e.width*e.height/8)),C=(B=new DataView(A,g,e.mask.numBytes)).getInt16(0,!0),Q=2,E=0;do{if(C>0)for(;C--;)i[E++]=B.getUint8(Q++);else{var a=B.getUint8(Q++);for(C=-C;C--;)i[E++]=a}C=B.getInt16(Q,!0),Q+=2}while(Q<e.mask.numBytes);if(-32768!==C||E<i.length)throw"Unexpected end of mask RLE encoding";e.mask.bitset=i,g+=e.mask.numBytes}else 0===(e.mask.numBytes|e.mask.numBlocksY|e.mask.maxValue)&&(e.mask.bitset=new Uint8Array(Math.ceil(e.width*e.height/8)));B=new DataView(A,g,16),e.pixels={},e.pixels.numBlocksY=B.getUint32(0,!0),e.pixels.numBlocksX=B.getUint32(4,!0),e.pixels.numBytes=B.getUint32(8,!0),e.pixels.maxValue=B.getFloat32(12,!0),g+=16;var s=e.pixels.numBlocksX,o=e.pixels.numBlocksY,r=s+(e.width%s>0?1:0),n=o+(e.height%o>0?1:0);e.pixels.blocks=new Array(r*n);for(var h=0,l=0;l<n;l++)for(var c=0;c<r;c++){var w=0,D=A.byteLength-g;B=new DataView(A,g,Math.min(10,D));var d={};e.pixels.blocks[h++]=d;var y=B.getUint8(0);if(w++,d.encoding=63&y,d.encoding>3)throw"Invalid block encoding ("+d.encoding+")";if(2!==d.encoding){if(0!==y&&2!==y){if(y>>=6,d.offsetType=y,2===y)d.offset=B.getInt8(1),w++;else if(1===y)d.offset=B.getInt16(1,!0),w+=2;else{if(0!==y)throw"Invalid block offset type";d.offset=B.getFloat32(1,!0),w+=4}if(1===d.encoding)if(y=B.getUint8(w),w++,d.bitsPerPixel=63&y,y>>=6,d.numValidPixelsType=y,2===y)d.numValidPixels=B.getUint8(w),w++;else if(1===y)d.numValidPixels=B.getUint16(w,!0),w+=2;else{if(0!==y)throw"Invalid valid pixel count type";d.numValidPixels=B.getUint32(w,!0),w+=4}}var f;if(g+=w,3!==d.encoding)if(0===d.encoding){var u=(e.pixels.numBytes-1)/4;if(u!==Math.floor(u))throw"uncompressed block has invalid length";f=new ArrayBuffer(4*u),new Uint8Array(f).set(new Uint8Array(A,g,4*u));var S=new Float32Array(f);d.rawData=S,g+=4*u}else if(1===d.encoding){var G=Math.ceil(d.numValidPixels*d.bitsPerPixel/8),N=Math.ceil(G/4);f=new ArrayBuffer(4*N),new Uint8Array(f).set(new Uint8Array(A,g,G)),d.stuffedData=new Uint32Array(f),g+=G}}else g++}return e.eofOffset=g,e},B=function(A,g,I,e,t,B,i){var C,Q,E,a=(1<<g)-1,s=0,o=0,r=Math.ceil((i-e)/t),n=4*A.length-Math.ceil(g*I/8);for(A[A.length-1]<<=8*n,C=0;C<I;C++){if(0===o&&(E=A[s++],o=32),o>=g)Q=E>>>o-g&a,o-=g;else{var h=g-o;Q=(E&a)<<h&a,Q+=(E=A[s++])>>>(o=32-h)}B[C]=Q<r?e+Q*t:i}return B},A),c=(i=function(A,g,I,e,t,B,i,C){var Q,E,a,s,o,r=(1<<I)-1,n=0,h=0,l=4*A.length-Math.ceil(I*e/8);if(A[A.length-1]<<=8*l,t)for(Q=0;Q<e;Q++)0===h&&(a=A[n++],h=32),h>=I?(E=a>>>h-I&r,h-=I):(E=(a&r)<<(s=I-h)&r,E+=(a=A[n++])>>>(h=32-s)),g[Q]=t[E];else for(o=Math.ceil((C-B)/i),Q=0;Q<e;Q++)0===h&&(a=A[n++],h=32),h>=I?(E=a>>>h-I&r,h-=I):(E=(a&r)<<(s=I-h)&r,E+=(a=A[n++])>>>(h=32-s)),g[Q]=E<o?B+E*i:C},C=function(A,g,I,e,t,B){var i,C=(1<<g)-1,Q=0,E=0,a=0,s=0,o=0,r=[],n=4*A.length-Math.ceil(g*I/8);A[A.length-1]<<=8*n;var h=Math.ceil((B-e)/t);for(E=0;E<I;E++)0===s&&(i=A[Q++],s=32),s>=g?(o=i>>>s-g&C,s-=g):(o=(i&C)<<(a=g-s)&C,o+=(i=A[Q++])>>>(s=32-a)),r[E]=o<h?e+o*t:B;return r.unshift(e),r},Q=function(A,g,I,e,t,B,i,C){var Q,E,a,s,o=(1<<I)-1,r=0,n=0,h=0;if(t)for(Q=0;Q<e;Q++)0===n&&(a=A[r++],n=32,h=0),n>=I?(E=a>>>h&o,n-=I,h+=I):(E=a>>>h&o,n=32-(s=I-n),E|=((a=A[r++])&(1<<s)-1)<<I-s,h=s),g[Q]=t[E];else{var l=Math.ceil((C-B)/i);for(Q=0;Q<e;Q++)0===n&&(a=A[r++],n=32,h=0),n>=I?(E=a>>>h&o,n-=I,h+=I):(E=a>>>h&o,n=32-(s=I-n),E|=((a=A[r++])&(1<<s)-1)<<I-s,h=s),g[Q]=E<l?B+E*i:C}return g},E=function(A,g,I,e,t,B){var i,C=(1<<g)-1,Q=0,E=0,a=0,s=0,o=0,r=0,n=[],h=Math.ceil((B-e)/t);for(E=0;E<I;E++)0===s&&(i=A[Q++],s=32,r=0),s>=g?(o=i>>>r&C,s-=g,r+=g):(o=i>>>r&C,s=32-(a=g-s),o|=((i=A[Q++])&(1<<a)-1)<<g-a,r=a),n[E]=o<h?e+o*t:B;return n.unshift(e),n},a=function(A,g,I,e){var t,B,i,C,Q=(1<<I)-1,E=0,a=0,s=4*A.length-Math.ceil(I*e/8);for(A[A.length-1]<<=8*s,t=0;t<e;t++)0===a&&(i=A[E++],a=32),a>=I?(B=i>>>a-I&Q,a-=I):(B=(i&Q)<<(C=I-a)&Q,B+=(i=A[E++])>>>(a=32-C)),g[t]=B;return g},s=function(A,g,I,e){var t,B,i,C,Q=(1<<I)-1,E=0,a=0,s=0;for(t=0;t<e;t++)0===a&&(i=A[E++],a=32,s=0),a>=I?(B=i>>>s&Q,a-=I,s+=I):(B=i>>>s&Q,a=32-(C=I-a),B|=((i=A[E++])&(1<<C)-1)<<I-C,s=C),g[t]=B;return g},o={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var g=65535,I=65535,e=A.length,t=Math.floor(e/2),B=0;t;){var i=t>=359?359:t;t-=i;do{g+=A[B++]<<8,I+=g+=A[B++]}while(--i);g=(65535&g)+(g>>>16),I=(65535&I)+(I>>>16)}return 1&e&&(I+=g+=A[B]<<8),((I=(65535&I)+(I>>>16))<<16|(g=(65535&g)+(g>>>16)))>>>0},readHeaderInfo:function(A,g){var I=g.ptr,e=new Uint8Array(A,I,6),t={};if(t.fileIdentifierString=String.fromCharCode.apply(null,e),0!==t.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+t.fileIdentifierString;I+=6;var B,i=new DataView(A,I,8),C=i.getInt32(0,!0);if(t.fileVersion=C,I+=4,C>=3&&(t.checksum=i.getUint32(4,!0),I+=4),i=new DataView(A,I,12),t.height=i.getUint32(0,!0),t.width=i.getUint32(4,!0),I+=8,C>=4?(t.numDims=i.getUint32(8,!0),I+=4):t.numDims=1,i=new DataView(A,I,40),t.numValidPixel=i.getUint32(0,!0),t.microBlockSize=i.getInt32(4,!0),t.blobSize=i.getInt32(8,!0),t.imageType=i.getInt32(12,!0),t.maxZError=i.getFloat64(16,!0),t.zMin=i.getFloat64(24,!0),t.zMax=i.getFloat64(32,!0),I+=40,g.headerInfo=t,g.ptr=I,C>=3&&(B=C>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,I-B,t.blobSize-14))!==t.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,g){var I=g.headerInfo,e=this.getDataTypeArray(I.imageType),t=I.numDims*this.getDataTypeSize(I.imageType),B=this.readSubArray(A,g.ptr,e,t),i=this.readSubArray(A,g.ptr+t,e,t);g.ptr+=2*t;var C,Q=!0;for(C=0;C<I.numDims;C++)if(B[C]!==i[C]){Q=!1;break}return I.minValues=B,I.maxValues=i,Q},readSubArray:function(A,g,I,e){var t;if(I===Uint8Array)t=new Uint8Array(A,g,e);else{var B=new ArrayBuffer(e);new Uint8Array(B).set(new Uint8Array(A,g,e)),t=new I(B)}return t},readMask:function(A,g){var I,e,t=g.ptr,B=g.headerInfo,i=B.width*B.height,C=B.numValidPixel,Q=new DataView(A,t,4),E={};if(E.numBytes=Q.getUint32(0,!0),t+=4,(0===C||i===C)&&0!==E.numBytes)throw"invalid mask";if(0===C)I=new Uint8Array(Math.ceil(i/8)),E.bitset=I,e=new Uint8Array(i),g.pixels.resultMask=e,t+=E.numBytes;else if(E.numBytes>0){I=new Uint8Array(Math.ceil(i/8));var a=(Q=new DataView(A,t,E.numBytes)).getInt16(0,!0),s=2,o=0,r=0;do{if(a>0)for(;a--;)I[o++]=Q.getUint8(s++);else for(r=Q.getUint8(s++),a=-a;a--;)I[o++]=r;a=Q.getInt16(s,!0),s+=2}while(s<E.numBytes);if(-32768!==a||o<I.length)throw"Unexpected end of mask RLE encoding";e=new Uint8Array(i);var n=0,h=0;for(h=0;h<i;h++)7&h?(n=I[h>>3],n<<=7&h):n=I[h>>3],128&n&&(e[h]=1);g.pixels.resultMask=e,E.bitset=I,t+=E.numBytes}return g.ptr=t,g.mask=E,!0},readDataOneSweep:function(A,g,I,e){var t,B=g.ptr,i=g.headerInfo,C=i.numDims,Q=i.width*i.height,E=i.imageType,a=i.numValidPixel*o.getDataTypeSize(E)*C,s=g.pixels.resultMask;if(I===Uint8Array)t=new Uint8Array(A,B,a);else{var r=new ArrayBuffer(a);new Uint8Array(r).set(new Uint8Array(A,B,a)),t=new I(r)}if(t.length===Q*C)g.pixels.resultPixels=e?o.swapDimensionOrder(t,Q,C,I,!0):t;else{g.pixels.resultPixels=new I(Q*C);var n=0,h=0,l=0,c=0;if(C>1){if(e){for(h=0;h<Q;h++)if(s[h])for(c=h,l=0;l<C;l++,c+=Q)g.pixels.resultPixels[c]=t[n++]}else for(h=0;h<Q;h++)if(s[h])for(c=h*C,l=0;l<C;l++)g.pixels.resultPixels[c+l]=t[n++]}else for(h=0;h<Q;h++)s[h]&&(g.pixels.resultPixels[h]=t[n++])}return B+=a,g.ptr=B,!0},readHuffmanTree:function(A,g){var I=this.HUFFMAN_LUT_BITS_MAX,e=new DataView(A,g.ptr,16);if(g.ptr+=16,e.getInt32(0,!0)<2)throw"unsupported Huffman version";var t=e.getInt32(4,!0),B=e.getInt32(8,!0),i=e.getInt32(12,!0);if(B>=i)return!1;var C=new Uint32Array(i-B);o.decodeBits(A,g,C);var Q,E,a,s,n=[];for(Q=B;Q<i;Q++)n[E=Q-(Q<t?0:t)]={first:C[Q-B],second:null};var h=A.byteLength-g.ptr,l=Math.ceil(h/4),c=new ArrayBuffer(4*l);new Uint8Array(c).set(new Uint8Array(A,g.ptr,h));var w,D=new Uint32Array(c),d=0,y=0;for(w=D[0],Q=B;Q<i;Q++)(s=n[E=Q-(Q<t?0:t)].first)>0&&(n[E].second=w<<d>>>32-s,32-d>=s?32===(d+=s)&&(d=0,w=D[++y]):(d+=s-32,w=D[++y],n[E].second|=w>>>32-d));var f=0,u=0,S=new r;for(Q=0;Q<n.length;Q++)void 0!==n[Q]&&(f=Math.max(f,n[Q].first));u=f>=I?I:f;var G,N,F,k,R,L=[];for(Q=B;Q<i;Q++)if((s=n[E=Q-(Q<t?0:t)].first)>0)if(G=[s,E],s<=u)for(N=n[E].second<<u-s,F=1<<u-s,a=0;a<F;a++)L[N|a]=G;else for(N=n[E].second,R=S,k=s-1;k>=0;k--)N>>>k&1?(R.right||(R.right=new r),R=R.right):(R.left||(R.left=new r),R=R.left),0!==k||R.val||(R.val=G[1]);return{decodeLut:L,numBitsLUTQick:u,numBitsLUT:f,tree:S,stuffedData:D,srcPtr:y,bitPos:d}},readHuffman:function(A,g,I,e){var t,B,i,C,Q,E,a,s,r,n=g.headerInfo.numDims,h=g.headerInfo.height,l=g.headerInfo.width,c=l*h,w=this.readHuffmanTree(A,g),D=w.decodeLut,d=w.tree,y=w.stuffedData,f=w.srcPtr,u=w.bitPos,S=w.numBitsLUTQick,G=w.numBitsLUT,N=0===g.headerInfo.imageType?128:0,F=g.pixels.resultMask,k=0;u>0&&(f++,u=0);var R,L=y[f],U=1===g.encodeMode,m=new I(c*n),p=m;if(n<2||U){for(R=0;R<n;R++)if(n>1&&(p=new I(m.buffer,c*R,c),k=0),g.headerInfo.numValidPixel===l*h)for(s=0,E=0;E<h;E++)for(a=0;a<l;a++,s++){if(B=0,Q=C=L<<u>>>32-S,32-u<S&&(Q=C|=y[f+1]>>>64-u-S),D[Q])B=D[Q][1],u+=D[Q][0];else for(Q=C=L<<u>>>32-G,32-u<G&&(Q=C|=y[f+1]>>>64-u-G),t=d,r=0;r<G;r++)if(!(t=C>>>G-r-1&1?t.right:t.left).left&&!t.right){B=t.val,u=u+r+1;break}u>=32&&(u-=32,L=y[++f]),i=B-N,U?(i+=a>0?k:E>0?p[s-l]:k,i&=255,p[s]=i,k=i):p[s]=i}else for(s=0,E=0;E<h;E++)for(a=0;a<l;a++,s++)if(F[s]){if(B=0,Q=C=L<<u>>>32-S,32-u<S&&(Q=C|=y[f+1]>>>64-u-S),D[Q])B=D[Q][1],u+=D[Q][0];else for(Q=C=L<<u>>>32-G,32-u<G&&(Q=C|=y[f+1]>>>64-u-G),t=d,r=0;r<G;r++)if(!(t=C>>>G-r-1&1?t.right:t.left).left&&!t.right){B=t.val,u=u+r+1;break}u>=32&&(u-=32,L=y[++f]),i=B-N,U?(a>0&&F[s-1]?i+=k:E>0&&F[s-l]?i+=p[s-l]:i+=k,i&=255,p[s]=i,k=i):p[s]=i}}else for(s=0,E=0;E<h;E++)for(a=0;a<l;a++)if(s=E*l+a,!F||F[s])for(R=0;R<n;R++,s+=c){if(B=0,Q=C=L<<u>>>32-S,32-u<S&&(Q=C|=y[f+1]>>>64-u-S),D[Q])B=D[Q][1],u+=D[Q][0];else for(Q=C=L<<u>>>32-G,32-u<G&&(Q=C|=y[f+1]>>>64-u-G),t=d,r=0;r<G;r++)if(!(t=C>>>G-r-1&1?t.right:t.left).left&&!t.right){B=t.val,u=u+r+1;break}u>=32&&(u-=32,L=y[++f]),i=B-N,p[s]=i}g.ptr=g.ptr+4*(f+1)+(u>0?4:0),g.pixels.resultPixels=m,n>1&&!e&&(g.pixels.resultPixels=o.swapDimensionOrder(m,c,n,I))},decodeBits:function(A,g,I,e,t){var B=g.headerInfo,o=B.fileVersion,r=0,n=A.byteLength-g.ptr>=5?5:A.byteLength-g.ptr,h=new DataView(A,g.ptr,n),l=h.getUint8(0);r++;var c=l>>6,w=0===c?4:3-c,D=(32&l)>0,d=31&l,y=0;if(1===w)y=h.getUint8(r),r++;else if(2===w)y=h.getUint16(r,!0),r+=2;else{if(4!==w)throw"Invalid valid pixel count type";y=h.getUint32(r,!0),r+=4}var f,u,S,G,N,F,k,R,L,U=2*B.maxZError,m=B.numDims>1?B.maxValues[t]:B.zMax;if(D){for(g.counter.lut++,R=h.getUint8(r),r++,G=Math.ceil((R-1)*d/8),N=Math.ceil(G/4),u=new ArrayBuffer(4*N),S=new Uint8Array(u),g.ptr+=r,S.set(new Uint8Array(A,g.ptr,G)),k=new Uint32Array(u),g.ptr+=G,L=0;R-1>>>L;)L++;G=Math.ceil(y*L/8),N=Math.ceil(G/4),u=new ArrayBuffer(4*N),(S=new Uint8Array(u)).set(new Uint8Array(A,g.ptr,G)),f=new Uint32Array(u),g.ptr+=G,F=o>=3?E(k,d,R-1,e,U,m):C(k,d,R-1,e,U,m),o>=3?Q(f,I,L,y,F):i(f,I,L,y,F)}else g.counter.bitstuffer++,L=d,g.ptr+=r,L>0&&(G=Math.ceil(y*L/8),N=Math.ceil(G/4),u=new ArrayBuffer(4*N),(S=new Uint8Array(u)).set(new Uint8Array(A,g.ptr,G)),f=new Uint32Array(u),g.ptr+=G,o>=3?null==e?s(f,I,L,y):Q(f,I,L,y,!1,e,U,m):null==e?a(f,I,L,y):i(f,I,L,y,!1,e,U,m))},readTiles:function(A,g,I,e){var t=g.headerInfo,B=t.width,i=t.height,C=B*i,Q=t.microBlockSize,E=t.imageType,a=o.getDataTypeSize(E),s=Math.ceil(B/Q),r=Math.ceil(i/Q);g.pixels.numBlocksY=r,g.pixels.numBlocksX=s,g.pixels.ptr=0;var n,h,l,c,w,D,d,y,f,u,S=0,G=0,N=0,F=0,k=0,R=0,L=0,U=0,m=0,p=0,Y=0,M=0,K=0,b=0,J=0,H=new I(Q*Q),q=i%Q||Q,x=B%Q||Q,_=t.numDims,T=g.pixels.resultMask,O=g.pixels.resultPixels,v=t.fileVersion>=5?14:15,P=t.zMax;for(N=0;N<r;N++)for(k=N!==r-1?Q:q,F=0;F<s;F++)for(p=N*B*Q+F*Q,Y=B-(R=F!==s-1?Q:x),y=0;y<_;y++){if(_>1?(u=O,p=N*B*Q+F*Q,O=new I(g.pixels.resultPixels.buffer,C*y*a,C),P=t.maxValues[y]):u=null,L=A.byteLength-g.ptr,h={},J=0,U=(n=new DataView(A,g.ptr,Math.min(10,L))).getUint8(0),J++,f=t.fileVersion>=5?4&U:0,m=U>>6&255,(U>>2&v)!=(F*Q>>3&v))throw"integrity issue";if(f&&0===y)throw"integrity issue";if((w=3&U)>3)throw g.ptr+=J,"Invalid block encoding ("+w+")";if(2!==w)if(0===w){if(f)throw"integrity issue";if(g.counter.uncompressed++,g.ptr+=J,M=(M=k*R*a)<(K=A.byteLength-g.ptr)?M:K,l=new ArrayBuffer(M%a===0?M:M+a-M%a),new Uint8Array(l).set(new Uint8Array(A,g.ptr,M)),c=new I(l),b=0,T)for(S=0;S<k;S++){for(G=0;G<R;G++)T[p]&&(O[p]=c[b++]),p++;p+=Y}else for(S=0;S<k;S++){for(G=0;G<R;G++)O[p++]=c[b++];p+=Y}g.ptr+=b*a}else if(D=o.getDataTypeUsed(f&&E<6?4:E,m),d=o.getOnePixel(h,J,D,n),J+=o.getDataTypeSize(D),3===w)if(g.ptr+=J,g.counter.constantoffset++,T)for(S=0;S<k;S++){for(G=0;G<R;G++)T[p]&&(O[p]=f?Math.min(P,u[p]+d):d),p++;p+=Y}else for(S=0;S<k;S++){for(G=0;G<R;G++)O[p]=f?Math.min(P,u[p]+d):d,p++;p+=Y}else if(g.ptr+=J,o.decodeBits(A,g,H,d,y),J=0,f)if(T)for(S=0;S<k;S++){for(G=0;G<R;G++)T[p]&&(O[p]=H[J++]+u[p]),p++;p+=Y}else for(S=0;S<k;S++){for(G=0;G<R;G++)O[p]=H[J++]+u[p],p++;p+=Y}else if(T)for(S=0;S<k;S++){for(G=0;G<R;G++)T[p]&&(O[p]=H[J++]),p++;p+=Y}else for(S=0;S<k;S++){for(G=0;G<R;G++)O[p++]=H[J++];p+=Y}else{if(f)if(T)for(S=0;S<k;S++)for(G=0;G<R;G++)T[p]&&(O[p]=u[p]),p++;else for(S=0;S<k;S++)for(G=0;G<R;G++)O[p]=u[p],p++;g.counter.constant++,g.ptr+=J}}_>1&&!e&&(g.pixels.resultPixels=o.swapDimensionOrder(g.pixels.resultPixels,C,_,I))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:o.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,g){var I=A.headerInfo.zMax,e=A.headerInfo.zMin,t=A.headerInfo.maxValues,B=A.headerInfo.numDims,i=A.headerInfo.height*A.headerInfo.width,C=0,Q=0,E=0,a=A.pixels.resultMask,s=A.pixels.resultPixels;if(a)if(B>1){if(g)for(C=0;C<B;C++)for(E=C*i,I=t[C],Q=0;Q<i;Q++)a[Q]&&(s[E+Q]=I);else for(Q=0;Q<i;Q++)if(a[Q])for(E=Q*B,C=0;C<B;C++)s[E+B]=t[C]}else for(Q=0;Q<i;Q++)a[Q]&&(s[Q]=I);else if(B>1&&e!==I)if(g)for(C=0;C<B;C++)for(E=C*i,I=t[C],Q=0;Q<i;Q++)s[E+Q]=I;else for(Q=0;Q<i;Q++)for(E=Q*B,C=0;C<B;C++)s[E+C]=t[C];else for(Q=0;Q<i*B;Q++)s[Q]=I},getDataTypeArray:function(A){var g;switch(A){case 0:g=Int8Array;break;case 1:g=Uint8Array;break;case 2:g=Int16Array;break;case 3:g=Uint16Array;break;case 4:g=Int32Array;break;case 5:g=Uint32Array;break;case 6:default:g=Float32Array;break;case 7:g=Float64Array}return g},getPixelType:function(A){var g;switch(A){case 0:g="S8";break;case 1:g="U8";break;case 2:g="S16";break;case 3:g="U16";break;case 4:g="S32";break;case 5:g="U32";break;case 6:default:g="F32";break;case 7:g="F64"}return g},isValidPixelValue:function(A,g){if(null==g)return!1;var I;switch(A){case 0:I=g>=-128&&g<=127;break;case 1:I=g>=0&&g<=255;break;case 2:I=g>=-32768&&g<=32767;break;case 3:I=g>=0&&g<=65536;break;case 4:I=g>=-2147483648&&g<=2147483647;break;case 5:I=g>=0&&g<=4294967296;break;case 6:I=g>=-34027999387901484e22&&g<=34027999387901484e22;break;case 7:I=g>=-17976931348623157e292&&g<=17976931348623157e292;break;default:I=!1}return I},getDataTypeSize:function(A){var g=0;switch(A){case 0:case 1:g=1;break;case 2:case 3:g=2;break;case 4:case 5:case 6:g=4;break;case 7:g=8;break;default:g=A}return g},getDataTypeUsed:function(A,g){var I=A;switch(A){case 2:case 4:I=A-g;break;case 3:case 5:I=A-2*g;break;case 6:I=0===g?A:1===g?2:1;break;case 7:I=0===g?A:A-2*g+1;break;default:I=A}return I},getOnePixel:function(A,g,I,e){var t=0;switch(I){case 0:t=e.getInt8(g);break;case 1:t=e.getUint8(g);break;case 2:t=e.getInt16(g,!0);break;case 3:t=e.getUint16(g,!0);break;case 4:t=e.getInt32(g,!0);break;case 5:t=e.getUInt32(g,!0);break;case 6:t=e.getFloat32(g,!0);break;case 7:t=e.getFloat64(g,!0);break;default:throw"the decoder does not understand this pixel type"}return t},swapDimensionOrder:function(A,g,I,e,t){var B=0,i=0,C=0,Q=0,E=A;if(I>1)if(E=new e(g*I),t)for(B=0;B<g;B++)for(Q=B,C=0;C<I;C++,Q+=g)E[Q]=A[i++];else for(B=0;B<g;B++)for(Q=B,C=0;C<I;C++,Q+=g)E[i++]=A[Q];return E}},r=function(A,g,I){this.val=A,this.left=g,this.right=I},{decode:function(A,g){var I=(g=g||{}).noDataValue,e=0,t={};if(t.ptr=g.inputOffset||0,t.pixels={},o.readHeaderInfo(A,t)){var B=t.headerInfo,i=B.fileVersion,C=o.getDataTypeArray(B.imageType);if(i>5)throw"unsupported lerc version 2."+i;o.readMask(A,t),B.numValidPixel===B.width*B.height||t.pixels.resultMask||(t.pixels.resultMask=g.maskData);var Q=B.width*B.height;t.pixels.resultPixels=new C(Q*B.numDims),t.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var E,a=!g.returnPixelInterleavedDims;if(0!==B.numValidPixel)if(B.zMax===B.zMin)o.constructConstantSurface(t,a);else if(i>=4&&o.checkMinMaxRanges(A,t))o.constructConstantSurface(t,a);else{var s=new DataView(A,t.ptr,2),r=s.getUint8(0);if(t.ptr++,r)o.readDataOneSweep(A,t,C,a);else if(i>1&&B.imageType<=1&&Math.abs(B.maxZError-.5)<1e-5){var n=s.getUint8(1);if(t.ptr++,t.encodeMode=n,n>2||i<4&&n>1)throw"Invalid Huffman flag "+n;n?o.readHuffman(A,t,C,a):o.readTiles(A,t,C,a)}else o.readTiles(A,t,C,a)}t.eofOffset=t.ptr,g.inputOffset?(E=t.headerInfo.blobSize+g.inputOffset-t.ptr,Math.abs(E)>=1&&(t.eofOffset=g.inputOffset+t.headerInfo.blobSize)):(E=t.headerInfo.blobSize-t.ptr,Math.abs(E)>=1&&(t.eofOffset=t.headerInfo.blobSize));var h={width:B.width,height:B.height,pixelData:t.pixels.resultPixels,minValue:B.zMin,maxValue:B.zMax,validPixelCount:B.numValidPixel,dimCount:B.numDims,dimStats:{minValues:B.minValues,maxValues:B.maxValues},maskData:t.pixels.resultMask};if(t.pixels.resultMask&&o.isValidPixelValue(B.imageType,I)){var l=t.pixels.resultMask;for(e=0;e<Q;e++)l[e]||(h.pixelData[e]=I);h.noDataValue=I}return t.noDataValue=I,g.returnFileInfo&&(h.fileInfo=o.formatFileInfo(t)),h}},getBandCount:function(A){for(var g=0,I=0,e={ptr:0,pixels:{}};I<A.byteLength-58;)o.readHeaderInfo(A,e),I+=e.headerInfo.blobSize,g++,e.ptr=I;return g}}),w=(n=new ArrayBuffer(4),h=new Uint8Array(n),new Uint32Array(n)[0]=1,1===h[0]),D={decode:function(A,g){if(!w)throw"Big endian system is not supported.";var I,e,t=(g=g||{}).inputOffset||0,B=new Uint8Array(A,t,10),i=String.fromCharCode.apply(null,B);if("CntZImage"===i.trim())I=l,e=1;else{if("Lerc2"!==i.substring(0,5))throw"Unexpected file identifier string: "+i;I=c,e=2}for(var C,Q,E,a,s,o,r=0,n=A.byteLength-10,h=[],D={width:0,height:0,pixels:[],pixelType:g.pixelType,mask:null,statistics:[]},d=0;t<n;){var y=I.decode(A,{inputOffset:t,encodedMaskData:C,maskData:E,returnMask:0===r,returnEncodedMask:0===r,returnFileInfo:!0,returnPixelInterleavedDims:g.returnPixelInterleavedDims,pixelType:g.pixelType||null,noDataValue:g.noDataValue||null});t=y.fileInfo.eofOffset,E=y.maskData,0===r&&(C=y.encodedMaskData,D.width=y.width,D.height=y.height,D.dimCount=y.dimCount||1,D.pixelType=y.pixelType||y.fileInfo.pixelType,D.mask=E),e>1&&(E&&h.push(E),y.fileInfo.mask&&y.fileInfo.mask.numBytes>0&&d++),r++,D.pixels.push(y.pixelData),D.statistics.push({minValue:y.minValue,maxValue:y.maxValue,noDataValue:y.noDataValue,dimStats:y.dimStats})}if(e>1&&d>1){for(o=D.width*D.height,D.bandMasks=h,(E=new Uint8Array(o)).set(h[0]),a=1;a<h.length;a++)for(Q=h[a],s=0;s<o;s++)E[s]=E[s]&Q[s];D.maskData=E}return D}};UB.exports?UB.exports=D:this.Lerc=D}();var pB=LB(mB.exports);let YB,MB,KB;const bB={env:{emscripten_notify_memory_growth:A=>{KB=new Uint8Array(MB.exports.memory.buffer)}}};const JB="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AikACDcACCAHIDo3AAAgEUEZSA0BIARBGGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCkkNAAsMAQsCQAJAIAUoAswCIhEgBUHgAWogJUEHcUEMbGoiDygCACICaiIHIBxLDQAgCSAPKAIEIgogAmoiBmogG0sNACAGQSBqIBQgCWtNDQELIAUgDygCCDYCoAEgBSAPKQIANwOYASAJIBQgBUGYAWogBUHMAmogHCALIBcgIhAgIQYMAQsgAiAJaiEEIA8oAgghFSARKQAAITogCSARKQAINwAIIAkgOjcAAAJAIAJBEUkNACARKQAQITogCSARKQAYNwAYIAkgOjcAECACQRBrQRFIDQAgEUEQaiECIAlBIGohEgNAIAIpABAhOiASIAIpABg3AAggEiA6NwAAIAIpACAhOiASIAIpACg3ABggEiA6NwAQIAJBIGohAiASQSBqIhIgBEkNAAsLIAQgFWshAiAFIAc2AswCIAQgC2sgFUkEQCAVIAQgF2tLDQwgIiAiIAIgC2siD2oiByAKak8EQCAKRQ0CIAQgByAK/AoAAAwCC0EAIA9rIgIEQCAEIAcgAvwKAAALIAogD2ohCiAEIA9rIQQgCyECCyAVQRBPBEAgAikAACE6IAQgAikACDcACCAEIDo3AAAgCkERSA0BIAQgCmohByAEQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAELAkAgFUEHTQRAIAQgAi0AADoAACAEIAItAAE6AAEgBCACLQACOgACIAQgAi0AAzoAAyAEIAIgFUECdCIHQeAaaigCAGoiAigAADYABCACIAdBgBtqKAIAayECDAELIAQgAikAADcAAAsgCkEJSQ0AIAQgCmohDyAEQQhqIgcgAkEIaiICa0EPTARAA0AgByACKQAANwAAIAJBCGohAiAHQQhqIgcgD0kNAAwCCwALIAIpAAAhOiAHIAIpAAg3AAggByA6NwAAIApBGUgNACAEQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIA9JDQALCyAGQYh/SwRAIAYhAwwLCyAFQeABaiAlQQdxQQxsaiICIA02AgggAiAMNgIEIAIgEDYCAAsgBiAJaiEJICVBAWohJSAQIC1qIAxqIS0MAQsLIAUoArABIAUoArQBRw0HIAUoAqwBQSBHDQcgDiAoayEQA0ACQCAOIBBMBEBBACECA0AgAkEDRg0CIDIgAkECdCIDaiADICZqKAIANgIAIAJBAWohAgwACwALIAVB4AFqIBBBB3FBDGxqIQoCfwJAIAgoAoTsAUECRgRAIAUoAswCIg8gCigCACIEaiIHIAgoAoDsASICSwRAIAIgD0cEQCACIA9rIgIgFCAJa0sNCyAJIA8gAhAfIAogBCACayIENgIAIAIgCWohCQsgBSAWNgLMAiAIQQA2AoTsAQJAAkACQCAEQYCABEoNACAJIAooAgQiDSAEaiIGaiAbSw0AIAZBIGogFCAJa00NAQsgBSAKKAIINgJQIAUgCikCADcDSCAJIBQgBUHIAGogBUHMAmogGSALIBcgIhAgIQYMAQsgBCAWaiEHIAQgCWohDCAKKAIIIQogFikAACE6IAkgFikACDcACCAJIDo3AAACQCAEQRFJDQAgHikAACE6IAkgHikACDcAGCAJIDo3ABAgBEEQa0ERSA0AIAlBIGohAiAeIQQDQCAEKQAQITogAiAEKQAYNwAIIAIgOjcAACAEKQAgITogAiAEKQAoNwAYIAIgOjcAECAEQSBqIQQgAkEgaiICIAxJDQALCyAMIAprIQIgBSAHNgLMAiAMIAtrIApJBEAgCiAMIBdrSw0PICIgIiACIAtrIgdqIgQgDWpPBEAgDUUNAiAMIAQgDfwKAAAMAgtBACAHayICBEAgDCAEIAL8CgAACyAHIA1qIQ0gDCAHayEMIAshAgsgCkEQTwRAIAIpAAAhOiAMIAIpAAg3AAggDCA6NwAAIA1BEUgNASAMIA1qIQcgDEEQaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwwBCwJAIApBB00EQCAMIAItAAA6AAAgDCACLQABOgABIAwgAi0AAjoAAiAMIAItAAM6AAMgDCACIApBAnQiBEHgGmooAgBqIgIoAAA2AAQgAiAEQYAbaigCAGshAgwBCyAMIAIpAAA3AAALIA1BCUkNACAMIA1qIQcgDEEIaiIEIAJBCGoiAmtBD0wEQANAIAQgAikAADcAACACQQhqIQIgBEEIaiIEIAdJDQAMAgsACyACKQAAITogBCACKQAINwAIIAQgOjcAACANQRlIDQAgDEEYaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwsgBkGJf08EQCAGIQMMDgsgGSEcIAYgCWoMAwsgB0EgayECAkACQCAHIBxLDQAgCSAKKAIEIhIgBGoiDGogAksNACAMQSBqIBQgCWtNDQELIAUgCigCCDYCYCAFIAopAgA3A1ggCSAUIAIgBUHYAGogBUHMAmogHCALIBcgIhAhIQwMAgsgBCAJaiEGIAooAgghCiAPKQAAITogCSAPKQAINwAIIAkgOjcAAAJAIARBEUkNACAPKQAQITogCSAPKQAYNwAYIAkgOjcAECAEQRBrQRFIDQAgD0EQaiECIAlBIGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsLIAYgCmshAiAFIAc2AswCIAYgC2sgCkkEQCAKIAYgF2tLDQ0gIiAiIAIgC2siB2oiBCASak8EQCASRQ0DIAYgBCAS/AoAAAwDC0EAIAdrIgIEQCAGIAQgAvwKAAALIAcgEmohEiAGIAdrIQYgCyECCyAKQRBPBEAgAikAACE6IAYgAikACDcACCAGIDo3AAAgEkERSA0CIAYgEmohByAGQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAILAkAgCkEHTQRAIAYgAi0AADoAACAGIAItAAE6AAEgBiACLQACOgACIAYgAi0AAzoAAyAGIAIgCkECdCIEQeAaaigCAGoiAigAADYABCACIARBgBtqKAIAayECDAELIAYgAikAADcAAAsgEkEJSQ0BIAYgEmohByAGQQhqIgQgAkEIaiICa0EPTARAA0AgBCACKQAANwAAIAJBCGohAiAE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",HB=new class{init(){return YB||(YB="undefined"!=typeof fetch?fetch(`data:application/wasm;base64,${JB}`).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,bB)).then(this._init):WebAssembly.instantiate(Buffer.from(JB,"base64"),bB).then(this._init),YB)}_init(A){MB=A.instance,bB.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!MB)throw new Error("ZSTDDecoder: Await .init() before decoding.");const I=A.byteLength,e=MB.exports.malloc(I);KB.set(A,e),g=g||Number(MB.exports.ZSTD_findDecompressedSize(e,I));const t=MB.exports.malloc(g),B=MB.exports.ZSTD_decompress(t,g,e,I),i=KB.slice(t,t+B);return MB.exports.free(e),MB.exports.free(t),i}};var qB=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){const g=this.parameters.LercParameters[FA];switch(g){case kA:break;case RA:A=FB(new Uint8Array(A)).buffer;break;case LA:A=HB.decode(new Uint8Array(A)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${g}`)}return pB.decode(A,{returnPixelInterleavedDims:1===this.parameters.planarConfiguration}).pixels[0].buffer}},zstd:HB});let xB,_B,TB,OB;const vB={env:{emscripten_notify_memory_growth:A=>{TB=new Uint8Array(_B.exports.memory.buffer),OB=new DataView(TB.buffer)}}};const PB="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QQhyIQBBACEDA0AgACADTQ0DIANBQGshAwwACwALQWwhCiAOIA5B/ABqIA5B+ABqIAUgBhAGIgJBiH9LDQEgDigCeCIDIARLDQEgACAOIA4oAnwgByAIIAMgDRAlIAEgADYCACACIQoMAQtBbCEKCyAOQYABaiQAIAoLcAEEfyAAQgA3AgAgAgRAIAFBCmohBiABKAIEIQRBACECQQAhAQNAIAEgBHZFBEAgAiAGIAFBA3RqLQAAIgUgAiAFSxshAiABQQFqIQEgAyAFQRZLaiEDDAELCyAAIAI2AgQgACADQQggBGt0NgIACwuuAQEEfyABIAIoAgQiAyABKAIEaiIENgIEIAAgA0ECdEGwGWooAgAgASgCAEEAIARrdnE2AgACQCAEQSFPBEAgAUGwGjYCCAwBCyABKAIIIgMgASgCEE8EQCABEAwMAQsgAyABKAIMIgVGDQAgASADIAMgBWsgBEEDdiIGIAMgBmsgBUkbIgNrIgU2AgggASAEIANBA3RrNgIEIAEgBSgAADYCAAsgACACQQhqNgIEC40CAgN/AX4gACACaiEEAkACQCACQQhOBEAgACABayICQXlIDQELA0AgACAETw0CIAAgAS0AADoAACAAQQFqIQAgAUEBaiEBDAALAAsCQAJAIAJBb0sNACAAIARBIGsiAksNACABKQAAIQYgACABKQAINwAIIAAgBjcAACACIABrIgVBEU4EQCAAQRBqIQAgASEDA0AgAykAECEGIAAgAykAGDcACCAAIAY3AAAgAykAICEGIAAgAykAKDcAGCAAIAY3ABAgA0EgaiEDIABBIGoiACACSQ0ACwsgASAFaiEBDAELIAAhAgsDQCACIARPDQEgAiABLQAAOgAAIAJBAWohAiABQQFqIQEMAAsACwvfAQEGf0G6fyEKAkAgAigCBCIIIAIoAgAiCWoiDSABIABrSw0AQWwhCiAJIAQgAygCACILa0sNACAAIAlqIgQgAigCCCIMayECIAAgAUEgayIBIAsgCUEAEDMgAyAJIAtqNgIAAkACQCAEIAVrIAxPBEAgAiEFDAELIAwgBCAGa0sNAiAHIAcgAiAFayIDaiICIAhqTwRAIAhFDQIgBCACIAj8CgAADAILQQAgA2siAARAIAQgAiAA/AoAAAsgAyAIaiEIIAQgA2shBAsgBCABIAUgCEEBEDML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",ZB=new class{init(){return xB||(xB="undefined"!=typeof fetch?fetch(`data:application/wasm;base64,${PB}`).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,vB)).then(this._init):WebAssembly.instantiate(Buffer.from(PB,"base64"),vB).then(this._init),xB)}_init(A){_B=A.instance,vB.env.emscripten_notify_memory_growth(0)}decode(A,g=0){if(!_B)throw new Error("ZSTDDecoder: Await .init() before decoding.");const I=A.byteLength,e=_B.exports.malloc(I);if(TB.set(A,e),0===g&&(g=Number(_B.exports.ZSTD_findDecompressedSize(e,I))),-1===g){_B.exports.free(e);const g=[];for(const I of this.decodeStreaming([A]))g.push(I);if(1===g.length)return g[0];const I=g.reduce((A,g)=>A+g.byteLength,0),t=new Uint8Array(I);let B=0;for(const A of g)t.set(A,B),B+=A.byteLength;return t}const t=_B.exports.malloc(g),B=_B.exports.ZSTD_decompress(t,g,e,I),i=TB.slice(t,t+B);return _B.exports.free(e),_B.exports.free(t),i}*decodeStreaming(A){if(!_B)throw new Error("ZSTDDecoder: Await .init() before decoding.");const g=_B.exports.ZSTD_DStreamInSize(),I=_B.exports.malloc(g),e=_B.exports.ZSTD_DStreamOutSize(),t=_B.exports.malloc(e),B=_B.exports.ZSTD_createDCtx(),i=_B.exports.malloc(12),C=_B.exports.malloc(12);let Q=0;for(const g of A){const A=_B.exports.malloc(g.byteLength);for(TB.set(g,A),OB.setInt32(i,A,!0),OB.setInt32(i+4,g.byteLength,!0),OB.setInt32(i+4+4,0,!0);OB.getUint32(i+4+4,!0)<OB.getUint32(i+4,!0);){OB.setInt32(C,t,!0),OB.setInt32(C+4,e,!0),OB.setInt32(C+4+4,0,!0),Q=_B.exports.ZSTD_decompressStream(B,C,i);const A=OB.getUint32(C+4+4,!0);yield TB.slice(t,t+A)}_B.exports.free(A)}if(_B.exports.ZSTD_freeDCtx(B),_B.exports.free(I),_B.exports.free(t),_B.exports.free(i),_B.exports.free(C),0!==Q)throw new Error("Incomplete stream, more data expected.")}};var VB=Object.freeze({__proto__:null,default:class extends Gg{decodeBlock(A){return ZB.decode(new Uint8Array(A)).buffer}},zstd:ZB});var zB=Object.freeze({__proto__:null,default:class extends Gg{constructor(A){if(super(A),"undefined"==typeof createImageBitmap)throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if("undefined"==typeof document&&"undefined"==typeof OffscreenCanvas)throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decodeBlock(A){const g=new Blob([A]),I=await createImageBitmap(g);let e;"undefined"!=typeof document?(e=document.createElement("canvas"),e.width=I.width,e.height=I.height):e=new OffscreenCanvas(I.width,I.height);const t=e.getContext("2d");t.drawImage(I,0,0);const B=t.getImageData(0,0,I.width,I.height).data,i=this.parameters.samplesPerPixel||4;if(4===i)return B.buffer;if(3===i){const A=new Uint8ClampedArray(I.width*I.height*3);for(let g=0,I=0;g<A.length;g+=3,I+=4)A[g]=B[I],A[g+1]=B[I+1],A[g+2]=B[I+2];return A.buffer}throw new Error(`Unsupported SamplesPerPixel value: ${i}`)}}});exports.CogBitmapLayer=Vg,exports.CogTerrainLayer=Xg,exports.CogTiles=vg,exports.GeoImage=Jg;
3
+ function(){var A,I,g,B,C,e,i,Q,t,E,s,a,o,r,n,h,D=(A={defaultNoDataValue:-34027999387901484e22,decode:function(e,i){var Q=(i=i||{}).encodedMaskData||null===i.encodedMaskData,t=C(e,i.inputOffset||0,Q),E=null!==i.noDataValue?i.noDataValue:A.defaultNoDataValue,s=I(t,i.pixelType||Float32Array,i.encodedMaskData,E,i.returnMask),a={width:t.width,height:t.height,pixelData:s.resultPixels,minValue:s.minValue,maxValue:t.pixels.maxValue,noDataValue:E};return s.resultMask&&(a.maskData=s.resultMask),i.returnEncodedMask&&t.mask&&(a.encodedMaskData=t.mask.bitset?t.mask.bitset:null),i.returnFileInfo&&(a.fileInfo=g(t),i.computeUsedBitDepths&&(a.fileInfo.bitDepths=B(t))),a}},I=function(A,I,g,B,C){var i,Q,t,E=0,s=A.pixels.numBlocksX,a=A.pixels.numBlocksY,o=Math.floor(A.width/s),r=Math.floor(A.height/a),n=2*A.maxZError,h=Number.MAX_VALUE;g=g||(A.mask?A.mask.bitset:null),Q=new I(A.width*A.height),C&&g&&(t=new Uint8Array(A.width*A.height));for(var D,l,c=new Float32Array(o*r),w=0;w<=a;w++){var y=w!==a?r:A.height%a;if(0!==y)for(var d=0;d<=s;d++){var S=d!==s?o:A.width%s;if(0!==S){var f,u,G,N,F=w*A.width*r+d*o,k=A.width-S,R=A.pixels.blocks[E];if(R.encoding<2?(0===R.encoding?f=R.rawData:(e(R.stuffedData,R.bitsPerPixel,R.numValidPixels,R.offset,n,c,A.pixels.maxValue),f=c),u=0):G=2===R.encoding?0:R.offset,g)for(l=0;l<y;l++){for(7&F&&(N=g[F>>3],N<<=7&F),D=0;D<S;D++)7&F||(N=g[F>>3]),128&N?(t&&(t[F]=1),h=h>(i=R.encoding<2?f[u++]:G)?i:h,Q[F++]=i):(t&&(t[F]=0),Q[F++]=B),N<<=1;F+=k}else if(R.encoding<2)for(l=0;l<y;l++){for(D=0;D<S;D++)h=h>(i=f[u++])?i:h,Q[F++]=i;F+=k}else for(h=h>G?G:h,l=0;l<y;l++){for(D=0;D<S;D++)Q[F++]=G;F+=k}if(1===R.encoding&&u!==R.numValidPixels)throw"Block and Mask do not match";E++}}}return{resultPixels:Q,resultMask:t,minValue:h}},g=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}}},B=function(A){for(var I=A.pixels.numBlocksX*A.pixels.numBlocksY,g={},B=0;B<I;B++){var C=A.pixels.blocks[B];0===C.encoding?g.float32=!0:1===C.encoding?g[C.bitsPerPixel]=!0:g[0]=!0}return Object.keys(g)},C=function(A,I,g){var B={},C=new Uint8Array(A,I,10);if(B.fileIdentifierString=String.fromCharCode.apply(null,C),"CntZImage"!==B.fileIdentifierString.trim())throw"Unexpected file identifier string: "+B.fileIdentifierString;I+=10;var e=new DataView(A,I,24);if(B.fileVersion=e.getInt32(0,!0),B.imageType=e.getInt32(4,!0),B.height=e.getUint32(8,!0),B.width=e.getUint32(12,!0),B.maxZError=e.getFloat64(16,!0),I+=24,!g)if(e=new DataView(A,I,16),B.mask={},B.mask.numBlocksY=e.getUint32(0,!0),B.mask.numBlocksX=e.getUint32(4,!0),B.mask.numBytes=e.getUint32(8,!0),B.mask.maxValue=e.getFloat32(12,!0),I+=16,B.mask.numBytes>0){var i=new Uint8Array(Math.ceil(B.width*B.height/8)),Q=(e=new DataView(A,I,B.mask.numBytes)).getInt16(0,!0),t=2,E=0;do{if(Q>0)for(;Q--;)i[E++]=e.getUint8(t++);else{var s=e.getUint8(t++);for(Q=-Q;Q--;)i[E++]=s}Q=e.getInt16(t,!0),t+=2}while(t<B.mask.numBytes);if(-32768!==Q||E<i.length)throw"Unexpected end of mask RLE encoding";B.mask.bitset=i,I+=B.mask.numBytes}else 0===(B.mask.numBytes|B.mask.numBlocksY|B.mask.maxValue)&&(B.mask.bitset=new Uint8Array(Math.ceil(B.width*B.height/8)));e=new DataView(A,I,16),B.pixels={},B.pixels.numBlocksY=e.getUint32(0,!0),B.pixels.numBlocksX=e.getUint32(4,!0),B.pixels.numBytes=e.getUint32(8,!0),B.pixels.maxValue=e.getFloat32(12,!0),I+=16;var a=B.pixels.numBlocksX,o=B.pixels.numBlocksY,r=a+(B.width%a>0?1:0),n=o+(B.height%o>0?1:0);B.pixels.blocks=new Array(r*n);for(var h=0,D=0;D<n;D++)for(var l=0;l<r;l++){var c=0,w=A.byteLength-I;e=new DataView(A,I,Math.min(10,w));var y={};B.pixels.blocks[h++]=y;var d=e.getUint8(0);if(c++,y.encoding=63&d,y.encoding>3)throw"Invalid block encoding ("+y.encoding+")";if(2!==y.encoding){if(0!==d&&2!==d){if(d>>=6,y.offsetType=d,2===d)y.offset=e.getInt8(1),c++;else if(1===d)y.offset=e.getInt16(1,!0),c+=2;else{if(0!==d)throw"Invalid block offset type";y.offset=e.getFloat32(1,!0),c+=4}if(1===y.encoding)if(d=e.getUint8(c),c++,y.bitsPerPixel=63&d,d>>=6,y.numValidPixelsType=d,2===d)y.numValidPixels=e.getUint8(c),c++;else if(1===d)y.numValidPixels=e.getUint16(c,!0),c+=2;else{if(0!==d)throw"Invalid valid pixel count type";y.numValidPixels=e.getUint32(c,!0),c+=4}}var S;if(I+=c,3!==y.encoding)if(0===y.encoding){var f=(B.pixels.numBytes-1)/4;if(f!==Math.floor(f))throw"uncompressed block has invalid length";S=new ArrayBuffer(4*f),new Uint8Array(S).set(new Uint8Array(A,I,4*f));var u=new Float32Array(S);y.rawData=u,I+=4*f}else if(1===y.encoding){var G=Math.ceil(y.numValidPixels*y.bitsPerPixel/8),N=Math.ceil(G/4);S=new ArrayBuffer(4*N),new Uint8Array(S).set(new Uint8Array(A,I,G)),y.stuffedData=new Uint32Array(S),I+=G}}else I++}return B.eofOffset=I,B},e=function(A,I,g,B,C,e,i){var Q,t,E,s=(1<<I)-1,a=0,o=0,r=Math.ceil((i-B)/C),n=4*A.length-Math.ceil(I*g/8);for(A[A.length-1]<<=8*n,Q=0;Q<g;Q++){if(0===o&&(E=A[a++],o=32),o>=I)t=E>>>o-I&s,o-=I;else{var h=I-o;t=(E&s)<<h&s,t+=(E=A[a++])>>>(o=32-h)}e[Q]=t<r?B+t*C:i}return e},A),l=(i=function(A,I,g,B,C,e,i,Q){var t,E,s,a,o,r=(1<<g)-1,n=0,h=0,D=4*A.length-Math.ceil(g*B/8);if(A[A.length-1]<<=8*D,C)for(t=0;t<B;t++)0===h&&(s=A[n++],h=32),h>=g?(E=s>>>h-g&r,h-=g):(E=(s&r)<<(a=g-h)&r,E+=(s=A[n++])>>>(h=32-a)),I[t]=C[E];else for(o=Math.ceil((Q-e)/i),t=0;t<B;t++)0===h&&(s=A[n++],h=32),h>=g?(E=s>>>h-g&r,h-=g):(E=(s&r)<<(a=g-h)&r,E+=(s=A[n++])>>>(h=32-a)),I[t]=E<o?e+E*i:Q},Q=function(A,I,g,B,C,e){var i,Q=(1<<I)-1,t=0,E=0,s=0,a=0,o=0,r=[],n=4*A.length-Math.ceil(I*g/8);A[A.length-1]<<=8*n;var h=Math.ceil((e-B)/C);for(E=0;E<g;E++)0===a&&(i=A[t++],a=32),a>=I?(o=i>>>a-I&Q,a-=I):(o=(i&Q)<<(s=I-a)&Q,o+=(i=A[t++])>>>(a=32-s)),r[E]=o<h?B+o*C:e;return r.unshift(B),r},t=function(A,I,g,B,C,e,i,Q){var t,E,s,a,o=(1<<g)-1,r=0,n=0,h=0;if(C)for(t=0;t<B;t++)0===n&&(s=A[r++],n=32,h=0),n>=g?(E=s>>>h&o,n-=g,h+=g):(E=s>>>h&o,n=32-(a=g-n),E|=((s=A[r++])&(1<<a)-1)<<g-a,h=a),I[t]=C[E];else{var D=Math.ceil((Q-e)/i);for(t=0;t<B;t++)0===n&&(s=A[r++],n=32,h=0),n>=g?(E=s>>>h&o,n-=g,h+=g):(E=s>>>h&o,n=32-(a=g-n),E|=((s=A[r++])&(1<<a)-1)<<g-a,h=a),I[t]=E<D?e+E*i:Q}return I},E=function(A,I,g,B,C,e){var i,Q=(1<<I)-1,t=0,E=0,s=0,a=0,o=0,r=0,n=[],h=Math.ceil((e-B)/C);for(E=0;E<g;E++)0===a&&(i=A[t++],a=32,r=0),a>=I?(o=i>>>r&Q,a-=I,r+=I):(o=i>>>r&Q,a=32-(s=I-a),o|=((i=A[t++])&(1<<s)-1)<<I-s,r=s),n[E]=o<h?B+o*C:e;return n.unshift(B),n},s=function(A,I,g,B){var C,e,i,Q,t=(1<<g)-1,E=0,s=0,a=4*A.length-Math.ceil(g*B/8);for(A[A.length-1]<<=8*a,C=0;C<B;C++)0===s&&(i=A[E++],s=32),s>=g?(e=i>>>s-g&t,s-=g):(e=(i&t)<<(Q=g-s)&t,e+=(i=A[E++])>>>(s=32-Q)),I[C]=e;return I},a=function(A,I,g,B){var C,e,i,Q,t=(1<<g)-1,E=0,s=0,a=0;for(C=0;C<B;C++)0===s&&(i=A[E++],s=32,a=0),s>=g?(e=i>>>a&t,s-=g,a+=g):(e=i>>>a&t,s=32-(Q=g-s),e|=((i=A[E++])&(1<<Q)-1)<<g-Q,a=Q),I[C]=e;return I},o={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var I=65535,g=65535,B=A.length,C=Math.floor(B/2),e=0;C;){var i=C>=359?359:C;C-=i;do{I+=A[e++]<<8,g+=I+=A[e++]}while(--i);I=(65535&I)+(I>>>16),g=(65535&g)+(g>>>16)}return 1&B&&(g+=I+=A[e]<<8),((g=(65535&g)+(g>>>16))<<16|(I=(65535&I)+(I>>>16)))>>>0},readHeaderInfo:function(A,I){var g=I.ptr,B=new Uint8Array(A,g,6),C={};if(C.fileIdentifierString=String.fromCharCode.apply(null,B),0!==C.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+C.fileIdentifierString;g+=6;var e,i=new DataView(A,g,8),Q=i.getInt32(0,!0);if(C.fileVersion=Q,g+=4,Q>=3&&(C.checksum=i.getUint32(4,!0),g+=4),i=new DataView(A,g,12),C.height=i.getUint32(0,!0),C.width=i.getUint32(4,!0),g+=8,Q>=4?(C.numDims=i.getUint32(8,!0),g+=4):C.numDims=1,i=new DataView(A,g,40),C.numValidPixel=i.getUint32(0,!0),C.microBlockSize=i.getInt32(4,!0),C.blobSize=i.getInt32(8,!0),C.imageType=i.getInt32(12,!0),C.maxZError=i.getFloat64(16,!0),C.zMin=i.getFloat64(24,!0),C.zMax=i.getFloat64(32,!0),g+=40,I.headerInfo=C,I.ptr=g,Q>=3&&(e=Q>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,g-e,C.blobSize-14))!==C.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,I){var g=I.headerInfo,B=this.getDataTypeArray(g.imageType),C=g.numDims*this.getDataTypeSize(g.imageType),e=this.readSubArray(A,I.ptr,B,C),i=this.readSubArray(A,I.ptr+C,B,C);I.ptr+=2*C;var Q,t=!0;for(Q=0;Q<g.numDims;Q++)if(e[Q]!==i[Q]){t=!1;break}return g.minValues=e,g.maxValues=i,t},readSubArray:function(A,I,g,B){var C;if(g===Uint8Array)C=new Uint8Array(A,I,B);else{var e=new ArrayBuffer(B);new Uint8Array(e).set(new Uint8Array(A,I,B)),C=new g(e)}return C},readMask:function(A,I){var g,B,C=I.ptr,e=I.headerInfo,i=e.width*e.height,Q=e.numValidPixel,t=new DataView(A,C,4),E={};if(E.numBytes=t.getUint32(0,!0),C+=4,(0===Q||i===Q)&&0!==E.numBytes)throw"invalid mask";if(0===Q)g=new Uint8Array(Math.ceil(i/8)),E.bitset=g,B=new Uint8Array(i),I.pixels.resultMask=B,C+=E.numBytes;else if(E.numBytes>0){g=new Uint8Array(Math.ceil(i/8));var s=(t=new DataView(A,C,E.numBytes)).getInt16(0,!0),a=2,o=0,r=0;do{if(s>0)for(;s--;)g[o++]=t.getUint8(a++);else for(r=t.getUint8(a++),s=-s;s--;)g[o++]=r;s=t.getInt16(a,!0),a+=2}while(a<E.numBytes);if(-32768!==s||o<g.length)throw"Unexpected end of mask RLE encoding";B=new Uint8Array(i);var n=0,h=0;for(h=0;h<i;h++)7&h?(n=g[h>>3],n<<=7&h):n=g[h>>3],128&n&&(B[h]=1);I.pixels.resultMask=B,E.bitset=g,C+=E.numBytes}return I.ptr=C,I.mask=E,!0},readDataOneSweep:function(A,I,g,B){var C,e=I.ptr,i=I.headerInfo,Q=i.numDims,t=i.width*i.height,E=i.imageType,s=i.numValidPixel*o.getDataTypeSize(E)*Q,a=I.pixels.resultMask;if(g===Uint8Array)C=new Uint8Array(A,e,s);else{var r=new ArrayBuffer(s);new Uint8Array(r).set(new Uint8Array(A,e,s)),C=new g(r)}if(C.length===t*Q)I.pixels.resultPixels=B?o.swapDimensionOrder(C,t,Q,g,!0):C;else{I.pixels.resultPixels=new g(t*Q);var n=0,h=0,D=0,l=0;if(Q>1){if(B){for(h=0;h<t;h++)if(a[h])for(l=h,D=0;D<Q;D++,l+=t)I.pixels.resultPixels[l]=C[n++]}else for(h=0;h<t;h++)if(a[h])for(l=h*Q,D=0;D<Q;D++)I.pixels.resultPixels[l+D]=C[n++]}else for(h=0;h<t;h++)a[h]&&(I.pixels.resultPixels[h]=C[n++])}return e+=s,I.ptr=e,!0},readHuffmanTree:function(A,I){var g=this.HUFFMAN_LUT_BITS_MAX,B=new DataView(A,I.ptr,16);if(I.ptr+=16,B.getInt32(0,!0)<2)throw"unsupported Huffman version";var C=B.getInt32(4,!0),e=B.getInt32(8,!0),i=B.getInt32(12,!0);if(e>=i)return!1;var Q=new Uint32Array(i-e);o.decodeBits(A,I,Q);var t,E,s,a,n=[];for(t=e;t<i;t++)n[E=t-(t<C?0:C)]={first:Q[t-e],second:null};var h=A.byteLength-I.ptr,D=Math.ceil(h/4),l=new ArrayBuffer(4*D);new Uint8Array(l).set(new Uint8Array(A,I.ptr,h));var c,w=new Uint32Array(l),y=0,d=0;for(c=w[0],t=e;t<i;t++)(a=n[E=t-(t<C?0:C)].first)>0&&(n[E].second=c<<y>>>32-a,32-y>=a?32===(y+=a)&&(y=0,c=w[++d]):(y+=a-32,c=w[++d],n[E].second|=c>>>32-y));var S=0,f=0,u=new r;for(t=0;t<n.length;t++)void 0!==n[t]&&(S=Math.max(S,n[t].first));f=S>=g?g:S;var G,N,F,k,R,L=[];for(t=e;t<i;t++)if((a=n[E=t-(t<C?0:C)].first)>0)if(G=[a,E],a<=f)for(N=n[E].second<<f-a,F=1<<f-a,s=0;s<F;s++)L[N|s]=G;else for(N=n[E].second,R=u,k=a-1;k>=0;k--)N>>>k&1?(R.right||(R.right=new r),R=R.right):(R.left||(R.left=new r),R=R.left),0!==k||R.val||(R.val=G[1]);return{decodeLut:L,numBitsLUTQick:f,numBitsLUT:S,tree:u,stuffedData:w,srcPtr:d,bitPos:y}},readHuffman:function(A,I,g,B){var C,e,i,Q,t,E,s,a,r,n=I.headerInfo.numDims,h=I.headerInfo.height,D=I.headerInfo.width,l=D*h,c=this.readHuffmanTree(A,I),w=c.decodeLut,y=c.tree,d=c.stuffedData,S=c.srcPtr,f=c.bitPos,u=c.numBitsLUTQick,G=c.numBitsLUT,N=0===I.headerInfo.imageType?128:0,F=I.pixels.resultMask,k=0;f>0&&(S++,f=0);var R,L=d[S],U=1===I.encodeMode,Y=new g(l*n),m=Y;if(n<2||U){for(R=0;R<n;R++)if(n>1&&(m=new g(Y.buffer,l*R,l),k=0),I.headerInfo.numValidPixel===D*h)for(a=0,E=0;E<h;E++)for(s=0;s<D;s++,a++){if(e=0,t=Q=L<<f>>>32-u,32-f<u&&(t=Q|=d[S+1]>>>64-f-u),w[t])e=w[t][1],f+=w[t][0];else for(t=Q=L<<f>>>32-G,32-f<G&&(t=Q|=d[S+1]>>>64-f-G),C=y,r=0;r<G;r++)if(!(C=Q>>>G-r-1&1?C.right:C.left).left&&!C.right){e=C.val,f=f+r+1;break}f>=32&&(f-=32,L=d[++S]),i=e-N,U?(i+=s>0?k:E>0?m[a-D]:k,i&=255,m[a]=i,k=i):m[a]=i}else for(a=0,E=0;E<h;E++)for(s=0;s<D;s++,a++)if(F[a]){if(e=0,t=Q=L<<f>>>32-u,32-f<u&&(t=Q|=d[S+1]>>>64-f-u),w[t])e=w[t][1],f+=w[t][0];else for(t=Q=L<<f>>>32-G,32-f<G&&(t=Q|=d[S+1]>>>64-f-G),C=y,r=0;r<G;r++)if(!(C=Q>>>G-r-1&1?C.right:C.left).left&&!C.right){e=C.val,f=f+r+1;break}f>=32&&(f-=32,L=d[++S]),i=e-N,U?(s>0&&F[a-1]?i+=k:E>0&&F[a-D]?i+=m[a-D]:i+=k,i&=255,m[a]=i,k=i):m[a]=i}}else for(a=0,E=0;E<h;E++)for(s=0;s<D;s++)if(a=E*D+s,!F||F[a])for(R=0;R<n;R++,a+=l){if(e=0,t=Q=L<<f>>>32-u,32-f<u&&(t=Q|=d[S+1]>>>64-f-u),w[t])e=w[t][1],f+=w[t][0];else for(t=Q=L<<f>>>32-G,32-f<G&&(t=Q|=d[S+1]>>>64-f-G),C=y,r=0;r<G;r++)if(!(C=Q>>>G-r-1&1?C.right:C.left).left&&!C.right){e=C.val,f=f+r+1;break}f>=32&&(f-=32,L=d[++S]),i=e-N,m[a]=i}I.ptr=I.ptr+4*(S+1)+(f>0?4:0),I.pixels.resultPixels=Y,n>1&&!B&&(I.pixels.resultPixels=o.swapDimensionOrder(Y,l,n,g))},decodeBits:function(A,I,g,B,C){var e=I.headerInfo,o=e.fileVersion,r=0,n=A.byteLength-I.ptr>=5?5:A.byteLength-I.ptr,h=new DataView(A,I.ptr,n),D=h.getUint8(0);r++;var l=D>>6,c=0===l?4:3-l,w=(32&D)>0,y=31&D,d=0;if(1===c)d=h.getUint8(r),r++;else if(2===c)d=h.getUint16(r,!0),r+=2;else{if(4!==c)throw"Invalid valid pixel count type";d=h.getUint32(r,!0),r+=4}var S,f,u,G,N,F,k,R,L,U=2*e.maxZError,Y=e.numDims>1?e.maxValues[C]:e.zMax;if(w){for(I.counter.lut++,R=h.getUint8(r),r++,G=Math.ceil((R-1)*y/8),N=Math.ceil(G/4),f=new ArrayBuffer(4*N),u=new Uint8Array(f),I.ptr+=r,u.set(new Uint8Array(A,I.ptr,G)),k=new Uint32Array(f),I.ptr+=G,L=0;R-1>>>L;)L++;G=Math.ceil(d*L/8),N=Math.ceil(G/4),f=new ArrayBuffer(4*N),(u=new Uint8Array(f)).set(new Uint8Array(A,I.ptr,G)),S=new Uint32Array(f),I.ptr+=G,F=o>=3?E(k,y,R-1,B,U,Y):Q(k,y,R-1,B,U,Y),o>=3?t(S,g,L,d,F):i(S,g,L,d,F)}else I.counter.bitstuffer++,L=y,I.ptr+=r,L>0&&(G=Math.ceil(d*L/8),N=Math.ceil(G/4),f=new ArrayBuffer(4*N),(u=new Uint8Array(f)).set(new Uint8Array(A,I.ptr,G)),S=new Uint32Array(f),I.ptr+=G,o>=3?null==B?a(S,g,L,d):t(S,g,L,d,!1,B,U,Y):null==B?s(S,g,L,d):i(S,g,L,d,!1,B,U,Y))},readTiles:function(A,I,g,B){var C=I.headerInfo,e=C.width,i=C.height,Q=e*i,t=C.microBlockSize,E=C.imageType,s=o.getDataTypeSize(E),a=Math.ceil(e/t),r=Math.ceil(i/t);I.pixels.numBlocksY=r,I.pixels.numBlocksX=a,I.pixels.ptr=0;var n,h,D,l,c,w,y,d,S,f,u=0,G=0,N=0,F=0,k=0,R=0,L=0,U=0,Y=0,m=0,p=0,M=0,K=0,J=0,H=0,q=new g(t*t),b=i%t||t,x=e%t||t,T=C.numDims,O=I.pixels.resultMask,P=I.pixels.resultPixels,v=C.fileVersion>=5?14:15,V=C.zMax;for(N=0;N<r;N++)for(k=N!==r-1?t:b,F=0;F<a;F++)for(m=N*e*t+F*t,p=e-(R=F!==a-1?t:x),d=0;d<T;d++){if(T>1?(f=P,m=N*e*t+F*t,P=new g(I.pixels.resultPixels.buffer,Q*d*s,Q),V=C.maxValues[d]):f=null,L=A.byteLength-I.ptr,h={},H=0,U=(n=new DataView(A,I.ptr,Math.min(10,L))).getUint8(0),H++,S=C.fileVersion>=5?4&U:0,Y=U>>6&255,(U>>2&v)!=(F*t>>3&v))throw"integrity issue";if(S&&0===d)throw"integrity issue";if((c=3&U)>3)throw I.ptr+=H,"Invalid block encoding ("+c+")";if(2!==c)if(0===c){if(S)throw"integrity issue";if(I.counter.uncompressed++,I.ptr+=H,M=(M=k*R*s)<(K=A.byteLength-I.ptr)?M:K,D=new ArrayBuffer(M%s===0?M:M+s-M%s),new Uint8Array(D).set(new Uint8Array(A,I.ptr,M)),l=new g(D),J=0,O)for(u=0;u<k;u++){for(G=0;G<R;G++)O[m]&&(P[m]=l[J++]),m++;m+=p}else for(u=0;u<k;u++){for(G=0;G<R;G++)P[m++]=l[J++];m+=p}I.ptr+=J*s}else if(w=o.getDataTypeUsed(S&&E<6?4:E,Y),y=o.getOnePixel(h,H,w,n),H+=o.getDataTypeSize(w),3===c)if(I.ptr+=H,I.counter.constantoffset++,O)for(u=0;u<k;u++){for(G=0;G<R;G++)O[m]&&(P[m]=S?Math.min(V,f[m]+y):y),m++;m+=p}else for(u=0;u<k;u++){for(G=0;G<R;G++)P[m]=S?Math.min(V,f[m]+y):y,m++;m+=p}else if(I.ptr+=H,o.decodeBits(A,I,q,y,d),H=0,S)if(O)for(u=0;u<k;u++){for(G=0;G<R;G++)O[m]&&(P[m]=q[H++]+f[m]),m++;m+=p}else for(u=0;u<k;u++){for(G=0;G<R;G++)P[m]=q[H++]+f[m],m++;m+=p}else if(O)for(u=0;u<k;u++){for(G=0;G<R;G++)O[m]&&(P[m]=q[H++]),m++;m+=p}else for(u=0;u<k;u++){for(G=0;G<R;G++)P[m++]=q[H++];m+=p}else{if(S)if(O)for(u=0;u<k;u++)for(G=0;G<R;G++)O[m]&&(P[m]=f[m]),m++;else for(u=0;u<k;u++)for(G=0;G<R;G++)P[m]=f[m],m++;I.counter.constant++,I.ptr+=H}}T>1&&!B&&(I.pixels.resultPixels=o.swapDimensionOrder(I.pixels.resultPixels,Q,T,g))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:o.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,I){var g=A.headerInfo.zMax,B=A.headerInfo.zMin,C=A.headerInfo.maxValues,e=A.headerInfo.numDims,i=A.headerInfo.height*A.headerInfo.width,Q=0,t=0,E=0,s=A.pixels.resultMask,a=A.pixels.resultPixels;if(s)if(e>1){if(I)for(Q=0;Q<e;Q++)for(E=Q*i,g=C[Q],t=0;t<i;t++)s[t]&&(a[E+t]=g);else for(t=0;t<i;t++)if(s[t])for(E=t*e,Q=0;Q<e;Q++)a[E+e]=C[Q]}else for(t=0;t<i;t++)s[t]&&(a[t]=g);else if(e>1&&B!==g)if(I)for(Q=0;Q<e;Q++)for(E=Q*i,g=C[Q],t=0;t<i;t++)a[E+t]=g;else for(t=0;t<i;t++)for(E=t*e,Q=0;Q<e;Q++)a[E+Q]=C[Q];else for(t=0;t<i*e;t++)a[t]=g},getDataTypeArray:function(A){var I;switch(A){case 0:I=Int8Array;break;case 1:I=Uint8Array;break;case 2:I=Int16Array;break;case 3:I=Uint16Array;break;case 4:I=Int32Array;break;case 5:I=Uint32Array;break;case 6:default:I=Float32Array;break;case 7:I=Float64Array}return I},getPixelType:function(A){var I;switch(A){case 0:I="S8";break;case 1:I="U8";break;case 2:I="S16";break;case 3:I="U16";break;case 4:I="S32";break;case 5:I="U32";break;case 6:default:I="F32";break;case 7:I="F64"}return I},isValidPixelValue:function(A,I){if(null==I)return!1;var g;switch(A){case 0:g=I>=-128&&I<=127;break;case 1:g=I>=0&&I<=255;break;case 2:g=I>=-32768&&I<=32767;break;case 3:g=I>=0&&I<=65536;break;case 4:g=I>=-2147483648&&I<=2147483647;break;case 5:g=I>=0&&I<=4294967296;break;case 6:g=I>=-34027999387901484e22&&I<=34027999387901484e22;break;case 7:g=I>=-17976931348623157e292&&I<=17976931348623157e292;break;default:g=!1}return g},getDataTypeSize:function(A){var I=0;switch(A){case 0:case 1:I=1;break;case 2:case 3:I=2;break;case 4:case 5:case 6:I=4;break;case 7:I=8;break;default:I=A}return I},getDataTypeUsed:function(A,I){var g=A;switch(A){case 2:case 4:g=A-I;break;case 3:case 5:g=A-2*I;break;case 6:g=0===I?A:1===I?2:1;break;case 7:g=0===I?A:A-2*I+1;break;default:g=A}return g},getOnePixel:function(A,I,g,B){var C=0;switch(g){case 0:C=B.getInt8(I);break;case 1:C=B.getUint8(I);break;case 2:C=B.getInt16(I,!0);break;case 3:C=B.getUint16(I,!0);break;case 4:C=B.getInt32(I,!0);break;case 5:C=B.getUInt32(I,!0);break;case 6:C=B.getFloat32(I,!0);break;case 7:C=B.getFloat64(I,!0);break;default:throw"the decoder does not understand this pixel type"}return C},swapDimensionOrder:function(A,I,g,B,C){var e=0,i=0,Q=0,t=0,E=A;if(g>1)if(E=new B(I*g),C)for(e=0;e<I;e++)for(t=e,Q=0;Q<g;Q++,t+=I)E[t]=A[i++];else for(e=0;e<I;e++)for(t=e,Q=0;Q<g;Q++,t+=I)E[i++]=A[t];return E}},r=function(A,I,g){this.val=A,this.left=I,this.right=g},{decode:function(A,I){var g=(I=I||{}).noDataValue,B=0,C={};if(C.ptr=I.inputOffset||0,C.pixels={},o.readHeaderInfo(A,C)){var e=C.headerInfo,i=e.fileVersion,Q=o.getDataTypeArray(e.imageType);if(i>5)throw"unsupported lerc version 2."+i;o.readMask(A,C),e.numValidPixel===e.width*e.height||C.pixels.resultMask||(C.pixels.resultMask=I.maskData);var t=e.width*e.height;C.pixels.resultPixels=new Q(t*e.numDims),C.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var E,s=!I.returnPixelInterleavedDims;if(0!==e.numValidPixel)if(e.zMax===e.zMin)o.constructConstantSurface(C,s);else if(i>=4&&o.checkMinMaxRanges(A,C))o.constructConstantSurface(C,s);else{var a=new DataView(A,C.ptr,2),r=a.getUint8(0);if(C.ptr++,r)o.readDataOneSweep(A,C,Q,s);else if(i>1&&e.imageType<=1&&Math.abs(e.maxZError-.5)<1e-5){var n=a.getUint8(1);if(C.ptr++,C.encodeMode=n,n>2||i<4&&n>1)throw"Invalid Huffman flag "+n;n?o.readHuffman(A,C,Q,s):o.readTiles(A,C,Q,s)}else o.readTiles(A,C,Q,s)}C.eofOffset=C.ptr,I.inputOffset?(E=C.headerInfo.blobSize+I.inputOffset-C.ptr,Math.abs(E)>=1&&(C.eofOffset=I.inputOffset+C.headerInfo.blobSize)):(E=C.headerInfo.blobSize-C.ptr,Math.abs(E)>=1&&(C.eofOffset=C.headerInfo.blobSize));var h={width:e.width,height:e.height,pixelData:C.pixels.resultPixels,minValue:e.zMin,maxValue:e.zMax,validPixelCount:e.numValidPixel,dimCount:e.numDims,dimStats:{minValues:e.minValues,maxValues:e.maxValues},maskData:C.pixels.resultMask};if(C.pixels.resultMask&&o.isValidPixelValue(e.imageType,g)){var D=C.pixels.resultMask;for(B=0;B<t;B++)D[B]||(h.pixelData[B]=g);h.noDataValue=g}return C.noDataValue=g,I.returnFileInfo&&(h.fileInfo=o.formatFileInfo(C)),h}},getBandCount:function(A){for(var I=0,g=0,B={ptr:0,pixels:{}};g<A.byteLength-58;)o.readHeaderInfo(A,B),g+=B.headerInfo.blobSize,I++,B.ptr=g;return I}}),c=(n=new ArrayBuffer(4),h=new Uint8Array(n),new Uint32Array(n)[0]=1,1===h[0]),w={decode:function(A,I){if(!c)throw"Big endian system is not supported.";var g,B,C=(I=I||{}).inputOffset||0,e=new Uint8Array(A,C,10),i=String.fromCharCode.apply(null,e);if("CntZImage"===i.trim())g=D,B=1;else{if("Lerc2"!==i.substring(0,5))throw"Unexpected file identifier string: "+i;g=l,B=2}for(var Q,t,E,s,a,o,r=0,n=A.byteLength-10,h=[],w={width:0,height:0,pixels:[],pixelType:I.pixelType,mask:null,statistics:[]},y=0;C<n;){var d=g.decode(A,{inputOffset:C,encodedMaskData:Q,maskData:E,returnMask:0===r,returnEncodedMask:0===r,returnFileInfo:!0,returnPixelInterleavedDims:I.returnPixelInterleavedDims,pixelType:I.pixelType||null,noDataValue:I.noDataValue||null});C=d.fileInfo.eofOffset,E=d.maskData,0===r&&(Q=d.encodedMaskData,w.width=d.width,w.height=d.height,w.dimCount=d.dimCount||1,w.pixelType=d.pixelType||d.fileInfo.pixelType,w.mask=E),B>1&&(E&&h.push(E),d.fileInfo.mask&&d.fileInfo.mask.numBytes>0&&y++),r++,w.pixels.push(d.pixelData),w.statistics.push({minValue:d.minValue,maxValue:d.maxValue,noDataValue:d.noDataValue,dimStats:d.dimStats})}if(B>1&&y>1){for(o=w.width*w.height,w.bandMasks=h,(E=new Uint8Array(o)).set(h[0]),s=1;s<h.length;s++)for(t=h[s],a=0;a<o;a++)E[a]=E[a]&t[a];w.maskData=E}return w}};kB.exports?kB.exports=w:this.Lerc=w}()),FB.exports),LB=GB(RB);let UB,YB,mB;const pB={env:{emscripten_notify_memory_growth:A=>{mB=new Uint8Array(YB.exports.memory.buffer)}}};const MB="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AikACDcACCAHIDo3AAAgEUEZSA0BIARBGGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCkkNAAsMAQsCQAJAIAUoAswCIhEgBUHgAWogJUEHcUEMbGoiDygCACICaiIHIBxLDQAgCSAPKAIEIgogAmoiBmogG0sNACAGQSBqIBQgCWtNDQELIAUgDygCCDYCoAEgBSAPKQIANwOYASAJIBQgBUGYAWogBUHMAmogHCALIBcgIhAgIQYMAQsgAiAJaiEEIA8oAgghFSARKQAAITogCSARKQAINwAIIAkgOjcAAAJAIAJBEUkNACARKQAQITogCSARKQAYNwAYIAkgOjcAECACQRBrQRFIDQAgEUEQaiECIAlBIGohEgNAIAIpABAhOiASIAIpABg3AAggEiA6NwAAIAIpACAhOiASIAIpACg3ABggEiA6NwAQIAJBIGohAiASQSBqIhIgBEkNAAsLIAQgFWshAiAFIAc2AswCIAQgC2sgFUkEQCAVIAQgF2tLDQwgIiAiIAIgC2siD2oiByAKak8EQCAKRQ0CIAQgByAK/AoAAAwCC0EAIA9rIgIEQCAEIAcgAvwKAAALIAogD2ohCiAEIA9rIQQgCyECCyAVQRBPBEAgAikAACE6IAQgAikACDcACCAEIDo3AAAgCkERSA0BIAQgCmohByAEQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAELAkAgFUEHTQRAIAQgAi0AADoAACAEIAItAAE6AAEgBCACLQACOgACIAQgAi0AAzoAAyAEIAIgFUECdCIHQeAaaigCAGoiAigAADYABCACIAdBgBtqKAIAayECDAELIAQgAikAADcAAAsgCkEJSQ0AIAQgCmohDyAEQQhqIgcgAkEIaiICa0EPTARAA0AgByACKQAANwAAIAJBCGohAiAHQQhqIgcgD0kNAAwCCwALIAIpAAAhOiAHIAIpAAg3AAggByA6NwAAIApBGUgNACAEQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIA9JDQALCyAGQYh/SwRAIAYhAwwLCyAFQeABaiAlQQdxQQxsaiICIA02AgggAiAMNgIEIAIgEDYCAAsgBiAJaiEJICVBAWohJSAQIC1qIAxqIS0MAQsLIAUoArABIAUoArQBRw0HIAUoAqwBQSBHDQcgDiAoayEQA0ACQCAOIBBMBEBBACECA0AgAkEDRg0CIDIgAkECdCIDaiADICZqKAIANgIAIAJBAWohAgwACwALIAVB4AFqIBBBB3FBDGxqIQoCfwJAIAgoAoTsAUECRgRAIAUoAswCIg8gCigCACIEaiIHIAgoAoDsASICSwRAIAIgD0cEQCACIA9rIgIgFCAJa0sNCyAJIA8gAhAfIAogBCACayIENgIAIAIgCWohCQsgBSAWNgLMAiAIQQA2AoTsAQJAAkACQCAEQYCABEoNACAJIAooAgQiDSAEaiIGaiAbSw0AIAZBIGogFCAJa00NAQsgBSAKKAIINgJQIAUgCikCADcDSCAJIBQgBUHIAGogBUHMAmogGSALIBcgIhAgIQYMAQsgBCAWaiEHIAQgCWohDCAKKAIIIQogFikAACE6IAkgFikACDcACCAJIDo3AAACQCAEQRFJDQAgHikAACE6IAkgHikACDcAGCAJIDo3ABAgBEEQa0ERSA0AIAlBIGohAiAeIQQDQCAEKQAQITogAiAEKQAYNwAIIAIgOjcAACAEKQAgITogAiAEKQAoNwAYIAIgOjcAECAEQSBqIQQgAkEgaiICIAxJDQALCyAMIAprIQIgBSAHNgLMAiAMIAtrIApJBEAgCiAMIBdrSw0PICIgIiACIAtrIgdqIgQgDWpPBEAgDUUNAiAMIAQgDfwKAAAMAgtBACAHayICBEAgDCAEIAL8CgAACyAHIA1qIQ0gDCAHayEMIAshAgsgCkEQTwRAIAIpAAAhOiAMIAIpAAg3AAggDCA6NwAAIA1BEUgNASAMIA1qIQcgDEEQaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwwBCwJAIApBB00EQCAMIAItAAA6AAAgDCACLQABOgABIAwgAi0AAjoAAiAMIAItAAM6AAMgDCACIApBAnQiBEHgGmooAgBqIgIoAAA2AAQgAiAEQYAbaigCAGshAgwBCyAMIAIpAAA3AAALIA1BCUkNACAMIA1qIQcgDEEIaiIEIAJBCGoiAmtBD0wEQANAIAQgAikAADcAACACQQhqIQIgBEEIaiIEIAdJDQAMAgsACyACKQAAITogBCACKQAINwAIIAQgOjcAACANQRlIDQAgDEEYaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwsgBkGJf08EQCAGIQMMDgsgGSEcIAYgCWoMAwsgB0EgayECAkACQCAHIBxLDQAgCSAKKAIEIhIgBGoiDGogAksNACAMQSBqIBQgCWtNDQELIAUgCigCCDYCYCAFIAopAgA3A1ggCSAUIAIgBUHYAGogBUHMAmogHCALIBcgIhAhIQwMAgsgBCAJaiEGIAooAgghCiAPKQAAITogCSAPKQAINwAIIAkgOjcAAAJAIARBEUkNACAPKQAQITogCSAPKQAYNwAYIAkgOjcAECAEQRBrQRFIDQAgD0EQaiECIAlBIGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsLIAYgCmshAiAFIAc2AswCIAYgC2sgCkkEQCAKIAYgF2tLDQ0gIiAiIAIgC2siB2oiBCASak8EQCASRQ0DIAYgBCAS/AoAAAwDC0EAIAdrIgIEQCAGIAQgAvwKAAALIAcgEmohEiAGIAdrIQYgCyECCyAKQRBPBEAgAikAACE6IAYgAikACDcACCAGIDo3AAAgEkERSA0CIAYgEmohByAGQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAILAkAgCkEHTQRAIAYgAi0AADoAACAGIAItAAE6AAEgBiACLQACOgACIAYgAi0AAzoAAyAGIAIgCkECdCIEQeAaaigCAGoiAigAADYABCACIARBgBtqKAIAayECDAELIAYgAikAADcAAAsgEkEJSQ0BIAYgEmohByAGQQhqIgQgAkEIaiICa0EPTARAA0AgBCACKQAANwAAIAJBCGohAiAEQQhqIgQgB0kNAAwDCwALIAIpAAAhOiAEIAIpAAg3AAggBCA6NwAAIBJBGUgNASAGQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAELAkACQCAFKALMAiIGIAooAgAiAmoiByAcSw0AIAkgCigCBCINIAJqIgxqIBtLDQAgDEEgaiAUIAlrTQ0BCyAFIAooAgg2AnAgBSAKKQIANwNoIAkgFCAFQegAaiAFQcwCaiAcIAsgFyAiECAhDAwBCyACIAlqIQQgCigCCCEKIAYpAAAhOiAJIAYpAAg3AAggCSA6NwAAAkAgAkERSQ0AIAYpABAhOiAJIAYpABg3ABggCSA6NwAQIAJBEGtBEUgNACAGQRBqIQIgCUEgaiEGA0AgAikAECE6IAYgAikAGDcACCAGIDo3AAAgAikAICE6IAYgAikAKDcAGCAGIDo3ABAgAkEgaiECIAZBIGoiBiAESQ0ACwsgBCAKayECIAUgBzYCzAIgBCALayAKSQRAIAogBCAXa0sNDCAiICIgAiALayIHaiIGIA1qTwRAIA1FDQIgBCAGIA38CgAADAILQQAgB2siAgRAIAQgBiAC/AoAAAsgByANaiENIAQgB2shBCALIQILIApBEE8EQCACKQAAITogBCACKQAINwAIIAQgOjcAACANQRFIDQEgBCANaiEGIARBEGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsMAQsCQCAKQQdNBEAgBCACLQAAOgAAIAQgAi0AAToAASAEIAItAAI6AAIgBCACLQADOgADIAQgAiAKQQJ0IgZB4BpqKAIAaiICKAAANgAEIAIgBkGAG2ooAgBrIQIMAQsgBCACKQAANwAACyANQQlJDQAgBCANaiEGIARBCGoiByACQQhqIgJrQQ9MBEADQCAHIAIpAAA3AAAgAkEIaiECIAdBCGoiByAGSQ0ADAILAAsgAikAACE6IAcgAikACDcACCAHIDo3AAAgDUEZSA0AIARBGGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsLIAxBiH9LBEAgDCEDDAsLIAkgDGoLIQkgEEEBaiEQDAELCyAIKAKE7AEhAiAFKALMAiEDDAMFICQgMEEDdGoiBy0AAiEuICsgKkEDdGoiCi0AAiEvIBggIUEDdGoiDC0AAyEWIAotAAMhGyAHLQADIR8gDC8BACEnIAovAQAhHiAHLwEAIRkgDCgCBCENIAcoAgQhByAKKAIEIQoCQAJAIAwtAAIiEkECTwRAIAkgBHQhDCAVIBJBGUlyRQRAIAxBBSASa3ZBBXQgDWohDQJAIAQgEmpBBWsiBEEgSwRAQbAaIQIMAQsgAiApTwRAIAUgBEEHcSIMNgKsASACIARBA3ZrIgIoAAAhCSAMIQQMAQsgAiAjRg0AIAUgBCACICNrIARBA3YiBCACIARrICNJGyIMQQN0ayIENgKsASACIAxrIgIoAAAhCQsgBSAEQQVqIg82AqwBIA0gCSAEdEEbdmohEgwCCyAFIAQgEmoiDzYCrAEgDEEAIBJrdiANaiESIA9BIEsEQEGwGiECDAILIAIgKU8EQCAFIA9BB3EiBDYCrAEgAiAPQQN2ayICKAAAIQkgBCEPDAILIAIgI0YNASAFIA8gAiAjayAPQQN2IgQgAiAEayAjSRsiBEEDdGsiDzYCrAEgAiAEayICKAAAIQkMAQsgB0UhDCASRQRAICYgDEECdGooAgAhEiAmIAdBAEdBAnRqKAIAIREgBCEPDAILIAUgBEEBaiIPNgKsASANIAkgBHRBH3ZqIAxqIgxBA0YEQCARQQFrIgRBfyAEGyESDAELICYgDEECdGooAgAiBEF/IAQbIRIgDEEBRg0BCyAFIAY2AtwBCyAuIC9qIQQgBSASNgLUASAFIBE2AtgBAkAgL0UEQCAPIQwMAQsgBSAPIC9qIgw2AqwBIAkgD3RBACAva3YgCmohCgsCQCAEQRRJDQAgDEEgSwRAQbAaIQIMAQsgAiApTwRAIAUgDEEHcSIENgKsASACIAxBA3ZrIgIoAAAhCSAEIQwMAQsgAiAjRg0AIAUgDCACICNrIAxBA3YiBCACIARrICNJGyIEQQN0ayIMNgKsASACIARrIgIoAAAhCQsCQCAuRQRAIAwhBAwBCyAFIAwgLmoiBDYCrAEgCSAMdEEAIC5rdiAHaiEHCwJAIARBIEsEQEGwGiECDAELIAIgKU8EQCAFIARBB3EiBjYCrAEgAiAEQQN2ayICKAAAIQkgBiEEDAELIAIgI0YNACAFIAQgAiAjayAEQQN2IgQgAiAEayAjSRsiBkEDdGsiBDYCrAEgAiAGayICKAAAIQkLAkAgECAaRg0AIB9BAnRBsBlqKAIAIAlBACAEIB9qIgRrdnEhDyAbQQJ0QbAZaigCACAJQQAgBCAbaiIEa3ZxIQYCQAJ/AkACQCAEQSBLBEBBsBohAgwBCyACIClPBEAgBSAEQQdxIgw2AqwBIAIgBEEDdmsMAwsgAiAjRw0BCyAEIQwMAgsgBSAEIAIgI2sgBEEDdiIEIAIgBGsgI0kbIgRBA3RrIgw2AqwBIAIgBGsLIgIoAAAhCQsgDyAZaiEwIAYgHmohKiAFIAwgFmoiBjYCrAEgFkECdEGwGWooAgAgCUEAIAZrdnEgJ2ohIQJ/AkACQCAGQSBLBEBBsBohAgwBCyACIClPBEAgBSAGQQdxIgQ2AqwBIAIgBkEDdmsMAwsgAiAjRw0BCyAGIQQMAgsgBSAGIAIgI2sgBkEDdiIEIAIgBGsgI0kbIgZBA3RrIgQ2AqwBIAIgBmsLIgIoAAAhCQsgBUHgAWogEEEMbGoiBiASNgIIIAYgCjYCBCAGIAc2AgAgEEEBaiEQIAcgLWogCmohLSARIQYMAQsACwALAn8CQAJAAkAgAg4DAQIAAgsgBSAIKAL46gEiAzYCzAJBACECIBMgFEEAIBRBAEobaiEaIAgoAoDsASERAn8CQCAORQRAIBMhBwwBCyAIKAK46QEhFiAIKAK06QEhHyAIKAKw6QEhCyAIQQE2AozqASAIQazQAWohKyAFQYwCaiEbA0AgAkEDRwRAIBsgAkECdCIDaiADICtqKAIANgIAIAJBAWohAgwBCwsgBUHgAWoiAiAEIAcQCEGIf0sNByAFQfQBaiACIAgoAgAQHiAFQfwBaiACIAgoAggQHiAFQYQCaiACIAgoAgQQHiAzRSEeIBMhBwJAA0AgDkUNASAFKAL4ASAFKAL0AUEDdGoiBC0AAiEkIAUoAogCIAUoAoQCQQN0aiIDLQACIRUgBSgCgAIgBSgC/AFBA3RqIgItAAMhJyADLQADIRIgBC0AAyEcIAIvAQAhGSADLwEAIQ8gBC8BACEMIAIoAgQhBiAEKAIEIQQgAygCBCEJAkAgAi0AAiINQQJPBEACQCAeIA1BGUlyRQRAIAUoAuABIiEgBSgC5AEiAnRBBSANa3ZBBXQgBmohBgJAIAIgDWpBBWsiAkEhTwRAIAVBsBo2AugBDAELIAUoAugBIgogBSgC8AFPBEAgBSACQQdxIgM2AuQBIAUgCiACQQN2ayICNgLoASAFIAIoAAAiITYC4AEgAyECDAELIAogBSgC7AEiA0YNACAFIAIgCiADayACQQN2IgIgCiACayADSRsiA0EDdGsiAjYC5AEgBSAKIANrIgM2AugBIAUgAygAACIhNgLgAQsgBSACQQVqIgo2AuQBIAYgISACdEEbdmohDQwBCyAFIAUoAuQBIgIgDWoiCjYC5AEgBSgC4AEgAnRBACANa3YgBmohDSAKQSFPBEAgBUGwGjYC6AEMAQsgBSgC6AEiBiAFKALwAU8EQCAFIApBB3EiAjYC5AEgBSAGIApBA3ZrIgM2AugBIAUgAygAADYC4AEgAiEKDAELIAYgBSgC7AEiA0YNACAFIAogBiADayAKQQN2IgIgBiACayADSRsiAkEDdGsiCjYC5AEgBSAGIAJrIgI2AugBIAUgAigAADYC4AELIAUpAowCITogBSANNgKMAiAFIDo3ApACDAELIARFIQMgDUUEQCAbIARBAEdBAnRqKAIAIQIgBSAbIANBAnRqKAIAIg02AowCIAUgAjYCkAIgBSgC5AEhCgwBCyAFIAUoAuQBIgJBAWoiCjYC5AECQAJAIAMgBmogBSgC4AEgAnRBH3ZqIgNBA0YEQCAFKAKMAkEBayICQX8gAhshDQwBCyAbIANBAnRqKAIAIgJBfyACGyENIANBAUYNAQsgBSAFKAKQAjYClAILIAUgBSgCjAI2ApACIAUgDTYCjAILIBUgJGohAwJAIBVFBEAgCiECDAELIAUgCiAVaiICNgLkASAFKALgASAKdEEAIBVrdiAJaiEJCwJAIANBFEkNACACQSFPBEAgBUGwGjYC6AEMAQsgBSgC6AEiBiAFKALwAU8EQCAFIAJBB3EiAzYC5AEgBSAGIAJBA3ZrIgI2AugBIAUgAigAADYC4AEgAyECDAELIAYgBSgC7AEiA0YNACAFIAIgBiADayACQQN2IgIgBiACayADSRsiA0EDdGsiAjYC5AEgBSAGIANrIgM2AugBIAUgAygAADYC4AELAkAgJEUEQCACIQMMAQsgBSACICRqIgM2AuQBIAUoAuABIAJ0QQAgJGt2IARqIQQLAkAgA0EhTwRAQbAaIQIgBUGwGjYC6AEMAQsgBSgC6AEiAiAFKALwAU8EQCAFIANBB3EiBjYC5AEgBSACIANBA3ZrIgI2AugBIAUgAigAADYC4AEgBiEDDAELIAIgBSgC7AEiCkYNACAFIAIgAiAKayADQQN2IgYgAiAGayAKSRsiBmsiAjYC6AEgBSADIAZBA3RrIgM2AuQBIAUgAigAADYC4AELAkAgDkEBRg0AIAUgHEECdEGwGWooAgAgBSgC4AEiBkEAIAMgHGoiA2t2cSAMajYC9AEgBSASQQJ0QbAZaigCACAGQQAgAyASaiIDa3ZxIA9qNgKEAgJAIANBIU8EQEGwGiECIAVBsBo2AugBDAELIAUoAvABIAJNBEAgBSADQQdxIgo2AuQBIAUgAiADQQN2ayICNgLoASAFIAIoAAAiBjYC4AEgCiEDDAELIAIgBSgC7AEiCkYNACAFIAIgAiAKayADQQN2IgYgAiAGayAKSRsiBmsiAjYC6AEgBSADIAZBA3RrIgM2AuQBIAUgAigAACIGNgLgAQsgBSADICdqIgM2AuQBIAUgJ0ECdEGwGWooAgAgBkEAIANrdnEgGWo2AvwBIANBIU8EQCAFQbAaNgLoAQwBCyAFKALwASACTQRAIAUgA0EHcTYC5AEgBSACIANBA3ZrIgI2AugBIAUgAigAADYC4AEMAQsgAiAFKALsASIGRg0AIAUgAyACIAZrIANBA3YiAyACIANrIAZJGyIDQQN0azYC5AEgBSACIANrIgI2AugBIAUgAigAADYC4AELIAUoAswCIgwgBGoiCiAIKAKA7AEiAk0EQCAKQSBrIQIgBSAENgKoASAFIAk2AqwBIAUgDTYCsAECQAJAAkAgCiARSw0AIAcgBCAJaiIDaiACSw0AIANBIGogGiAHa00NAQsgBUFAayAFKAKwATYCACAFIAUpA6gBNwM4IAcgGiACIAVBOGogBUHMAmogESALIB8gFhAhIQMMAQsgBCAHaiEGIAwpAAAhOiAHIAwpAAg3AAggByA6NwAAAkAgBEERSQ0AIAwpABAhOiAHIAwpABg3ABggByA6NwAQIARBEGtBEUgNACAMQRBqIQIgB0EgaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAGSQ0ACwsgBiANayECIAUgCjYCzAIgBiALayANSQRAIA0gBiAfa0sNDCAWIBYgAiALayIKaiIEIAlqTwRAIAlFDQIgBiAEIAn8CgAADAILQQAgCmsiAgRAIAYgBCAC/AoAAAsgBSAJIApqIgk2AqwBIAYgCmshBiALIQILIA1BEE8EQCACKQAAITogBiACKQAINwAIIAYgOjcAACAJQRFIDQEgBiAJaiEKIAZBEGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCkkNAAsMAQsCQCANQQdNBEAgBiACLQAAOgAAIAYgAi0AAToAASAGIAItAAI6AAIgBiACLQADOgADIAYgAiANQQJ0IgRB4BpqKAIAaiICKAAANgAEIAIgBEGAG2ooAgBrIQIMAQsgBiACKQAANwAACyAJQQlJDQAgBiAJaiEKIAZBCGoiBCACQQhqIgJrQQ9MBEADQCAEIAIpAAA3AAAgAkEIaiECIARBCGoiBCAKSQ0ADAILAAsgAikAACE6IAQgAikACDcACCAEIDo3AAAgCUEZSA0AIAZBGGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCkkNAAsLIANBiH9LDQwgDkEBayEOIAMgB2ohBwwBCwsgDkEATA0IIAIgDEcEQEG6fyEDIAIgDGsiAiAaIAdrSw0LIAcgDCACEB8gAiAHaiEHIAQgAmshBAsgBSAIQYjsAWoiAjYCzAIgCEEANgKE7AEgCEGI7AVqIREgBSAENgKoASAFIAk2AqwBIAUgDTYCsAECQAJAAkAgBEGAgARKDQAgByAEIAlqIgNqIBpBIGtLDQAgA0EgaiAaIAdrTQ0BCyAFIAUoArABNgIwIAUgBSkDqAE3AyggByAaIAVBKGogBUHMAmogESALIB8gFhAgIQMMAQsgAiAEaiEKIAQgB2ohBiACKQAAITogByACKQAINwAIIAcgOjcAAAJAIARBEUkNACAIKQCY7AEhOiAHIAhBoOwBaikAADcAGCAHIDo3ABAgBEEQa0ERSA0AIAhBmOwBaiECIAdBIGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsLIAYgDWshAiAFIAo2AswCIAYgC2sgDUkEQCANIAYgH2tLDQogFiAWIAIgC2siCmoiBCAJak8EQCAJRQ0CIAYgBCAJ/AoAAAwCC0EAIAprIgIEQCAGIAQgAvwKAAALIAUgCSAKaiIJNgKsASAGIAprIQYgCyECCyANQRBPBEAgAikAACE6IAYgAikACDcACCAGIDo3AAAgCUERSA0BIAYgCWohCiAGQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIApJDQALDAELAkAgDUEHTQRAIAYgAi0AADoAACAGIAItAAE6AAEgBiACLQACOgACIAYgAi0AAzoAAyAGIAIgDUECdCIEQeAaaigCAGoiAigAADYABCACIARBgBtqKAIAayECDAELIAYgAikAADcAAAsgCUEJSQ0AIAYgCWohCiAGQQhqIgQgAkEIaiICa0EPTARAA0AgBCACKQAANwAAIAJBCGohAiAEQQhqIgQgCkkNAAwCCwALIAIpAAAhOiAEIAIpAAg3AAggBCA6NwAAIAlBGUgNACAGQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIApJDQALCyADQYh/Sw0KIAMgB2ohByAOQQFrIgpFDQAgGkEgayESIDNFIRwDQCAFKAL4ASAFKAL0AUEDdGoiBC0AAiEJIAUoAogCIAUoAoQCQQN0aiIDLQACIQwgBSgCgAIgBSgC/AFBA3RqIgItAAMhJCADLQADIRUgBC0AAyEnIAIvAQAhHiADLwEAIRkgBC8BACEPIAIoAgQhBiAEKAIEIQQgAygCBCEOAkAgAi0AAiIYQQJPBEACQCAcIBhBGUlyRQRAIAUoAuABIiogBSgC5AEiAnRBBSAYa3ZBBXQgBmohBgJAIAIgGGpBBWsiAkEhTwRAIAVBsBo2AugBDAELIAUoAugBIg0gBSgC8AFPBEAgBSACQQdxIgM2AuQBIAUgDSACQQN2ayICNgLoASAFIAIoAAAiKjYC4AEgAyECDAELIA0gBSgC7AEiA0YNACAFIAIgDSADayACQQN2IgIgDSACayADSRsiA0EDdGsiAjYC5AEgBSANIANrIgM2AugBIAUgAygAACIqNgLgAQsgBSACQQVqIg02AuQBIAYgKiACdEEbdmohBgwBCyAFIAUoAuQBIgIgGGoiDTYC5AEgBSgC4AEgAnRBACAYa3YgBmohBiANQSFPBEAgBUGwGjYC6AEMAQsgBSgC6AEiGCAFKALwAU8EQCAFIA1BB3EiAjYC5AEgBSAYIA1BA3ZrIgM2AugBIAUgAygAADYC4AEgAiENDAELIBggBSgC7AEiA0YNACAFIA0gGCADayANQQN2IgIgGCACayADSRsiAkEDdGsiDTYC5AEgBSAYIAJrIgI2AugBIAUgAigAADYC4AELIAUpAowCITogBSAGNgKMAiAFIDo3ApACDAELIARFIQMgGEUEQCAbIARBAEdBAnRqKAIAIQIgBSAbIANBAnRqKAIAIgY2AowCIAUgAjYCkAIgBSgC5AEhDQwBCyAFIAUoAuQBIgJBAWoiDTYC5AECQAJAIAMgBmogBSgC4AEgAnRBH3ZqIgNBA0YEQCAFKAKMAkEBayICQX8gAhshBgwBCyAbIANBAnRqKAIAIgJBfyACGyEGIANBAUYNAQsgBSAFKAKQAjYClAILIAUgBSgCjAI2ApACIAUgBjYCjAILIAkgDGohAwJAIAxFBEAgDSECDAELIAUgDCANaiICNgLkASAFKALgASANdEEAIAxrdiAOaiEOCwJAIANBFEkNACACQSFPBEAgBUGwGjYC6AEMAQsgBSgC6AEiDCAFKALwAU8EQCAFIAJBB3EiAzYC5AEgBSAMIAJBA3ZrIgI2AugBIAUgAigAADYC4AEgAyECDAELIAwgBSgC7AEiA0YNACAFIAIgDCADayACQQN2IgIgDCACayADSRsiA0EDdGsiAjYC5AEgBSAMIANrIgM2AugBIAUgAygAADYC4AELAkAgCUUEQCACIQMMAQsgBSACIAlqIgM2AuQBIAUoAuABIAJ0QQAgCWt2IARqIQQLAkAgA0EhTwRAQbAaIQIgBUGwGjYC6AEMAQsgBSgC6AEiAiAFKALwAU8EQCAFIANBB3EiDDYC5AEgBSACIANBA3ZrIgI2AugBIAUgAigAADYC4AEgDCEDDAELIAIgBSgC7AEiCUYNACAFIAIgAiAJayADQQN2IgwgAiAMayAJSRsiDGsiAjYC6AEgBSADIAxBA3RrIgM2AuQBIAUgAigAADYC4AELAkAgCkEBRg0AIAUgJ0ECdEGwGWooAgAgBSgC4AEiCUEAIAMgJ2oiA2t2cSAPajYC9AEgBSAVQQJ0QbAZaigCACAJQQAgAyAVaiIDa3ZxIBlqNgKEAgJAIANBIU8EQEGwGiECIAVBsBo2AugBDAELIAUoAvABIAJNBEAgBSADQQdxIgw2AuQBIAUgAiADQQN2ayICNgLoASAFIAIoAAAiCTYC4AEgDCEDDAELIAIgBSgC7AEiD0YNACAFIAIgAiAPayADQQN2IgwgAiAMayAPSRsiDGsiAjYC6AEgBSADIAxBA3RrIgM2AuQBIAUgAigAACIJNgLgAQsgBSADICRqIgM2AuQBIAUgJEECdEGwGWooAgAgCUEAIANrdnEgHmo2AvwBIANBIU8EQCAFQbAaNgLoAQwBCyAFKALwASACTQRAIAUgA0EHcTYC5AEgBSACIANBA3ZrIgI2AugBIAUgAigAADYC4AEMAQsgAiAFKALsASIMRg0AIAUgAyACIAxrIANBA3YiAyACIANrIAxJGyIDQQN0azYC5AEgBSACIANrIgI2AugBIAUgAigAADYC4AELIAUgBDYCqAEgBSAONgKsASAFIAY2ArABAkACQAJAIAUoAswCIgIgBGoiDCARSw0AIAcgBCAOaiIDaiASSw0AIANBIGogGiAHa00NAQsgBSAFKAKwATYCICAFIAUpA6gBNwMYIAcgGiAFQRhqIAVBzAJqIBEgCyAfIBYQICEDDAELIAQgB2ohCSACKQAAITogByACKQAINwAIIAcgOjcAAAJAIARBEUkNACACKQAQITogByACKQAYNwAYIAcgOjcAECAEQRBrQRFIDQAgAkEQaiECIAdBIGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCUkNAAsLIAkgBmshAiAFIAw2AswCIAkgC2sgBkkEQCAGIAkgH2tLDQsgFiAWIAIgC2siDGoiBCAOak8EQCAORQ0CIAkgBCAO/AoAAAwCC0EAIAxrIgIEQCAJIAQgAvwKAAALIAUgDCAOaiIONgKsASAJIAxrIQkgCyECCyAGQRBPBEAgAikAACE6IAkgAikACDcACCAJIDo3AAAgDkERSA0BIAkgDmohBiAJQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAZJDQALDAELAkAgBkEHTQRAIAkgAi0AADoAACAJIAItAAE6AAEgCSACLQACOgACIAkgAi0AAzoAAyAJIAIgBkECdCIEQeAaaigCAGoiAigAADYABCACIARBgBtqKAIAayECDAELIAkgAikAADcAAAsgDkEJSQ0AIAkgDmohBiAJQQhqIgQgAkEIaiICa0EPTARAA0AgBCACKQAANwAAIAJBCGohAiAEQQhqIgQgBkkNAAwCCwALIAIpAAAhOiAEIAIpAAg3AAggBCA6NwAAIA5BGUgNACAJQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAZJDQALCyADQYh/Sw0LIAMgB2ohByAKQQFrIgoNAAsLIAUoAugBIAUoAuwBRw0HQWwhAyAFKALkAUEgRw0JQQAhAgNAIAJBA0cEQCArIAJBAnQiA2ogAyAbaigCADYCACACQQFqIQIMAQsLIAUoAswCIgMgCCgChOwBQQJHDQEaCyARIANrIgIgGiAHa0sNBUEAIQQgBwRAIAIEQCAHIAMgAvwKAAALIAIgB2ohBAsgCEEANgKE7AEgCEGI7AVqIREgBCEHIAhBiOwBagshAiARIAJrIgMgGiAHa0sNBCAHBH8gAwRAIAcgAiAD/AoAAAsgAyAHagVBAAsgE2shAwwHCyATIBRBACAUQQBKG2oMAQsgCCgC/OsBCyEWIAUgCCgC+OoBIgI2AswCIAIgCCgCiOsBaiEfAkAgDkUEQCATIQkMAQsgCCgCuOkBIRggCCgCtOkBISsgCCgCsOkBIQwgCEEBNgKM6gEgCEGs0AFqISQgBUGMAmohGkEAIQIDQCACQQNHBEAgGiACQQJ0IgNqIAMgJGooAgA2AgAgAkEBaiECDAELC0FsIQMgBUHgAWoiAiAEIAcQCEGIf0sNBSAFQfQBaiACIAgoAgAQHiAFQfwBaiACIAgoAggQHiAFQYQCaiACIAgoAgQQHiAWQSBrIRwgM0UhHiATIQkDQCAOBEAgBSgC+AEgBSgC9AFBA3RqIgItAAIhGyAFKAKIAiAFKAKEAkEDdGoiBC0AAiENIAUoAoACIAUoAvwBQQN0aiIGLQADIRUgBC0AAyEnIAItAAMhEiAGLwEAIRkgBC8BACERIAIvAQAhDyAGKAIEIQcgAigCBCECIAQoAgQhBAJAIAYtAAIiKEECTwRAAkAgHiAoQRlJckUEQCAFKALgASIhIAUoAuQBIgZ0QQUgKGt2QQV0IAdqIQcCQCAGIChqQQVrIgZBIU8EQCAFQbAaNgLoAQwBCyAFKALoASIKIAUoAvABTwRAIAUgBkEHcSILNgLkASAFIAogBkEDdmsiBjYC6AEgBSAGKAAAIiE2AuABIAshBgwBCyAKIAUoAuwBIgtGDQAgBSAGIAogC2sgBkEDdiIGIAogBmsgC0kbIgtBA3RrIgY2AuQBIAUgCiALayILNgLoASAFIAsoAAAiITYC4AELIAUgBkEFaiIKNgLkASAHICEgBnRBG3ZqIRAMAQsgBSAFKALkASIGIChqIgo2AuQBIAUoAuABIAZ0QQAgKGt2IAdqIRAgCkEhTwRAIAVBsBo2AugBDAELIAUoAugBIgcgBSgC8AFPBEAgBSAKQQdxIgY2AuQBIAUgByAKQQN2ayILNgLoASAFIAsoAAA2AuABIAYhCgwBCyAHIAUoAuwBIgtGDQAgBSAKIAcgC2sgCkEDdiIGIAcgBmsgC0kbIgZBA3RrIgo2AuQBIAUgByAGayIGNgLoASAFIAYoAAA2AuABCyAFKQKMAiE6IAUgEDYCjAIgBSA6NwKQAgwBCyACRSELIChFBEAgGiACQQBHQQJ0aigCACEGIAUgGiALQQJ0aigCACIQNgKMAiAFIAY2ApACIAUoAuQBIQoMAQsgBSAFKALkASIGQQFqIgo2AuQBAkACQCAHIAtqIAUoAuABIAZ0QR92aiILQQNGBEAgBSgCjAJBAWsiBkF/IAYbIRAMAQsgGiALQQJ0aigCACIGQX8gBhshECALQQFGDQELIAUgBSgCkAI2ApQCCyAFIAUoAowCNgKQAiAFIBA2AowCCyANIBtqIQsCQCANRQRAIAohBgwBCyAFIAogDWoiBjYC5AEgBSgC4AEgCnRBACANa3YgBGohBAsCQCALQRRJDQAgBkEhTwRAIAVBsBo2AugBDAELIAUoAugBIgcgBSgC8AFPBEAgBSAGQQdxIgs2AuQBIAUgByAGQQN2ayIGNgLoASAFIAYoAAA2AuABIAshBgwBCyAHIAUoAuwBIgtGDQAgBSAGIAcgC2sgBkEDdiIGIAcgBmsgC0kbIgtBA3RrIgY2AuQBIAUgByALayILNgLoASAFIAsoAAA2AuABCwJAIBtFBEAgBiEHDAELIAUgBiAbaiIHNgLkASAFKALgASAGdEEAIBtrdiACaiECCwJAIAdBIU8EQEGwGiEGIAVBsBo2AugBDAELIAUoAugBIgYgBSgC8AFPBEAgBSAHQQdxIgs2AuQBIAUgBiAHQQN2ayIGNgLoASAFIAYoAAA2AuABIAshBwwBCyAGIAUoAuwBIgpGDQAgBSAGIAYgCmsgB0EDdiILIAYgC2sgCkkbIgtrIgY2AugBIAUgByALQQN0ayIHNgLkASAFIAYoAAA2AuABCwJAIA5BAUYNACAFIBJBAnRBsBlqKAIAIAUoAuABIg1BACAHIBJqIgtrdnEgD2o2AvQBIAUgJ0ECdEGwGWooAgAgDUEAIAsgJ2oiB2t2cSARajYChAICQCAHQSFPBEBBsBohBiAFQbAaNgLoAQwBCyAFKALwASAGTQRAIAUgB0EHcSILNgLkASAFIAYgB0EDdmsiBjYC6AEgBSAGKAAAIg02AuABIAshBwwBCyAGIAUoAuwBIgpGDQAgBSAGIAYgCmsgB0EDdiILIAYgC2sgCkkbIgtrIgY2AugBIAUgByALQQN0ayIHNgLkASAFIAYoAAAiDTYC4AELIAUgByAVaiILNgLkASAFIBVBAnRBsBlqKAIAIA1BACALa3ZxIBlqNgL8ASALQSFPBEAgBUGwGjYC6AEMAQsgBSgC8AEgBk0EQCAFIAtBB3E2AuQBIAUgBiALQQN2ayIGNgLoASAFIAYoAAA2AuABDAELIAYgBSgC7AEiB0YNACAFIAsgBiAHayALQQN2IgsgBiALayAHSRsiC0EDdGs2AuQBIAUgBiALayIGNgLoASAFIAYoAAA2AuABCyAFIAI2AqgBIAUgBDYCrAEgBSAQNgKwAQJAAkACQCAFKALMAiIGIAJqIgsgH0sNACAJIAIgBGoiDWogHEsNACANQSBqIBYgCWtNDQELIAUgBSgCsAE2AhAgBSAFKQOoATcDCCAJIBYgBUEIaiAFQcwCaiAfIAwgKyAYECAhDQwBCyACIAlqIQcgBikAACE6IAkgBikACDcACCAJIDo3AAACQCACQRFJDQAgBikAECE6IAkgBikAGDcAGCAJIDo3ABAgAkEQa0ERSA0AIAZBEGohBiAJQSBqIQIDQCAGKQAQITogAiAGKQAYNwAIIAIgOjcAACAGKQAgITogAiAGKQAoNwAYIAIgOjcAECAGQSBqIQYgAkEgaiICIAdJDQALCyAHIBBrIQYgBSALNgLMAiAHIAxrIBBJBEAgECAHICtrSw0JIBggGCAGIAxrIgtqIgYgBGpPBEAgBEUNAiAHIAYgBPwKAAAMAgtBACALayICBEAgByAGIAL8CgAACyAFIAQgC2oiBDYCrAEgByALayEHIAwhBgsgEEEQTwRAIAYpAAAhOiAHIAYpAAg3AAggByA6NwAAIARBEUgNASAEIAdqIQQgB0EQaiECA0AgBikAECE6IAIgBikAGDcACCACIDo3AAAgBikAICE6IAIgBikAKDcAGCACIDo3ABAgBkEgaiEGIAJBIGoiAiAESQ0ACwwBCwJAIBBBB00EQCAHIAYtAAA6AAAgByAGLQABOgABIAcgBi0AAjoAAiAHIAYtAAM6AAMgByAGIBBBAnQiC0HgGmooAgBqIgIoAAA2AAQgAiALQYAbaigCAGshBgwBCyAHIAYpAAA3AAALIARBCUkNACAEIAdqIQsgB0EIaiICIAZBCGoiBmtBD0wEQANAIAIgBikAADcAACAGQQhqIQYgAkEIaiICIAtJDQAMAgsACyAGKQAAITogAiAGKQAINwAIIAIgOjcAACAEQRlIDQAgB0EYaiECA0AgBikAECE6IAIgBikAGDcACCACIDo3AAAgBikAICE6IAIgBikAKDcAGCACIDo3ABAgBkEgaiEGIAJBIGoiAiALSQ0ACwsgDUGIf0sEQCANIQMMCAUgDkEBayEOIAkgDWohCQwCCwALCyAFKALoASAFKALsAUcNBSAFKALkAUEgRw0FQQAhBgNAIAZBA0cEQCAkIAZBAnQiAmogAiAaaigCADYCACAGQQFqIQYMAQsLIAUoAswCIQILQbp/IQMgHyACayIEIBYgCWtLDQQgCQR/IAQEQCAJIAIgBPwKAAALIAQgCWoFQQALIBNrIQMMBAsgAkECRgRAIBwgA2siAiAUIAlrSw0BIAkEfyACBEAgCSADIAL8CgAACyACIAlqBUEACyEJIAhBiOwFaiEcIAhBiOwBaiEDCyAcIANrIgIgFCAJa0sNACAJBH8gAgRAIAkgAyAC/AoAAAsgAiAJagVBAAsgE2shAwwDC0G6fyEDDAILQWwhAwwBC0G4fyEDCyAFQdACaiQAIAMhBAwECyAgIDUgE2tLDQkgE0UEQCAgDQIMBQsgICIERQ0FIBMgHSAE/AoAAAwFCyAxKAIMIgQgAiATa0sNCCATDQEgBEUNAwtBtn8hBAwJCyAERQ0AIBMgHS0AACAE/AsACyAEQYh/Sw0HDAELQQAhBAsCQCAIKAL06gFFIBNFcg0AIAggCCkDkOoBIAStfDcDkOoBIAgoAtjqASIGIARqQR9NBEAgBARAIAYgNGogEyAE/AoAAAsgCCAIKALY6gEgBGo2AtjqAQwBCyATIQMgBgRAQSAgBmsiAgRAIAYgNGogAyAC/AoAAAsgCCgC2OoBIQIgCEEANgLY6gEgCCAIKQOY6gEgCCkAuOoBQs/W077Sx6vZQn58Qh+JQoeVr6+Ytt6bnn9+NwOY6gEgCCAIKQOg6gEgCCkAwOoBQs/W077Sx6vZQn58Qh+JQoeVr6+Ytt6bnn9+NwOg6gEgCCAIKQOo6gEgCCkAyOoBQs/W077Sx6vZQn58Qh+JQoeVr6+Ytt6bnn9+NwOo6gEgCCAIKQOw6gEgCCkA0OoBQs/W077Sx6vZQn58Qh+JQoeVr6+Ytt6bnn9+NwOw6gEgEyACa0EgaiEDCyAEIBNqIgYgA0Egak8EQCAGQSBrIQIgCCkDsOoBITsgCCkDqOoBITwgCCkDoOoBIT0gCCkDmOoBIToDQCAIIAMpAABCz9bTvtLHq9lCfiA6fEIfiUKHla+vmLbem55/fiI6NwOY6gEgCCADKQAIQs/W077Sx6vZQn4gPXxCH4lCh5Wvr5i23puef34iPTcDoOoBIAggAykAEELP1tO+0ser2UJ+IDx8Qh+JQoeVr6+Ytt6bnn9+Ijw3A6jqASAIIAMpABhCz9bTvtLHq9lCfiA7fEIfiUKHla+vmLbem55/fiI7NwOw6gEgA0EgaiIDIAJNDQALCyADIAZPDQAgBiADayICBEAgNCADIAL8CgAACyAIIAI2AtjqAQsgOCAgayEDIB0gIGohAiAEIBNqIRMgMSgCCEUNAAsgNikDACI6Qn9RIDogEyAsa6xRckUEQEFsIQYMBgsgCCgC4OkBBEBBaiEGIANBBEkNBiAIKALw6gFFBEAgAigAAAJ+IDcpAwAiPkIgWgRAIAgpA6DqASI7QgeJIAgpA5jqASI8QgGJfCAIKQOo6gEiPUIMiXwgCCkDsOoBIjpCEol8IDxCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0gO0LP1tO+0ser2UJ+Qh+JQoeVr6+Ytt6bnn9+hUKHla+vmLbem55/fkKdo7Xqg7GNivoAfSA9Qs/W077Sx6vZQn5CH4lCh5Wvr5i23puef36FQoeVr6+Ytt6bnn9+Qp2jteqDsY2K+gB9IDpCz9bTvtLHq9lCfkIfiUKHla+vmLbem55/foVCh5Wvr5i23puef35CnaO16oOxjYr6AH0MAQsgCCkDqOoBQsXP2bLx5brqJ3wLID58IDQgPqcQIqdHDQcLIANBBGshAyACQQRqIQILIBMgLGsiBEGJf08NBCABIARrIQEgBCAsaiEsQQEhOQwBCwsgAwRAQbh/IQYMBAsgLCAAayEGDAMLQbp/IQQMAQtBuH8hBAtBuH8gBCAEQXZGGyAEIDkbIQYLIAgoApDrAQ0AIAgoAoTrASECIAgoAoDrASEDIAgQFiAIKALA6wEgAyACEBUgCEEANgLA6wEgCCgCrOsBIgEEQAJAAkACQAJAIAEoAgAiAARAIANFDQIgAiAAIAMRAgAMAQsgA0UNAgsgAiABIAMRAgAMAgsgABACCyABEAILIAhBADYCrOsBCyADBEAgAiAIIAMRAgAMAQsgCBACCyAxQRBqJAAgBgsKACAABEAQJgALCwMAAAsLzRIKAEGICAsFAQAAAAEAQZgIC9sEAQAAAAEAAACWAAAA2AAAAH0BAAB3AAAAqgAAAM0AAAACAgAAcAAAALEAAADHAAAAGwIAAG4AAADFAAAAwgAAAIQCAABrAAAA3QAAAMAAAADfAgAAawAAAAABAAC9AAAAcQMAAGoAAABnAQAAvAAAAI8EAABtAAAARgIAALsAAAAiBgAAcgAAALACAAC7AAAAsAYAAHoAAAA5AwAAugAAAK0HAACIAAAA0AMAALkAAABTCAAAlgAAAJwEAAC6AAAAFggAAK8AAABhBQAAuQAAAMMGAADKAAAAhAUAALkAAACfBgAAygAAAAAAAAABAAAAAQAAAAUAAAANAAAAHQAAAD0AAAB9AAAA/QAAAP0BAAD9AwAA/QcAAP0PAAD9HwAA/T8AAP1/AAD9/wAA/f8BAP3/AwD9/wcA/f8PAP3/HwD9/z8A/f9/AP3//wD9//8B/f//A/3//wf9//8P/f//H/3//z/9//9/AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8DAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAlAAAAJwAAACkAAAArAAAALwAAADMAAAA7AAAAQwAAAFMAAABjAAAAgwAAAAMBAAADAgAAAwQAAAMIAAADEAAAAyAAAANAAAADgAAAAwABAEGgDQsVAQEBAQICAwMEBAUHCAkKCwwNDg8QAEHEDQuLAQEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAASAAAAFAAAABYAAAAYAAAAHAAAACAAAAAoAAAAMAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEAQeAOC6YEAQEBAQICAwMEBgcICQoLDA0ODxABAAAABAAAAAgAAAABAAEBBgAAAAAAAAQAAAAAEAAABAAAAAAgAAAFAQAAAAAAAAUDAAAAAAAABQQAAAAAAAAFBgAAAAAAAAUHAAAAAAAABQkAAAAAAAAFCgAAAAAAAAUMAAAAAAAABg4AAAAAAAEFEAAAAAAAAQUUAAAAAAABBRYAAAAAAAIFHAAAAAAAAwUgAAAAAAAEBTAAAAAgAAYFQAAAAAAABwWAAAAAAAAIBgABAAAAAAoGAAQAAAAADAYAEAAAIAAABAAAAAAAAAAEAQAAAAAAAAUCAAAAIAAABQQAAAAAAAAFBQAAACAAAAUHAAAAAAAABQgAAAAgAAAFCgAAAAAAAAULAAAAAAAABg0AAAAgAAEFEAAAAAAAAQUSAAAAIAABBRYAAAAAAAIFGAAAACAAAwUgAAAAAAADBSgAAAAAAAYEQAAAABAABgRAAAAAIAAHBYAAAAAAAAkGAAIAAAAACwYACAAAMAAABAAAAAAQAAAEAQAAACAAAAUCAAAAIAAABQMAAAAgAAAFBQAAACAAAAUGAAAAIAAABQgAAAAgAAAFCQAAACAAAAULAAAAIAAABQwAAAAAAAAGDwAAACAAAQUSAAAAIAABBRQAAAAgAAIFGAAAACAAAgUcAAAAIAADBSgAAAAgAAQFMAAAAAAAEAYAAAEAAAAPBgCAAAAAAA4GAEAAAAAADQYAIABBkBMLhwIBAAEBBQAAAAAAAAUAAAAAAAAGBD0AAAAAAAkF/QEAAAAADwX9fwAAAAAVBf3/HwAAAAMFBQAAAAAABwR9AAAAAAAMBf0PAAAAABIF/f8DAAAAFwX9/38AAAAFBR0AAAAAAAgE/QAAAAAADgX9PwAAAAAUBf3/DwAAAAIFAQAAABAABwR9AAAAAAALBf0HAAAAABEF/f8BAAAAFgX9/z8AAAAEBQ0AAAAQAAgE/QAAAAAADQX9HwAAAAATBf3/BwAAAAEFAQAAABAABgQ9AAAAAAAKBf0DAAAAABAF/f8AAAAAHAX9//8PAAAbBf3//wcAABoF/f//AwAAGQX9//8BAAAYBf3//wBBoBULhgQBAAEBBgAAAAAAAAYDAAAAAAAABAQAAAAgAAAFBQAAAAAAAAUGAAAAAAAABQgAAAAAAAAFCQAAAAAAAAULAAAAAAAABg0AAAAAAAAGEAAAAAAAAAYTAAAAAAAABhYAAAAAAAAGGQAAAAAAAAYcAAAAAAAABh8AAAAAAAAGIgAAAAAAAQYlAAAAAAABBikAAAAAAAIGLwAAAAAAAwY7AAAAAAAEBlMAAAAAAAcGgwAAAAAACQYDAgAAEAAABAQAAAAAAAAEBQAAACAAAAUGAAAAAAAABQcAAAAgAAAFCQAAAAAAAAUKAAAAAAAABgwAAAAAAAAGDwAAAAAAAAYSAAAAAAAABhUAAAAAAAAGGAAAAAAAAAYbAAAAAAAABh4AAAAAAAAGIQAAAAAAAQYjAAAAAAABBicAAAAAAAIGKwAAAAAAAwYzAAAAAAAEBkMAAAAAAAUGYwAAAAAACAYDAQAAIAAABAQAAAAwAAAEBAAAABAAAAQFAAAAIAAABQcAAAAgAAAFCAAAACAAAAUKAAAAIAAABQsAAAAAAAAGDgAAAAAAAAYRAAAAAAAABhQAAAAAAAAGFwAAAAAAAAYaAAAAAAAABh0AAAAAAAAGIAAAAAAAEAYDAAEAAAAPBgOAAAAAAA4GA0AAAAAADQYDIAAAAAAMBgMQAAAAAAsGAwgAAAAACgYDBABBtBkLfAEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8D////B////w////8f////P////38AQcQaC1kBAAAAAgAAAAQAAAAAAAAAAgAAAAQAAAAIAAAAAAAAAAEAAAACAAAAAQAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAHAAAACAAAAAkAAAAKAAAACwBBoBsLA6APAQ==",KB=new class{init(){return UB||(UB="undefined"!=typeof fetch?fetch(`data:application/wasm;base64,${MB}`).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,pB)).then(this._init):WebAssembly.instantiate(Buffer.from(MB,"base64"),pB).then(this._init),UB)}_init(A){YB=A.instance,pB.env.emscripten_notify_memory_growth(0)}decode(A,I=0){if(!YB)throw new Error("ZSTDDecoder: Await .init() before decoding.");const g=A.byteLength,B=YB.exports.malloc(g);mB.set(A,B),I=I||Number(YB.exports.ZSTD_findDecompressedSize(B,g));const C=YB.exports.malloc(I),e=YB.exports.ZSTD_decompress(C,I,B,g),i=mB.slice(C,C+e);return YB.exports.free(B),YB.exports.free(C),i}};var JB=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){const I=this.parameters.LercParameters[lA];switch(I){case cA:break;case wA:A=SB(new Uint8Array(A)).buffer;break;case yA:A=KB.decode(new Uint8Array(A)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${I}`)}return LB.decode(A,{returnPixelInterleavedDims:1===this.parameters.planarConfiguration}).pixels[0].buffer}},zstd:KB});let HB,qB,bB,xB;const TB={env:{emscripten_notify_memory_growth:A=>{bB=new Uint8Array(qB.exports.memory.buffer),xB=new DataView(bB.buffer)}}};const OB="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QQhyIQBBACEDA0AgACADTQ0DIANBQGshAwwACwALQWwhCiAOIA5B/ABqIA5B+ABqIAUgBhAGIgJBiH9LDQEgDigCeCIDIARLDQEgACAOIA4oAnwgByAIIAMgDRAlIAEgADYCACACIQoMAQtBbCEKCyAOQYABaiQAIAoLcAEEfyAAQgA3AgAgAgRAIAFBCmohBiABKAIEIQRBACECQQAhAQNAIAEgBHZFBEAgAiAGIAFBA3RqLQAAIgUgAiAFSxshAiABQQFqIQEgAyAFQRZLaiEDDAELCyAAIAI2AgQgACADQQggBGt0NgIACwuuAQEEfyABIAIoAgQiAyABKAIEaiIENgIEIAAgA0ECdEGwGWooAgAgASgCAEEAIARrdnE2AgACQCAEQSFPBEAgAUGwGjYCCAwBCyABKAIIIgMgASgCEE8EQCABEAwMAQsgAyABKAIMIgVGDQAgASADIAMgBWsgBEEDdiIGIAMgBmsgBUkbIgNrIgU2AgggASAEIANBA3RrNgIEIAEgBSgAADYCAAsgACACQQhqNgIEC40CAgN/AX4gACACaiEEAkACQCACQQhOBEAgACABayICQXlIDQELA0AgACAETw0CIAAgAS0AADoAACAAQQFqIQAgAUEBaiEBDAALAAsCQAJAIAJBb0sNACAAIARBIGsiAksNACABKQAAIQYgACABKQAINwAIIAAgBjcAACACIABrIgVBEU4EQCAAQRBqIQAgASEDA0AgAykAECEGIAAgAykAGDcACCAAIAY3AAAgAykAICEGIAAgAykAKDcAGCAAIAY3ABAgA0EgaiEDIABBIGoiACACSQ0ACwsgASAFaiEBDAELIAAhAgsDQCACIARPDQEgAiABLQAAOgAAIAJBAWohAiABQQFqIQEMAAsACwvfAQEGf0G6fyEKAkAgAigCBCIIIAIoAgAiCWoiDSABIABrSw0AQWwhCiAJIAQgAygCACILa0sNACAAIAlqIgQgAigCCCIMayECIAAgAUEgayIBIAsgCUEAEDMgAyAJIAtqNgIAAkACQCAEIAVrIAxPBEAgAiEFDAELIAwgBCAGa0sNAiAHIAcgAiAFayIDaiICIAhqTwRAIAhFDQIgBCACIAj8CgAADAILQQAgA2siAARAIAQgAiAA/AoAAAsgAyAIaiEIIAQgA2shBAsgBCABIAUgCEEBEDML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",PB=new class{init(){return HB||(HB="undefined"!=typeof fetch?fetch(`data:application/wasm;base64,${OB}`).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,TB)).then(this._init):WebAssembly.instantiate(Buffer.from(OB,"base64"),TB).then(this._init),HB)}_init(A){qB=A.instance,TB.env.emscripten_notify_memory_growth(0)}decode(A,I=0){if(!qB)throw new Error("ZSTDDecoder: Await .init() before decoding.");const g=A.byteLength,B=qB.exports.malloc(g);if(bB.set(A,B),0===I&&(I=Number(qB.exports.ZSTD_findDecompressedSize(B,g))),-1===I){qB.exports.free(B);const I=[];for(const g of this.decodeStreaming([A]))I.push(g);if(1===I.length)return I[0];const g=I.reduce((A,I)=>A+I.byteLength,0),C=new Uint8Array(g);let e=0;for(const A of I)C.set(A,e),e+=A.byteLength;return C}const C=qB.exports.malloc(I),e=qB.exports.ZSTD_decompress(C,I,B,g),i=bB.slice(C,C+e);return qB.exports.free(B),qB.exports.free(C),i}*decodeStreaming(A){if(!qB)throw new Error("ZSTDDecoder: Await .init() before decoding.");const I=qB.exports.ZSTD_DStreamInSize(),g=qB.exports.malloc(I),B=qB.exports.ZSTD_DStreamOutSize(),C=qB.exports.malloc(B),e=qB.exports.ZSTD_createDCtx(),i=qB.exports.malloc(12),Q=qB.exports.malloc(12);let t=0;for(const I of A){const A=qB.exports.malloc(I.byteLength);for(bB.set(I,A),xB.setInt32(i,A,!0),xB.setInt32(i+4,I.byteLength,!0),xB.setInt32(i+4+4,0,!0);xB.getUint32(i+4+4,!0)<xB.getUint32(i+4,!0);){xB.setInt32(Q,C,!0),xB.setInt32(Q+4,B,!0),xB.setInt32(Q+4+4,0,!0),t=qB.exports.ZSTD_decompressStream(e,Q,i);const A=xB.getUint32(Q+4+4,!0);yield bB.slice(C,C+A)}qB.exports.free(A)}if(qB.exports.ZSTD_freeDCtx(e),qB.exports.free(g),qB.exports.free(C),qB.exports.free(i),qB.exports.free(Q),0!==t)throw new Error("Incomplete stream, more data expected.")}};var vB=Object.freeze({__proto__:null,default:class extends hI{decodeBlock(A){return PB.decode(new Uint8Array(A)).buffer}},zstd:PB});var VB=Object.freeze({__proto__:null,default:class extends hI{constructor(A){if(super(A),"undefined"==typeof createImageBitmap)throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if("undefined"==typeof document&&"undefined"==typeof OffscreenCanvas)throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decodeBlock(A){const I=new Blob([A]),g=await createImageBitmap(I);let B;"undefined"!=typeof document?(B=document.createElement("canvas"),B.width=g.width,B.height=g.height):B=new OffscreenCanvas(g.width,g.height);const C=B.getContext("2d");C.drawImage(g,0,0);const e=C.getImageData(0,0,g.width,g.height).data,i=this.parameters.samplesPerPixel||4;if(4===i)return e.buffer;if(3===i){const A=new Uint8ClampedArray(g.width*g.height*3);for(let I=0,g=0;I<A.length;I+=3,g+=4)A[I]=e[g],A[I+1]=e[g+1],A[I+2]=e[g+2];return A.buffer}throw new Error(`Unsupported SamplesPerPixel value: ${i}`)}}});exports.CogBitmapLayer=HI,exports.CogTerrainLayer=TI,exports.CogTiles=MI,exports.GeoImage=kI;
5
4
  //# sourceMappingURL=index.min.js.map