@loaders.gl/core 5.0.0-alpha.1 → 5.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.min.js CHANGED
@@ -4,13 +4,13 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
6
  else root['loaders'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Me=Object.defineProperty;var yo=Object.getOwnPropertyDescriptor;var go=Object.getOwnPropertyNames;var wo=Object.prototype.hasOwnProperty;var bo=(e,r,t)=>r in e?Me(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Gr=(e,r)=>{for(var t in r)Me(e,t,{get:r[t],enumerable:!0})},xo=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of go(r))!wo.call(e,n)&&n!==t&&Me(e,n,{get:()=>r[n],enumerable:!(o=yo(r,n))||o.enumerable});return e};var To=e=>xo(Me({},"__esModule",{value:!0}),e);var Hr=(e,r,t)=>(bo(e,typeof r!="symbol"?r+"":r,t),t);var Yn={};Gr(Yn,{FetchError:()=>le,JSONLoader:()=>Br,NullLoader:()=>uo,NullWorkerLoader:()=>fo,RequestScheduler:()=>ue,_BrowserFileSystem:()=>Ze,_fetchProgress:()=>lo,_selectSource:()=>io,_unregisterLoaders:()=>Nt,assert:()=>oe,concatenateArrayBuffersAsync:()=>v,coreApi:()=>de,createDataSource:()=>so,document:()=>rr,encode:()=>ro,encodeInBatches:()=>no,encodeSync:()=>zr,encodeTable:()=>vr,encodeTableAsText:()=>Xt,encodeTableInBatches:()=>jr,encodeText:()=>to,encodeTextSync:()=>oo,encodeURLtoURL:()=>Vr,fetchFile:()=>w,forEach:()=>Sr,getLoaderOptions:()=>I,getPathPrefix:()=>Lr,global:()=>er,isAsyncIterable:()=>Y,isBrowser:()=>d,isIterable:()=>U,isIterator:()=>ae,isPromise:()=>ye,isPureObject:()=>B,isReadableStream:()=>W,isResponse:()=>l,isWorker:()=>tr,isWritableStream:()=>fr,load:()=>te,loadInBatches:()=>J,makeIterator:()=>re,makeLineIterator:()=>Tr,makeNumberedLineIterator:()=>Ar,makeStream:()=>ao,makeTextDecoderIterator:()=>br,makeTextEncoderIterator:()=>xr,parse:()=>u,parseFile:()=>G,parseInBatches:()=>y,parseSync:()=>Q,preload:()=>Zt,preloadSync:()=>Yt,readArrayBuffer:()=>Et,registerLoaders:()=>Pt,resolvePath:()=>j,selectLoader:()=>C,selectLoaderSync:()=>A,self:()=>Ye,setLoaderOptions:()=>Or,setPathPrefix:()=>_r,window:()=>Xe});function oe(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var L={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ye=L.self||L.window||L.global||{},Xe=L.window||L.self||L.global||{},er=L.global||L.self||L.window||{},rr=L.document||{};var d=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),tr=typeof importScripts=="function",Qr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ao=Qr&&parseFloat(Qr[1])||0;var Pe=globalThis,So=globalThis.document||{},Fe=globalThis.process||{},ko=globalThis.console,os=globalThis.navigator||{};function Jr(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 K(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Jr()}var or="4.1.1";function ne(e,r){if(!e)throw new Error(r||"Assertion failed")}function nr(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 ne(Number.isFinite(r)&&r>=0),r}function Kr(e){let{logLevel:r,message:t}=e;e.logLevel=nr(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 ne(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var Z=()=>{},Ne=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let a=Kr({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,a,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return Z;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return Z;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=nr(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function Lo(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var $e=class{constructor(r,t,o="sessionStorage"){this.storage=Lo(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 Zr(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 Yr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Ue;(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"})(Ue||(Ue={}));var Bo=10;function Xr(e){return typeof e!="string"?e:(e=e.toUpperCase(),Ue[e]||Ue.WHITE)}function et(e,r,t){return!K&&typeof e=="string"&&(r&&(e=`\x1B[${Xr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Xr(t)+Bo}m${e}\x1B[49m`)),e}function rt(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let a=n[s];typeof a=="function"&&(r.find(i=>s===i)||(n[s]=a.bind(e)))}}function se(){let e;if(K()&&Pe.performance)e=Pe?.performance?.now?.();else if("hrtime"in Fe){let r=Fe?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var ie={debug:K()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},sr={enabled:!0,level:0},k=class extends Ne{constructor({id:r}={id:""}){super({level:0}),this.VERSION=or,this._startTs=se(),this._deltaTs=se(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new $e(`__probe-${this.id}__`,{[this.id]:sr}),this.timeStamp(`${this.id} started`),rt(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((se()-this._startTs).toPrecision(10))}getDelta(){return Number((se()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._updateConfiguration({enabled:r}),this}setLevel(r){return this._updateConfiguration({level:r}),this}get(r){return this._getConfiguration()[r]}set(r,t){this._updateConfiguration({[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,...t){return this._log("warn",0,r,t,{method:ie.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:ie.error})}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,...o){return this._log("log",r,t,o,{method:ie.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:ie.debug})}info(r,t,...o){return this._log("info",r,t,o,{method:console.info})}once(r,t,...o){return this._log("once",r,t,o,{method:ie.debug||ie.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||Z,tag:Ro(t)}):Z}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||Z})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||Z})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;ne(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=se();let n=Eo(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(sr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...sr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};k.VERSION=or;function Eo(e,r,t){if(typeof r=="string"){let o=t.time?Yr(Zr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=et(r,t.color,t.background)}return r}function Ro(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var Ws=new k({id:"@probe.gl/log"});var ir="5.0.0-alpha.1",Io=ir[0]>="0"&&ir[0]<="9"?`v${ir}`:"";function Co(){let e=new k({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=Io,globalThis.probe||={},globalThis.probe.loaders=e,e}var ar=Co();var tt=e=>typeof e=="boolean",p=e=>typeof e=="function",g=e=>e!==null&&typeof e=="object",B=e=>g(e)&&e.constructor==={}.constructor;var cr=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,$=e=>g(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",ye=e=>g(e)&&"then"in e&&p(e.then),U=e=>Boolean(e)&&p(e[Symbol.iterator]),Y=e=>Boolean(e)&&p(e[Symbol.asyncIterator]),ae=e=>Boolean(e)&&p(e.next),l=e=>typeof Response<"u"&&e instanceof Response||g(e)&&p(e.arrayBuffer)&&p(e.text)&&p(e.json);var m=e=>typeof Blob<"u"&&e instanceof Blob;var ot=e=>g(e)&&p(e.abort)&&p(e.getWriter),nt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||g(e)&&p(e.tee)&&p(e.cancel)&&p(e.getReader),st=e=>g(e)&&p(e.end)&&p(e.write)&&tt(e.writable),it=e=>g(e)&&p(e.read)&&p(e.pipe)&&tt(e.readable),W=e=>nt(e)||it(e),fr=e=>ot(e)||st(e);function ge(e,r){return at(e||{},r)}function at(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]=at(o[n]||{},r[n],t+1):o[n]=r[n];return o}function ur(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var ct="latest";function Oo(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.1"),globalThis._loadersgl_.version}var we=Oo();function x(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var E={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},qs=E.self||E.window||E.global||{},Gs=E.window||E.self||E.global||{},Hs=E.global||E.self||E.window||{},Qs=E.document||{};var T=typeof process!="object"||String(process)!=="[object process]"||process.browser;var ut=typeof window<"u"&&typeof window.orientation<"u",ft=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Js=ft&&parseFloat(ft[1])||0;var be=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){x(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){x(this.isRunning),this.isRunning=!1,this._reject(r)}};var ce=class{terminate(){}};var lr=new Map;function lt(e){x(e.source&&!e.url||!e.source&&e.url);let r=lr.get(e.source||e.url);return r||(e.url&&(r=Wo(e.url),lr.set(e.url,r)),e.source&&(r=mt(e.source),lr.set(e.source,r))),x(r),r}function Wo(e){if(!e.startsWith("http"))return e;let r=Mo(e);return mt(r)}function mt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function Mo(e){return`try {
7
+ "use strict";var __exports__=(()=>{var Xe=Object.defineProperty;var So=Object.getOwnPropertyDescriptor;var Lo=Object.getOwnPropertyNames;var _o=Object.prototype.hasOwnProperty;var Kr=(e,r)=>{for(var t in r)Xe(e,t,{get:r[t],enumerable:!0})},Bo=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Lo(r))!_o.call(e,n)&&n!==t&&Xe(e,n,{get:()=>r[n],enumerable:!(o=So(r,n))||o.enumerable});return e};var Eo=e=>Bo(Xe({},"__esModule",{value:!0}),e);var ps={};Kr(ps,{FetchError:()=>me,JSONLoader:()=>Pr,NullLoader:()=>bo,NullWorkerLoader:()=>wo,RequestScheduler:()=>le,_BrowserFileSystem:()=>Ye,_fetchProgress:()=>xo,_selectSource:()=>ho,_unregisterLoaders:()=>Vt,assert:()=>ne,concatenateArrayBuffersAsync:()=>z,coreApi:()=>ye,createDataSource:()=>po,document:()=>or,encode:()=>fo,encodeInBatches:()=>mo,encodeSync:()=>Gr,encodeTable:()=>Hr,encodeTableAsText:()=>ao,encodeTableInBatches:()=>Qr,encodeText:()=>uo,encodeTextSync:()=>lo,encodeURLtoURL:()=>Jr,fetchFile:()=>T,forEach:()=>Lr,getLoaderOptions:()=>I,getPathPrefix:()=>Ir,global:()=>tr,isAsyncIterable:()=>X,isBrowser:()=>w,isIterable:()=>D,isIterator:()=>ce,isPromise:()=>we,isPureObject:()=>k,isReadableStream:()=>O,isResponse:()=>d,isWorker:()=>nr,isWritableStream:()=>lr,load:()=>te,loadInBatches:()=>Z,makeIterator:()=>re,makeLineIterator:()=>kr,makeNumberedLineIterator:()=>Sr,makeStream:()=>yo,makeTextDecoderIterator:()=>Tr,makeTextEncoderIterator:()=>Ar,parse:()=>p,parseFile:()=>Q,parseInBatches:()=>b,parseSync:()=>J,preload:()=>so,preloadSync:()=>io,readArrayBuffer:()=>Mt,registerLoaders:()=>zt,resolvePath:()=>q,selectLoader:()=>C,selectLoaderSync:()=>L,self:()=>er,setLoaderOptions:()=>Mr,setPathPrefix:()=>Rr,window:()=>rr});function ne(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var E={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},er=E.self||E.window||E.global||{},rr=E.window||E.self||E.global||{},tr=E.global||E.self||E.window||{},or=E.document||{};var w=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),nr=typeof importScripts=="function",Yr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ro=Yr&&parseFloat(Yr[1])||0;var Me=globalThis,Io=globalThis.document||{},Ne=globalThis.process||{},Co=globalThis.console,ws=globalThis.navigator||{};function Xr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&process.versions?.electron)return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function K(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Xr()}var sr="4.1.1";function se(e,r){if(!e)throw new Error(r||"Assertion failed")}function ir(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 se(Number.isFinite(r)&&r>=0),r}function et(e){let{logLevel:r,message:t}=e;e.logLevel=ir(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 se(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var Y=()=>{},Ue=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let a=et({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,a,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return Y;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return Y;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=ir(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function Oo(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var $e=class{constructor(r,t,o="sessionStorage"){this.storage=Oo(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 rt(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 tt(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var ve;(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"})(ve||(ve={}));var Wo=10;function ot(e){return typeof e!="string"?e:(e=e.toUpperCase(),ve[e]||ve.WHITE)}function nt(e,r,t){return!K&&typeof e=="string"&&(r&&(e=`\x1B[${ot(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${ot(t)+Wo}m${e}\x1B[49m`)),e}function st(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let a=n[s];typeof a=="function"&&(r.find(i=>s===i)||(n[s]=a.bind(e)))}}function ie(){let e;if(K()&&Me.performance)e=Me?.performance?.now?.();else if("hrtime"in Ne){let r=Ne?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var ae={debug:K()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},ar={enabled:!0,level:0},_=class extends Ue{constructor({id:r}={id:""}){super({level:0}),this.VERSION=sr,this._startTs=ie(),this._deltaTs=ie(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new $e(`__probe-${this.id}__`,{[this.id]:ar}),this.timeStamp(`${this.id} started`),st(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((ie()-this._startTs).toPrecision(10))}getDelta(){return Number((ie()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(r=!0){return this._updateConfiguration({enabled:r}),this}setLevel(r){return this._updateConfiguration({level:r}),this}get(r){return this._getConfiguration()[r]}set(r,t){this._updateConfiguration({[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,...t){return this._log("warn",0,r,t,{method:ae.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:ae.error})}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,...o){return this._log("log",r,t,o,{method:ae.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:ae.debug})}info(r,t,...o){return this._log("info",r,t,o,{method:console.info})}once(r,t,...o){return this._log("once",r,t,o,{method:ae.debug||ae.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||Y,tag:Mo(t)}):Y}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||Y})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||Y})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;se(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=ie();let n=Fo(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(ar),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...ar};this._storage.setConfiguration({[this.id]:{...t,...r}})}};_.VERSION=sr;function Fo(e,r,t){if(typeof r=="string"){let o=t.time?tt(rt(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=nt(r,t.color,t.background)}return r}function Mo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var Gs=new _({id:"@probe.gl/log"});var cr="5.0.0-alpha.3",No=cr[0]>="0"&&cr[0]<="9"?`v${cr}`:"";function Uo(){let e=new _({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=No,globalThis.probe||={},globalThis.probe.loaders=e,e}var fr=Uo();var it=e=>typeof e=="boolean",y=e=>typeof e=="function",x=e=>e!==null&&typeof e=="object",k=e=>x(e)&&e.constructor==={}.constructor;var ur=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,v=e=>x(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",we=e=>x(e)&&"then"in e&&y(e.then),D=e=>!!e&&y(e[Symbol.iterator]),X=e=>!!e&&y(e[Symbol.asyncIterator]),ce=e=>!!e&&y(e.next),d=e=>typeof Response<"u"&&e instanceof Response||x(e)&&y(e.arrayBuffer)&&y(e.text)&&y(e.json);var m=e=>typeof Blob<"u"&&e instanceof Blob;var at=e=>x(e)&&y(e.abort)&&y(e.getWriter),ct=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||x(e)&&y(e.tee)&&y(e.cancel)&&y(e.getReader),ft=e=>x(e)&&y(e.end)&&y(e.write)&&it(e.writable),ut=e=>x(e)&&y(e.read)&&y(e.pipe)&&it(e.readable),O=e=>ct(e)||ut(e),lr=e=>at(e)||ft(e);function be(e,r){return lt(e||{},r)}function lt(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))k(s)?o[n]=lt(o[n]||{},r[n],t+1):o[n]=r[n];return o}function mr(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var mt="latest";function $o(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.3"),globalThis._loadersgl_.version}var xe=$o();function W(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var R={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ai=R.self||R.window||R.global||{},ci=R.window||R.self||R.global||{},fi=R.global||R.self||R.window||{},ui=R.document||{};var S=typeof process!="object"||String(process)!=="[object process]"||process.browser;var dt=typeof window<"u"&&typeof window.orientation<"u",pt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),li=pt&&parseFloat(pt[1])||0;var Te=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){this.isRunning&&(this.isRunning=!1,this._resolve(r))}error(r){this.isRunning&&(this.isRunning=!1,this._reject(r))}abort(r){if(!this.isRunning)return;let t=r??vo(`Worker job "${this.name}" was aborted`);this.workerThread.destroy(),this.error(t)}};function vo(e){let r=new Error(e);return r.name="AbortError",r}var fe=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var pr=new Map;function ht(e){W(e.source&&!e.url||!e.source&&e.url);let r=pr.get(e.source||e.url);return r||(e.url&&(r=Do(e.url),pr.set(e.url,r)),e.source&&(r=yt(e.source),pr.set(e.source,r))),W(r),r}function Do(e){if(!e.startsWith("http"))return e;let r=jo(e);return yt(r)}function yt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function jo(e){return`try {
8
8
  importScripts('${e}');
9
9
  } catch (error) {
10
10
  console.error(error);
11
11
  throw error;
12
- }`}function mr(e,r=!0,t){let o=t||new Set;if(e){if(pt(e))o.add(e);else if(pt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)mr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function pt(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 De(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]=De(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var pr=()=>{},D=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&T||typeof ce<"u"&&!T}constructor(r){let{name:t,source:o,url:n}=r;x(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=pr,this.onError=s=>console.log(s),this.worker=T?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=pr,this.onError=pr,this.worker.terminate(),this.terminated=!0}unref(){!T&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!T&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||mr(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=lt({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}`,n=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new ce(o,{eval:!1,type:n})}else if(this.source)r=new ce(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 xe=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return D.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,a)=>n.done(a),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 be(t.name,r);r.ref(),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{}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):(r.unref(),this.idleQueue.push(r)),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new D({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return ut?this.maxMobileConcurrency:this.maxConcurrency}};var Po={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},X=class{props;workerPools=new Map;static isSupported(){return D.isSupported()}static getWorkerFarm(r={}){return X._workerFarm=X._workerFarm||new X({}),X._workerFarm.setProps(r),X._workerFarm}constructor(r){this.props={...Po},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 xe({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}}},R=X;Hr(R,"_workerFarm");var ht=new Set;function dt(e){let r=e.version!==we?` (worker-utils@${we})`:"";return`${e.name}@${e.version}${r}`}function yt(e,r={}){let t=r[e.id]||{},o=T?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(T?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let a=e.version;a==="latest"&&(a=ct);let i=a?`@${a}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`,Fo(e,n)}return x(n),n}function Fo(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;ht.has(t)||(ht.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function hr(e,r){return R.isSupported()?e.worker&&r?.worker:!1}async function Te(e,r,t={},o={},n={}){let s=dt(e),a=R.getWorkerFarm(t),{source:i}=t,c={name:s,source:i};i||(c.url=yt(e,t));let f=a.getWorkerPool(c),S=t.jobName||e.name,O=await f.startJob(S,No.bind(null,o)),po=De(t),ho=De(n);return O.postMessage("process",{input:r,options:po,context:ho}),(await O.result).result}async function No(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:a}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let i=await e.process(s,a,void 0,o.context||{});r.postMessage("done",{id:n,result:i})}catch(i){let c=i instanceof Error?i.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function Ae(e,r=we){x(e,"no worker provided");let t=e.version;return!(!r||!t)}function dr(e,r){let t=gt(r),o=t._nodeWorkers;return!T&&!o||e.id==="excel"&&r?.excel?.shape==="arrow-table"||e.id==="ply"&&r?.ply?.shape==="arrow-table"||e.id==="csv"&&!Do(r)?!1:Boolean(hr(e,t))}async function yr(e,r,t,o,n){let s=await Te(e,r,gt(t),{process:async(a,i,c,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let S=o?{...o,...f||{}}:void 0;return await $o(n,a,i,S)}},Uo(o));return vo(e)?e.deserializeWorkerResult(s,t,o):s}function $o(e,r,t,o){return e.length<=2?e(r,t):e(r,void 0,t,o)}function gt(e={}){let r=JSON.parse(JSON.stringify(e));return{...r.core,...r}}function Uo(e){if(!e)return{};let{fetch:r,loaders:t,coreApi:o,_parse:n,_parseSync:s,_parseInBatches:a,...i}=e;return JSON.parse(JSON.stringify(i))}function Do(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function vo(e){return typeof e.deserializeWorkerResult=="function"}function gr(e,r){if(!R.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!d&&!t?!1:Boolean(e.worker&&o)}function wr(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function Se(...e){return wt(e)}function wt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,a)=>s+a.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*br(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*xr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*Tr(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
12
+ }`}function dr(e,r=!0,t){let o=t||new Set;if(e){if(gt(e))o.add(e);else if(gt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)dr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function gt(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 De(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]=De(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var hr=()=>{},j=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&S||typeof fe<"u"&&!S}constructor(r){let{name:t,source:o,url:n}=r;W(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=hr,this.onError=s=>console.log(s),this.worker=S?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=hr,this.onError=hr,this.worker.terminate(),this.terminated=!0}unref(){!S&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!S&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||dr(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=ht({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}`,n=o.startsWith("file:")?new URL(o):o,s=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new fe(n,{eval:!1,type:s})}else if(this.source)r=new fe(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 Ae=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return j.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,a)=>n.done(a),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 Te(t.name,r);r.ref(),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{}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){r.terminated||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.terminated||r.destroy(),this.count--):(r.unref(),this.idleQueue.push(r)),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new j({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return dt?this.maxMobileConcurrency:this.maxConcurrency}};var zo={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},F=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return j.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...zo},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 Ae({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}}};var wt=new Set;function bt(e){let r=e.version!==xe?` (worker-utils@${xe})`:"";return`${e.name}@${e.version}${r}`}function xt(e,r={}){let t=r[e.id]||{},o=S?`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&typeof e.worker=="string"&&(n=e.worker),!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(S?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let a=e.version;a==="latest"&&(a=mt);let i=a?`@${a}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`,qo(e,n)}return W(n),n}function qo(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;wt.has(t)||(wt.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function yr(e,r){if(!F.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||t?.workerUrl)&&r?.worker)}async function ke(e,r,t={},o={},n={}){Vo(t.signal);let s=bt(e),a=F.getWorkerFarm(t),{source:i}=t,c={name:s,source:i};i||(c.url=xt(e,t));let f=a.getWorkerPool(c),u=t.jobName||e.name,l=await f.startJob(u,Qo.bind(null,o)),h=()=>l.abort(Tt(t.signal));t.signal?.addEventListener("abort",h,{once:!0}),t.signal?.aborted&&h();try{let{signal:ge,...oe}=t,Ao=De(oe),ko=De(n);return l.isRunning&&l.postMessage("process",{input:r,options:Ao,context:ko}),(await l.result).result}finally{t.signal?.removeEventListener("abort",h)}}function Vo(e){if(e?.aborted)throw Tt(e)}function Tt(e){return e?.reason??Ho("Worker job was aborted")}function Ho(e){let r=new Error(e);return r.name="AbortError",r}async function Qo(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:a}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let i=await e.process(s,a,void 0,o.context||{});r.postMessage("done",{id:n,result:i})}catch(i){let c=i instanceof Error?i.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function Se(e,r=xe){W(e,"no worker provided");let t=e.version;return!(!r||!t)}function gr(e,r){let t=At(r),o=t._nodeWorkers;return!S&&!o||e.id==="excel"&&r?.excel?.shape==="arrow-table"||e.id==="ply"&&r?.ply?.shape==="arrow-table"||e.id==="csv"&&!Ko(r)?!1:!!yr(e,t)}async function wr(e,r,t,o,n,s){let a=s||Go(t),i=await ke(e,r,{...At(t),signal:a},{process:async(c,f,u,l)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let h=o?{...o,...l||{}}:void 0;return await Jo(n,c,f,h)}},Zo(o));return Yo(e)?e.deserializeWorkerResult(i,t,o):i}function Go(e){let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function Jo(e,r,t,o){return e.length<=2?e(r,t):e(r,void 0,t,o)}function At(e={}){let r=JSON.parse(JSON.stringify(e));return{...r.core,...r}}function Zo(e){if(!e)return{};let{fetch:r,loaders:t,coreApi:o,_parse:n,_parseSync:s,_parseInBatches:a,...i}=e;return JSON.parse(JSON.stringify(i))}function Ko(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function Yo(e){return typeof e.deserializeWorkerResult=="function"}function br(e,r){if(!F.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!w&&!t?!1:!!(e.worker&&o)}function xr(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function Le(...e){return kt(e)}function kt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,a)=>s+a.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*Tr(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*Ar(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*kr(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
13
13
  `);o>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n,o=r.indexOf(`
14
- `)}}r.length>0&&(yield r)}async function*Ar(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Sr(e,r){let t=zo(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function v(e){let r=[];for await(let t of e)r.push(jo(t));return Se(...r)}function jo(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return bt(r,t,o)}return bt(e)}function bt(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function zo(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return Vo(r)}return e}function Vo(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function ke(){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 ee=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=ke(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(ke()-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 fe=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 ee?n=r:n=new ee(t,o),this.stats[t]=n),n}};var qo="Queued Requests",Go="Active Requests",Ho="Cancelled Requests",Qo="Queued Requests Ever",Jo="Active Requests Ever",Ko={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},ue=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Ko,...r},this.stats=new fe({id:this.props.id}),this.stats.get(qo),this.stats.get(Go),this.stats.get(Ho),this.stats.get(Qo),this.stats.get(Jo)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}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;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var kr="",xt={};function _r(e){kr=e}function Lr(){return kr}function j(e){for(let r in xt)if(e.startsWith(r)){let t=xt[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${kr}${e}`),e}var Zo="5.0.0-alpha.1",Br={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Zo,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Tt,parse:async e=>Tt(new TextDecoder().decode(e)),options:{}};function Tt(e){return JSON.parse(e)}function je(e){return e&&typeof e=="object"&&e.isBuffer}function M(e){if(je(e))return e;if(e instanceof ArrayBuffer)return e;if(cr(e))return ve(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.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")}function P(e){if(e instanceof ArrayBuffer)return e;if(cr(e))return ve(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:ve(r,t,o)}function ve(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function ze(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var F={};Gr(F,{dirname:()=>Xo,filename:()=>Yo,join:()=>en,resolve:()=>rn});function At(){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):e}function Xo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function en(...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 rn(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let a;s>=0?a=r[s]:(n===void 0&&(n=At()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===_e)}return t=tn(t,!o),o?`/${t}`:t.length>0?t:"."}var _e=47,Er=46;function tn(e,r){let t="",o=-1,n=0,s,a=!1;for(let i=0;i<=e.length;++i){if(i<e.length)s=e.charCodeAt(i);else{if(s===_e)break;s=_e}if(s===_e){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==Er||t.charCodeAt(t.length-2)!==Er){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==_e;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=i,n=0,a=!1;continue}}else if(t.length===2||t.length===1){t="",o=i,n=0,a=!1;continue}}r&&(t.length>0?t+="/..":t="..",a=!0)}else{let c=e.slice(o+1,i);t.length>0?t+=`/${c}`:t=c,a=!1}o=i,n=0}else s===Er&&n!==-1?++n:n=-1}return t}var Le=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(Number(r),Number(r)+Number(t)).arrayBuffer()}};var Be=new Error("Not implemented"),Ee=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw d?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 Be}async write(r,t,o){throw Be}async stat(){throw Be}async truncate(r){throw Be}async append(r){throw Be}async close(){}};function h(e){return Boolean(e&&typeof e=="object"&&"createDataSource"in e)}var le=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var on=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,nn=/^([-\w.]+\/[-\w.+]+)/;function Rr(e,r){return e.toLowerCase()===r.toLowerCase()}function St(e){let r=nn.exec(e);return r?r[1]:e}function Ir(e){let r=on.exec(e);return r?r[1]:""}var kt=/\?.*/;function _t(e){let r=e.match(kt);return r&&r[0]}function z(e){return e.replace(kt,"")}function Lt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function _(e){return l(e)?e.url:m(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function me(e){if(l(e)){let r=e.headers.get("content-type")||"",t=z(e.url);return St(r)||Ir(t)}return m(e)?e.type||"":typeof e=="string"?Ir(e):""}function Bt(e){return l(e)?e.headers["content-length"]||-1:m(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Re(e){if(l(e))return e;let r={},t=Bt(e);t>=0&&(r["content-length"]=String(t));let o=_(e),n=me(e);n&&(r["content-type"]=n);let s=await an(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let a=new Response(e,{headers:r});return Object.defineProperty(a,"url",{value:o}),a}async function Ve(e){if(!e.ok)throw await sn(e)}async function sn(e){let r=Lt(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 le(t,o)}async function an(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,${cn(t)}`}return null}function cn(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function fn(e){return!un(e)&&!ln(e)}function un(e){return e.startsWith("http:")||e.startsWith("https:")}function ln(e){return e.startsWith("data:")}async function w(e,r){if(typeof e=="string"){let t=j(e);return fn(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Re(e)}async function Et(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await mn(o)}async function mn(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var Ie=new k({id:"loaders.gl"}),qe=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ge=class{console;onceMessages=new Set;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}once(...r){let t=String(r[0]);return this.onceMessages.has(t)?()=>{}:(this.onceMessages.add(t),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 He={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new Ge,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:d,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Rt={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",shape:"core.shape",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var Cr=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Ce(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function I(){let e=Ce();return e.globalOptions=e.globalOptions||{...He,core:{...He.core}},N(e.globalOptions)}function Or(e){let r=Ce(),t=I();r.globalOptions=Ot(t,e),ur(e.modules)}function V(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],pn(e,t),N(Ot(r,e,o))}function N(e){let r=gn(e);Wt(r);for(let t of Cr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function pn(e,r){It(e,null,He,Rt,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",a=r?`${r}.`:"";for(let i in e){let c=!r&&g(e[i]),f=i==="baseUri"&&!r,S=i==="workerUrl"&&r;if(!(i in t)&&!f&&!S){if(i in o)Ie.level>0&&Ie.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&Ie.level>0){let O=hn(i,n);Ie.warn(`${s} loader option '${a}${i}' not recognized. ${O}`)()}}}}function hn(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 a=s.toLowerCase();(t.startsWith(a)||a.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function Ot(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),Wt(n),n.core?.log===null&&(n.core={...n.core,log:new qe}),Ct(n,N(I()));let s=N(r);return Ct(n,s),dn(n,s,e),yn(n,t),wn(n),n}function dn(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!B(n)||!("shape"in n))return;let s=I()[t.id];if(B(s)&&"shape"in s)return;let a=r[t.id];if(B(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...B(i)?i:{},shape:o}}function Ct(e,r){for(let t in r)if(t in r){let o=r[t];B(o)&&B(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function yn(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=F.dirname(z(r)))}function gn(e){let r={...e};return e.core&&(r.core={...e.core}),r}function Wt(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of Cr)if(e[t]!==void 0){e.core||={};let n=e.core;n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function wn(e){let r=e.core;if(r)for(let t of Cr)r[t]!==void 0&&(e[t]=r[t])}function b(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Oe(e){oe(e,"null loader"),oe(b(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 Mt=()=>{let e=Ce();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Pt(e){let r=Mt();e=Array.isArray(e)?e:[e];for(let t of e){let o=Oe(t);r.find(n=>o===n)||r.unshift(o)}}function Ft(){return Mt()}function Nt(){let e=Ce();e.loaderRegistry=[]}var bn=/\.([^.]+)$/;async function C(e,r=[],t,o){if(!Dt(e))return null;let n=N(t||{});if(n.core||={},e instanceof Response&&$t(e)){let a=await e.clone().text(),i=A(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=A(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(m(e)&&(e=await e.slice(0,10).arrayBuffer(),s=A(e,r,n,o)),!s&&e instanceof Response&&$t(e)){let a=await e.clone().text();s=A(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(vt(e));return s}function $t(e){let r=me(e);return Boolean(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function A(e,r=[],t,o){if(!Dt(e))return null;let n=N(t||{});if(n.core||={},r&&!Array.isArray(r))return Oe(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...Ft()),Tn(s);let a=xn(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(vt(e));return a}function xn(e,r,t,o){let n=_(e),s=me(e),a=z(n)||o?.url,i=null,c="",f=t?.core&&"type"in t.core?t.core.type:void 0;return f&&f!=="auto"&&(i=kn(r,f),c=i?`match forced by supplied source type ${f}`:""),t?.core?.mimeType&&(i=Wr(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||_n(r,a),c=c||(i?`matched source url ${a}`:""),i=i||An(r,a),c=c||(i?`matched url ${a}`:""),i=i||Wr(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||Bn(r,e),c=c||(i?`matched initial data ${jt(e)}`:""),!i&&m(e)&&(i=Ln(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||Wr(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&ar.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function Dt(e){return!(e instanceof Response&&e.status===204)}function vt(e){let r=_(e),t=me(e),o="No valid loader found (";o+=r?`${F.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?jt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Tn(e){for(let r of e)Oe(r)}function An(e,r){let t=r&&bn.exec(r),o=t&&t[1];return o?Sn(e,o):null}function Sn(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 kn(e,r){for(let t of e)if(h(t)&&t.type===r)return t;return null}function _n(e,r){if(!r)return null;for(let t of e)if(h(t)&&t.testURL(r))return t;return null}function Ln(e,r){for(let t of e)if(h(t)&&t.testData?.(r))return t;return null}function Wr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>Rr(r,o))||Rr(r,`application/x.${t.id}`))return t;return null}function Bn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(En(r,t))return t}else if(ArrayBuffer.isView(r)){if(Ut(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&Ut(r,0,t))return t;return null}function En(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function Ut(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Rn(e,r,t,n))}function Rn(e,r,t,o){if($(o))return wr(o,e,o.byteLength);switch(typeof o){case"function":return o(P(e));case"string":let n=Mr(e,r,o.length);return o===n;default:return!1}}function jt(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?Mr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?Mr(e,0,r):""}function Mr(e,r,t){if(e.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var In=256*1024;function*zt(e,r){let t=r?.chunkSize||In,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),a=e.slice(o,o+s);o+=s,yield P(n.encode(a))}}function*Vt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),a=new Uint8Array(e,o,n);new Uint8Array(s).set(a),o+=n,yield s}}async function*qt(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function Pr(e,r){return d?Cn(e,r):On(e,r)}async function*Cn(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:a}=await n;if(s)return;yield M(a)}}catch{t.releaseLock()}}async function*On(e,r){for await(let t of e)yield M(t)}function re(e,r){if(typeof e=="string")return zt(e,r);if(e instanceof ArrayBuffer)return Vt(e,r);if(m(e))return qt(e,r);if(W(e))return Pr(e,r);if(l(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Pr(t,r)}throw new Error("makeIterator")}var We="Cannot convert supplied data type";function Fr(e,r,t){if(r.text&&typeof e=="string")return e;if(je(e)&&(e=e.buffer),$(e)){let o=ze(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):M(o)}throw new Error(We)}async function Gt(e,r,t){if(typeof e=="string"||$(e))return Fr(e,r,t);if(m(e)&&(e=await Re(e)),l(e))return await Ve(e),r.binary?await e.arrayBuffer():await e.text();if(W(e)&&(e=re(e,t)),U(e)||Y(e))return v(e);throw new Error(We)}async function Ht(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if($(e))return M(ze(e));if(m(e)&&(e=await Re(e)),l(e))return await Ve(e),await e.arrayBuffer();if(W(e)&&(e=re(e,r)),U(e)||Y(e))return v(e);throw new Error(We)}async function Qt(e,r){if(ye(e)&&(e=await e),ae(e))return e;if(l(e)){await Ve(e);let t=await e.body;if(!t)throw new Error(We);return re(t,r)}return m(e)||W(e)?re(e,r):Y(e)||U(e)?e:Wn(e)}function Wn(e){if(ArrayBuffer.isView(e))return function*(){yield M(e)}();if($(e))return function*(){yield M(e)}();if(ae(e))return e;if(U(e))return e[Symbol.iterator]();throw new Error(We)}function pe(e,r){let t=I(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:g(n)?s=>w(s,n):r?.fetch?r?.fetch:w}var Nr=new Map,Qe=new Map;async function q(e,r,t){if(Ke(e))return e;let o=Jt(e,r),n=Qe.get(e)?.get(o);if(n)return n;let s=Nr.get(e);s||(s=new Map,Nr.set(e,s));let a=s.get(o);return a||(a=Mn(e,r,t).then(i=>{let c=Qe.get(e);return c||(c=new Map,Qe.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&Nr.delete(e),i}),s.set(o,a)),await a}function Je(e){if(Ke(e))return e;let r=Jt(e);return Qe.get(e)?.get(r)||null}function Ke(e){let r=e;return Boolean(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function Mn(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(Ke(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Pn(e,r);return await Nn(o,e.id)}function Pn(e,r){if((r?._workerType||r?.core?._workerType)==="test"){let o=`modules/${e.module}/src/${e.id}-loader.ts`;return typeof window<"u"?`/${o}`:typeof process<"u"&&process.cwd?new URL(o,`file://${process.cwd()}/`).toString():o}throw new Error(`${e.id} loader does not provide a parser implementation. Import a parser-bearing loader directly, or use preload() before parse/load.`)}function Jt(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||Fn(t?.implementation)||o?.backend||"")}function Fn(e){return e==="js"?"typescript":e}async function Nn(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&Ke(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}async function G(e,r,t,o){r&&!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),t=t||{};let n=e.url||"",a=he(r,o),i=await C(n,a,t);if(!i)return null;if(h(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=V(t,i,a,n);return o=H({url:n,_parse:u,loaders:a},c,o||null),await $n(i,e,c,o)}async function $n(e,r,t,o){Ae(e),t=ge(e.options,t);let n=await q(e,t,o.url);if(n.parseFile)return await n.parseFile(r,t,o);if(n.parse){let a=r.bigsize>0n?Number(r.bigsize):r.size;if(!a)throw new Error(`${e.id} loader - cannot fall back to parse without a file size`);let i=await r.read(0n,a);return await u(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function Q(e,r,t,o){!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=he(r,o),a=A(e,s,t);if(!a)return null;if(h(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=V(t,a,s),c=_(e),f=()=>{throw new Error("parseSync called parse (which is async")};o=H({url:c,_parseSync:f,_parse:f,loaders:r},i,o||null);let S=Je(a);return Un(S||a,e,i,o)}function Un(e,r,t,o){if(r=Fr(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 e.preload?new Error(`${e.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function $r(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 Ur(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 Dr(e){return{...e,length:Ur(e),batchType:"data"}}async function y(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=_(e),a=await C(e,r,t);if(!a)return[];let i=V(t,a,n,s);o=H({url:s,_parseInBatches:y,_parse:u,loaders:n},i,o||null);let c=await q(a,i,o.url);return await Dn(a,c,e,i,o)}async function Dn(e,r,t,o,n){let s=await vn(r,t,o,n);if(!o?.core?.metadata)return s;let a={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:n},data:[],bytesUsed:0};async function*i(c){yield a,yield*c}return i(s)}async function vn(e,r,t,o){let n=await Qt(r,t),s=await Vn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):jn(s,e,t,o)}async function*jn(e,r,t,o){let n=await v(e),s=await u(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield zn(s,r)}function zn(e,r){let t=$r(e)?Dr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function Vn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function J(e,r,t,o){let n;!Array.isArray(r)&&!b(r)?(o=void 0,t=r,n=void 0):n=r;let s=pe(t||{});return Array.isArray(e)?e.map(i=>Kt(i,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 y(s,r,t):await y(s,r,t)}return Array.isArray(r)?await y(e,r,t):await y(e,r,t)}async function te(e,r,t,o){let n,s;if(!Array.isArray(r)&&!b(r)?(n=[],s=r,o=void 0):(n=r,s=t),!Array.isArray(n)&&h(n)){let c={fetchFile:w,parse:u,parseFile:G,parseSync:Q,parseInBatches:y,load:te,loadInBatches:J};return n.createDataSource(e,s||{},c)}if(Array.isArray(n)&&n.length===1&&h(n[0])){let c={fetchFile:w,parse:u,parseFile:G,parseSync:Q,parseInBatches:y,load:te,loadInBatches:J};return n[0].createDataSource(e,s||{},c)}if(typeof e=="string"||m(e)){let c=await C(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&h(c))return c.createDataSource(e,s||{},{fetchFile:w,parse:u,parseFile:G,parseSync:Q,parseInBatches:y,load:te,loadInBatches:J})}let a=pe(s),i=e;return typeof e=="string"&&(i=await a(e)),m(e)&&(i=await a(e)),typeof e=="string"&&(N(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await u(i,n,s,o):await u(i,n,s,o)}var de=Object.freeze({fetchFile:w,parse:u,parseFile:G,parseSync:Q,parseInBatches:y,load:te,loadInBatches:J});function H(e,r,t){if(t)return t;let o={...e,fetch:pe(r,e),coreApi:e.coreApi||de};if(o.url){let n=z(o.url);o.baseUrl=n,o.queryString=_t(o.url),o.filename=F.filename(n),o.baseUrl=F.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function he(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 u(e,r,t,o){r&&!Array.isArray(r)&&!b(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=_(e),a=he(r,o),i=await C(e,a,t);if(!i)return null;if(h(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=V(t,i,a,n);return o=H({url:n,_parse:u,loaders:a},c,o||null),await qn(i,e,c,o)}async function qn(e,r,t,o){if(Ae(e),t=ge(e.options,t),l(r)){let{ok:s,redirected:a,status:i,statusText:c,type:f,url:S}=r,O=Object.fromEntries(r.headers.entries());o.response={headers:O,ok:s,redirected:a,status:i,statusText:c,type:f,url:S}}let n=await q(e,t,o.url);return dr(n,t)?(r=await Ht(r,t),await yr(n,r,t,o,u)):(r=await Gt(r,e,t),await Gn(n,r,t,o))}async function Gn(e,r,t,o){if(e.parseText&&typeof r=="string")return await e.parseText(r,t,o);if(e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t,o);if(e.parse)return await e.parse(r,t,o);throw e.parseSync?new Error(`${e.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.id} loader - no parser found and worker is disabled`)}async function Zt(e,r,t){return await q(e,r,t)}function Yt(e){return Je(e)}async function vr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return P(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=jr(e,r,t),n=[];for await(let s of o)n.push(s);return Se(...n)}throw new Error("Writer could not encode data")}async function Xt(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await vr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function jr(e,r,t){if(r.encodeInBatches){let o=Hn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Hn(e){return[{...e,start:0,end:e.length}]}async function ro(e,r,t){let n={...I(),...t};return r.encodeURLtoURL?Qn(r,e,n):gr(r,n)?await Te(r,e,n):await r.encode(e,n)}function zr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return P(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function to(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 oo(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=zr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function no(e,r,t){if(r.encodeInBatches){let o=Jn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Vr(e,r,t,o){if(e=j(e),r=j(r),d||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function Qn(e,r,t){if(d)throw new Error(`Writer ${e.name} not supported in browser`);let o=eo("input");await new Ee(o,"w").write(r);let s=eo("output"),a=await Vr(o,s,e,t);return(await w(a)).arrayBuffer()}function Jn(e){return[{...e,start:0,end:e.length}]}function eo(e){return`/tmp/${e}`}function so(e,r,t){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?A(e,r,{...o,core:{...o?.core,type:"auto"}}):Kn(n,r);if(!s)throw new Error("Not a valid source type");return s.createDataSource(e,o,de)}function Kn(e,r){for(let t of r)if(t.type===e)return t;return null}function io(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=A(e,r,{core:{nothrow:!0}}):n=Zn(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Zn(e,r){for(let t of r)if(t.type===e)return t;return null}function ao(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 co="5.0.0-alpha.1",fo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:co,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},uo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:co,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>qr(e,r||{},t),parseSync:qr,parseInBatches:async function*(r,t,o){for await(let n of r)yield qr(n,t,o)},tests:[()=>!1],options:{null:{}}};function qr(e,r,t){return null}async function lo(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,a=s?parseInt(s):0;if(!(a>0)||typeof ReadableStream>"u"||!n.getReader)return e;let i=new ReadableStream({async start(c){let f=n.getReader();await mo(c,f,0,a,r,t,o)}});return new Response(i)}async function mo(e,r,t,o,n,s,a){try{let{done:i,value:c}=await r.read();if(i){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await mo(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var Ze=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),a=s&&/bytes=($1)-($2)/.exec(s);if(a){let c=parseInt(a[1]),f=parseInt(a[2]),S=await o.slice(c,f).arrayBuffer(),O=new Response(S);return Object.defineProperty(O,"url",{value:r}),O}let i=new Response(o);return Object.defineProperty(i,"url",{value:r}),i}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new Le(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return To(Yn);})();
14
+ `)}}r.length>0&&(yield r)}async function*Sr(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Lr(e,r){let t=en(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function z(e){let r=[];for await(let t of e)r.push(Xo(t));return Le(...r)}function Xo(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return St(r,t,o)}return St(e)}function St(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function en(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return rn(r)}return e}function rn(e){return{next(r){return Promise.resolve(e.next(r))},return(r){return typeof e.return=="function"?Promise.resolve(e.return(r)):Promise.resolve({done:!0,value:r})},throw(r){return typeof e.throw=="function"?Promise.resolve(e.throw(r)):Promise.reject(r)}}}function _e(){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 ee=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=_e(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(_e()-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 ue=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 ee?n=r:n=new ee(t,o),this.stats[t]=n),n}};var tn="Queued Requests",on="Active Requests",nn="Cancelled Requests",sn="Queued Requests Ever",an="Active Requests Ever",cn={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},le=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...cn,...r},this.stats=new ue({id:this.props.id}),this.stats.get(tn),this.stats.get(on),this.stats.get(nn),this.stats.get(sn),this.stats.get(an)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}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;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var Lt=Symbol("loaders.gl.authenticated-fetch"),_r=new WeakMap;function Br(e){let r=e.fetch||((n,s)=>fetch(n,s));if(!e.credentials.length||r[Lt]===e.credentials)return r;let o=async(n,s={})=>{let a=ln(n);if(!a)return r(n,s);let i=await _t(a,s,e.credentials),c=await r(i.url,i.options),f=i.credentials.filter(({credential:h})=>typeof h.token=="function"&&h.refreshStatusCodes.includes(c.status));if(!f.length||!mn(s))return c;if(s.signal?.aborted)throw Bt();let u=new Map;if(await Promise.all(f.map(async({credential:h})=>{let ge=await fn(h,n,c);ge&&u.set(h,ge)})),!u.size)return c;if(await c.body?.cancel().catch(()=>{}),s.signal?.aborted)throw Bt();let l=await _t(a,s,e.credentials,u,i.credentials);return r(l.url,l.options)};return Object.defineProperty(o,Lt,{value:e.credentials}),o}async function _t(e,r,t,o=new Map,n=[]){let s=new URL(e),a=new Headers(r.headers),i=[],c=new Map(n.map(({credential:f,token:u})=>[f,u]));for(let f of t){if(!f.origins.includes(s.origin))continue;let u=o.get(f),l=c.get(f),h=f.type==="query-parameter"&&l!==void 0,ge=f.type==="header"&&l!==void 0;if(f.type==="query-parameter"&&s.searchParams.has(f.name)&&!h||f.type==="header"&&a.has(f.name)&&!ge)continue;let oe=u??l??await un(f.token,{url:e.toString(),reason:"request"});oe&&(f.type==="query-parameter"?s.searchParams.set(f.name,oe):a.set(f.name,`${f.prefix||""}${oe}`),i.push({credential:f,token:oe}))}return{url:s.toString(),options:{...r,headers:a},credentials:i}}async function fn(e,r,t){let o=_r.get(e);if(o)return o;let n=e.token,s=Promise.resolve(n({url:r,reason:"refresh",response:{status:t.status,headers:t.headers}})).finally(()=>_r.delete(e));return _r.set(e,s),s}async function un(e,r){return typeof e=="function"?e(r):e}function ln(e){try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r:null}catch{return null}}function mn(e){let r=(e.method||"GET").toUpperCase();return["GET","HEAD","OPTIONS","PUT","DELETE"].includes(r)?!(e.body&&typeof ReadableStream<"u"&&e.body instanceof ReadableStream):!1}function Bt(){return new DOMException("The operation was aborted.","AbortError")}var Er="",Et={};function Rr(e){Er=e}function Ir(){return Er}function q(e){for(let r in Et)if(e.startsWith(r)){let t=Et[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Er}${e}`),e}var M={};Kr(M,{dirname:()=>dn,filename:()=>pn,join:()=>hn,resolve:()=>yn});function Rt(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function pn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function dn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function hn(...e){return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp("^/"),"")),o!==e.length-1&&(t=t.replace(new RegExp("/$"),"")),t)),e.join("/")}function yn(...e){let r=[];for(let s=0;s<e.length;s++)r[s]=e[s];let t="",o=!1,n;for(let s=r.length-1;s>=-1&&!o;s--){let a;s>=0?a=r[s]:(n===void 0&&(n=Rt()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===Be)}return t=gn(t,!o),o?`/${t}`:t.length>0?t:"."}var Be=47,Cr=46;function gn(e,r){let t="",o=-1,n=0,s,a=!1;for(let i=0;i<=e.length;++i){if(i<e.length)s=e.charCodeAt(i);else{if(s===Be)break;s=Be}if(s===Be){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==Cr||t.charCodeAt(t.length-2)!==Cr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==Be;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=i,n=0,a=!1;continue}}else if(t.length===2||t.length===1){t="",o=i,n=0,a=!1;continue}}r&&(t.length>0?t+="/..":t="..",a=!0)}else{let c=e.slice(o+1,i);t.length>0?t+=`/${c}`:t=c,a=!1}o=i,n=0}else s===Cr&&n!==-1?++n:n=-1}return t}var wn="5.0.0-alpha.3",Pr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:wn,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:It,parse:async e=>It(new TextDecoder().decode(e)),options:{}};function It(e){return JSON.parse(e)}function ze(e){return e&&typeof e=="object"&&e.isBuffer}function N(e){if(ze(e))return e;if(e instanceof ArrayBuffer)return e;if(ur(e))return je(e);if(ArrayBuffer.isView(e)){let r=e.buffer;return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?r:r.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")}function U(e){if(e instanceof ArrayBuffer)return e;if(ur(e))return je(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:je(r,t,o)}function je(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function qe(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var Ee=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,o){if(o?.aborted)throw new Error("Request aborted");let n=await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer();if(o?.aborted)throw new Error("Request aborted");return n}};var Re=new Error("Not implemented"),Ie=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw w?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 Re}async write(r,t,o){throw Re}async stat(){throw Re}async truncate(r){throw Re}async append(r){throw Re}async close(){}};function g(e){return!!(e&&typeof e=="object"&&"createDataSource"in e)}var me=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var bn=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,xn=/^([-\w.]+\/[-\w.+]+)/;function Or(e,r){return e.toLowerCase()===r.toLowerCase()}function Ct(e){let r=xn.exec(e);return r?r[1]:e}function Wr(e){let r=bn.exec(e);return r?r[1]:""}var Pt=/\?.*/;function Ot(e){let r=e.match(Pt);return r&&r[0]}function V(e){return e.replace(Pt,"")}function Wt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function B(e){return d(e)?e.url:m(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function pe(e){if(d(e)){let r=e.headers.get("content-type")||"",t=V(e.url);return Ct(r)||Wr(t)}return m(e)?e.type||"":typeof e=="string"?Wr(e):""}function Ft(e){return d(e)?e.headers["content-length"]||-1:m(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ce(e){if(d(e))return e;let r={},t=Ft(e);t>=0&&(r["content-length"]=String(t));let o=B(e),n=pe(e);n&&(r["content-type"]=n);let s=await An(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let a=new Response(e,{headers:r});return Object.defineProperty(a,"url",{value:o}),a}async function Ve(e){if(!e.ok)throw await Tn(e)}async function Tn(e){let r=Wt(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 me(t,o)}async function An(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,${kn(t)}`}return null}function kn(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function Sn(e){return!Ln(e)&&!_n(e)}function Ln(e){return e.startsWith("http:")||e.startsWith("https:")}function _n(e){return e.startsWith("data:")}async function T(e,r){if(typeof e=="string"){let t=q(e);return Sn(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ce(e)}async function Mt(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await Bn(o)}async function Bn(e){return await new Promise((r,t)=>{let o=new FileReader;o.onload=n=>r(n?.target?.result),o.onerror=n=>t(n),o.readAsArrayBuffer(e)})}var Pe=new _({id:"loaders.gl"}),He=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Qe=class{console;onceMessages=new Set;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}once(...r){let t=String(r[0]);return this.onceMessages.has(t)?()=>{}:(this.onceMessages.add(t),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 Ge={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new Qe,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:w,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Nt={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",shape:"core.shape",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var Fr=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Oe(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function I(){let e=Oe();return e.globalOptions=e.globalOptions||{...Ge,core:{...Ge.core}},$(e.globalOptions)}function Mr(e){let r=Oe(),t=I();r.globalOptions=vt(t,e),mr(e.modules)}function H(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],En(e,t),$(vt(r,e,o))}function $(e){let r=Pn(e);Dt(r);for(let t of Fr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function En(e,r){Ut(e,null,Ge,Nt,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]||{};Ut(o,t.id,n,s,r)}}function Ut(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&x(e[i]),f=i==="baseUri"&&!r,u=i==="workerUrl"&&r;if(!(i in t)&&!f&&!u){if(i in o)Pe.level>0&&Pe.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&Pe.level>0){let l=Rn(i,n);Pe.warn(`${s} loader option '${a}${i}' not recognized. ${l}`)()}}}}function Rn(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 a=s.toLowerCase();(t.startsWith(a)||a.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function vt(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),Dt(n),n.core?.log===null&&(n.core={...n.core,log:new He}),$t(n,$(I()));let s=$(r);return $t(n,s),In(n,s,e),Cn(n,t),On(n),n}function In(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!k(n)||!("shape"in n))return;let s=I()[t.id];if(k(s)&&"shape"in s)return;let a=r[t.id];if(k(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...k(i)?i:{},shape:o}}function $t(e,r){for(let t in r)if(t in r){let o=r[t];k(o)&&k(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Cn(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=M.dirname(V(r)))}function Pn(e){let r={...e};return e.core&&(r.core={...e.core}),r}function Dt(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of Fr)if(e[t]!==void 0){e.core||={};let n=e.core;n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function On(e){let r=e.core;if(r)for(let t of Fr)r[t]!==void 0&&(e[t]=r[t])}function A(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function We(e){ne(e,"null loader"),ne(A(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 jt=()=>{let e=Oe();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function zt(e){let r=jt();e=Array.isArray(e)?e:[e];for(let t of e){let o=We(t);r.find(n=>o===n)||r.unshift(o)}}function qt(){return jt()}function Vt(){let e=Oe();e.loaderRegistry=[]}var Wn=/\.([^.]+)$/;async function C(e,r=[],t,o){if(!Gt(e))return null;let n=$(t||{});if(n.core||={},e instanceof Response&&Ht(e)){let a=await e.clone().text(),i=L(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=L(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(m(e)&&(e=await e.slice(0,10).arrayBuffer(),s=L(e,r,n,o)),!s&&e instanceof Response&&Ht(e)){let a=await e.clone().text();s=L(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Jt(e));return s}function Ht(e){let r=pe(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function L(e,r=[],t,o){if(!Gt(e))return null;let n=$(t||{});if(n.core||={},r&&!Array.isArray(r))return We(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...qt()),Mn(s);let a=Fn(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(Jt(e));return a}function Fn(e,r,t,o){let n=B(e),s=pe(e),a=V(n)||o?.url,i=null,c="",f=t?.core&&"type"in t.core?t.core.type:void 0;return f&&f!=="auto"&&(i=$n(r,f),c=i?`match forced by supplied source type ${f}`:""),t?.core?.mimeType&&(i=Nr(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||vn(r,a),c=c||(i?`matched source url ${a}`:""),i=i||Nn(r,a),c=c||(i?`matched url ${a}`:""),i=i||Nr(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||jn(r,e),c=c||(i?`matched initial data ${Zt(e)}`:""),!i&&m(e)&&(i=Dn(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||Nr(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&fr.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function Gt(e){return!(e instanceof Response&&e.status===204)}function Jt(e){let r=B(e),t=pe(e),o="No valid loader found (";o+=r?`${M.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Zt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Mn(e){for(let r of e)We(r)}function Nn(e,r){let t=r&&Wn.exec(r),o=t&&t[1];return o?Un(e,o):null}function Un(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 $n(e,r){for(let t of e)if(g(t)&&t.type===r)return t;return null}function vn(e,r){if(!r)return null;for(let t of e)if(g(t)&&t.testURL(r))return t;return null}function Dn(e,r){for(let t of e)if(g(t)&&t.testData?.(r))return t;return null}function Nr(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 jn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(zn(r,t))return t}else if(ArrayBuffer.isView(r)){if(Qt(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&Qt(r,0,t))return t;return null}function zn(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function Qt(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>qn(e,r,t,n))}function qn(e,r,t,o){if(v(o))return xr(o,e,o.byteLength);switch(typeof o){case"function":return o(U(e));case"string":let n=Ur(e,r,o.length);return o===n;default:return!1}}function Zt(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.byteLength<r+t)return"";let o=new DataView(e),n="";for(let s=0;s<t;s++)n+=String.fromCharCode(o.getUint8(r+s));return n}var Vn=256*1024;function*Kt(e,r){let t=r?.chunkSize||Vn,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),a=e.slice(o,o+s);o+=s,yield U(n.encode(a))}}function*Yt(e,r={}){let{chunkSize:t=262144}=r,o=0;for(;o<e.byteLength;){let n=Math.min(e.byteLength-o,t),s=new ArrayBuffer(n),a=new Uint8Array(e,o,n);new Uint8Array(s).set(a),o+=n,yield s}}async function*Xt(e,r){let t=r?.chunkSize||1048576,o=0;for(;o<e.size;){let n=o+t,s=await e.slice(o,n).arrayBuffer();o=n,yield s}}function $r(e,r){return w?Hn(e,r):Qn(e,r)}async function*Hn(e,r){let t=e.getReader(),o,n=!1,s=!1,a=!1;try{for(;;){let i=o||t.read();o=void 0;let c;try{c=await i}catch(l){throw s=!0,l}let{done:f,value:u}=c;if(f){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield N(u)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(f){i=!0,c=f}try{t.releaseLock()}catch(f){i||(i=!0,c=f)}if(!a&&i)throw c}}async function*Qn(e,r){for await(let t of e)yield N(t)}function re(e,r){if(typeof e=="string")return Kt(e,r);if(e instanceof ArrayBuffer)return Yt(e,r);if(m(e))return Xt(e,r);if(O(e))return $r(e,r);if(d(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return $r(t,r)}throw new Error("makeIterator")}var Fe="Cannot convert supplied data type";function vr(e,r,t){if(r.text&&typeof e=="string")return e;if(ze(e)&&(e=e.buffer),v(e)){let o=qe(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):N(o)}throw new Error(Fe)}async function eo(e,r,t){if(typeof e=="string"||v(e))return vr(e,r,t);if(m(e)&&(e=await Ce(e)),d(e))return await Ve(e),r.binary?await e.arrayBuffer():await e.text();if(O(e)&&(e=re(e,t)),D(e)||X(e))return z(e);throw new Error(Fe)}async function ro(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if(v(e))return N(qe(e));if(m(e)&&(e=await Ce(e)),d(e))return await Ve(e),await e.arrayBuffer();if(O(e)&&(e=re(e,r)),D(e)||X(e))return z(e);throw new Error(Fe)}async function to(e,r){if(we(e)&&(e=await e),ce(e))return e;if(d(e)){await Ve(e);let t=await e.body;if(!t)throw new Error(Fe);return re(t,r)}return m(e)||O(e)?re(e,r):X(e)||D(e)?e:Gn(e)}function Gn(e){if(ArrayBuffer.isView(e))return(function*(){yield N(e)})();if(v(e))return(function*(){yield N(e)})();if(ce(e))return e;if(D(e))return e[Symbol.iterator]();throw new Error(Fe)}function de(e,r){let t=I(),o=e||t,n=o.fetch??o.core?.fetch,s;return typeof n=="function"?s=n:x(n)?s=(a,i)=>T(a,Jn(n,i)):r?.fetch?s=r.fetch:s=T,Br({fetch:s,credentials:o.core?.credentials||[]})}function Jn(e,r){let t={...e,...r};if(e.headers||r?.headers){let o=new Headers(e.headers);new Headers(r?.headers).forEach((n,s)=>o.set(s,n)),t.headers=o}return t}var Dr=new Map,Je=new Map;async function P(e,r,t){if(Ke(e))return e;let o=oo(e,r),n=Je.get(e)?.get(o);if(n)return n;let s=Dr.get(e);s||(s=new Map,Dr.set(e,s));let a=s.get(o);return a||(a=Zn(e,r,t).then(i=>{let c=Je.get(e);return c||(c=new Map,Je.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&Dr.delete(e),i}),s.set(o,a)),await a}function Ze(e){if(Ke(e))return e;let r=oo(e);return Je.get(e)?.get(r)||null}function Ke(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function Zn(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(Ke(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Kn(e,r);return await Yn(o,e.id)}function Kn(e,r){if((r?._workerType||r?.core?._workerType)==="test"){let o=`modules/${e.module}/src/${e.id}-loader.ts`;return typeof window<"u"?`/${o}`:typeof process<"u"&&process.cwd?new URL(o,`file://${process.cwd()}/`).toString():o}throw new Error(`${e.id} loader does not provide a parser implementation. Import a parser-bearing loader directly, or use preload() before parse/load.`)}function oo(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function Yn(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&Ke(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}async function Q(e,r,t,o){r&&!Array.isArray(r)&&!A(r)&&(o=void 0,t=r,r=void 0),t=t||{};let n=e.url||"",a=he(r,o),i=await C(n,a,t);if(!i)return null;if(g(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=H(t,i,a,n);return o=G({url:n,_parse:p,loaders:a},c,o||null),await Xn(i,e,c,o)}async function Xn(e,r,t,o){Se(e),t=be(e.options,t);let n=await P(e,t,o.url);if(n.parseFile)return await n.parseFile(r,t,o);if(n.parse){let a=r.bigsize>0n?Number(r.bigsize):r.size;if(!a)throw new Error(`${e.id} loader - cannot fall back to parse without a file size`);let i=await r.read(0n,a);return await p(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function J(e,r,t,o){!Array.isArray(r)&&!A(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=he(r,o),a=L(e,s,t);if(!a)return null;if(g(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=H(t,a,s),c=B(e),f=()=>{throw new Error("parseSync called parse (which is async")};o=G({url:c,_parseSync:f,_parse:f,loaders:r},i,o||null);let u=Ze(a);return es(u||a,e,i,o)}function es(e,r,t,o){if(r=vr(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 e.preload?new Error(`${e.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function jr(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 e?.data?.numRows!==void 0;default:return!1}}function zr(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 qr(e){return{...e,length:zr(e),batchType:"data"}}async function b(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!A(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=B(e),a=await C(e,r,t);if(!a)return[];let i=H(t,a,n,s);o=G({url:s,_parseInBatches:b,_parse:p,loaders:n},i,o||null);let c=await P(a,i,o.url);return await rs(a,c,e,i,o)}async function rs(e,r,t,o,n){let s=await ts(r,t,o,n);if(!o?.core?.metadata)return s;let a={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:n},data:[],bytesUsed:0};async function*i(c){yield a,yield*c}return i(s)}async function ts(e,r,t,o){let n=await to(r,t),s=await ss(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):os(s,e,t,o)}async function*os(e,r,t,o){let n=await z(e),s=await p(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield ns(s,r)}function ns(e,r){let t=jr(e)?qr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function ss(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function Z(e,r,t,o){let n;!Array.isArray(r)&&!A(r)?(o=void 0,t=r,n=void 0):n=r;let s=de(t||{});return Array.isArray(e)?e.map(i=>no(i,n,t||{},s)):no(e,n,t||{},s)}async function no(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await b(s,r,t):await b(s,r,t)}return Array.isArray(r)?await b(e,r,t):await b(e,r,t)}async function te(e,r,t,o){let n,s;if(!Array.isArray(r)&&!A(r)?(n=[],s=r,o=void 0):(n=r,s=t),!Array.isArray(n)&&g(n)){let c=await Vr(n,e,s),f={fetchFile:T,parse:p,parseFile:Q,parseSync:J,parseInBatches:b,load:te,loadInBatches:Z};return c.createDataSource(e,s||{},f)}if(Array.isArray(n)&&n.length===1&&g(n[0])){let c=await Vr(n[0],e,s),f={fetchFile:T,parse:p,parseFile:Q,parseSync:J,parseInBatches:b,load:te,loadInBatches:Z};return c.createDataSource(e,s||{},f)}if(typeof e=="string"||m(e)){let c=await C(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&g(c))return(await Vr(c,e,s)).createDataSource(e,s||{},{fetchFile:T,parse:p,parseFile:Q,parseSync:J,parseInBatches:b,load:te,loadInBatches:Z});if(c&&typeof e=="string"){let u=(await P(c,s,e)).parseUrl;if(u)return await u(e,s,o)}}let a=de(s),i=e;return typeof e=="string"&&(i=await a(e)),m(e)&&(i=await a(e)),typeof e=="string"&&($(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await p(i,n,s,o):await p(i,n,s,o)}async function Vr(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!g(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var ye=Object.freeze({fetchFile:T,parse:p,parseFile:Q,parseSync:J,parseInBatches:b,load:te,loadInBatches:Z});function G(e,r,t){if(t)return t;let o={...e,fetch:de(r,e),coreApi:e.coreApi||ye};if(o.url){let n=V(o.url);o.baseUrl=n,o.queryString=Ot(o.url),o.filename=M.filename(n),o.baseUrl=M.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function he(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 p(e,r,t,o){r&&!Array.isArray(r)&&!A(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=B(e),a=he(r,o),i=await C(e,a,t);if(!i)return null;if(g(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=H(t,i,a,n);return o=G({url:n,_parse:p,loaders:a},c,o||null),await is(i,e,c,o)}async function is(e,r,t,o){if(Se(e),t=be(e.options,t),d(r)){let{ok:s,redirected:a,status:i,statusText:c,type:f,url:u}=r,l=Object.fromEntries(r.headers.entries());o.response={headers:l,ok:s,redirected:a,status:i,statusText:c,type:f,url:u}}let n=await P(e,t,o.url);return gr(n,t)?(r=await ro(r,t),await wr(n,r,t,o,p)):m(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await eo(r,e,t),await as(n,r,t,o))}async function as(e,r,t,o){if(e.parseText&&typeof r=="string")return await e.parseText(r,t,o);if(e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t,o);if(e.parse)return await e.parse(r,t,o);throw e.parseSync?new Error(`${e.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.id} loader - no parser found and worker is disabled`)}async function so(e,r,t){return await P(e,r,t)}function io(e){return Ze(e)}async function Hr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return U(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Qr(e,r,t),n=[];for await(let s of o)n.push(s);return Le(...n)}throw new Error("Writer could not encode data")}async function ao(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Hr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Qr(e,r,t){if(r.encodeInBatches){let o=cs(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function cs(e){return[{...e,start:0,end:e.length}]}async function fo(e,r,t){let n={...I(),...t};return r.encodeURLtoURL?fs(r,e,n):br(r,n)?await ke(r,e,n):await r.encode(e,n)}function Gr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return U(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function uo(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 lo(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Gr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function mo(e,r,t){if(r.encodeInBatches){let o=us(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Jr(e,r,t,o){if(e=q(e),r=q(r),w||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function fs(e,r,t){if(w)throw new Error(`Writer ${e.name} not supported in browser`);let o=co("input");await new Ie(o,"w").write(r);let s=co("output"),a=await Jr(o,s,e,t);return(await T(a)).arrayBuffer()}function us(e){return[{...e,start:0,end:e.length}]}function co(e){return`/tmp/${e}`}function po(e,r,t){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?L(e,r,{...o,core:{...o?.core,type:"auto"}}):ls(n,r);if(!s)throw new Error("Not a valid source type");return s.createDataSource(e,o,ye)}function ls(e,r){for(let t of r)if(t.type===e)return t;return null}function ho(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=L(e,r,{core:{nothrow:!0}}):n=ms(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function ms(e,r){for(let t of r)if(t.type===e)return t;return null}function yo(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 go="5.0.0-alpha.3",wo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:go,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},bo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:go,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Zr(e,r||{},t),parseSync:Zr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Zr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Zr(e,r,t){return null}async function xo(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,a=s?parseInt(s):0;if(!(a>0)||typeof ReadableStream>"u"||!n.getReader)return e;let i=new ReadableStream({async start(c){let f=n.getReader();await To(c,f,0,a,r,t,o)}});return new Response(i)}async function To(e,r,t,o,n,s,a){try{let{done:i,value:c}=await r.read();if(i){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await To(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var Ye=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this._getFile(r,!0);if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),a=s&&/bytes=(\d+)-(\d+)/.exec(s);if(a){let c=parseInt(a[1]),f=Math.min(parseInt(a[2]),o.size-1);if(c>f){let h=new Response(null,{status:416,headers:{"Content-Range":`bytes */${o.size}`}});return Object.defineProperty(h,"url",{value:r}),h}let u=await o.slice(c,f+1).arrayBuffer(),l=new Response(u,{status:206,headers:{"Content-Range":`bytes ${c}-${f}/${o.size}`}});return Object.defineProperty(l,"url",{value:r}),l}let i=new Response(o);return Object.defineProperty(i,"url",{value:r}),i}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this._getFile(r,!1);if(!o)throw new Error(r);return{size:o.size}}async unlink(r){let t=this._getFile(r,!1);t&&(delete this.files[t.name],delete this.lowerCaseFiles[t.name.toLowerCase()],this.usedFiles[t.name]=!0)}async openReadableFile(r,t){return new Ee(this._getFile(r,!0))}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r.toLowerCase()];return o&&t&&(this.usedFiles[r]=!0),o}};return Eo(ps);})();
15
15
  return __exports__;
16
16
  });