(function webpackUniversalModuleDefinition(root, factory) { if (typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if (typeof define === 'function' && define.amd) define([], factory); else if (typeof exports === 'object') exports['loaders'] = factory(); else root['loaders'] = factory();})(globalThis, function () { "use strict";var __exports__=(()=>{var ge=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Dt=Object.getOwnPropertyNames;var jt=Object.prototype.hasOwnProperty;var zt=(e,r,t)=>r in e?ge(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Sr=(e,r)=>{for(var t in r)ge(e,t,{get:r[t],enumerable:!0})},Vt=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Dt(r))!jt.call(e,n)&&n!==t&&ge(e,n,{get:()=>r[n],enumerable:!(o=$t(r,n))||o.enumerable});return e};var Ht=e=>Vt(ge({},"__esModule",{value:!0}),e);var kr=(e,r,t)=>(zt(e,typeof r!="symbol"?r+"":r,t),t);var fn={};Sr(fn,{FetchError:()=>V,JSONLoader:()=>rr,NullLoader:()=>Pt,NullWorkerLoader:()=>Ot,RequestScheduler:()=>z,_BrowserFileSystem:()=>Ee,_fetchProgress:()=>vt,_selectSource:()=>Mt,_unregisterLoaders:()=>mt,assert:()=>v,concatenateArrayBuffersAsync:()=>M,createDataSource:()=>Nt,document:()=>Ie,encode:()=>Lt,encodeInBatches:()=>Ft,encodeSync:()=>br,encodeTable:()=>yr,encodeTableAsText:()=>Et,encodeTableInBatches:()=>wr,encodeText:()=>Rt,encodeTextSync:()=>It,encodeURLtoURL:()=>xr,fetchFile:()=>P,forEach:()=>Ye,getLoaderOptions:()=>_,getPathPrefix:()=>er,global:()=>Re,isAsyncIterable:()=>le,isBrowser:()=>m,isIterable:()=>ue,isIterator:()=>me,isPromise:()=>Kr,isPureObject:()=>fe,isReadableStream:()=>O,isResponse:()=>l,isWorker:()=>Fe,isWritableStream:()=>Zr,load:()=>St,loadInBatches:()=>_t,makeIterator:()=>J,makeLineIterator:()=>Je,makeNumberedLineIterator:()=>Ke,makeStream:()=>Wt,makeTextDecoderIterator:()=>qe,makeTextEncoderIterator:()=>Qe,parse:()=>S,parseInBatches:()=>R,parseSync:()=>At,readArrayBuffer:()=>nt,registerLoaders:()=>ut,resolvePath:()=>L,selectLoader:()=>Q,selectLoaderSync:()=>q,self:()=>Be,setLoaderOptions:()=>cr,setPathPrefix:()=>Xe,window:()=>Le});function v(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var b={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Be=b.self||b.window||b.global||{},Le=b.window||b.self||b.global||{},Re=b.global||b.self||b.window||{},Ie=b.document||{};var m=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),Fe=typeof importScripts=="function",_r=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Gt=_r&&parseFloat(_r[1])||0;var ye=globalThis,qt=globalThis.document||{},we=globalThis.process||{},Qt=globalThis.console,pn=globalThis.navigator||{};function Er(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function I(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Er()}var Ne="4.0.7";function Kt(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var be=class{constructor(r,t,o="sessionStorage"){this.storage=Kt(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Br(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Lr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var xe;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(xe||(xe={}));var Yt=10;function Rr(e){return typeof e!="string"?e:(e=e.toUpperCase(),xe[e]||xe.WHITE)}function Ir(e,r,t){return!I&&typeof e=="string"&&(r&&(e=`\x1B[${Rr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Rr(t)+Yt}m${e}\x1B[49m`)),e}function Fr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function Z(e,r){if(!e)throw new Error(r||"Assertion failed")}function F(){let e;if(I()&&ye.performance)e=ye?.performance?.now?.();else if("hrtime"in we){let r=we?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var U={debug:I()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Zt={enabled:!0,level:0};function $(){}var Nr={},Mr={once:!0},x=class{constructor({id:r}={id:""}){this.VERSION=Ne,this._startTs=F(),this._deltaTs=F(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new be(`__probe-${this.id}__`,Zt),this.timeStamp(`${this.id} started`),Fr(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((F()-this._startTs).toPrecision(10))}getDelta(){return Number((F()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){if(!r)throw new Error(t||"Assertion failed")}warn(r){return this._getLogFunction(0,r,U.warn,arguments,Mr)}error(r){return this._getLogFunction(0,r,U.error,arguments)}deprecated(r,t){return this.warn(`\`${r}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(r,t){return this.error(`\`${r}\` has been removed. Use \`${t}\` instead`)}probe(r,t){return this._getLogFunction(r,t,U.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,U.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,U.debug||U.info,arguments,Mr)}table(r,t,o){return t?this._getLogFunction(r,t,console.table||$,o&&[o],{tag:eo(t)}):$}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||$)}group(r,t,o={collapsed:!1}){let n=Wr({logLevel:r,message:t,opts:o}),{collapsed:s}=o;return n.method=(s?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||$)}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=Cr(r)}_getLogFunction(r,t,o,n,s){if(this._shouldLog(r)){s=Wr({logLevel:r,message:t,args:n,opts:s}),o=o||s.method,Z(o),s.total=this.getTotal(),s.delta=this.getDelta(),this._deltaTs=F();let i=s.tag||s.message;if(s.once&&i)if(!Nr[i])Nr[i]=F();else return $;return t=Xt(this.id,s.message,s),o.bind(console,t,...s.args)}return $}};x.VERSION=Ne;function Cr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return Z(Number.isFinite(r)&&r>=0),r}function Wr(e){let{logLevel:r,message:t}=e;e.logLevel=Cr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return Z(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}function Xt(e,r,t){if(typeof r=="string"){let o=t.time?Lr(Br(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=Ir(r,t.color,t.background)}return r}function eo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var vn=new x({id:"@probe.gl/log"});var Me="4.3.1",ro=Me[0]>="0"&&Me[0]<="9"?`v${Me}`:"";function to(){let e=new x({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=e,globalThis.loaders.version=ro,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=e,e}var We=to();function Ce(e,r){return Or(e||{},r)}function Or(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Or(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Oe(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Pr="latest";function oo(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.1"),globalThis._loadersgl_.version}var X=oo();function u(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Qn=T.self||T.window||T.global||{},Jn=T.window||T.self||T.global||{},Kn=T.global||T.self||T.window||{},Yn=T.document||{};var h=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Ur=typeof window<"u"&&typeof window.orientation<"u",vr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Zn=vr&&parseFloat(vr[1])||0;var ee=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(r,t){this.name=r,this.workerThread=t,this.result=new Promise((o,n)=>{this._resolve=o,this._reject=n})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){u(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){u(this.isRunning),this.isRunning=!1,this._reject(r)}};var D=class{terminate(){}};var Pe=new Map;function $r(e){u(e.source&&!e.url||!e.source&&e.url);let r=Pe.get(e.source||e.url);return r||(e.url&&(r=no(e.url),Pe.set(e.url,r)),e.source&&(r=Dr(e.source),Pe.set(e.source,r))),u(r),r}function no(e){if(!e.startsWith("http"))return e;let r=so(e);return Dr(r)}function Dr(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function so(e){return`try { importScripts('${e}'); } catch (error) { console.error(error); throw error; }`}function ve(e,r=!0,t){let o=t||new Set;if(e){if(jr(e))o.add(e);else if(jr(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)ve(e[n],r,o)}}return t===void 0?Array.from(o):[]}function jr(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function Ue(e){if(e===null)return{};let r=Object.assign({},e);return Object.keys(r).forEach(t=>{typeof e[t]=="object"&&!ArrayBuffer.isView(e[t])&&!(e[t]instanceof Array)?r[t]=Ue(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var $e=()=>{},B=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&h||typeof D<"u"&&!h}constructor(r){let{name:t,source:o,url:n}=r;u(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=$e,this.onError=s=>console.log(s),this.worker=h?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=$e,this.onError=$e,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||ve(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=$r({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;r=new D(o,{eval:!1})}else if(this.source)r=new D(this.source,{eval:!0});else throw new Error("no worker");return r.on("message",t=>{this.onMessage(t)}),r.on("error",t=>{this.onError(t)}),r.on("exit",t=>{}),r}};var re=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return B.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new ee(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!h||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},N=class{props;workerPools=new Map;static isSupported(){return B.isSupported()}static getWorkerFarm(r={}){return N._workerFarm=N._workerFarm||new N({}),N._workerFarm.setProps(r),N._workerFarm}constructor(r){this.props={...io},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new re({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},d=N;kr(d,"_workerFarm");function zr(e){let r=e.version!==X?` (worker-utils@${X})`:"";return`${e.name}@${e.version}${r}`}function te(e,r={}){let t=r[e.id]||{},o=h?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),r._workerType==="test"&&(h?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let s=e.version;s==="latest"&&(s=Pr);let i=s?`@${s}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`}return u(n),n}async function De(e,r,t={},o={}){let n=zr(e),s=d.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=te(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,k=await c.startJob(f,ao.bind(null,o)),E=Ue(t);return k.postMessage("process",{input:r,options:E}),(await k.result).result}async function ao(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function je(e,r=X){u(e,"no worker provided");let t=e.version;return!(!r||!t)}function ze(e,r){return!d.isSupported()||!h&&!r?._nodeWorkers?!1:e.worker&&r?.worker}async function Ve(e,r,t,o,n){let s=e.id,i=te(e,t),c=d.getWorkerFarm(t).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",co.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function co(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function He(e,r){return!d.isSupported()||!m&&!r?._nodeWorkers?!1:e.worker&&r?.worker}function Ge(e,r,t){if(t=t||e.byteLength,e.byteLengths instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*qe(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*Qe(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t):t}async function*Je(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(` `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*Ke(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Ye(e,r){for(;;){let{done:t,value:o}=await e.next();if(t){e.return();return}if(r(o))return}}async function M(e){let r=[];for await(let t of e)r.push(t);return oe(...r)}function ne(){let e;if(typeof window<"u"&&window.performance)e=window.performance.now();else if(typeof process<"u"&&process.hrtime){let r=process.hrtime();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var W=class{constructor(r,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=r,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(r){return this.sampleSize=r,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(r){return this._count+=r,this._samples++,this._checkSampling(),this}subtractCount(r){return this._count-=r,this._samples++,this._checkSampling(),this}addTime(r){return this._time+=r,this.lastTiming=r,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=ne(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ne()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var j=class{constructor(r){this.stats={},this.id=r.id,this.stats={},this._initializeStats(r.stats),Object.seal(this)}get(r,t="count"){return this._getOrCreate({name:r,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(let r of Object.values(this.stats))r.reset();return this}forEach(r){for(let t of Object.values(this.stats))r(t)}getTable(){let r={};return this.forEach(t=>{r[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),r}_initializeStats(r=[]){r.forEach(t=>this._getOrCreate(t))}_getOrCreate(r){let{name:t,type:o}=r,n=this.stats[t];return n||(r instanceof W?n=r:n=new W(t,o),this.stats[t]=n),n}};var fo="Queued Requests",uo="Active Requests",lo="Cancelled Requests",mo="Queued Requests Ever",po="Active Requests Ever",ho={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},z=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...ho,...r},this.stats=new j({id:this.props.id}),this.stats.get(fo),this.stats.get(uo),this.stats.get(lo),this.stats.get(mo),this.stats.get(po)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;tt.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var Ze="",Hr={};function Xe(e){Ze=e}function er(){return Ze}function L(e){for(let r in Hr)if(e.startsWith(r)){let t=Hr[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Ze}${e}`),e}var go="4.3.1",rr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:go,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Gr,parse:async e=>Gr(new TextDecoder().decode(e)),options:{}};function Gr(e){return JSON.parse(e)}function qr(e){return e&&typeof e=="object"&&e.isBuffer}function Te(e){if(qr(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}var C={};Sr(C,{dirname:()=>wo,filename:()=>yo,join:()=>bo,resolve:()=>xo});function Qr(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function yo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):""}function wo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function bo(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function xo(...e){let r=[];for(let s=0;s=-1&&!o;s--){let i;s>=0?i=r[s]:(n===void 0&&(n=Qr()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===se)}return t=To(t,!o),o?`/${t}`:t.length>0?t:"."}var se=47,tr=46;function To(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==se;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===tr&&n!==-1?++n:n=-1}return t}var ie=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(r,r+t).arrayBuffer()}};var ae=new Error("Not implemented"),ce=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw m?new Error("Can't instantiate NodeFile in browser."):new Error("Can't instantiate NodeFile. Make sure to import @loaders.gl/polyfills first.")}async read(r,t){throw ae}async write(r,t,o){throw ae}async stat(){throw ae}async truncate(r){throw ae}async append(r){throw ae}async close(){}};var Jr=e=>typeof e=="boolean",g=e=>typeof e=="function",A=e=>e!==null&&typeof e=="object",fe=e=>A(e)&&e.constructor==={}.constructor,Kr=e=>A(e)&&g(e.then),ue=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",le=e=>e&&typeof e[Symbol.asyncIterator]=="function",me=e=>e&&g(e.next),l=e=>typeof Response<"u"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var p=e=>typeof Blob<"u"&&e instanceof Blob,Yr=e=>e&&typeof e=="object"&&e.isBuffer,Ao=e=>A(e)&&g(e.abort)&&g(e.getWriter),So=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||A(e)&&g(e.tee)&&g(e.cancel)&&g(e.getReader),ko=e=>A(e)&&g(e.end)&&g(e.write)&&Jr(e.writable),_o=e=>A(e)&&g(e.read)&&g(e.pipe)&&Jr(e.readable),O=e=>So(e)||_o(e),Zr=e=>Ao(e)||ko(e);var V=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var Eo=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Bo=/^([-\w.]+\/[-\w.+]+)/;function or(e,r){return e.toLowerCase()===r.toLowerCase()}function Xr(e){let r=Bo.exec(e);return r?r[1]:e}function nr(e){let r=Eo.exec(e);return r?r[1]:""}var et=/\?.*/;function rt(e){let r=e.match(et);return r&&r[0]}function H(e){return e.replace(et,"")}function tt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function y(e){return l(e)?e.url:p(e)?e.name||"":typeof e=="string"?e:""}function pe(e){if(l(e)){let r=e,t=r.headers.get("content-type")||"",o=H(r.url);return Xr(t)||nr(o)}return p(e)?e.type||"":typeof e=="string"?nr(e):""}function ot(e){return l(e)?e.headers["content-length"]||-1:p(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ae(e){if(l(e))return e;let r={},t=ot(e);t>=0&&(r["content-length"]=String(t));let o=y(e),n=pe(e);n&&(r["content-type"]=n);let s=await Ro(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function sr(e){if(!e.ok)throw await Lo(e)}async function Lo(e){let r=tt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new V(t,o)}async function Ro(e){if(typeof e=="string")return`data:,${e.slice(0,5)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(o=>{let n=new FileReader;n.onload=s=>o(s?.target?.result),n.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,5);return`data:base64,${Io(t)}`}return null}function Io(e){let r="",t=new Uint8Array(e);for(let o=0;o{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var ir=new x({id:"loaders.gl"}),Se=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},ke=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var ar={fetch:null,mimeType:void 0,nothrow:!1,log:new ke,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:m,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},st={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function he(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function _(){let e=he();return e.globalOptions=e.globalOptions||{...ar},e.globalOptions}function cr(e){let r=he(),t=_();r.globalOptions=ct(t,e),Oe(e.modules)}function G(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],Co(e,t),ct(r,e,o)}function Co(e,r){it(e,null,ar,st,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};it(o,t.id,n,s,r)}}function it(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&A(e[a]),f=a==="baseUri"&&!r,k=a==="workerUrl"&&r;if(!(a in t)&&!f&&!k){if(a in o)ir.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c){let E=Oo(a,n);ir.warn(`${s} loader option '${i}${a}' not recognized. ${E}`)()}}}}function Oo(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function ct(e,r,t){let n={...e.options||{}};return Po(n,t),n.log===null&&(n.log=new Se),at(n,_()),at(n,r),n}function at(e,r){for(let t in r)if(t in r){let o=r[t];fe(o)&&fe(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Po(e,r){r&&!("baseUri"in e)&&(e.baseUri=r)}function w(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function de(e){v(e,"null loader"),v(w(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e={...e,options:{...e.options,...r}}),(e?.parseTextSync||e?.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var ft=()=>{let e=he();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function ut(e){let r=ft();e=Array.isArray(e)?e:[e];for(let t of e){let o=de(t);r.find(n=>o===n)||r.unshift(o)}}function lt(){return ft()}function mt(){let e=he();e.loaderRegistry=[]}var vo=/\.([^.]+)$/;async function Q(e,r=[],t,o){if(!ht(e))return null;let n=q(e,r,{...t,nothrow:!0},o);if(n)return n;if(p(e)&&(e=await e.slice(0,10).arrayBuffer(),n=q(e,r,t,o)),!n&&!t?.nothrow)throw new Error(dt(e));return n}function q(e,r=[],t,o){if(!ht(e))return null;if(r&&!Array.isArray(r))return de(r);let n=[];r&&(n=n.concat(r)),t?.ignoreRegisteredLoaders||n.push(...lt()),$o(n);let s=Uo(e,n,t,o);if(!s&&!t?.nothrow)throw new Error(dt(e));return s}function Uo(e,r,t,o){let n=y(e),s=pe(e),i=H(n)||o?.url,a=null,c="";return t?.mimeType&&(a=fr(r,t?.mimeType),c=`match forced by supplied MIME type ${t?.mimeType}`),a=a||Do(r,i),c=c||(a?`matched url ${i}`:""),a=a||fr(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||zo(r,e),c=c||(a?`matched initial data ${gt(e)}`:""),t?.fallbackMimeType&&(a=a||fr(r,t?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&We.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function ht(e){return!(e instanceof Response&&e.status===204)}function dt(e){let r=y(e),t=pe(e),o="No valid loader found (";o+=r?`${C.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?gt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function $o(e){for(let r of e)de(r)}function Do(e,r){let t=r&&vo.exec(r),o=t&&t[1];return o?jo(e,o):null}function jo(e,r){r=r.toLowerCase();for(let t of e)for(let o of t.extensions)if(o.toLowerCase()===r)return t;return null}function fr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>or(r,o))||or(r,`application/x.${t.id}`))return t;return null}function zo(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(Vo(r,t))return t}else if(ArrayBuffer.isView(r)){if(pt(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&pt(r,0,t))return t;return null}function Vo(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function pt(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Ho(e,r,t,n))}function Ho(e,r,t,o){if(o instanceof ArrayBuffer)return Ge(o,e,o.byteLength);switch(typeof o){case"function":return o(e);case"string":let n=ur(e,r,o.length);return o===n;default:return!1}}function gt(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?ur(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?ur(e,0,r):""}function ur(e,r,t){if(e.byteLengthP(n,o.fetch):r?.fetch?r?.fetch:P}function Y(e,r,t){if(t)return t;let o={fetch:K(r,e),...e};if(o.url){let n=H(o.url);o.baseUrl=n,o.queryString=rt(o.url),o.filename=C.filename(n),o.baseUrl=C.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function _e(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let o=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...o]:o}return t&&t.length?t:void 0}async function S(e,r,t,o){r&&!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=y(e),i=_e(r,o),a=await Q(e,i,t);return a?(t=G(t,a,i,n),o=Y({url:n,_parse:S,loaders:i},t,o||null),await Jo(a,e,t,o)):null}async function Jo(e,r,t,o){if(je(e),t=Ce(e.options,t),l(r)){let s=r,{ok:i,redirected:a,status:c,statusText:f,type:k,url:E}=s,Ar=Object.fromEntries(s.headers.entries());o.response={headers:Ar,ok:i,redirected:a,status:c,statusText:f,type:k,url:E}}r=await xt(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(ze(e,t))return await Ve(e,r,t,o,S);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw u(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function At(e,r,t,o){!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=_e(r,o),i=q(e,s,t);if(!i)return null;t=G(t,i,s);let a=y(e),c=()=>{throw new Error("parseSync called parse (which is async")};return o=Y({url:a,_parseSync:c,_parse:c,loaders:r},t,o||null),Ko(i,e,t,o)}function Ko(e,r,t,o){if(r=pr(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function hr(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function dr(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function gr(e){return{...e,length:dr(e),batchType:"data"}}async function R(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!w(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=y(e),i=await Q(e,r,t);return i?(t=G(t,i,n,s),o=Y({url:s,_parseInBatches:R,_parse:S,loaders:n},t,o||null),await Yo(i,e,t,o)):[]}async function Yo(e,r,t,o){let n=await Zo(e,r,t,o);if(!t.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function Zo(e,r,t,o){let n=await Tt(r,t),s=await rn(n,t?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):Xo(s,e,t,o)}async function*Xo(e,r,t,o){let n=await M(e),s=await S(n,r,{...t,mimeType:r.mimeTypes[0]},o);yield en(s,r)}function en(e,r){let t=hr(e)?gr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function rn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function St(e,r,t,o){let n,s;!Array.isArray(r)&&!w(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=K(s),a=e;return typeof e=="string"&&(a=await i(e)),p(e)&&(a=await i(e)),Array.isArray(n)?await S(a,n,s):await S(a,n,s)}function _t(e,r,t,o){let n;!Array.isArray(r)&&!w(r)?(o=void 0,t=r,n=void 0):n=r;let s=K(t||{});return Array.isArray(e)?e.map(a=>kt(a,n,t||{},s)):kt(e,n,t||{},s)}async function kt(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await R(s,r,t):await R(s,r,t)}return Array.isArray(r)?await R(e,r,t):await R(e,r,t)}async function yr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return new TextEncoder().encode(o)}if(r.encodeInBatches){let o=wr(e,r,t),n=[];for await(let s of o)n.push(s);return oe(...n)}throw new Error("Writer could not encode data")}async function Et(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await yr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function wr(e,r,t){if(r.encodeInBatches){let o=tn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function tn(e){return[{...e,start:0,end:e.length}]}async function Lt(e,r,t){let n={..._(),...t};return r.encodeURLtoURL?on(r,e,n):He(r,n)?await De(r,e,n):await r.encode(e,n)}function br(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return new TextEncoder().encode(r.encodeTextSync(e,t));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Rt(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function It(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=br(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Ft(e,r,t){if(r.encodeInBatches){let o=nn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function xr(e,r,t,o){if(e=L(e),r=L(r),m||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function on(e,r,t){if(m)throw new Error(`Writer ${e.name} not supported in browser`);let o=Bt("input");await new ce(o,"w").write(r);let s=Bt("output"),i=await xr(o,s,e,t);return(await P(i)).arrayBuffer()}function nn(e){return[{...e,start:0,end:e.length}]}function Bt(e){return`/tmp/${e}`}function Nt(e,r,t){let{type:o="auto"}=t,n=o==="auto"?sn(e,r):an(o,r);if(!n)throw new Error("Not a valid image source type");return n.createDataSource(e,t)}function sn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function an(e,r){for(let t of r)if(t.type===e)return t;return null}function Mt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=cn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function cn(e,r){for(let t of r)if(t.type===e)return t;return null}function Wt(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var Ct="4.3.1",Ot={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Ct,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Pt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Ct,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Tr(e,r||{},t),parseSync:Tr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Tr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Tr(e,r,t){return null}async function vt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await Ut(c,f,0,i,r,t,o)}});return new Response(a)}async function Ut(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await Ut(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Ee=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o