@loaders.gl/core 5.0.0-alpha.6 → 5.0.0-alpha.8

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.
Files changed (47) hide show
  1. package/dist/dist.dev.js +313 -51
  2. package/dist/dist.min.js +3 -3
  3. package/dist/index.cjs +297 -58
  4. package/dist/index.cjs.map +3 -3
  5. package/dist/lib/api/create-data-source.d.ts +1 -1
  6. package/dist/lib/api/create-data-source.d.ts.map +1 -1
  7. package/dist/lib/api/create-data-source.js +23 -2
  8. package/dist/lib/api/create-data-source.js.map +1 -1
  9. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  10. package/dist/lib/api/load-in-batches.js +17 -6
  11. package/dist/lib/api/load-in-batches.js.map +1 -1
  12. package/dist/lib/api/load.d.ts +3 -3
  13. package/dist/lib/api/load.d.ts.map +1 -1
  14. package/dist/lib/api/load.js +14 -5
  15. package/dist/lib/api/load.js.map +1 -1
  16. package/dist/lib/api/parse-file.d.ts.map +1 -1
  17. package/dist/lib/api/parse-file.js +6 -2
  18. package/dist/lib/api/parse-file.js.map +1 -1
  19. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  20. package/dist/lib/api/parse-in-batches.js +6 -1
  21. package/dist/lib/api/parse-in-batches.js.map +1 -1
  22. package/dist/lib/api/parse.d.ts.map +1 -1
  23. package/dist/lib/api/parse.js +6 -1
  24. package/dist/lib/api/parse.js.map +1 -1
  25. package/dist/lib/init.js +1 -1
  26. package/dist/lib/loader-utils/get-fetch-function.js +4 -13
  27. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
  28. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  29. package/dist/lib/loader-utils/option-defaults.js +1 -0
  30. package/dist/lib/loader-utils/option-defaults.js.map +1 -1
  31. package/dist/lib/loader-utils/option-utils.d.ts +7 -0
  32. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  33. package/dist/lib/loader-utils/option-utils.js +29 -0
  34. package/dist/lib/loader-utils/option-utils.js.map +1 -1
  35. package/dist/null-loader.js +1 -1
  36. package/dist/null-worker-node.js +1 -1
  37. package/dist/null-worker.js +1 -1
  38. package/package.json +6 -6
  39. package/src/lib/api/create-data-source.ts +31 -2
  40. package/src/lib/api/load-in-batches.ts +18 -11
  41. package/src/lib/api/load.ts +44 -6
  42. package/src/lib/api/parse-file.ts +15 -2
  43. package/src/lib/api/parse-in-batches.ts +11 -1
  44. package/src/lib/api/parse.ts +11 -1
  45. package/src/lib/loader-utils/get-fetch-function.ts +4 -15
  46. package/src/lib/loader-utils/option-defaults.ts +1 -0
  47. package/src/lib/loader-utils/option-utils.ts +34 -0
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 cr=Object.defineProperty;var qo=Object.getOwnPropertyDescriptor;var Vo=Object.getOwnPropertyNames;var Ho=Object.prototype.hasOwnProperty;var pt=(e,r)=>{for(var t in r)cr(e,t,{get:r[t],enumerable:!0})},Qo=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Vo(r))!Ho.call(e,n)&&n!==t&&cr(e,n,{get:()=>r[n],enumerable:!(o=qo(r,n))||o.enumerable});return e};var Go=e=>Qo(cr({},"__esModule",{value:!0}),e);var Ps={};pt(Ps,{FetchError:()=>be,JSONLoader:()=>Jr,NullLoader:()=>Do,NullWorkerLoader:()=>$o,RequestScheduler:()=>we,_BrowserFileSystem:()=>ir,_fetchProgress:()=>jo,_selectSource:()=>Uo,_unregisterLoaders:()=>ho,assert:()=>fe,concatenateArrayBuffersAsync:()=>J,coreApi:()=>ke,createDataSource:()=>Mo,document:()=>mr,encode:()=>Co,encodeInBatches:()=>Oo,encodeSync:()=>lt,encodeTable:()=>ut,encodeTableAsText:()=>Io,encodeTableInBatches:()=>ft,encodeText:()=>Po,encodeTextSync:()=>Fo,encodeURLtoURL:()=>mt,fetchFile:()=>k,forEach:()=>jr,getLoaderOptions:()=>F,getPathPrefix:()=>Qr,global:()=>lr,isAsyncIterable:()=>se,isBrowser:()=>y,isIterable:()=>Q,isIterator:()=>pe,isPromise:()=>Se,isPureObject:()=>S,isReadableStream:()=>v,isResponse:()=>d,isWorker:()=>hr,isWritableStream:()=>xr,load:()=>ue,loadInBatches:()=>te,makeIterator:()=>ae,makeLineIterator:()=>$r,makeNumberedLineIterator:()=>Dr,makeStream:()=>No,makeTextDecoderIterator:()=>Nr,makeTextEncoderIterator:()=>vr,parse:()=>p,parseFile:()=>X,parseInBatches:()=>x,parseSync:()=>re,preload:()=>Eo,preloadSync:()=>Ro,readArrayBuffer:()=>oo,registerLoaders:()=>lo,resolvePath:()=>K,selectLoader:()=>O,selectLoaderSync:()=>_,self:()=>ur,setLoaderOptions:()=>Xr,setPathPrefix:()=>Hr,window:()=>fr});function fe(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var W={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ur=W.self||W.window||W.global||{},fr=W.window||W.self||W.global||{},lr=W.global||W.self||W.window||{},mr=W.document||{};var y=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),hr=typeof importScripts=="function",dt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Jo=dt&&parseFloat(dt[1])||0;var qe=globalThis,Ko=globalThis.document||{},Ve=globalThis.process||{},Zo=globalThis.console,Us=globalThis.navigator||{};function yt(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 oe(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||yt()}var pr="4.1.1";function le(e,r){if(!e)throw new Error(r||"Assertion failed")}function dr(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 le(Number.isFinite(r)&&r>=0),r}function gt(e){let{logLevel:r,message:t}=e;e.logLevel=dr(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 le(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var ne=()=>{},He=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=gt({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 ne;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return ne;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=dr(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function Xo(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Qe=class{constructor(r,t,o="sessionStorage"){this.storage=Xo(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 wt(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 bt(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Ge;(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"})(Ge||(Ge={}));var en=10;function xt(e){return typeof e!="string"?e:(e=e.toUpperCase(),Ge[e]||Ge.WHITE)}function Tt(e,r,t){return!oe&&typeof e=="string"&&(r&&(e=`\x1B[${xt(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${xt(t)+en}m${e}\x1B[49m`)),e}function kt(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 me(){let e;if(oe()&&qe.performance)e=qe?.performance?.now?.();else if("hrtime"in Ve){let r=Ve?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var he={debug:oe()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},yr={enabled:!0,level:0},L=class extends He{constructor({id:r}={id:""}){super({level:0}),this.VERSION=pr,this._startTs=me(),this._deltaTs=me(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Qe(`__probe-${this.id}__`,{[this.id]:yr}),this.timeStamp(`${this.id} started`),kt(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((me()-this._startTs).toPrecision(10))}getDelta(){return Number((me()-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:he.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:he.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:he.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:he.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:he.debug||he.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||ne,tag:tn(t)}):ne}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||ne})}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||ne})}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;le(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=me();let n=rn(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(yr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...yr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};L.VERSION=pr;function rn(e,r,t){if(typeof r=="string"){let o=t.time?bt(wt(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=Tt(r,t.color,t.background)}return r}function tn(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var hi=new L({id:"@probe.gl/log"});var gr="5.0.0-alpha.6",on=gr[0]>="0"&&gr[0]<="9"?`v${gr}`:"";function nn(){let e=new L({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=on,globalThis.probe||={},globalThis.probe.loaders=e,e}var wr=nn();var At=e=>typeof e=="boolean",g=e=>typeof e=="function",T=e=>e!==null&&typeof e=="object",S=e=>T(e)&&e.constructor==={}.constructor;var br=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,H=e=>T(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",Se=e=>T(e)&&"then"in e&&g(e.then),Q=e=>!!e&&g(e[Symbol.iterator]),se=e=>!!e&&g(e[Symbol.asyncIterator]),pe=e=>!!e&&g(e.next),d=e=>typeof Response<"u"&&e instanceof Response||T(e)&&g(e.arrayBuffer)&&g(e.text)&&g(e.json);var h=e=>typeof Blob<"u"&&e instanceof Blob;var St=e=>T(e)&&g(e.abort)&&g(e.getWriter),_t=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||T(e)&&g(e.tee)&&g(e.cancel)&&g(e.getReader),Lt=e=>T(e)&&g(e.end)&&g(e.write)&&At(e.writable),Bt=e=>T(e)&&g(e.read)&&g(e.pipe)&&At(e.readable),v=e=>_t(e)||Bt(e),xr=e=>St(e)||Lt(e);function _e(e,r){return Et(e||{},r)}function Et(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))S(s)?o[n]=Et(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Tr(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Rt="latest";function sn(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.6"),globalThis._loadersgl_.version}var Le=sn();function $(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var C={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Li=C.self||C.window||C.global||{},Bi=C.window||C.self||C.global||{},Ei=C.global||C.self||C.window||{},Ri=C.document||{};var b=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Wt=typeof window<"u"&&typeof window.orientation<"u",It=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ii=It&&parseFloat(It[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){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??an(`Worker job "${this.name}" was aborted`);this.workerThread.destroy(),this.error(t)}};function an(e){let r=new Error(e);return r.name="AbortError",r}var de=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var kr=new Map;function Ct(e){$(e.source&&!e.url||!e.source&&e.url);let r=kr.get(e.source||e.url);return r||(e.url&&(r=cn(e.url),kr.set(e.url,r)),e.source&&(r=Pt(e.source),kr.set(e.source,r))),$(r),r}function cn(e){if(!e.startsWith("http"))return e;let r=un(e);return Pt(r)}function Pt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function un(e){return`try {
7
+ "use strict";var __exports__=(()=>{var pr=Object.defineProperty;var tn=Object.getOwnPropertyDescriptor;var on=Object.getOwnPropertyNames;var nn=Object.prototype.hasOwnProperty;var At=(e,r)=>{for(var t in r)pr(e,t,{get:r[t],enumerable:!0})},sn=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of on(r))!nn.call(e,n)&&n!==t&&pr(e,n,{get:()=>r[n],enumerable:!(o=tn(r,n))||o.enumerable});return e};var an=e=>sn(pr({},"__esModule",{value:!0}),e);var zs={};At(zs,{FetchError:()=>Le,JSONLoader:()=>tt,NullLoader:()=>Xo,NullWorkerLoader:()=>Yo,RequestScheduler:()=>Se,_BrowserFileSystem:()=>dr,_fetchProgress:()=>en,_selectSource:()=>Jo,_unregisterLoaders:()=>_o,assert:()=>ye,concatenateArrayBuffersAsync:()=>Y,coreApi:()=>Be,createDataSource:()=>Go,document:()=>br,encode:()=>qo,encodeInBatches:()=>Qo,encodeSync:()=>wt,encodeTable:()=>yt,encodeTableAsText:()=>Do,encodeTableInBatches:()=>gt,encodeText:()=>Ho,encodeTextSync:()=>Vo,encodeURLtoURL:()=>bt,fetchFile:()=>B,forEach:()=>Jr,getLoaderOptions:()=>W,getPathPrefix:()=>et,global:()=>wr,isAsyncIterable:()=>ue,isBrowser:()=>g,isIterable:()=>K,isIterator:()=>xe,isPromise:()=>Re,isPureObject:()=>I,isReadableStream:()=>z,isResponse:()=>y,isWorker:()=>xr,isWritableStream:()=>Er,load:()=>de,loadInBatches:()=>se,makeIterator:()=>he,makeLineIterator:()=>Qr,makeNumberedLineIterator:()=>Gr,makeStream:()=>Ko,makeTextDecoderIterator:()=>Hr,makeTextEncoderIterator:()=>Vr,parse:()=>d,parseFile:()=>te,parseInBatches:()=>S,parseSync:()=>ne,preload:()=>No,preloadSync:()=>jo,readArrayBuffer:()=>yo,registerLoaders:()=>So,resolvePath:()=>X,selectLoader:()=>O,selectLoaderSync:()=>P,self:()=>yr,setLoaderOptions:()=>it,setPathPrefix:()=>Xr,window:()=>gr});function ye(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var M={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},yr=M.self||M.window||M.global||{},gr=M.window||M.self||M.global||{},wr=M.global||M.self||M.window||{},br=M.document||{};var g=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),xr=typeof importScripts=="function",kt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),cn=kt&&parseFloat(kt[1])||0;var Ke=globalThis,un=globalThis.document||{},Ze=globalThis.process||{},fn=globalThis.console,Qs=globalThis.navigator||{};function St(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 ae(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||St()}var Tr="4.1.1";function ge(e,r){if(!e)throw new Error(r||"Assertion failed")}function Ar(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 ge(Number.isFinite(r)&&r>=0),r}function Lt(e){let{logLevel:r,message:t}=e;e.logLevel=Ar(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 ge(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var ce=()=>{},Ye=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=Lt({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 ce;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return ce;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=Ar(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function hn(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Xe=class{constructor(r,t,o="sessionStorage"){this.storage=hn(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 _t(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 Et(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var er;(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"})(er||(er={}));var mn=10;function Bt(e){return typeof e!="string"?e:(e=e.toUpperCase(),er[e]||er.WHITE)}function Rt(e,r,t){return!ae&&typeof e=="string"&&(r&&(e=`\x1B[${Bt(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Bt(t)+mn}m${e}\x1B[49m`)),e}function Ct(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 we(){let e;if(ae()&&Ke.performance)e=Ke?.performance?.now?.();else if("hrtime"in Ze){let r=Ze?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var be={debug:ae()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},kr={enabled:!0,level:0},F=class extends Ye{constructor({id:r}={id:""}){super({level:0}),this.VERSION=Tr,this._startTs=we(),this._deltaTs=we(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Xe(`__probe-${this.id}__`,{[this.id]:kr}),this.timeStamp(`${this.id} started`),Ct(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((we()-this._startTs).toPrecision(10))}getDelta(){return Number((we()-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:be.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:be.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:be.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:be.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:be.debug||be.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||ce,tag:pn(t)}):ce}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||ce})}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||ce})}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;ge(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=we();let n=dn(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(kr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...kr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};F.VERSION=Tr;function dn(e,r,t){if(typeof r=="string"){let o=t.time?Et(_t(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=Rt(r,t.color,t.background)}return r}function pn(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var ki=new F({id:"@probe.gl/log"});var Sr="5.0.0-alpha.8",yn=Sr[0]>="0"&&Sr[0]<="9"?`v${Sr}`:"";function gn(){let e=new F({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=yn,globalThis.probe||={},globalThis.probe.loaders=e,e}var Lr=gn();var It=e=>typeof e=="boolean",w=e=>typeof e=="function",A=e=>e!==null&&typeof e=="object",I=e=>A(e)&&e.constructor==={}.constructor;var _r=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,J=e=>A(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",Re=e=>A(e)&&"then"in e&&w(e.then),K=e=>!!e&&w(e[Symbol.iterator]),ue=e=>!!e&&w(e[Symbol.asyncIterator]),xe=e=>!!e&&w(e.next),y=e=>typeof Response<"u"&&e instanceof Response||A(e)&&w(e.arrayBuffer)&&w(e.text)&&w(e.json);var m=e=>typeof Blob<"u"&&e instanceof Blob;var Wt=e=>A(e)&&w(e.abort)&&w(e.getWriter),Pt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||A(e)&&w(e.tee)&&w(e.cancel)&&w(e.getReader),Ot=e=>A(e)&&w(e.end)&&w(e.write)&&It(e.writable),vt=e=>A(e)&&w(e.read)&&w(e.pipe)&&It(e.readable),z=e=>Pt(e)||vt(e),Er=e=>Wt(e)||Ot(e);function Ce(e,r){return Ft(e||{},r)}function Ft(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))I(s)?o[n]=Ft(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Br(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Ut="latest";function wn(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.8"),globalThis._loadersgl_.version}var Ie=wn();function q(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var $={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Fi=$.self||$.window||$.global||{},Ui=$.window||$.self||$.global||{},Mi=$.global||$.self||$.window||{},$i=$.document||{};var x=typeof process!="object"||String(process)!=="[object process]"||process.browser;var $t=typeof window<"u"&&typeof window.orientation<"u",Mt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ni=Mt&&parseFloat(Mt[1])||0;var We=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??bn(`Worker job "${this.name}" was aborted`);this.workerThread.destroy(),this.error(t)}};function bn(e){let r=new Error(e);return r.name="AbortError",r}var Te=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var Rr=new Map;function Nt(e){q(e.source&&!e.url||!e.source&&e.url);let r=Rr.get(e.source||e.url);return r||(e.url&&(r=xn(e.url),Rr.set(e.url,r)),e.source&&(r=jt(e.source),Rr.set(e.source,r))),q(r),r}function xn(e){if(!e.startsWith("http"))return e;let r=Tn(e);return jt(r)}function jt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function Tn(e){return`try {
8
8
  importScripts('${e}');
9
9
  } catch (error) {
10
10
  console.error(error);
11
11
  throw error;
12
- }`}function Ar(e,r=!0,t){let o=t||new Set;if(e){if(Ft(e))o.add(e);else if(Ft(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Ar(e[n],r,o)}}return t===void 0?Array.from(o):[]}function Ft(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 ye(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]=ye(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Sr=()=>{},G=class{name;source;url;getUrl;loadWorker;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&b||typeof de<"u"&&!b}constructor(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r;$(o||n||s||a),this.name=t,this.source=o,this.url=n,this.getUrl=s,this.loadWorker=a,this.onMessage=Sr,this.onError=i=>console.log(i),this.worker=b?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Sr,this.onError=Sr,this.worker.terminate(),this.terminated=!0}unref(){!b&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!b&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||Ar(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url||"built-in worker factory"}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){if(this.loadWorker)try{let o=this.loadWorker();if(o)return this._initializeBrowserWorker(o)}catch(o){if(!this.source&&!this.url&&!this.getUrl)throw o}let r=this.url||this.getUrl?.();this._loadableURL=Ct({source:this.source,url:r});let t=new Worker(this._loadableURL,{name:this.name});return this._initializeBrowserWorker(t)}_initializeBrowserWorker(r){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 de(n,{eval:!1,type:s})}else if(this.source)r=new de(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 Ee=class{name="unnamed";source;url;getUrl;loadWorker;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return G.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.getUrl=r.getUrl,this.loadWorker=r.loadWorker,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){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 G({name:r,source:this.source,url:this.url,getUrl:this.getUrl,loadWorker:this.loadWorker})}return null}_getMaxConcurrency(){return Wt?this.maxMobileConcurrency:this.maxConcurrency}};var fn={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Ot=new WeakMap,ln=1,P=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return G.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...fn},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,getUrl:s,loadWorker:a}=r,i=mn(r),c=this.workerPools.get(i);return c||(c=new Ee({name:t,source:o,url:n,getUrl:s,loadWorker:a}),c.setProps(this._getWorkerPoolProps()),this.workerPools.set(i,c)),c}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};function mn(e){let{name:r,source:t,url:o,urlKey:n,loadWorker:s}=e,a=t?`source:${t}`:"",i=o||n?`url:${o||n}`:"",c=s?`loadWorker:${hn(s)}`:"";return[r,a,i,c].filter(Boolean).join("|")}function hn(e){let r=Ot.get(e);return r||(r=ln++,Ot.set(e,r)),r}var Re=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(r){return this.enqueue(r)}enqueue(r){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let t=this._settlers.shift();r instanceof Error?t.reject(r):t.resolve({value:r})}else this._values.push(r)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let r=this._values.shift();return r instanceof Error?Promise.reject(r):Promise.resolve({done:!1,value:r})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((r,t)=>{this._settlers.push({resolve:r,reject:t})})}};var Mt=new Set;function _r(e){let r=e.version!==Le?` (worker-utils@${Le})`:"";return`${e.name}@${e.version}${r}`}function Lr(e,r={}){let t=r[e.id]||{},o=b?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,n=t.workerUrl;!n&&e.id==="compression"&&(n=r.workerUrl);let s=r._workerType||r?.core?._workerType;return!n&&s==="test"&&(b?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),n||null}function Br(e,r={}){let t=Lr(e,r),o=typeof e.worker=="string"?e.worker:null,n=t||o||Er(e,!0);return $(n),n}function Er(e,r=!1){let t=b?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,o=e.version;o==="latest"&&(o=Rt);let n=o?`@${o}`:"",s=`https://unpkg.com/@loaders.gl/${e.module}${n}/dist/${t}`;return r&&pn(e,s),s}function pn(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;Mt.has(t)||(Mt.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function Rr(e,r){if(!P.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||e.loadWorker||t?.workerUrl)&&r?.worker)}async function Ie(e,r,t={},o={},n={}){Ut(t.signal);let s=_r(e),i=P.getWorkerFarm(t).getWorkerPool(vt(e,t,s)),c=t.jobName||e.name,u=await i.startJob(c,$t.bind(null,o)),f=()=>u.abort(Wr(t.signal));t.signal?.addEventListener("abort",f,{once:!0}),t.signal?.aborted&&f();try{let{signal:l,...m}=t,U=ye(m),V=ye(n);return u.isRunning&&u.postMessage("process",{input:r,options:U,context:V}),(await u.result).result}finally{t.signal?.removeEventListener("abort",f)}}function Ir(e,r,t={},o={},n={}){return dn(e,r,t,o,n)}async function*dn(e,r,t,o,n){Ut(t.signal);let s=_r(e),i=P.getWorkerFarm(t).getWorkerPool(vt(e,t,s)),c=new Re,u=yn(r),f=!1,l=!1,m=Promise.resolve(),U=new Error("Worker batch job failed"),V=()=>{f||(f=!0,c.close())},ze=R=>{f||(f=!0,c.enqueue(U),c.close())},E=await i.startJob(t.jobName||e.name,(R,Ae,N)=>{switch(Ae){case"input-request":m=m.then(async()=>{let I=await u.next();R.isRunning&&(I.done?(l=!0,R.postMessage("input-done",{})):R.postMessage("input-batch",{input:I.value}))}).catch(I=>R.abort(I));break;case"output-batch":c.push(N.result);break;case"done":R.done(N),V();break;case"error":{let I=new Error(N.error||"Worker batch processing failed");R.error(I),ze(I);break}case"process":$t(o,R,Ae,N);break;default:{let I=new Error(`Unexpected worker batch message: ${Ae}`);R.error(I),ze(I);break}}}),ar=()=>E.abort(Wr(t.signal));t.signal?.addEventListener("abort",ar,{once:!0}),t.signal?.aborted&&ar(),E.result.catch(ze);try{let{signal:R,...Ae}=t;E.isRunning&&E.postMessage("process-in-batches",{options:ye(Ae),context:ye(n)});try{for await(let N of c)yield N,E.isRunning&&E.postMessage("output-ack",{})}catch(N){throw N===U&&await E.result,N}await E.result}finally{t.signal?.removeEventListener("abort",ar),E.isRunning&&E.abort(Nt("Worker batch iterator was closed")),l||gn(u)}}function Ut(e){if(e?.aborted)throw Wr(e)}function Wr(e){return e?.reason??Nt("Worker job was aborted")}function Nt(e){let r=new Error(e);return r.name="AbortError",r}function yn(e){return Symbol.asyncIterator in e?e[Symbol.asyncIterator]():(async function*(){yield*e})()}function gn(e){try{Promise.resolve(e.return?.()).catch(()=>{})}catch{}}function vt(e,r,t){if(r.source)return{name:t,source:r.source};let o=Lr(e,r);return o?{name:t,url:o}:b&&e.loadWorker?{name:t,loadWorker:e.loadWorker,getUrl:()=>Br(e,r),urlKey:Er(e)}:{name:t,url:Br(e,r)}}async function $t(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 We(e,r=Le){$(e,"no worker provided");let t=e.version;return!(!r||!t)}function Je(e,r){let t=Or(r),o=t._nodeWorkers;return!b&&!o||e.id==="excel"&&r?.excel?.shape==="arrow-table"||e.id==="ply"&&r?.ply?.shape==="arrow-table"||e.id==="csv"&&!wn(r)?!1:!!Rr(e,t)}function Cr(e,r,t,o,n=e){if(!Je(e,t))return!1;if(t?.core?.worker!=="auto"||!n.getWorkerEstimate)return!0;try{let s=n.getWorkerEstimate(r,t,o);return s===void 0||!Number.isFinite(s)||s<0||s>1?!0:s>=(t.core?.workerThreshold??.1)}catch{return!0}}async function Pr(e,r,t,o,n,s){let a=s||Dt(t),i=await Ie(e,r,{...Or(t,e),signal:a},{process:async(c,u,f,l)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let m=o?{...o,...l||{}}:void 0;return await jt(n,c,u,m)}},zt(o));return bn(e)?e.deserializeWorkerResult(i,t,o):i}async function*Fr(e,r,t,o,n,s){let a=s||Dt(t),i=Ir(e,r,{...Or(t),signal:a},{process:async(c,u,f,l)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let m=o?{...o,...l||{}}:void 0;return await jt(n,c,u,m)}},zt(o));for await(let c of i)yield e.deserializeWorkerBatch?e.deserializeWorkerBatch(c,t,o):c}function Dt(e){let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function jt(e,r,t,o){return e.length<=2?e(r,t):e(r,void 0,t,o)}function Or(e={},r){let t=JSON.parse(JSON.stringify(e)),o={...t.core,...t};return o.worker==="auto"&&(o.worker=!0),r&&(o._workerLoaderId=r.id),o}function zt(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 wn(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function bn(e){return typeof e.deserializeWorkerResult=="function"}function Mr(e,r){if(!P.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!y&&!t?!1:!!(e.worker&&o)}function Ur(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 Ce(...e){return qt(e)}function qt(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*Nr(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*vr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*$r(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
12
+ }`}function Cr(e,r=!0,t){let o=t||new Set;if(e){if(Dt(e))o.add(e);else if(Dt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Cr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function Dt(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 Ae(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]=Ae(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var Ir=()=>{},Z=class{name;source;url;getUrl;loadWorker;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&x||typeof Te<"u"&&!x}constructor(r){let{name:t,source:o,url:n,getUrl:s,loadWorker:a}=r;q(o||n||s||a),this.name=t,this.source=o,this.url=n,this.getUrl=s,this.loadWorker=a,this.onMessage=Ir,this.onError=i=>console.log(i),this.worker=x?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=Ir,this.onError=Ir,this.worker.terminate(),this.terminated=!0}unref(){!x&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!x&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||Cr(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url||"built-in worker factory"}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){if(this.loadWorker)try{let o=this.loadWorker();if(o)return this._initializeBrowserWorker(o)}catch(o){if(!this.source&&!this.url&&!this.getUrl)throw o}let r=this.url||this.getUrl?.();this._loadableURL=Nt({source:this.source,url:r});let t=new Worker(this._loadableURL,{name:this.name});return this._initializeBrowserWorker(t)}_initializeBrowserWorker(r){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 Te(n,{eval:!1,type:s})}else if(this.source)r=new Te(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 Pe=class{name="unnamed";source;url;getUrl;loadWorker;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];activeJobs=new Set;count=0;isDestroyed=!1;static isSupported(){return Z.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.getUrl=r.getUrl,this.loadWorker=r.loadWorker,this.setProps(r)}destroy(r=new Error("Worker pool was destroyed")){this.activeJobs.forEach(o=>o.abort(r)),this.jobQueue.splice(0).forEach(o=>o.onReject(r)),this.idleQueue.forEach(o=>o.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)){if(this.isDestroyed)return Promise.reject(new Error("Worker pool was destroyed"));let n=new Promise((s,a)=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s,onReject:a}),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 We(t.name,r);this.activeJobs.add(o),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.activeJobs.delete(o),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 Z({name:r,source:this.source,url:this.url,getUrl:this.getUrl,loadWorker:this.loadWorker})}return null}_getMaxConcurrency(){return $t?this.maxMobileConcurrency:this.maxConcurrency}};var An={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},zt=new WeakMap,kn=1,N=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return Z.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...An},this.setProps(r),this.workerPools=new Map}destroy(r){for(let t of this.workerPools.values())t.destroy(r);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,getUrl:s,loadWorker:a}=r,i=Sn(r),c=this.workerPools.get(i);return c||(c=new Pe({name:t,source:o,url:n,getUrl:s,loadWorker:a}),c.setProps(this._getWorkerPoolProps()),this.workerPools.set(i,c)),c}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};function Sn(e){let{name:r,source:t,url:o,urlKey:n,loadWorker:s}=e,a=t?`source:${t}`:"",i=o||n?`url:${o||n}`:"",c=s?`loadWorker:${Ln(s)}`:"";return[r,a,i,c].filter(Boolean).join("|")}function Ln(e){let r=zt.get(e);return r||(r=kn++,zt.set(e,r)),r}var Oe=class{_values;_settlers;_closed;constructor(){this._values=[],this._settlers=[],this._closed=!1}[Symbol.asyncIterator](){return this}push(r){return this.enqueue(r)}enqueue(r){if(this._closed)throw new Error("Closed");if(this._settlers.length>0){if(this._values.length>0)throw new Error("Illegal internal state");let t=this._settlers.shift();r instanceof Error?t.reject(r):t.resolve({value:r})}else this._values.push(r)}close(){for(;this._settlers.length>0;)this._settlers.shift().resolve({done:!0});this._closed=!0}next(){if(this._values.length>0){let r=this._values.shift();return r instanceof Error?Promise.reject(r):Promise.resolve({done:!1,value:r})}if(this._closed){if(this._settlers.length>0)throw new Error("Illegal internal state");return Promise.resolve({done:!0,value:void 0})}return new Promise((r,t)=>{this._settlers.push({resolve:r,reject:t})})}};var qt=new Set;function Wr(e){let r=e.version!==Ie?` (worker-utils@${Ie})`:"";return`${e.name}@${e.version}${r}`}function Pr(e,r={}){let t=r[e.id]||{},o=x?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,n=t.workerUrl;!n&&e.id==="compression"&&(n=r.workerUrl);let s=r._workerType||r?.core?._workerType;return!n&&s==="test"&&(x?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),n||null}function Or(e,r={}){let t=Pr(e,r),o=typeof e.worker=="string"?e.worker:null,n=t||o||vr(e,!0);return q(n),n}function vr(e,r=!1){let t=x?e.workerFile||`${e.id}-worker.js`:e.workerNode||`${e.id}-worker-node.js`,o=e.version;o==="latest"&&(o=Ut);let n=o?`@${o}`:"",s=`https://unpkg.com/@loaders.gl/${e.module}${n}/dist/${t}`;return r&&_n(e,s),s}function _n(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;qt.has(t)||(qt.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function Fr(e,r){if(!N.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||e.loadWorker||t?.workerUrl)&&r?.worker)}async function ve(e,r,t={},o={},n={}){Ht(t.signal);let s=Wr(e),i=N.getWorkerFarm(t).getWorkerPool(Qt(e,t,s)),c=t.jobName||e.name,u=await i.startJob(c,Gt.bind(null,o)),l=()=>u.abort(Mr(t.signal));t.signal?.addEventListener("abort",l,{once:!0}),t.signal?.aborted&&l();try{let{signal:f,...h}=t,L=Ae(h),C=Ae(n);return u.isRunning&&u.postMessage("process",{input:r,options:L,context:C}),(await u.result).result}finally{t.signal?.removeEventListener("abort",l)}}function Ur(e,r,t={},o={},n={}){return En(e,r,t,o,n)}async function*En(e,r,t,o,n){Ht(t.signal);let s=Wr(e),i=N.getWorkerFarm(t).getWorkerPool(Qt(e,t,s)),c=new Oe,u=Bn(r),l=!1,f=!1,h=Promise.resolve(),L=new Error("Worker batch job failed"),C=()=>{l||(l=!0,c.close())},j=_=>{l||(l=!0,c.enqueue(L),c.close())},p=await i.startJob(t.jobName||e.name,(_,D,v)=>{switch(D){case"input-request":h=h.then(async()=>{let E=await u.next();_.isRunning&&(E.done?(f=!0,_.postMessage("input-done",{})):_.postMessage("input-batch",{input:E.value}))}).catch(E=>_.abort(E));break;case"output-batch":c.push(v.result);break;case"done":_.done(v),C();break;case"error":{let E=new Error(v.error||"Worker batch processing failed");_.error(E),j(E);break}case"process":Gt(o,_,D,v);break;default:{let E=new Error(`Unexpected worker batch message: ${D}`);_.error(E),j(E);break}}}),pe=()=>p.abort(Mr(t.signal));t.signal?.addEventListener("abort",pe,{once:!0}),t.signal?.aborted&&pe(),p.result.catch(j);try{let{signal:_,...D}=t;p.isRunning&&p.postMessage("process-in-batches",{options:Ae(D),context:Ae(n)});try{for await(let v of c)yield v,p.isRunning&&p.postMessage("output-ack",{})}catch(v){throw v===L&&await p.result,v}await p.result}finally{t.signal?.removeEventListener("abort",pe),p.isRunning&&p.abort(Vt("Worker batch iterator was closed")),f||Rn(u)}}function Ht(e){if(e?.aborted)throw Mr(e)}function Mr(e){return e?.reason??Vt("Worker job was aborted")}function Vt(e){let r=new Error(e);return r.name="AbortError",r}function Bn(e){return Symbol.asyncIterator in e?e[Symbol.asyncIterator]():(async function*(){yield*e})()}function Rn(e){try{Promise.resolve(e.return?.()).catch(()=>{})}catch{}}function Qt(e,r,t){if(r.source)return{name:t,source:r.source};let o=Pr(e,r);return o?{name:t,url:o}:x&&e.loadWorker?{name:t,loadWorker:e.loadWorker,getUrl:()=>Or(e,r),urlKey:vr(e)}:{name:t,url:Or(e,r)}}async function Gt(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 Fe(e,r=Ie){q(e,"no worker provided");let t=e.version;return!(!r||!t)}function rr(e,r){if(r?.core?.credentials?.some(n=>n.type==="request"||"token"in n&&typeof n.token=="function"))return!1;let t=Dr(r),o=t._nodeWorkers;return!x&&!o||e.id==="las"&&(r?.las?.shape??"arrow-table")==="arrow-table"||e.id==="csv"&&!Cn(r)?!1:!!Fr(e,t)}function $r(e,r,t,o,n=e){if(!rr(e,t))return!1;if(t?.core?.worker!=="auto"||!n.getWorkerEstimate)return!0;try{let s=n.getWorkerEstimate(r,t,o);return s===void 0||!Number.isFinite(s)||s<0||s>1?!0:s>=(t.core?.workerThreshold??.1)}catch{return!0}}async function Nr(e,r,t,o,n,s){let a=s||Jt(t),i=await ve(e,r,{...Dr(t,e),signal:a},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let h=o?{...o,...f||{}}:void 0;return await Kt(n,c,u,h)}},Zt(o));return In(e)?e.deserializeWorkerResult(i,t,o):i}async function*jr(e,r,t,o,n,s){let a=s||Jt(t),i=Ur(e,r,{...Dr(t),signal:a},{process:async(c,u,l,f)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let h=o?{...o,...f||{}}:void 0;return await Kt(n,c,u,h)}},Zt(o));for await(let c of i)yield e.deserializeWorkerBatch?e.deserializeWorkerBatch(c,t,o):c}function Jt(e){let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function Kt(e,r,t,o){return e.length<=2?e(r,t):e(r,void 0,t,o)}function Dr(e={},r){let t=JSON.parse(JSON.stringify({...e,...e.core?{core:{...e.core,authentications:void 0}}:{}})),o={...t.core,...t};return o.worker==="auto"&&(o.worker=!0),r&&(o._workerLoaderId=r.id),o}function Zt(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 Cn(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function In(e){return typeof e.deserializeWorkerResult=="function"}function zr(e,r){if(!N.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!g&&!t?!1:!!(e.worker&&o)}function qr(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 Ue(...e){return Yt(e)}function Yt(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*Hr(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*Vr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*Qr(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*Dr(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function jr(e,r){let t=Tn(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function J(e){let r=[];for await(let t of e)r.push(xn(t));return Ce(...r)}function xn(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return Vt(r,t,o)}return Vt(e)}function Vt(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 Tn(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return kn(r)}return e}function kn(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 Pe(){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 ie=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=Pe(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Pe()-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 ge=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 ie?n=r:n=new ie(t,o),this.stats[t]=n),n}};var An="Queued Requests",Sn="Active Requests",_n="Cancelled Requests",Ln="Queued Requests Ever",Bn="Active Requests Ever",En={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},we=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...En,...r},this.stats=new ge({id:this.props.id}),this.stats.get(An),this.stats.get(Sn),this.stats.get(_n),this.stats.get(Ln),this.stats.get(Bn)}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 Ht=Symbol("loaders.gl.authenticated-fetch"),zr=new WeakMap;function qr(e){let r=e.fetch||((n,s)=>fetch(n,s));if(!e.credentials.length||r[Ht]===e.credentials)return r;let o=async(n,s={})=>{let a=Wn(n);if(!a)return r(n,s);let i=await Qt(a,s,e.credentials),c=await r(i.url,i.options),u=i.credentials.filter(({credential:m})=>typeof m.token=="function"&&m.refreshStatusCodes.includes(c.status));if(!u.length||!Cn(s))return c;if(s.signal?.aborted)throw Gt();let f=new Map;if(await Promise.all(u.map(async({credential:m})=>{let U=await Rn(m,n,c);U&&f.set(m,U)})),!f.size)return c;if(await c.body?.cancel().catch(()=>{}),s.signal?.aborted)throw Gt();let l=await Qt(a,s,e.credentials,f,i.credentials);return r(l.url,l.options)};return Object.defineProperty(o,Ht,{value:e.credentials}),o}async function Qt(e,r,t,o=new Map,n=[]){let s=new URL(e),a=new Headers(r.headers),i=[],c=new Map(n.map(({credential:u,token:f})=>[u,f]));for(let u of t){if(!u.origins.includes(s.origin))continue;let f=o.get(u),l=c.get(u),m=u.type==="query-parameter"&&l!==void 0,U=u.type==="header"&&l!==void 0;if(u.type==="query-parameter"&&s.searchParams.has(u.name)&&!m||u.type==="header"&&a.has(u.name)&&!U)continue;let V=f??l??await In(u.token,{url:e.toString(),reason:"request"});V&&(u.type==="query-parameter"?s.searchParams.set(u.name,V):a.set(u.name,`${u.prefix||""}${V}`),i.push({credential:u,token:V}))}return{url:s.toString(),options:{...r,headers:a},credentials:i}}async function Rn(e,r,t){let o=zr.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(()=>zr.delete(e));return zr.set(e,s),s}async function In(e,r){return typeof e=="function"?e(r):e}function Wn(e){try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r:null}catch{return null}}function Cn(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 Gt(){return new DOMException("The operation was aborted.","AbortError")}var Vr="",Jt={};function Hr(e){Vr=e}function Qr(){return Vr}function K(e){for(let r in Jt)if(e.startsWith(r)){let t=Jt[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Vr}${e}`),e}var D={};pt(D,{dirname:()=>Fn,filename:()=>Pn,join:()=>On,resolve:()=>Mn});function Kt(){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 Fn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function On(...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 Mn(...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=Kt()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===Fe)}return t=Un(t,!o),o?`/${t}`:t.length>0?t:"."}var Fe=47,Gr=46;function Un(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===Fe)break;s=Fe}if(s===Fe){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==Gr||t.charCodeAt(t.length-2)!==Gr){if(t.length>2){let c=t.length-1,u=c;for(;u>=0&&t.charCodeAt(u)!==Fe;--u);if(u!==c){t=u===-1?"":t.slice(0,u),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===Gr&&n!==-1?++n:n=-1}return t}var Nn="5.0.0-alpha.6",Jr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Nn,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:Zt,parse:async e=>Zt(new TextDecoder().decode(e)),options:{}};function Zt(e){return JSON.parse(e)}function Ze(e){return e&&typeof e=="object"&&e.isBuffer}function j(e){if(Ze(e))return e;if(e instanceof ArrayBuffer)return e;if(br(e))return Ke(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 z(e){if(e instanceof ArrayBuffer)return e;if(br(e))return Ke(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Ke(r,t,o)}function Ke(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 Ye(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var Oe=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 Me=new Error("Not implemented"),Ue=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw y?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 Me}async write(r,t,o){throw Me}async stat(){throw Me}async truncate(r){throw Me}async append(r){throw Me}async close(){}};function w(e){return!!(e&&typeof e=="object"&&"createDataSource"in e)}var be=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var vn=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,$n=/^([-\w.]+\/[-\w.+]+)/;function Kr(e,r){return e.toLowerCase()===r.toLowerCase()}function Yt(e){let r=$n.exec(e);return r?r[1]:e}function Zr(e){let r=vn.exec(e);return r?r[1]:""}var Xt=/\?.*/;function eo(e){let r=e.match(Xt);return r&&r[0]}function Z(e){return e.replace(Xt,"")}function ro(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:h(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function xe(e){if(d(e)){let r=e.headers.get("content-type")||"",t=Z(e.url);return Yt(r)||Zr(t)}return h(e)?e.type||"":typeof e=="string"?Zr(e):""}function to(e){return d(e)?e.headers["content-length"]||-1:h(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ne(e){if(d(e))return e;let r={},t=to(e);t>=0&&(r["content-length"]=String(t));let o=B(e),n=xe(e);n&&(r["content-type"]=n);let s=await jn(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 Xe(e){if(!e.ok)throw await Dn(e)}async function Dn(e){let r=ro(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 be(t,o)}async function jn(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,${zn(t)}`}return null}function zn(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function qn(e){return!Vn(e)&&!Hn(e)}function Vn(e){return e.startsWith("http:")||e.startsWith("https:")}function Hn(e){return e.startsWith("data:")}async function k(e,r){if(typeof e=="string"){let t=K(e);return qn(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ne(e)}async function oo(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await Qn(o)}async function Qn(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 ve=new L({id:"loaders.gl"}),er=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},rr=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 tr={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new rr,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,workerThreshold:.1,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:y,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},no={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 Yr=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","workerThreshold","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function $e(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function F(){let e=$e();return e.globalOptions=e.globalOptions||{...tr,core:{...tr.core}},q(e.globalOptions)}function Xr(e){let r=$e(),t=F();r.globalOptions=co(t,e),Tr(e.modules)}function Y(e,r,t,o){t=t||[],t=Array.isArray(t)?t:[t],Gn(e,t),so(e);let n=q(co(r,e,o));return so(n),n}function q(e){let r=Yn(e);uo(r);for(let t of Yr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function Gn(e,r){io(e,null,tr,no,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]||{};io(o,t.id,n,s,r)}}function so(e){let r=e.core?.workerThreshold;if(r!==void 0&&(!Number.isFinite(r)||r<0||r>1))throw new Error("core.workerThreshold must be a finite number between 0 and 1")}function io(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&T(e[i]),u=i==="baseUri"&&!r,f=i==="workerUrl"&&r;if(!(i in t)&&!u&&!f){if(i in o)ve.level>0&&ve.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&ve.level>0){let l=Jn(i,n);ve.warn(`${s} loader option '${a}${i}' not recognized. ${l}`)()}}}}function Jn(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 co(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),uo(n),n.core?.log===null&&(n.core={...n.core,log:new er}),ao(n,q(F()));let s=q(r);return ao(n,s),Kn(n,s,e),Zn(n,t),Xn(n),n}function Kn(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!S(n)||!("shape"in n))return;let s=F()[t.id];if(S(s)&&"shape"in s)return;let a=r[t.id];if(S(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...S(i)?i:{},shape:o}}function ao(e,r){for(let t in r)if(t in r){let o=r[t];S(o)&&S(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Zn(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=D.dirname(Z(r)))}function Yn(e){let r={...e};return e.core&&(r.core={...e.core}),r}function uo(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of Yr)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 Xn(e){let r=e.core;if(r)for(let t of Yr)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 De(e){fe(e,"null loader"),fe(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 fo=()=>{let e=$e();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function lo(e){let r=fo();e=Array.isArray(e)?e:[e];for(let t of e){let o=De(t);r.find(n=>o===n)||r.unshift(o)}}function mo(){return fo()}function ho(){let e=$e();e.loaderRegistry=[]}var es=/\.([^.]+)$/;async function O(e,r=[],t,o){if(!go(e))return null;let n=q(t||{});if(n.core||={},e instanceof Response&&po(e)){let a=await e.clone().text(),i=_(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=_(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),s=_(e,r,n,o)),!s&&e instanceof Response&&po(e)){let a=await e.clone().text();s=_(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(wo(e));return s}function po(e){let r=xe(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function _(e,r=[],t,o){if(!go(e))return null;let n=q(t||{});if(n.core||={},r&&!Array.isArray(r))return De(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...mo()),ts(s);let a=rs(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(wo(e));return a}function rs(e,r,t,o){let n=B(e),s=xe(e),a=Z(n)||o?.url,i=null,c="",u=t?.core&&"type"in t.core?t.core.type:void 0;return u&&u!=="auto"&&(i=ss(r,u),c=i?`match forced by supplied source type ${u}`:""),t?.core?.mimeType&&(i=et(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||is(r,a),c=c||(i?`matched source url ${a}`:""),i=i||os(r,a),c=c||(i?`matched url ${a}`:""),i=i||et(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||cs(r,e),c=c||(i?`matched initial data ${bo(e)}`:""),!i&&h(e)&&(i=as(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||et(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&wr.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function go(e){return!(e instanceof Response&&e.status===204)}function wo(e){let r=B(e),t=xe(e),o="No valid loader found (";o+=r?`${D.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?bo(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function ts(e){for(let r of e)De(r)}function os(e,r){let t=r&&es.exec(r),o=t&&t[1];return o?ns(e,o):null}function ns(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 ss(e,r){for(let t of e)if(w(t)&&t.type===r)return t;return null}function is(e,r){if(!r)return null;for(let t of e)if(w(t)&&t.testURL(r))return t;return null}function as(e,r){for(let t of e)if(w(t)&&t.testData?.(r))return t;return null}function et(e,r){for(let t of e)if(t.mimeTypes?.some(o=>Kr(r,o))||Kr(r,`application/x.${t.id}`))return t;return null}function cs(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(us(r,t))return t}else if(ArrayBuffer.isView(r)){if(yo(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&yo(r,0,t))return t;return null}function us(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function yo(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>fs(e,r,t,n))}function fs(e,r,t,o){if(H(o))return Ur(o,e,o.byteLength);switch(typeof o){case"function":return o(z(e));case"string":let n=rt(e,r,o.length);return o===n;default:return!1}}function bo(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?rt(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?rt(e,0,r):""}function rt(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 ls=256*1024;function*xo(e,r){let t=r?.chunkSize||ls,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 z(n.encode(a))}}function*To(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*ko(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 tt(e,r){return y?ms(e,r):hs(e,r)}async function*ms(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:u,value:f}=c;if(u){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield j(f)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(u){i=!0,c=u}try{t.releaseLock()}catch(u){i||(i=!0,c=u)}if(!a&&i)throw c}}async function*hs(e,r){for await(let t of e)yield j(t)}function ae(e,r){if(typeof e=="string")return xo(e,r);if(e instanceof ArrayBuffer)return To(e,r);if(h(e))return ko(e,r);if(v(e))return tt(e,r);if(d(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return tt(t,r)}throw new Error("makeIterator")}var je="Cannot convert supplied data type";function ot(e,r,t){if(r.text&&typeof e=="string")return e;if(Ze(e)&&(e=e.buffer),H(e)){let o=Ye(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):j(o)}throw new Error(je)}async function Ao(e,r,t){if(typeof e=="string"||H(e))return ot(e,r,t);if(h(e)&&(e=await Ne(e)),d(e))return await Xe(e),r.binary?await e.arrayBuffer():await e.text();if(v(e)&&(e=ae(e,t)),Q(e)||se(e))return J(e);throw new Error(je)}async function So(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if(H(e))return j(Ye(e));if(h(e)&&(e=await Ne(e)),d(e))return await Xe(e),await e.arrayBuffer();if(v(e)&&(e=ae(e,r)),Q(e)||se(e))return J(e);throw new Error(je)}async function _o(e,r){if(Se(e)&&(e=await e),pe(e))return e;if(d(e)){await Xe(e);let t=await e.body;if(!t)throw new Error(je);return ae(t,r)}return h(e)||v(e)?ae(e,r):se(e)||Q(e)?e:ps(e)}function ps(e){if(ArrayBuffer.isView(e))return(function*(){yield j(e)})();if(H(e))return(function*(){yield j(e)})();if(pe(e))return e;if(Q(e))return e[Symbol.iterator]();throw new Error(je)}function ce(e,r){let t=F(),o=e||t,n=o.fetch??o.core?.fetch,s;if(typeof n=="function")s=n;else if(T(n)){let a=r?.fetch||k;s=(i,c)=>a(i,ds(n,c))}else r?.fetch?s=r.fetch:s=k;return qr({fetch:s,credentials:o.core?.credentials||[]})}function ds(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 nt=new Map,or=new Map;async function M(e,r,t){if(sr(e))return e;let o=Lo(e,r),n=or.get(e)?.get(o);if(n)return n;let s=nt.get(e);s||(s=new Map,nt.set(e,s));let a=s.get(o);return a||(a=ys(e,r,t).then(i=>{let c=or.get(e);return c||(c=new Map,or.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&nt.delete(e),i}),s.set(o,a)),await a}function nr(e){if(sr(e))return e;let r=Lo(e);return or.get(e)?.get(r)||null}function sr(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function ys(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(sr(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=gs(e,r);return await ws(o,e.id)}function gs(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 Lo(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function ws(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&sr(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}async function X(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=Te(r,o),i=await O(n,a,t);if(!i)return null;if(w(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=Y(t,i,a,n);return o=ee({url:n,_parse:p,loaders:a},c,o||null),await bs(i,e,c,o)}async function bs(e,r,t,o){We(e),t=_e(e.options,t);let n=await M(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 re(e,r,t,o){!Array.isArray(r)&&!A(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Te(r,o),a=_(e,s,t);if(!a)return null;if(w(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=Y(t,a,s),c=B(e),u=()=>{throw new Error("parseSync called parse (which is async")};o=ee({url:c,_parseSync:u,_parse:u,loaders:r},i,o||null);let f=nr(a);return xs(f||a,e,i,o)}function xs(e,r,t,o){if(r=ot(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 st(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 it(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 at(e){return{...e,length:it(e),batchType:"data"}}async function x(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 O(e,r,t);if(!a)return[];let i=Y(t,a,n,s);o=ee({url:s,_parseInBatches:x,_parse:p,loaders:n},i,o||null);let c=await M(a,i,o.url);return await Ts(a,c,e,i,o)}async function Ts(e,r,t,o,n){let s=await ks(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 ks(e,r,t,o){let n=await _o(r,t),s=await _s(n,t?.core?.transforms||[]);return e.parseInBatches?e.id==="csv"&&y&&Je(e,t)?Fr(e,s,t,o,p):e.parseInBatches(s,t,o):As(s,e,t,o)}async function*As(e,r,t,o){let n=await J(e),s=await p(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield Ss(s,r)}function Ss(e,r){let t=st(e)?at(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function _s(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function te(e,r,t,o){let n;!Array.isArray(r)&&!A(r)?(o=void 0,t=r,n=void 0):n=r;let s=ce(t||{});return Array.isArray(e)?e.map(i=>Bo(i,n,t||{},s)):Bo(e,n,t||{},s)}async function Bo(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await x(s,r,t):await x(s,r,t)}return Array.isArray(r)?await x(e,r,t):await x(e,r,t)}async function ue(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)&&w(n)){let c=await ct(n,e,s),u={fetchFile:k,parse:p,parseFile:X,parseSync:re,parseInBatches:x,load:ue,loadInBatches:te};return c.createDataSource(e,s||{},u)}if(Array.isArray(n)&&n.length===1&&w(n[0])){let c=await ct(n[0],e,s),u={fetchFile:k,parse:p,parseFile:X,parseSync:re,parseInBatches:x,load:ue,loadInBatches:te};return c.createDataSource(e,s||{},u)}if(typeof e=="string"||h(e)){let c=await O(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&w(c))return(await ct(c,e,s)).createDataSource(e,s||{},{fetchFile:k,parse:p,parseFile:X,parseSync:re,parseInBatches:x,load:ue,loadInBatches:te});if(c&&typeof e=="string"){let f=(await M(c,s,e)).parseUrl;if(f)return await f(e,s,o)}}let a=ce(s),i=e;return typeof e=="string"&&(i=await a(e)),h(e)&&(i=await a(e)),typeof e=="string"&&(q(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 ct(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!w(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var ke=Object.freeze({fetchFile:k,parse:p,parseFile:X,parseSync:re,parseInBatches:x,load:ue,loadInBatches:te});function ee(e,r,t){if(t)return{...t,fetch:ce(r,t)};let o={...e,fetch:ce(r,e),coreApi:e.coreApi||ke};if(o.url){let n=Z(o.url);o.baseUrl=n,o.queryString=eo(o.url),o.filename=D.filename(n),o.baseUrl=D.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Te(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=Te(r,o),i=await O(e,a,t);if(!i)return null;if(w(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=Y(t,i,a,n);return o=ee({url:n,_parse:p,loaders:a},c,o||null),await Ls(i,e,c,o)}async function Ls(e,r,t,o){if(We(e),t=_e(e.options,t),d(r)){let{ok:s,redirected:a,status:i,statusText:c,type:u,url:f}=r,l=Object.fromEntries(r.headers.entries());o.response={headers:l,ok:s,redirected:a,status:i,statusText:c,type:u,url:f}}let n=await M(e,t,o.url);return Cr(n,r,t,o,e)?(r=await So(r,t),await Pr(n,r,t,o,p)):h(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await Ao(r,e,t),await Bs(n,r,t,o))}async function Bs(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 Eo(e,r,t){return await M(e,r,t)}function Ro(e){return nr(e)}async function ut(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return z(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=ft(e,r,t),n=[];for await(let s of o)n.push(s);return Ce(...n)}throw new Error("Writer could not encode data")}async function Io(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await ut(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function ft(e,r,t){if(r.encodeInBatches){let o=Es(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Es(e){return[{...e,start:0,end:e.length}]}async function Co(e,r,t){let n={...F(),...t};return r.encodeURLtoURL?Rs(r,e,n):Mr(r,n)?await Ie(r,e,n):await r.encode(e,n)}function lt(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return z(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Po(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 Fo(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=lt(e,r,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.encodeInBatches){let o=Is(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function mt(e,r,t,o){if(e=K(e),r=K(r),y||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function Rs(e,r,t){if(y)throw new Error(`Writer ${e.name} not supported in browser`);let o=Wo("input");await new Ue(o,"w").write(r);let s=Wo("output"),a=await mt(o,s,e,t);return(await k(a)).arrayBuffer()}function Is(e){return[{...e,start:0,end:e.length}]}function Wo(e){return`/tmp/${e}`}function Mo(e,r,t){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?_(e,r,{...o,core:{...o?.core,type:"auto"}}):Ws(n,r);if(!s)throw new Error("Not a valid source type");return s.createDataSource(e,o,ke)}function Ws(e,r){for(let t of r)if(t.type===e)return t;return null}function Uo(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=_(e,r,{core:{nothrow:!0}}):n=Cs(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Cs(e,r){for(let t of r)if(t.type===e)return t;return null}function No(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 vo="5.0.0-alpha.6",$o={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:vo,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Do={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:vo,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>ht(e,r||{},t),parseSync:ht,parseInBatches:async function*(r,t,o){for await(let n of r)yield ht(n,t,o)},tests:[()=>!1],options:{null:{}}};function ht(e,r,t){return null}async function jo(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 u=n.getReader();await zo(c,u,0,a,r,t,o)}});return new Response(i)}async function zo(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 u=Math.round(t/o*100);n(u,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await zo(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var ir=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]),u=Math.min(parseInt(a[2]),o.size-1);if(c>u){let m=new Response(null,{status:416,headers:{"Content-Range":`bytes */${o.size}`}});return Object.defineProperty(m,"url",{value:r}),m}let f=await o.slice(c,u+1).arrayBuffer(),l=new Response(f,{status:206,headers:{"Content-Range":`bytes ${c}-${u}/${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 Oe(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 Go(Ps);})();
14
+ `)}}r.length>0&&(yield r)}async function*Gr(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Jr(e,r){let t=Pn(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function Y(e){let r=[];for await(let t of e)r.push(Wn(t));return Ue(...r)}function Wn(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return Xt(r,t,o)}return Xt(e)}function Xt(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 Pn(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return On(r)}return e}function On(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 Me(){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 fe=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=Me(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Me()-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 ke=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 fe?n=r:n=new fe(t,o),this.stats[t]=n),n}};var vn="Queued Requests",Fn="Active Requests",Un="Cancelled Requests",Mn="Queued Requests Ever",$n="Active Requests Ever",Nn={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},Se=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Nn,...r},this.stats=new ke({id:this.props.id}),this.stats.get(vn),this.stats.get(Fn),this.stats.get(Un),this.stats.get(Mn),this.stats.get($n)}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.scheduleRefill())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}scheduleRefill(){this.updateTimer===null&&(this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),0))}_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}};function or(e,r=[]){return e.every(tr)?e:e.map((t,o)=>{if(tr(t))return t;let n=r.find(a=>a.type===t?.type);if(!n)throw new Error(`No authentication class registered for credential at index ${o}.`);let s;try{s=new n(t)}catch{throw new Error(`Invalid authentication configuration at index ${o}.`)}if(!tr(s))throw new Error(`Authentication class returned an invalid credential at index ${o}.`);return s})}function le(e){if(!e.core?.credentials?.length)return e;let r=or(e.core.credentials,e.core.authentications);return r===e.core.credentials?e:{...e,core:{...e.core,credentials:r}}}async function k(e,r,t){if(!t.core?.credentials?.length||t.core.credentials.every(tr))return t;let o=await e?.getAuthentications?.(r,t);return o?.length?le({...t,core:{...t.core,authentications:[...t.core?.authentications||[],...o]}}):le(t)}function tr(e){return!e||typeof e!="object"||typeof e.id!="string"||!Array.isArray(e.origins)?!1:e.type==="request"?typeof e.authenticate=="function":(e.type==="header"||e.type==="query-parameter")&&typeof e.name=="string"&&(typeof e.token=="string"||typeof e.token=="function")&&Array.isArray(e.refreshStatusCodes)}var eo=Symbol("loaders.gl.authenticated-fetch"),Kr=new WeakMap;function Zr(e){let r=e.fetch||((f,h)=>fetch(f,h)),t=r[eo],o=new Map(t?.credentialResolutions),n=or(e.credentials.map(f=>o.get(f)||f),e.authentications);if(e.credentials.forEach((f,h)=>{o.set(f,n[h])}),!e.fetchOptions&&(!n.length||t?.credentials.length===n.length&&n.every((f,h)=>f===t.credentials[h])))return r;let s=t?.fetch||r,a=t?[...new Set([...n,...t.credentials])]:n,i=ro(t?.fetchOptions||{},e.fetchOptions),c=a.filter(f=>f.type!=="request"),u=a.filter(f=>f.type==="request");for(let f of u)io(f.origins);let l=async(f,h={})=>{if(h=ro(i,h),h.signal?.aborted)throw $e();if(!a.length)return s(f,h);let L=zn(f),C=L?await oo(L,h,c):{url:f,options:h,credentials:[]},j=await to(C,u,"request"),p=await s(j.url,j.options),pe=C.credentials.filter(({credential:ie})=>typeof ie.token=="function"&&ie.refreshStatusCodes.includes(p.status)),_=j.credentials.some(ie=>ie.refreshStatusCodes?.includes(p.status));if(!pe.length&&!_||!no(h)||!no(j.options))return p;if(h.signal?.aborted)throw $e();let D=new Map;if(await Promise.all(pe.map(async({credential:ie})=>{let Tt=await jn(ie,f,p);Tt&&D.set(ie,Tt)})),!D.size&&!_)return p;if(await p.body?.cancel().catch(()=>{}),h.signal?.aborted)throw $e();let v=L?await oo(L,h,c,D,C.credentials):{url:f,options:h},E=await to(v,u,"retry",p);return s(E.url,E.options)};return Object.defineProperty(l,eo,{value:{fetch:s,credentials:a,credentialResolutions:o,fetchOptions:i}}),l}function ro(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}async function to(e,r,t,o){let n=[],s=e.options.signal;for(let a of r){let i=so(e.url);if(!i||!io(a.origins).includes(i))continue;if(s?.aborted)throw $e();let c=await a.authenticate({url:e.url,options:{...e.options,headers:new Headers(e.options.headers)},reason:t,response:o?{status:o.status,headers:new Headers(o.headers)}:void 0});if(!c||typeof c.url!="string"||!c.options||typeof c.options!="object")throw new Error("Authentication callback returned an invalid request.");e={url:c.url,options:{...c.options,...s?{signal:s}:{}}},n.push(a)}if(s?.aborted)throw $e();return{...e,credentials:n}}function so(e){try{let r=new URL(e);return!r.host||r.username||r.password?null:r.origin!=="null"?r.origin:`${r.protocol}//${r.host}`}catch{return null}}function io(e){if(!e.length)throw new Error("Request authentication requires at least one exact origin.");return e.map(r=>{let t=so(r),o;try{o=new URL(r)}catch{throw new Error("Invalid request authentication origin.")}if(!t||o.pathname&&o.pathname!=="/"||o.search||o.hash)throw new Error("Invalid request authentication origin.");return t})}async function oo(e,r,t,o=new Map,n=[]){let s=new URL(e),a=new Headers(r.headers),i=[],c=new Map(n.map(({credential:u,token:l})=>[u,l]));for(let u of t){if(!u.origins.includes(s.origin))continue;let l=o.get(u),f=c.get(u),h=u.type==="query-parameter"&&f!==void 0,L=u.type==="header"&&f!==void 0;if(u.type==="query-parameter"&&s.searchParams.has(u.name)&&!h||u.type==="header"&&a.has(u.name)&&!L)continue;let C=l??f??await Dn(u.token,{url:e.toString(),reason:"request"});C&&(u.type==="query-parameter"?s.searchParams.set(u.name,C):a.set(u.name,`${u.prefix||""}${C}`),i.push({credential:u,token:C}))}return{url:s.toString(),options:{...r,headers:a},credentials:i}}async function jn(e,r,t){let o=Kr.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(()=>Kr.delete(e));return Kr.set(e,s),s}async function Dn(e,r){return typeof e=="function"?e(r):e}function zn(e){try{let r=new URL(e);return["http:","https:"].includes(r.protocol)?r:null}catch{return null}}function no(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 $e(){return new DOMException("The operation was aborted.","AbortError")}var Yr="",ao={};function Xr(e){Yr=e}function et(){return Yr}function X(e){for(let r in ao)if(e.startsWith(r)){let t=ao[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Yr}${e}`),e}var H={};At(H,{dirname:()=>Hn,filename:()=>qn,join:()=>Vn,resolve:()=>Qn});function co(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function qn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Hn(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function Vn(...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 Qn(...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=co()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===Ne)}return t=Gn(t,!o),o?`/${t}`:t.length>0?t:"."}var Ne=47,rt=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===Ne)break;s=Ne}if(s===Ne){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==rt||t.charCodeAt(t.length-2)!==rt){if(t.length>2){let c=t.length-1,u=c;for(;u>=0&&t.charCodeAt(u)!==Ne;--u);if(u!==c){t=u===-1?"":t.slice(0,u),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===rt&&n!==-1?++n:n=-1}return t}var Jn="5.0.0-alpha.8",tt={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Jn,encoding:"json",format:"json",extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:uo,parse:async e=>uo(new TextDecoder().decode(e)),options:{}};function uo(e){return JSON.parse(e)}function sr(e){return e&&typeof e=="object"&&e.isBuffer}function V(e){if(sr(e))return e;if(e instanceof ArrayBuffer)return e;if(_r(e))return nr(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 Q(e){if(e instanceof ArrayBuffer)return e;if(_r(e))return nr(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:nr(r,t,o)}function nr(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 ir(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var je=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 De=new Error("Not implemented"),ze=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw g?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 De}async write(r,t,o){throw De}async stat(){throw De}async truncate(r){throw De}async append(r){throw De}async close(){}};function b(e){return!!(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 Kn=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Zn=/^([-\w.]+\/[-\w.+]+)/;function ot(e,r){return e.toLowerCase()===r.toLowerCase()}function fo(e){let r=Zn.exec(e);return r?r[1]:e}function nt(e){let r=Kn.exec(e);return r?r[1]:""}var lo=/\?.*/;function ho(e){let r=e.match(lo);return r&&r[0]}function ee(e){return e.replace(lo,"")}function mo(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function U(e){return y(e)?e.url:m(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function _e(e){if(y(e)){let r=e.headers.get("content-type")||"",t=ee(e.url);return fo(r)||nt(t)}return m(e)?e.type||"":typeof e=="string"?nt(e):""}function po(e){return y(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 qe(e){if(y(e))return e;let r={},t=po(e);t>=0&&(r["content-length"]=String(t));let o=U(e),n=_e(e);n&&(r["content-type"]=n);let s=await Xn(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 ar(e){if(!e.ok)throw await Yn(e)}async function Yn(e){let r=mo(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 Xn(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,${es(t)}`}return null}function es(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function rs(e){return!ts(e)&&!os(e)}function ts(e){return e.startsWith("http:")||e.startsWith("https:")}function os(e){return e.startsWith("data:")}async function B(e,r){if(typeof e=="string"){let t=X(e);return rs(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await qe(e)}async function yo(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await ns(o)}async function ns(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 He=new F({id:"loaders.gl"}),cr=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},ur=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 fr={searchParams:void 0,core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new ur,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,workerThreshold:.1,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:g,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},go={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 st=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","workerThreshold","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Ve(e,r){let t=r?.searchParams;if(!t||Object.keys(t).length===0||/^(?:data|blob):/i.test(e))return e;let o=e.indexOf("#"),n=o>=0?e.slice(o):"",s=o>=0?e.slice(0,o):e,a=s.indexOf("?"),i=a>=0?s.slice(0,a):s,c=a>=0?s.slice(a+1):"",u=new URLSearchParams(c),l=new URLSearchParams;for(let[h,L]of Object.entries(t))u.has(h)||l.set(h,String(L));let f=l.toString();return`${i}${a>=0?`?${c}`:""}${f?`${a>=0?"&":"?"}${f}`:""}${n}`}function Qe(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function W(){let e=Qe();return e.globalOptions=e.globalOptions||{...fr,core:{...fr.core}},G(e.globalOptions)}function it(e){let r=Qe(),t=W();r.globalOptions=To(t,e),Br(e.modules)}function re(e,r,t,o){t=t||[],t=Array.isArray(t)?t:[t],ss(e,t),wo(e);let n=G(To(r,e,o));return wo(n),n}function G(e){let r=us(e);Ao(r);for(let t of st)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function ss(e,r){bo(e,null,fr,go,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]||{};bo(o,t.id,n,s,r)}}function wo(e){let r=e.core?.workerThreshold;if(r!==void 0&&(!Number.isFinite(r)||r<0||r>1))throw new Error("core.workerThreshold must be a finite number between 0 and 1")}function bo(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&A(e[i]),u=i==="baseUri"&&!r,l=i==="workerUrl"&&r;if(!(i in t)&&!u&&!l){if(i in o)He.level>0&&He.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&He.level>0){let f=is(i,n);He.warn(`${s} loader option '${a}${i}' not recognized. ${f}`)()}}}}function is(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 To(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),Ao(n),n.core?.log===null&&(n.core={...n.core,log:new cr}),xo(n,G(W()));let s=G(r);return xo(n,s),as(n,s,e),cs(n,t),fs(n),n}function as(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!I(n)||!("shape"in n))return;let s=W()[t.id];if(I(s)&&"shape"in s)return;let a=r[t.id];if(I(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...I(i)?i:{},shape:o}}function xo(e,r){for(let t in r)if(t in r){let o=r[t];I(o)&&I(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function cs(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=H.dirname(ee(r)))}function us(e){let r={...e};return e.core&&(r.core={...e.core}),r}function Ao(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of st)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 fs(e){let r=e.core;if(r)for(let t of st)r[t]!==void 0&&(e[t]=r[t])}function R(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Ge(e){ye(e,"null loader"),ye(R(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 ko=()=>{let e=Qe();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function So(e){let r=ko();e=Array.isArray(e)?e:[e];for(let t of e){let o=Ge(t);r.find(n=>o===n)||r.unshift(o)}}function Lo(){return ko()}function _o(){let e=Qe();e.loaderRegistry=[]}var ls=/\.([^.]+)$/;async function O(e,r=[],t,o){if(!Ro(e))return null;let n=G(t||{});if(n.core||={},e instanceof Response&&Eo(e)){let a=await e.clone().text(),i=P(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=P(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(m(e)&&(e=await e.slice(0,10).arrayBuffer(),s=P(e,r,n,o)),!s&&e instanceof Response&&Eo(e)){let a=await e.clone().text();s=P(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Co(e));return s}function Eo(e){let r=_e(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function P(e,r=[],t,o){if(!Ro(e))return null;let n=G(t||{});if(n.core||={},r&&!Array.isArray(r))return Ge(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...Lo()),ms(s);let a=hs(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(Co(e));return a}function hs(e,r,t,o){let n=U(e),s=_e(e),a=ee(n)||o?.url,i=null,c="",u=t?.core&&"type"in t.core?t.core.type:void 0;return u&&u!=="auto"&&(i=ys(r,u),c=i?`match forced by supplied source type ${u}`:""),t?.core?.mimeType&&(i=at(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||gs(r,a),c=c||(i?`matched source url ${a}`:""),i=i||ds(r,a),c=c||(i?`matched url ${a}`:""),i=i||at(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||bs(r,e),c=c||(i?`matched initial data ${Io(e)}`:""),!i&&m(e)&&(i=ws(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||at(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&Lr.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function Ro(e){return!(e instanceof Response&&e.status===204)}function Co(e){let r=U(e),t=_e(e),o="No valid loader found (";o+=r?`${H.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Io(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function ms(e){for(let r of e)Ge(r)}function ds(e,r){let t=r&&ls.exec(r),o=t&&t[1];return o?ps(e,o):null}function ps(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 ys(e,r){for(let t of e)if(b(t)&&t.type===r)return t;return null}function gs(e,r){if(!r)return null;for(let t of e)if(b(t)&&t.testURL(r))return t;return null}function ws(e,r){for(let t of e)if(b(t)&&t.testData?.(r))return t;return null}function at(e,r){for(let t of e)if(t.mimeTypes?.some(o=>ot(r,o))||ot(r,`application/x.${t.id}`))return t;return null}function bs(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(xs(r,t))return t}else if(ArrayBuffer.isView(r)){if(Bo(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&Bo(r,0,t))return t;return null}function xs(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function Bo(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Ts(e,r,t,n))}function Ts(e,r,t,o){if(J(o))return qr(o,e,o.byteLength);switch(typeof o){case"function":return o(Q(e));case"string":let n=ct(e,r,o.length);return o===n;default:return!1}}function Io(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?ct(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?ct(e,0,r):""}function ct(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 As=256*1024;function*Wo(e,r){let t=r?.chunkSize||As,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 Q(n.encode(a))}}function*Po(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*Oo(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 ut(e,r){return g?ks(e,r):Ss(e,r)}async function*ks(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(f){throw s=!0,f}let{done:u,value:l}=c;if(u){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield V(l)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(u){i=!0,c=u}try{t.releaseLock()}catch(u){i||(i=!0,c=u)}if(!a&&i)throw c}}async function*Ss(e,r){for await(let t of e)yield V(t)}function he(e,r){if(typeof e=="string")return Wo(e,r);if(e instanceof ArrayBuffer)return Po(e,r);if(m(e))return Oo(e,r);if(z(e))return ut(e,r);if(y(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return ut(t,r)}throw new Error("makeIterator")}var Je="Cannot convert supplied data type";function ft(e,r,t){if(r.text&&typeof e=="string")return e;if(sr(e)&&(e=e.buffer),J(e)){let o=ir(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):V(o)}throw new Error(Je)}async function vo(e,r,t){if(typeof e=="string"||J(e))return ft(e,r,t);if(m(e)&&(e=await qe(e)),y(e))return await ar(e),r.binary?await e.arrayBuffer():await e.text();if(z(e)&&(e=he(e,t)),K(e)||ue(e))return Y(e);throw new Error(Je)}async function Fo(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if(J(e))return V(ir(e));if(m(e)&&(e=await qe(e)),y(e))return await ar(e),await e.arrayBuffer();if(z(e)&&(e=he(e,r)),K(e)||ue(e))return Y(e);throw new Error(Je)}async function Uo(e,r){if(Re(e)&&(e=await e),xe(e))return e;if(y(e)){await ar(e);let t=await e.body;if(!t)throw new Error(Je);return he(t,r)}return m(e)||z(e)?he(e,r):ue(e)||K(e)?e:Ls(e)}function Ls(e){if(ArrayBuffer.isView(e))return(function*(){yield V(e)})();if(J(e))return(function*(){yield V(e)})();if(xe(e))return e;if(K(e))return e[Symbol.iterator]();throw new Error(Je)}function me(e,r){let t=W(),o=e||t,n=o.fetch??o.core?.fetch,s;return typeof n=="function"?s=n:A(n)?s=r?.fetch||B:r?.fetch?s=r.fetch:s=B,Zr({fetch:s,credentials:o.core?.credentials||[],authentications:o.core?.authentications,fetchOptions:A(n)?n:void 0})}var lt=new Map,lr=new Map;async function T(e,r,t){if(mr(e))return e;let o=Mo(e,r),n=lr.get(e)?.get(o);if(n)return n;let s=lt.get(e);s||(s=new Map,lt.set(e,s));let a=s.get(o);return a||(a=_s(e,r,t).then(i=>{let c=lr.get(e);return c||(c=new Map,lr.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&lt.delete(e),i}),s.set(o,a)),await a}function hr(e){if(mr(e))return e;let r=Mo(e);return lr.get(e)?.get(r)||null}function mr(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function _s(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(mr(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Es(e,r);return await Bs(o,e.id)}function Es(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 Mo(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function Bs(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&mr(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}async function te(e,r,t,o){r&&!Array.isArray(r)&&!R(r)&&(o=void 0,t=r,r=void 0),t=t||{};let n=e.url||"",a=Ee(r,o),i=await O(n,a,t);if(!i)return null;if(b(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=re(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await T(i,c,n||o?.url):i,l=await k(u,n,c);return o=oe({url:n,_parse:d,loaders:a},l,o||null),await Rs(i,e,l,o)}async function Rs(e,r,t,o){Fe(e),t=Ce(e.options,t);let n=await T(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 d(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function ne(e,r,t,o){!Array.isArray(r)&&!R(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Ee(r,o),a=P(e,s,t);if(!a)return null;if(b(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=re(t,a,s),c=U(e),u=()=>{throw new Error("parseSync called parse (which is async")};o=oe({url:c,_parseSync:u,_parse:u,loaders:r},i,o||null);let l=hr(a);return Cs(l||a,e,i,o)}function Cs(e,r,t,o){if(r=ft(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 ht(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 mt(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 dt(e){return{...e,length:mt(e),batchType:"data"}}async function S(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!R(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=U(e),a=await O(e,r,t);if(!a)return[];let i=re(t,a,n,s),c=!a.getAuthentications&&i.core?.credentials?.length?await T(a,i,s||o?.url):a,u=await k(c,s||"",i);o=oe({url:s,_parseInBatches:S,_parse:d,loaders:n},u,o||null);let l=await T(a,u,o.url);return await Is(a,l,e,u,o)}async function Is(e,r,t,o,n){let s=await Ws(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 Ws(e,r,t,o){let n=await Uo(r,t),s=await vs(n,t?.core?.transforms||[]);return e.parseInBatches?e.id==="csv"&&g&&rr(e,t)?jr(e,s,t,o,d):e.parseInBatches(s,t,o):Ps(s,e,t,o)}async function*Ps(e,r,t,o){let n=await Y(e),s=await d(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield Os(s,r)}function Os(e,r){let t=ht(e)?dt(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function vs(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function se(e,r,t,o){let n;return!Array.isArray(r)&&!R(r)?(o=void 0,t=r,n=void 0):n=r,Array.isArray(e)?e.map(a=>$o(a,n,t||{})):$o(e,n,t||{})}async function $o(e,r,t){if(typeof e=="string"){let o=e,n=await O(o,r,{...t,core:{...t.core,nothrow:!0}}),s=n&&!n.getAuthentications&&t.core?.credentials?.length?await T(n,t,o):n;t=await k(s,o,t);let i=await me(t)(Ve(o,t));return Array.isArray(r)?await S(i,r,t):await S(i,r,t)}return Array.isArray(r)?await S(e,r,t):await S(e,r,t)}async function de(e,r,t,o){let n,s;if(!Array.isArray(r)&&!R(r)?(n=[],s=r,o=void 0):(n=r,s=t),s||=W(),!Array.isArray(n)&&b(n)){let c=await pt(n,e,s);s=await k(n.getAuthentications?n:c,typeof e=="string"?e:"",s||{});let u={fetchFile:B,parse:d,parseFile:te,parseSync:ne,parseInBatches:S,load:de,loadInBatches:se};return c.createDataSource(e,s||{},u)}if(Array.isArray(n)&&n.length===1&&b(n[0])){let c=await pt(n[0],e,s);s=await k(n[0].getAuthentications?n[0]:c,typeof e=="string"?e:"",s||{});let u={fetchFile:B,parse:d,parseFile:te,parseSync:ne,parseInBatches:S,load:de,loadInBatches:se};return c.createDataSource(e,s||{},u)}if(typeof e=="string"||m(e)){let c=await O(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&b(c)){let u=await pt(c,e,s);return s=await k(c.getAuthentications?c:u,typeof e=="string"?e:"",s||{}),u.createDataSource(e,s||{},{fetchFile:B,parse:d,parseFile:te,parseSync:ne,parseInBatches:S,load:de,loadInBatches:se})}if(c&&typeof e=="string"){let u=await T(c,s,e);s=await k(c.getAuthentications?c:u,e,s||{});let l=u.parseUrl;if(l){let f=Ve(e,s);return await l(f,s,o)}}}s&&(s=le(s));let a=me(s),i=e;return typeof e=="string"&&(i=await a(Ve(e,s))),m(e)&&(i=await a(e)),typeof e=="string"&&(G(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await d(i,n,s,o):await d(i,n,s,o)}async function pt(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!b(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var Be=Object.freeze({fetchFile:B,parse:d,parseFile:te,parseSync:ne,parseInBatches:S,load:de,loadInBatches:se});function oe(e,r,t){if(t)return{...t,fetch:me(r,t)};let o={...e,fetch:me(r,e),coreApi:e.coreApi||Be};if(o.url){let n=ee(o.url);o.baseUrl=n,o.queryString=ho(o.url),o.filename=H.filename(n),o.baseUrl=H.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Ee(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 d(e,r,t,o){r&&!Array.isArray(r)&&!R(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=U(e),a=Ee(r,o),i=await O(e,a,t);if(!i)return null;if(b(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=re(t,i,a,n),u=!i.getAuthentications&&c.core?.credentials?.length?await T(i,c,n||o?.url):i,l=await k(u,n||"",c);return o=oe({url:n,_parse:d,loaders:a},l,o||null),await Fs(i,e,l,o)}async function Fs(e,r,t,o){if(Fe(e),t=Ce(e.options,t),y(r)){let{ok:s,redirected:a,status:i,statusText:c,type:u,url:l}=r,f=Object.fromEntries(r.headers.entries());o.response={headers:f,ok:s,redirected:a,status:i,statusText:c,type:u,url:l}}let n=await T(e,t,o.url);return $r(n,r,t,o,e)?(r=await Fo(r,t),await Nr(n,r,t,o,d)):m(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await vo(r,e,t),await Us(n,r,t,o))}async function Us(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 No(e,r,t){return await T(e,r,t)}function jo(e){return hr(e)}async function yt(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return Q(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=gt(e,r,t),n=[];for await(let s of o)n.push(s);return Ue(...n)}throw new Error("Writer could not encode data")}async function Do(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await yt(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function gt(e,r,t){if(r.encodeInBatches){let o=Ms(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Ms(e){return[{...e,start:0,end:e.length}]}async function qo(e,r,t){let n={...W(),...t};return r.encodeURLtoURL?$s(r,e,n):zr(r,n)?await ve(r,e,n):await r.encode(e,n)}function wt(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return Q(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Ho(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 Vo(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=wt(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Qo(e,r,t){if(r.encodeInBatches){let o=Ns(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function bt(e,r,t,o){if(e=X(e),r=X(r),g||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function $s(e,r,t){if(g)throw new Error(`Writer ${e.name} not supported in browser`);let o=zo("input");await new ze(o,"w").write(r);let s=zo("output"),a=await bt(o,s,e,t);return(await B(a)).arrayBuffer()}function Ns(e){return[{...e,start:0,end:e.length}]}function zo(e){return`/tmp/${e}`}function Go(e,r,t={}){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?P(e,r,{...o,core:{...o?.core,type:"auto"}}):js(n,r);if(!s)throw new Error("Not a valid source type");let a=o.core?.credentials?.length?s.getAuthentications?.(typeof e=="string"?e:"",o):void 0;if(a&&"then"in a)throw a.catch(()=>{}),new Error("Use load() with an asynchronous getAuthentications() hook.");let i=le(a?.length?{...o,core:{...o.core,authentications:[...o.core?.authentications||[],...a||[]]}}:o);return s.createDataSource(e,i,Be)}function js(e,r){for(let t of r)if(t.type===e)return t;return null}function Jo(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=P(e,r,{core:{nothrow:!0}}):n=Ds(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Ds(e,r){for(let t of r)if(t.type===e)return t;return null}function Ko(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 Zo="5.0.0-alpha.8",Yo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Zo,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Xo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Zo,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>xt(e,r||{},t),parseSync:xt,parseInBatches:async function*(r,t,o){for await(let n of r)yield xt(n,t,o)},tests:[()=>!1],options:{null:{}}};function xt(e,r,t){return null}async function en(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 u=n.getReader();await rn(c,u,0,a,r,t,o)}});return new Response(i)}async function rn(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 u=Math.round(t/o*100);n(u,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await rn(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var dr=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]),u=Math.min(parseInt(a[2]),o.size-1);if(c>u){let h=new Response(null,{status:416,headers:{"Content-Range":`bytes */${o.size}`}});return Object.defineProperty(h,"url",{value:r}),h}let l=await o.slice(c,u+1).arrayBuffer(),f=new Response(l,{status:206,headers:{"Content-Range":`bytes ${c}-${u}/${o.size}`}});return Object.defineProperty(f,"url",{value:r}),f}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 je(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 an(zs);})();
15
15
  return __exports__;
16
16
  });