@loaders.gl/core 4.4.5 → 5.0.0-alpha.2

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 (122) hide show
  1. package/LICENSE +14 -3
  2. package/dist/dist.dev.js +800 -271
  3. package/dist/dist.min.js +4 -3
  4. package/dist/index.cjs +2191 -296
  5. package/dist/index.cjs.map +3 -4
  6. package/dist/index.d.ts +8 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/iterators/make-iterator/make-stream-iterator.js +48 -9
  11. package/dist/iterators/make-iterator/make-stream-iterator.js.map +1 -1
  12. package/dist/lib/api/core-api.d.ts +6 -0
  13. package/dist/lib/api/core-api.d.ts.map +1 -0
  14. package/dist/lib/api/core-api.js +23 -0
  15. package/dist/lib/api/core-api.js.map +1 -0
  16. package/dist/lib/api/create-data-source.d.ts +2 -2
  17. package/dist/lib/api/create-data-source.d.ts.map +1 -1
  18. package/dist/lib/api/create-data-source.js +15 -14
  19. package/dist/lib/api/create-data-source.js.map +1 -1
  20. package/dist/lib/api/load-in-batches.d.ts +4 -4
  21. package/dist/lib/api/load-in-batches.d.ts.map +1 -1
  22. package/dist/lib/api/load-in-batches.js +1 -1
  23. package/dist/lib/api/load-in-batches.js.map +1 -1
  24. package/dist/lib/api/load-loader.d.ts +8 -0
  25. package/dist/lib/api/load-loader.d.ts.map +1 -0
  26. package/dist/lib/api/load-loader.js +110 -0
  27. package/dist/lib/api/load-loader.js.map +1 -0
  28. package/dist/lib/api/load.d.ts +2 -2
  29. package/dist/lib/api/load.d.ts.map +1 -1
  30. package/dist/lib/api/load.js +66 -3
  31. package/dist/lib/api/load.js.map +1 -1
  32. package/dist/lib/api/parse-file.d.ts +15 -0
  33. package/dist/lib/api/parse-file.d.ts.map +1 -0
  34. package/dist/lib/api/parse-file.js +70 -0
  35. package/dist/lib/api/parse-file.js.map +1 -0
  36. package/dist/lib/api/parse-in-batches.d.ts +2 -2
  37. package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
  38. package/dist/lib/api/parse-in-batches.js +6 -4
  39. package/dist/lib/api/parse-in-batches.js.map +1 -1
  40. package/dist/lib/api/parse-sync.d.ts +2 -2
  41. package/dist/lib/api/parse-sync.d.ts.map +1 -1
  42. package/dist/lib/api/parse-sync.js +10 -1
  43. package/dist/lib/api/parse-sync.js.map +1 -1
  44. package/dist/lib/api/parse.d.ts +2 -2
  45. package/dist/lib/api/parse.d.ts.map +1 -1
  46. package/dist/lib/api/parse.js +28 -16
  47. package/dist/lib/api/parse.js.map +1 -1
  48. package/dist/lib/api/preload.d.ts +11 -0
  49. package/dist/lib/api/preload.d.ts.map +1 -0
  50. package/dist/lib/api/preload.js +14 -0
  51. package/dist/lib/api/preload.js.map +1 -0
  52. package/dist/lib/api/register-loaders.js +1 -1
  53. package/dist/lib/api/register-loaders.js.map +1 -1
  54. package/dist/lib/api/select-loader.d.ts.map +1 -1
  55. package/dist/lib/api/select-loader.js +48 -5
  56. package/dist/lib/api/select-loader.js.map +1 -1
  57. package/dist/lib/api/select-source.d.ts +3 -3
  58. package/dist/lib/api/select-source.d.ts.map +1 -1
  59. package/dist/lib/api/select-source.js +2 -5
  60. package/dist/lib/api/select-source.js.map +1 -1
  61. package/dist/lib/fetch/fetch-error-message.js +1 -1
  62. package/dist/lib/fetch/fetch-error-message.js.map +1 -1
  63. package/dist/lib/init.js +1 -1
  64. package/dist/lib/init.js.map +1 -1
  65. package/dist/lib/loader-utils/check-errors.js +1 -1
  66. package/dist/lib/loader-utils/check-errors.js.map +1 -1
  67. package/dist/lib/loader-utils/get-data.d.ts +4 -0
  68. package/dist/lib/loader-utils/get-data.d.ts.map +1 -1
  69. package/dist/lib/loader-utils/get-data.js +26 -0
  70. package/dist/lib/loader-utils/get-data.js.map +1 -1
  71. package/dist/lib/loader-utils/get-fetch-function.d.ts +1 -1
  72. package/dist/lib/loader-utils/get-fetch-function.d.ts.map +1 -1
  73. package/dist/lib/loader-utils/get-fetch-function.js +1 -1
  74. package/dist/lib/loader-utils/get-fetch-function.js.map +1 -1
  75. package/dist/lib/loader-utils/loader-context.d.ts +1 -1
  76. package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
  77. package/dist/lib/loader-utils/loader-context.js +3 -1
  78. package/dist/lib/loader-utils/loader-context.js.map +1 -1
  79. package/dist/lib/loader-utils/loggers.d.ts +19 -0
  80. package/dist/lib/loader-utils/loggers.d.ts.map +1 -1
  81. package/dist/lib/loader-utils/loggers.js +28 -2
  82. package/dist/lib/loader-utils/loggers.js.map +1 -1
  83. package/dist/lib/loader-utils/option-defaults.d.ts +1 -0
  84. package/dist/lib/loader-utils/option-defaults.d.ts.map +1 -1
  85. package/dist/lib/loader-utils/option-defaults.js +2 -0
  86. package/dist/lib/loader-utils/option-defaults.js.map +1 -1
  87. package/dist/lib/loader-utils/option-utils.d.ts.map +1 -1
  88. package/dist/lib/loader-utils/option-utils.js +50 -2
  89. package/dist/lib/loader-utils/option-utils.js.map +1 -1
  90. package/dist/lib/utils/response-utils.js +3 -3
  91. package/dist/lib/utils/response-utils.js.map +1 -1
  92. package/dist/null-loader.d.ts.map +1 -1
  93. package/dist/null-loader.js +1 -1
  94. package/dist/null-loader.js.map +1 -1
  95. package/dist/null-worker-node.js +199 -36
  96. package/dist/null-worker.js +199 -36
  97. package/package.json +6 -6
  98. package/src/index.ts +10 -1
  99. package/src/iterators/make-iterator/make-stream-iterator.ts +47 -9
  100. package/src/lib/api/core-api.ts +25 -0
  101. package/src/lib/api/create-data-source.ts +24 -24
  102. package/src/lib/api/load-in-batches.ts +16 -11
  103. package/src/lib/api/load-loader.ts +152 -0
  104. package/src/lib/api/load.ts +98 -5
  105. package/src/lib/api/parse-file.ts +143 -0
  106. package/src/lib/api/parse-in-batches.ts +13 -5
  107. package/src/lib/api/parse-sync.ts +27 -2
  108. package/src/lib/api/parse.ts +49 -18
  109. package/src/lib/api/preload.ts +31 -0
  110. package/src/lib/api/register-loaders.ts +1 -1
  111. package/src/lib/api/select-loader.ts +57 -5
  112. package/src/lib/api/select-source.ts +7 -10
  113. package/src/lib/fetch/fetch-error-message.ts +1 -1
  114. package/src/lib/loader-utils/check-errors.ts +1 -1
  115. package/src/lib/loader-utils/get-data.ts +36 -0
  116. package/src/lib/loader-utils/get-fetch-function.ts +3 -2
  117. package/src/lib/loader-utils/loader-context.ts +5 -2
  118. package/src/lib/loader-utils/loggers.ts +28 -2
  119. package/src/lib/loader-utils/option-defaults.ts +2 -0
  120. package/src/lib/loader-utils/option-utils.ts +59 -2
  121. package/src/lib/utils/response-utils.ts +3 -3
  122. package/src/null-loader.ts +3 -3
package/dist/dist.min.js CHANGED
@@ -4,12 +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 Ae=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var Xt=Object.getOwnPropertyNames;var eo=Object.prototype.hasOwnProperty;var ro=(e,r,t)=>r in e?Ae(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var Nr=(e,r)=>{for(var t in r)Ae(e,t,{get:r[t],enumerable:!0})},to=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xt(r))!eo.call(e,n)&&n!==t&&Ae(e,n,{get:()=>r[n],enumerable:!(o=Zt(r,n))||o.enumerable});return e};var oo=e=>to(Ae({},"__esModule",{value:!0}),e);var Pr=(e,r,t)=>(ro(e,typeof r!="symbol"?r+"":r,t),t);var An={};Nr(An,{FetchError:()=>re,JSONLoader:()=>dr,NullLoader:()=>Jt,NullWorkerLoader:()=>Qt,RequestScheduler:()=>ee,_BrowserFileSystem:()=>Pe,_fetchProgress:()=>Kt,_selectSource:()=>Vt,_unregisterLoaders:()=>_t,assert:()=>V,concatenateArrayBuffersAsync:()=>j,createDataSource:()=>qt,document:()=>ve,encode:()=>vt,encodeInBatches:()=>zt,encodeSync:()=>Cr,encodeTable:()=>Ir,encodeTableAsText:()=>Ut,encodeTableInBatches:()=>Or,encodeText:()=>Dt,encodeTextSync:()=>jt,encodeURLtoURL:()=>Wr,fetchFile:()=>q,forEach:()=>lr,getLoaderOptions:()=>L,getPathPrefix:()=>hr,global:()=>$e,isAsyncIterable:()=>K,isBrowser:()=>p,isIterable:()=>v,isIterator:()=>Y,isPromise:()=>ce,isPureObject:()=>J,isReadableStream:()=>I,isResponse:()=>l,isWorker:()=>De,isWritableStream:()=>Qe,load:()=>Nt,loadInBatches:()=>Ft,makeIterator:()=>se,makeLineIterator:()=>fr,makeNumberedLineIterator:()=>ur,makeStream:()=>Gt,makeTextDecoderIterator:()=>ar,makeTextEncoderIterator:()=>cr,parse:()=>_,parseInBatches:()=>P,parseSync:()=>Mt,readArrayBuffer:()=>ht,registerLoaders:()=>Tt,resolvePath:()=>C,selectLoader:()=>ne,selectLoaderSync:()=>N,self:()=>Fe,setLoaderOptions:()=>Ar,setPathPrefix:()=>pr,window:()=>Ue});function V(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Fe=T.self||T.window||T.global||{},Ue=T.window||T.self||T.global||{},$e=T.global||T.self||T.window||{},ve=T.document||{};var p=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser),De=typeof importScripts=="function",Fr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),no=Fr&&parseFloat(Fr[1])||0;var _e=globalThis,so=globalThis.document||{},ke=globalThis.process||{},io=globalThis.console,En=globalThis.navigator||{};function Ur(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return Boolean(t&&t.indexOf("Electron")>=0)}function F(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Ur()}var je="4.1.1";function G(e,r){if(!e)throw new Error(r||"Assertion failed")}function ze(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 G(Number.isFinite(r)&&r>=0),r}function $r(e){let{logLevel:r,message:t}=e;e.logLevel=ze(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 G(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var U=()=>{},Se=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 i=$r({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,i,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return U;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return U;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=ze(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function co(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Be=class{constructor(r,t,o="sessionStorage"){this.storage=co(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 vr(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 Dr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Ee;(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"})(Ee||(Ee={}));var fo=10;function jr(e){return typeof e!="string"?e:(e=e.toUpperCase(),Ee[e]||Ee.WHITE)}function zr(e,r,t){return!F&&typeof e=="string"&&(r&&(e=`\x1B[${jr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${jr(t)+fo}m${e}\x1B[49m`)),e}function qr(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let i=n[s];typeof i=="function"&&(r.find(a=>s===a)||(n[s]=i.bind(e)))}}function H(){let e;if(F()&&_e.performance)e=_e?.performance?.now?.();else if("hrtime"in ke){let r=ke?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var Q={debug:F()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},qe={enabled:!0,level:0},w=class extends Se{constructor({id:r}={id:""}){super({level:0}),this.VERSION=je,this._startTs=H(),this._deltaTs=H(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Be(`__probe-${this.id}__`,{[this.id]:qe}),this.timeStamp(`${this.id} started`),qr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((H()-this._startTs).toPrecision(10))}getDelta(){return Number((H()-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:Q.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:Q.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:Q.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:Q.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:Q.debug||Q.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||U,tag:lo(t)}):U}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||U})}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||U})}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;G(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=H();let n=uo(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(qe),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...qe};this._storage.setConfiguration({[this.id]:{...t,...r}})}};w.VERSION=je;function uo(e,r,t){if(typeof r=="string"){let o=t.time?Dr(vr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=zr(r,t.color,t.background)}return r}function lo(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var os=new w({id:"@probe.gl/log"});var Ve="4.4.5",mo=Ve[0]>="0"&&Ve[0]<="9"?`v${Ve}`:"";function po(){let e=new w({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=mo,globalThis.probe||={},globalThis.probe.loaders=e,e}var Ge=po();var Vr=e=>typeof e=="boolean",u=e=>typeof e=="function",d=e=>e!==null&&typeof e=="object",J=e=>d(e)&&e.constructor==={}.constructor;var He=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,$=e=>d(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",ce=e=>d(e)&&"then"in e&&u(e.then),v=e=>Boolean(e)&&u(e[Symbol.iterator]),K=e=>Boolean(e)&&u(e[Symbol.asyncIterator]),Y=e=>Boolean(e)&&u(e.next),l=e=>typeof Response<"u"&&e instanceof Response||d(e)&&u(e.arrayBuffer)&&u(e.text)&&u(e.json);var h=e=>typeof Blob<"u"&&e instanceof Blob;var Gr=e=>d(e)&&u(e.abort)&&u(e.getWriter),Hr=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||d(e)&&u(e.tee)&&u(e.cancel)&&u(e.getReader),Qr=e=>d(e)&&u(e.end)&&u(e.write)&&Vr(e.writable),Jr=e=>d(e)&&u(e.read)&&u(e.pipe)&&Vr(e.readable),I=e=>Hr(e)||Jr(e),Qe=e=>Gr(e)||Qr(e);function Je(e,r){return Kr(e||{},r)}function Kr(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))s&&typeof s=="object"&&!Array.isArray(s)?o[n]=Kr(o[n]||{},r[n],t+1):o[n]=r[n];return o}function Ke(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var Yr="latest";function ho(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.5"),globalThis._loadersgl_.version}var fe=ho();function m(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var A={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ds=A.self||A.window||A.global||{},ys=A.window||A.self||A.global||{},gs=A.global||A.self||A.window||{},ws=A.document||{};var y=typeof process!="object"||String(process)!=="[object process]"||process.browser;var Xr=typeof window<"u"&&typeof window.orientation<"u",Zr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),bs=Zr&&parseFloat(Zr[1])||0;var ue=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){m(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){m(this.isRunning),this.isRunning=!1,this._reject(r)}};var Z=class{terminate(){}};var Ye=new Map;function et(e){m(e.source&&!e.url||!e.source&&e.url);let r=Ye.get(e.source||e.url);return r||(e.url&&(r=yo(e.url),Ye.set(e.url,r)),e.source&&(r=rt(e.source),Ye.set(e.source,r))),m(r),r}function yo(e){if(!e.startsWith("http"))return e;let r=go(e);return rt(r)}function rt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function go(e){return`try {
7
+ "use strict";var __exports__=(()=>{var Ze=Object.defineProperty;var go=Object.getOwnPropertyDescriptor;var wo=Object.getOwnPropertyNames;var bo=Object.prototype.hasOwnProperty;var Hr=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},xo=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of wo(r))!bo.call(e,n)&&n!==t&&Ze(e,n,{get:()=>r[n],enumerable:!(o=go(r,n))||o.enumerable});return e};var To=e=>xo(Ze({},"__esModule",{value:!0}),e);var Xn={};Hr(Xn,{FetchError:()=>ue,JSONLoader:()=>Er,NullLoader:()=>uo,NullWorkerLoader:()=>fo,RequestScheduler:()=>fe,_BrowserFileSystem:()=>Je,_fetchProgress:()=>lo,_selectSource:()=>io,_unregisterLoaders:()=>Nt,assert:()=>te,concatenateArrayBuffersAsync:()=>D,coreApi:()=>de,createDataSource:()=>so,document:()=>rr,encode:()=>ro,encodeInBatches:()=>no,encodeSync:()=>qr,encodeTable:()=>jr,encodeTableAsText:()=>Xt,encodeTableInBatches:()=>zr,encodeText:()=>to,encodeTextSync:()=>oo,encodeURLtoURL:()=>Vr,fetchFile:()=>x,forEach:()=>Sr,getLoaderOptions:()=>R,getPathPrefix:()=>Lr,global:()=>er,isAsyncIterable:()=>Y,isBrowser:()=>y,isIterable:()=>U,isIterator:()=>ie,isPromise:()=>he,isPureObject:()=>A,isReadableStream:()=>C,isResponse:()=>m,isWorker:()=>tr,isWritableStream:()=>fr,load:()=>re,loadInBatches:()=>J,makeIterator:()=>ee,makeLineIterator:()=>Tr,makeNumberedLineIterator:()=>Ar,makeStream:()=>ao,makeTextDecoderIterator:()=>br,makeTextEncoderIterator:()=>xr,parse:()=>l,parseFile:()=>G,parseInBatches:()=>g,parseSync:()=>Q,preload:()=>Zt,preloadSync:()=>Yt,readArrayBuffer:()=>Et,registerLoaders:()=>Mt,resolvePath:()=>j,selectLoader:()=>I,selectLoaderSync:()=>k,self:()=>Ye,setLoaderOptions:()=>Or,setPathPrefix:()=>_r,window:()=>Xe});function te(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var B={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Ye=B.self||B.window||B.global||{},Xe=B.window||B.self||B.global||{},er=B.global||B.self||B.window||{},rr=B.document||{};var y=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),tr=typeof importScripts=="function",Qr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ao=Qr&&parseFloat(Qr[1])||0;var We=globalThis,So=globalThis.document||{},Pe=globalThis.process||{},ko=globalThis.console,ss=globalThis.navigator||{};function Jr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&process.versions?.electron)return!0;let r=typeof navigator<"u"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function K(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Jr()}var or="4.1.1";function oe(e,r){if(!e)throw new Error(r||"Assertion failed")}function nr(e){if(!e)return 0;let r;switch(typeof e){case"number":r=e;break;case"object":r=e.logLevel||e.priority||0;break;default:return 0}return oe(Number.isFinite(r)&&r>=0),r}function Kr(e){let{logLevel:r,message:t}=e;e.logLevel=nr(r);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&o.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return oe(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var Z=()=>{},Me=class{constructor({level:r=0}={}){this.userData={},this._onceCache=new Set,this._level=r}set level(r){this.setLevel(r)}get level(){return this.getLevel()}setLevel(r){return this._level=r,this}getLevel(){return this._level}warn(r,...t){return this._log("warn",0,r,t,{once:!0})}error(r,...t){return this._log("error",0,r,t)}log(r,t,...o){return this._log("log",r,t,o)}info(r,t,...o){return this._log("info",r,t,o)}once(r,t,...o){return this._log("once",r,t,o,{once:!0})}_log(r,t,o,n,s={}){let a=Kr({logLevel:t,message:o,args:this._buildArgs(t,o,n),opts:s});return this._createLogFunction(r,a,s)}_buildArgs(r,t,o){return[r,t,...o]}_createLogFunction(r,t,o){if(!this._shouldLog(t.logLevel))return Z;let n=this._getOnceTag(o.tag??t.tag??t.message);if((o.once||t.once)&&n!==void 0){if(this._onceCache.has(n))return Z;this._onceCache.add(n)}return this._emit(r,t)}_shouldLog(r){return this.getLevel()>=nr(r)}_getOnceTag(r){if(r!==void 0)try{return typeof r=="string"?r:String(r)}catch{return}}};function Lo(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var Fe=class{constructor(r,t,o="sessionStorage"){this.storage=Lo(o),this.id=r,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(r){if(Object.assign(this.config,r),this.storage){let t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let r={};if(this.storage){let t=this.storage.getItem(this.id);r=t?JSON.parse(t):{}}return Object.assign(this.config,r),this}};function Zr(e){let r;return e<10?r=`${e.toFixed(2)}ms`:e<100?r=`${e.toFixed(1)}ms`:e<1e3?r=`${e.toFixed(0)}ms`:r=`${(e/1e3).toFixed(2)}s`,r}function Yr(e,r=8){let t=Math.max(r-e.length,0);return`${" ".repeat(t)}${e}`}var Ne;(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"})(Ne||(Ne={}));var Bo=10;function Xr(e){return typeof e!="string"?e:(e=e.toUpperCase(),Ne[e]||Ne.WHITE)}function et(e,r,t){return!K&&typeof e=="string"&&(r&&(e=`\x1B[${Xr(r)}m${e}\x1B[39m`),t&&(e=`\x1B[${Xr(t)+Bo}m${e}\x1B[49m`)),e}function rt(e,r=["constructor"]){let t=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(t),n=e;for(let s of o){let a=n[s];typeof a=="function"&&(r.find(i=>s===i)||(n[s]=a.bind(e)))}}function ne(){let e;if(K()&&We.performance)e=We?.performance?.now?.();else if("hrtime"in Pe){let r=Pe?.hrtime?.();e=r[0]*1e3+r[1]/1e6}else e=Date.now();return e}var se={debug:K()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},sr={enabled:!0,level:0},_=class extends Me{constructor({id:r}={id:""}){super({level:0}),this.VERSION=or,this._startTs=ne(),this._deltaTs=ne(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new Fe(`__probe-${this.id}__`,{[this.id]:sr}),this.timeStamp(`${this.id} started`),rt(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((ne()-this._startTs).toPrecision(10))}getDelta(){return Number((ne()-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:se.warn,once:!0})}error(r,...t){return this._log("error",0,r,t,{method:se.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:se.log,time:!0,once:!0})}log(r,t,...o){return this._log("log",r,t,o,{method:se.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:se.debug||se.info,once:!0})}table(r,t,o){return t?this._log("table",r,t,o&&[o]||[],{method:console.table||Z,tag:Ro(t)}):Z}time(r,t){return this._log("time",r,t,[],{method:console.time?console.time:console.info})}timeEnd(r,t){return this._log("time",r,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(r,t){return this._log("time",r,t,[],{method:console.timeStamp||Z})}group(r,t,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",r,t,[],{method:n})}groupCollapsed(r,t,o={}){return this.group(r,t,Object.assign({},o,{collapsed:!0}))}groupEnd(r){return this._log("groupEnd",r,"",[],{method:console.groupEnd||Z})}withGroup(r,t,o){this.group(r,t)();try{o()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&super._shouldLog(r)}_emit(r,t){let o=t.method;oe(o),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=ne();let n=Eo(this.id,t.message,t);return o.bind(console,n,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(sr),this._storage.config[this.id]}_updateConfiguration(r){let t=this._storage.config[this.id]||{...sr};this._storage.setConfiguration({[this.id]:{...t,...r}})}};_.VERSION=or;function Eo(e,r,t){if(typeof r=="string"){let o=t.time?Yr(Zr(t.total)):"";r=t.time?`${e}: ${o} ${r}`:`${e}: ${r}`,r=et(r,t.color,t.background)}return r}function Ro(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}globalThis.probe={};var Ms=new _({id:"@probe.gl/log"});var ir="5.0.0-alpha.2",Io=ir[0]>="0"&&ir[0]<="9"?`v${ir}`:"";function Co(){let e=new _({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=Io,globalThis.probe||={},globalThis.probe.loaders=e,e}var ar=Co();var tt=e=>typeof e=="boolean",p=e=>typeof e=="function",b=e=>e!==null&&typeof e=="object",A=e=>b(e)&&e.constructor==={}.constructor;var cr=e=>typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer,$=e=>b(e)&&typeof e.byteLength=="number"&&typeof e.slice=="function",he=e=>b(e)&&"then"in e&&p(e.then),U=e=>!!e&&p(e[Symbol.iterator]),Y=e=>!!e&&p(e[Symbol.asyncIterator]),ie=e=>!!e&&p(e.next),m=e=>typeof Response<"u"&&e instanceof Response||b(e)&&p(e.arrayBuffer)&&p(e.text)&&p(e.json);var u=e=>typeof Blob<"u"&&e instanceof Blob;var ot=e=>b(e)&&p(e.abort)&&p(e.getWriter),nt=e=>typeof ReadableStream<"u"&&e instanceof ReadableStream||b(e)&&p(e.tee)&&p(e.cancel)&&p(e.getReader),st=e=>b(e)&&p(e.end)&&p(e.write)&&tt(e.writable),it=e=>b(e)&&p(e.read)&&p(e.pipe)&&tt(e.readable),C=e=>nt(e)||it(e),fr=e=>ot(e)||st(e);function ye(e,r){return at(e||{},r)}function at(e,r,t=0){if(t>3)return r;let o={...e};for(let[n,s]of Object.entries(r))A(s)?o[n]=at(o[n]||{},r[n],t+1):o[n]=r[n];return o}function ur(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}var ct="latest";function Oo(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="5.0.0-alpha.2"),globalThis._loadersgl_.version}var ge=Oo();function O(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var E={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},Qs=E.self||E.window||E.global||{},Js=E.window||E.self||E.global||{},Ks=E.global||E.self||E.window||{},Zs=E.document||{};var S=typeof process!="object"||String(process)!=="[object process]"||process.browser;var ut=typeof window<"u"&&typeof window.orientation<"u",ft=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ys=ft&&parseFloat(ft[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(){if(!this.isRunning)return;let r=new Error(`Worker job "${this.name}" was aborted`);r.name="AbortError",this.workerThread.destroy(),this.error(r)}};var ae=class{constructor(...r){let o=globalThis.process?.getBuiltinModule?.("node:worker_threads").Worker;if(o)return new o(...r)}terminate(){}};var lr=new Map;function lt(e){O(e.source&&!e.url||!e.source&&e.url);let r=lr.get(e.source||e.url);return r||(e.url&&(r=Wo(e.url),lr.set(e.url,r)),e.source&&(r=mt(e.source),lr.set(e.source,r))),O(r),r}function Wo(e){if(!e.startsWith("http"))return e;let r=Po(e);return mt(r)}function mt(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function Po(e){return`try {
8
8
  importScripts('${e}');
9
9
  } catch (error) {
10
10
  console.error(error);
11
11
  throw error;
12
- }`}function Ze(e,r=!0,t){let o=t||new Set;if(e){if(tt(e))o.add(e);else if(tt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)Ze(e[n],r,o)}}return t===void 0?Array.from(o):[]}function tt(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 Xe(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]=Xe(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var er=()=>{},O=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&y||typeof Z<"u"&&!y}constructor(r){let{name:t,source:o,url:n}=r;m(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=er,this.onError=s=>console.log(s),this.worker=y?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=er,this.onError=er,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||Ze(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=et({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new Z(o,{eval:!1,type:n})}else if(this.source)r=new Z(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 le=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return O.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,i)=>n.done(i),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new ue(t.name,r);r.onMessage=n=>t.onMessage(o,n.type,n.payload),r.onError=n=>t.onError(o,n),t.onStart(o);try{await o.result}catch(n){console.error(`Worker exception: ${n}`)}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!y||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(r.destroy(),this.count--):this.idleQueue.push(r),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;let r=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new O({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return Xr?this.maxMobileConcurrency:this.maxConcurrency}};var wo={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},D=class{props;workerPools=new Map;static isSupported(){return O.isSupported()}static getWorkerFarm(r={}){return D._workerFarm=D._workerFarm||new D({}),D._workerFarm.setProps(r),D._workerFarm}constructor(r){this.props={...wo},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new le({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},g=D;Pr(g,"_workerFarm");function ot(e){let r=e.version!==fe?` (worker-utils@${fe})`:"";return`${e.name}@${e.version}${r}`}function me(e,r={}){let t=r[e.id]||{},o=y?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(y?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let i=e.version;i==="latest"&&(i=Yr);let a=i?`@${i}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${a}/dist/${o}`}return m(n),n}async function rr(e,r,t={},o={}){let n=ot(e),s=g.getWorkerFarm(t),{source:i}=t,a={name:n,source:i};i||(a.url=me(e,t));let c=s.getWorkerPool(a),f=t.jobName||e.name,k=await c.startJob(f,bo.bind(null,o)),R=Xe(t);return k.postMessage("process",{input:r,options:R}),(await k.result).result}async function bo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{if(!e.process){r.postMessage("error",{id:n,error:"Worker not set up to process on main thread"});return}let a=await e.process(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function tr(e,r=fe){m(e,"no worker provided");let t=e.version;return!(!r||!t)}function or(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers;if(!y&&!t)return!1;let o=r?.worker??r?.core?.worker;return Boolean(e.worker&&o)}async function nr(e,r,t,o,n){let s=e.id,i=me(e,t),c=g.getWorkerFarm(t?.core).getWorkerPool({name:s,url:i});t=JSON.parse(JSON.stringify(t)),o=JSON.parse(JSON.stringify(o||{}));let f=await c.startJob("process-on-worker",xo.bind(null,n));return f.postMessage("process",{input:r,options:t,context:o}),await(await f.result).result}async function xo(e,r,t,o){switch(t){case"done":r.done(o);break;case"error":r.error(new Error(o.error));break;case"process":let{id:n,input:s,options:i}=o;try{let a=await e(s,i);r.postMessage("done",{id:n,result:a})}catch(a){let c=a instanceof Error?a.message:"unknown error";r.postMessage("error",{id:n,error:c})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function sr(e,r){if(!g.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!p&&!t?!1:Boolean(e.worker&&o)}function ir(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 pe(...e){return nt(e)}function nt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,i)=>s+i.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*ar(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*cr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*fr(e){let r="";for await(let t of e){r+=t;let o;for(;(o=r.indexOf(`
13
- `))>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n}}r.length>0&&(yield r)}async function*ur(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function lr(e,r){let t=Ao(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(To(t));return pe(...r)}function To(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return st(r,t,o)}return st(e)}function st(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Ao(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return _o(r)}return e}function _o(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 he(){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 z=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=he(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(he()-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 X=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 z?n=r:n=new z(t,o),this.stats[t]=n),n}};var ko="Queued Requests",So="Active Requests",Bo="Cancelled Requests",Eo="Queued Requests Ever",Lo="Active Requests Ever",Ro={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},ee=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Ro,...r},this.stats=new X({id:this.props.id}),this.stats.get(ko),this.stats.get(So),this.stats.get(Bo),this.stats.get(Eo),this.stats.get(Lo)}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 mr="",it={};function pr(e){mr=e}function hr(){return mr}function C(e){for(let r in it)if(e.startsWith(r)){let t=it[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${mr}${e}`),e}var Io="4.4.5",dr={dataType:null,batchType:null,name:"JSON",id:"json",module:"json",version:Io,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:at,parse:async e=>at(new TextDecoder().decode(e)),options:{}};function at(e){return JSON.parse(e)}function Re(e){return e&&typeof e=="object"&&e.isBuffer}function W(e){if(Re(e))return e;if(e instanceof ArrayBuffer)return e;if(He(e))return Le(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 S(e){if(e instanceof ArrayBuffer)return e;if(He(e))return Le(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Le(r,t,o)}function Le(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 yr(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var B={};Nr(B,{dirname:()=>Co,filename:()=>Oo,join:()=>Wo,resolve:()=>Mo});function ct(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Oo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function Co(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function Wo(...e){let r="/";return e=e.map((t,o)=>(o&&(t=t.replace(new RegExp(`^${r}`),"")),o!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function Mo(...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 i;s>=0?i=r[s]:(n===void 0&&(n=ct()),i=n),i.length!==0&&(t=`${i}/${t}`,o=i.charCodeAt(0)===de)}return t=No(t,!o),o?`/${t}`:t.length>0?t:"."}var de=47,gr=46;function No(e,r){let t="",o=-1,n=0,s,i=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===de)break;s=de}if(s===de){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(t.length<2||!i||t.charCodeAt(t.length-1)!==gr||t.charCodeAt(t.length-2)!==gr){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==de;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=a,n=0,i=!1;continue}}else if(t.length===2||t.length===1){t="",o=a,n=0,i=!1;continue}}r&&(t.length>0?t+="/..":t="..",i=!0)}else{let c=e.slice(o+1,a);t.length>0?t+=`/${c}`:t=c,i=!1}o=a,n=0}else s===gr&&n!==-1?++n:n=-1}return t}var ye=class{handle;size;bigsize;url;constructor(r){this.handle=r instanceof ArrayBuffer?new Blob([r]):r,this.size=r instanceof ArrayBuffer?r.byteLength:r.size,this.bigsize=BigInt(this.size),this.url=r instanceof File?r.name:""}async close(){}async stat(){return{size:this.handle.size,bigsize:BigInt(this.handle.size),isDirectory:!1}}async read(r,t){return await this.handle.slice(Number(r),Number(r)+Number(t)).arrayBuffer()}};var ge=new Error("Not implemented"),we=class{handle;size=0;bigsize=0n;url="";constructor(r,t,o){if(globalThis.loaders?.NodeFile)return new globalThis.loaders.NodeFile(r,t,o);throw p?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 ge}async write(r,t,o){throw ge}async stat(){throw ge}async truncate(r){throw ge}async append(r){throw ge}async close(){}};var re=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var Po=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Fo=/^([-\w.]+\/[-\w.+]+)/;function wr(e,r){return e.toLowerCase()===r.toLowerCase()}function ft(e){let r=Fo.exec(e);return r?r[1]:e}function br(e){let r=Po.exec(e);return r?r[1]:""}var ut=/\?.*/;function lt(e){let r=e.match(ut);return r&&r[0]}function M(e){return e.replace(ut,"")}function mt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function b(e){return l(e)?e.url:h(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function te(e){if(l(e)){let r=e.headers.get("content-type")||"",t=M(e.url);return ft(r)||br(t)}return h(e)?e.type||"":typeof e=="string"?br(e):""}function pt(e){return l(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 Ie(e){if(l(e))return e;let r={},t=pt(e);t>=0&&(r["content-length"]=String(t));let o=b(e),n=te(e);n&&(r["content-type"]=n);let s=await $o(e);s&&(r["x-first-bytes"]=s),typeof e=="string"&&(e=new TextEncoder().encode(e));let i=new Response(e,{headers:r});return Object.defineProperty(i,"url",{value:o}),i}async function xr(e){if(!e.ok)throw await Uo(e)}async function Uo(e){let r=mt(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 re(t,o)}async function $o(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,${vo(t)}`}return null}function vo(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function Do(e){return!jo(e)&&!zo(e)}function jo(e){return e.startsWith("http:")||e.startsWith("https:")}function zo(e){return e.startsWith("data:")}async function q(e,r){if(typeof e=="string"){let t=C(e);return Do(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ie(e)}async function ht(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await qo(o)}async function qo(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 be=new w({id:"loaders.gl"}),Oe=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},Ce=class{console;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var We={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,log:new Ce,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:p,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},dt={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",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 Tr=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","_nodeWorkers","_workerType","limit","_limitMB","batchSize","batchDebounceMs","metadata","transforms"];function xe(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function L(){let e=xe();return e.globalOptions=e.globalOptions||{...We,core:{...We.core}},E(e.globalOptions)}function Ar(e){let r=xe(),t=L();r.globalOptions=wt(t,e),Ke(e.modules)}function oe(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],Vo(e,t),E(wt(r,e,o))}function E(e){let r=Qo(e);bt(r);for(let t of Tr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function Vo(e,r){yt(e,null,We,dt,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]||{};yt(o,t.id,n,s,r)}}function yt(e,r,t,o,n){let s=r||"Top level",i=r?`${r}.`:"";for(let a in e){let c=!r&&d(e[a]),f=a==="baseUri"&&!r,k=a==="workerUrl"&&r;if(!(a in t)&&!f&&!k){if(a in o)be.level>0&&be.warn(`${s} loader option '${i}${a}' no longer supported, use '${o[a]}'`)();else if(!c&&be.level>0){let R=Go(a,n);be.warn(`${s} loader option '${i}${a}' not recognized. ${R}`)()}}}}function Go(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let i=s.toLowerCase();(t.startsWith(i)||i.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function wt(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),bt(n),n.core?.log===null&&(n.core={...n.core,log:new Oe}),gt(n,E(L()));let s=E(r);return gt(n,s),Ho(n,t),Jo(n),n}function gt(e,r){for(let t in r)if(t in r){let o=r[t];J(o)&&J(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function Ho(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=B.dirname(M(r)))}function Qo(e){let r={...e};return e.core&&(r.core={...e.core}),r}function bt(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of Tr)if(e[t]!==void 0){let n=e.core=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 Jo(e){let r=e.core;if(r)for(let t of Tr)r[t]!==void 0&&(e[t]=r[t])}function x(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Te(e){V(e,"null loader"),V(x(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 xt=()=>{let e=xe();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Tt(e){let r=xt();e=Array.isArray(e)?e:[e];for(let t of e){let o=Te(t);r.find(n=>o===n)||r.unshift(o)}}function At(){return xt()}function _t(){let e=xe();e.loaderRegistry=[]}var Ko=/\.([^.]+)$/;async function ne(e,r=[],t,o){if(!Bt(e))return null;let n=E(t||{});if(n.core||={},e instanceof Response&&kt(e)){let i=await e.clone().text(),a=N(i,r,{...n,core:{...n.core,nothrow:!0}},o);if(a)return a}let s=N(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(h(e)&&(e=await e.slice(0,10).arrayBuffer(),s=N(e,r,n,o)),!s&&e instanceof Response&&kt(e)){let i=await e.clone().text();s=N(i,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Et(e));return s}function kt(e){let r=te(e);return Boolean(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function N(e,r=[],t,o){if(!Bt(e))return null;let n=E(t||{});if(n.core||={},r&&!Array.isArray(r))return Te(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...At()),Zo(s);let i=Yo(e,s,n,o);if(!i&&!n.core.nothrow)throw new Error(Et(e));return i}function Yo(e,r,t,o){let n=b(e),s=te(e),i=M(n)||o?.url,a=null,c="";return t?.core?.mimeType&&(a=_r(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),a=a||Xo(r,i),c=c||(a?`matched url ${i}`:""),a=a||_r(r,s),c=c||(a?`matched MIME type ${s}`:""),a=a||rn(r,e),c=c||(a?`matched initial data ${Lt(e)}`:""),t?.core?.fallbackMimeType&&(a=a||_r(r,t?.core?.fallbackMimeType),c=c||(a?`matched fallback MIME type ${s}`:"")),c&&Ge.log(1,`selectLoader selected ${a?.name}: ${c}.`),a}function Bt(e){return!(e instanceof Response&&e.status===204)}function Et(e){let r=b(e),t=te(e),o="No valid loader found (";o+=r?`${B.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?Lt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Zo(e){for(let r of e)Te(r)}function Xo(e,r){let t=r&&Ko.exec(r),o=t&&t[1];return o?en(e,o):null}function en(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 _r(e,r){for(let t of e)if(t.mimeTypes?.some(o=>wr(r,o))||wr(r,`application/x.${t.id}`))return t;return null}function rn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(tn(r,t))return t}else if(ArrayBuffer.isView(r)){if(St(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&St(r,0,t))return t;return null}function tn(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function St(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>on(e,r,t,n))}function on(e,r,t,o){if($(o))return ir(o,e,o.byteLength);switch(typeof o){case"function":return o(S(e));case"string":let n=kr(e,r,o.length);return o===n;default:return!1}}function Lt(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?kr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?kr(e,0,r):""}function kr(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 nn=256*1024;function*Rt(e,r){let t=r?.chunkSize||nn,o=0,n=new TextEncoder;for(;o<e.length;){let s=Math.min(e.length-o,t),i=e.slice(o,o+s);o+=s,yield S(n.encode(i))}}function*It(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),i=new Uint8Array(e,o,n);new Uint8Array(s).set(i),o+=n,yield s}}async function*Ot(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 Sr(e,r){return p?sn(e,r):an(e,r)}async function*sn(e,r){let t=e.getReader(),o;try{for(;;){let n=o||t.read();r?._streamReadAhead&&(o=t.read());let{done:s,value:i}=await n;if(s)return;yield W(i)}}catch{t.releaseLock()}}async function*an(e,r){for await(let t of e)yield W(t)}function se(e,r){if(typeof e=="string")return Rt(e,r);if(e instanceof ArrayBuffer)return It(e,r);if(h(e))return Ot(e,r);if(I(e))return Sr(e,r);if(l(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Sr(t,r)}throw new Error("makeIterator")}var Me="Cannot convert supplied data type";function Br(e,r,t){if(r.text&&typeof e=="string")return e;if(Re(e)&&(e=e.buffer),$(e)){let o=yr(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):W(o)}throw new Error(Me)}async function Ct(e,r,t){if(typeof e=="string"||$(e))return Br(e,r,t);if(h(e)&&(e=await Ie(e)),l(e))return await xr(e),r.binary?await e.arrayBuffer():await e.text();if(I(e)&&(e=se(e,t)),v(e)||K(e))return j(e);throw new Error(Me)}async function Wt(e,r){if(ce(e)&&(e=await e),Y(e))return e;if(l(e)){await xr(e);let t=await e.body;if(!t)throw new Error(Me);return se(t,r)}return h(e)||I(e)?se(e,r):K(e)||v(e)?e:cn(e)}function cn(e){if(ArrayBuffer.isView(e))return function*(){yield W(e)}();if($(e))return function*(){yield W(e)}();if(Y(e))return e;if(v(e))return e[Symbol.iterator]();throw new Error(Me)}function ie(e,r){let t=L(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:d(n)?s=>q(s,n):r?.fetch?r?.fetch:q}function ae(e,r,t){if(t)return t;let o={fetch:ie(r,e),...e};if(o.url){let n=M(o.url);o.baseUrl=n,o.queryString=lt(o.url),o.filename=B.filename(n),o.baseUrl=B.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function Ne(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 _(e,r,t,o){r&&!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=b(e),i=Ne(r,o),a=await ne(e,i,t);if(!a)return null;let c=oe(t,a,i,n);return o=ae({url:n,_parse:_,loaders:i},c,o||null),await fn(a,e,c,o)}async function fn(e,r,t,o){if(tr(e),t=Je(e.options,t),l(r)){let{ok:s,redirected:i,status:a,statusText:c,type:f,url:k}=r,R=Object.fromEntries(r.headers.entries());o.response={headers:R,ok:s,redirected:i,status:a,statusText:c,type:f,url:k}}r=await Ct(r,e,t);let n=e;if(n.parseTextSync&&typeof r=="string")return n.parseTextSync(r,t,o);if(or(e,t))return await nr(e,r,t,o,_);if(n.parseText&&typeof r=="string")return await n.parseText(r,t,o);if(n.parse)return await n.parse(r,t,o);throw m(!n.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}function Mt(e,r,t,o){!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=Ne(r,o),i=N(e,s,t);if(!i)return null;let a=oe(t,i,s),c=b(e),f=()=>{throw new Error("parseSync called parse (which is async")};return o=ae({url:c,_parseSync:f,_parse:f,loaders:r},a,o||null),un(i,e,a,o)}function un(e,r,t,o){if(r=Br(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function Er(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return Boolean(e?.data?.numRows!==void 0);default:return!1}}function Lr(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 Rr(e){return{...e,length:Lr(e),batchType:"data"}}async function P(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!x(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=b(e),i=await ne(e,r,t);if(!i)return[];let a=oe(t,i,n,s);return o=ae({url:s,_parseInBatches:P,_parse:_,loaders:n},a,o||null),await ln(i,e,a,o)}async function ln(e,r,t,o){let n=await mn(e,r,t,o);if(!t?.core?.metadata)return n;let s={shape:"metadata",batchType:"metadata",metadata:{_loader:e,_context:o},data:[],bytesUsed:0};async function*i(a){yield s,yield*a}return i(n)}async function mn(e,r,t,o){let n=await Wt(r,t),s=await dn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):pn(s,e,t,o)}async function*pn(e,r,t,o){let n=await j(e),s=await _(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield hn(s,r)}function hn(e,r){let t=Er(e)?Rr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function dn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}async function Nt(e,r,t,o){let n,s;!Array.isArray(r)&&!x(r)?(n=[],s=r,o=void 0):(n=r,s=t);let i=ie(s),a=e;return typeof e=="string"&&(a=await i(e)),h(e)&&(a=await i(e)),typeof e=="string"&&(E(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await _(a,n,s):await _(a,n,s)}function Ft(e,r,t,o){let n;!Array.isArray(r)&&!x(r)?(o=void 0,t=r,n=void 0):n=r;let s=ie(t||{});return Array.isArray(e)?e.map(a=>Pt(a,n,t||{},s)):Pt(e,n,t||{},s)}async function Pt(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await P(s,r,t):await P(s,r,t)}return Array.isArray(r)?await P(e,r,t):await P(e,r,t)}async function Ir(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return S(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=Or(e,r,t),n=[];for await(let s of o)n.push(s);return pe(...n)}throw new Error("Writer could not encode data")}async function Ut(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await Ir(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function Or(e,r,t){if(r.encodeInBatches){let o=yn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function yn(e){return[{...e,start:0,end:e.length}]}async function vt(e,r,t){let n={...L(),...t};return r.encodeURLtoURL?gn(r,e,n):sr(r,n)?await rr(r,e,n):await r.encode(e,n)}function Cr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return S(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function Dt(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 jt(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=Cr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function zt(e,r,t){if(r.encodeInBatches){let o=wn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Wr(e,r,t,o){if(e=C(e),r=C(r),p||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function gn(e,r,t){if(p)throw new Error(`Writer ${e.name} not supported in browser`);let o=$t("input");await new we(o,"w").write(r);let s=$t("output"),i=await Wr(o,s,e,t);return(await q(i)).arrayBuffer()}function wn(e){return[{...e,start:0,end:e.length}]}function $t(e){return`/tmp/${e}`}function qt(e,r,t){let o=t?.core?.type||t.type||"auto",n=o==="auto"?bn(e,r):xn(o,r);if(!n)throw new Error("Not a valid source type");return n.createDataSource(e,t)}function bn(e,r){for(let t of r)if(t.testURL&&t.testURL(e))return t;return null}function xn(e,r){for(let t of r)if(t.type===e)return t;return null}function Vt(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"){for(let s of r)if(typeof e=="string"&&s.testURL&&s.testURL(e))return s}else n=Tn(o,r);if(!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Tn(e,r){for(let t of r)if(t.type===e)return t;return null}function Gt(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 Ht="4.4.5",Qt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Ht,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},Jt={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:Ht,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Mr(e,r||{},t),parseSync:Mr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Mr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Mr(e,r,t){return null}async function Kt(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,i=s?parseInt(s):0;if(!(i>0)||typeof ReadableStream>"u"||!n.getReader)return e;let a=new ReadableStream({async start(c){let f=n.getReader();await Yt(c,f,0,i,r,t,o)}});return new Response(a)}async function Yt(e,r,t,o,n,s,i){try{let{done:a,value:c}=await r.read();if(a){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await Yt(e,r,t,o,n,s,i)}catch(a){e.error(a),i(a)}}var Pe=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),i=s&&/bytes=($1)-($2)/.exec(s);if(i){let c=parseInt(i[1]),f=parseInt(i[2]),k=await o.slice(c,f).arrayBuffer(),R=new Response(k);return Object.defineProperty(R,"url",{value:r}),R}let a=new Response(o);return Object.defineProperty(a,"url",{value:r}),a}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new ye(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return oo(An);})();
12
+ }`}function mr(e,r=!0,t){let o=t||new Set;if(e){if(pt(e))o.add(e);else if(pt(e.buffer))o.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let n in e)mr(e[n],r,o)}}return t===void 0?Array.from(o):[]}function pt(e){return e?e instanceof ArrayBuffer||typeof MessagePort<"u"&&e instanceof MessagePort||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas:!1}function $e(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]=$e(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var pr=()=>{},v=class{name;source;url;terminated=!1;worker;onMessage;onError;_loadableURL="";static isSupported(){return typeof Worker<"u"&&S||typeof ae<"u"&&!S}constructor(r){let{name:t,source:o,url:n}=r;O(o||n),this.name=t,this.source=o,this.url=n,this.onMessage=pr,this.onError=s=>console.log(s),this.worker=S?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=pr,this.onError=pr,this.worker.terminate(),this.terminated=!0}unref(){!S&&typeof this.worker.unref=="function"&&this.worker.unref()}ref(){!S&&typeof this.worker.ref=="function"&&this.worker.ref()}get isRunning(){return!!this.onMessage}postMessage(r,t){t=t||mr(r),this.worker.postMessage(r,t)}_getErrorFromErrorEvent(r){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,r.message&&(t+=`${r.message} in `),r.lineno&&(t+=`:${r.lineno}:${r.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=lt({source:this.source,url:this.url});let r=new Worker(this._loadableURL,{name:this.name});return r.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},r.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},r.onmessageerror=t=>console.error(t),r}_createNodeWorker(){let r;if(this.url){let o=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`,n=o.startsWith("file:")?new URL(o):o,s=this.url.endsWith(".ts")||this.url.endsWith(".mjs")?"module":"commonjs";r=new ae(n,{eval:!1,type:s})}else if(this.source)r=new ae(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 be=class{name="unnamed";source;url;maxConcurrency=1;maxMobileConcurrency=1;onDebug=()=>{};reuseWorkers=!0;props={};jobQueue=[];idleQueue=[];count=0;isDestroyed=!1;static isSupported(){return v.isSupported()}constructor(r){this.source=r.source,this.url=r.url,this.setProps(r)}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props={...this.props,...r},r.name!==void 0&&(this.name=r.name),r.maxConcurrency!==void 0&&(this.maxConcurrency=r.maxConcurrency),r.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=r.maxMobileConcurrency),r.reuseWorkers!==void 0&&(this.reuseWorkers=r.reuseWorkers),r.onDebug!==void 0&&(this.onDebug=r.onDebug)}async startJob(r,t=(n,s,a)=>n.done(a),o=(n,s)=>n.error(s)){let n=new Promise(s=>(this.jobQueue.push({name:r,onMessage:t,onError:o,onStart:s}),this));return this._startQueuedJob(),await n}async _startQueuedJob(){if(!this.jobQueue.length)return;let r=this._getAvailableWorker();if(!r)return;let t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:r,backlog:this.jobQueue.length});let o=new we(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 v({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return ut?this.maxMobileConcurrency:this.maxConcurrency}};var Mo={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},W=class e{props;workerPools=new Map;static _workerFarm;static isSupported(){return v.isSupported()}static getWorkerFarm(r={}){return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(r),e._workerFarm}constructor(r){this.props={...Mo},this.setProps(r),this.workerPools=new Map}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props={...this.props,...r};for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:o,url:n}=r,s=this.workerPools.get(t);return s||(s=new be({name:t,source:o,url:n}),s.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,s)),s}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};var dt=new Set;function ht(e){let r=e.version!==ge?` (worker-utils@${ge})`:"";return`${e.name}@${e.version}${r}`}function yt(e,r={}){let t=r[e.id]||{},o=S?`${e.id}-worker.js`:`${e.id}-worker-node.js`,n=t.workerUrl;if(!n&&typeof e.worker=="string"&&(n=e.worker),!n&&e.id==="compression"&&(n=r.workerUrl),(r._workerType||r?.core?._workerType)==="test"&&(S?n=`modules/${e.module}/dist/${o}`:n=`modules/${e.module}/src/workers/${e.id}-worker-node.ts`),!n){let a=e.version;a==="latest"&&(a=ct);let i=a?`@${a}`:"";n=`https://unpkg.com/@loaders.gl/${e.module}${i}/dist/${o}`,Fo(e,n)}return O(n),n}function Fo(e,r){if(e.version!=="latest")return;let t=`${e.module}:${e.id}`;dt.has(t)||(dt.add(t),console.warn(`loaders.gl: ${e.name} loader worker version is "latest" because __VERSION__ was not injected. Fetching ${r} from CDN.`))}function dr(e,r){if(!W.isSupported())return!1;let t=r?.[e.id];return!!((e.worker||t?.workerUrl)&&r?.worker)}async function xe(e,r,t={},o={},n={}){No(t.signal);let s=ht(e),a=W.getWorkerFarm(t),{source:i}=t,c={name:s,source:i};i||(c.url=yt(e,t));let f=a.getWorkerPool(c),w=t.jobName||e.name,h=await f.startJob(w,$o.bind(null,o)),Ke=()=>h.abort();t.signal?.addEventListener("abort",Ke,{once:!0}),t.signal?.aborted&&Ke();try{let{signal:es,...po}=t,ho=$e(po),yo=$e(n);return h.isRunning&&h.postMessage("process",{input:r,options:ho,context:yo}),(await h.result).result}finally{t.signal?.removeEventListener("abort",Ke)}}function No(e){if(!e?.aborted)return;let r=new Error("Worker job was aborted");throw r.name="AbortError",r}async function $o(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 Te(e,r=ge){O(e,"no worker provided");let t=e.version;return!(!r||!t)}function hr(e,r){let t=gt(r),o=t._nodeWorkers;return!S&&!o||e.id==="excel"&&r?.excel?.shape==="arrow-table"||e.id==="ply"&&r?.ply?.shape==="arrow-table"||e.id==="csv"&&!jo(r)?!1:!!dr(e,t)}async function yr(e,r,t,o,n){let s=Uo(t),a=await xe(e,r,{...gt(t),signal:s},{process:async(i,c,f,w)=>{if(!n)throw new Error("Worker not set up to parse on main thread");let h=o?{...o,...w||{}}:void 0;return await vo(n,i,c,h)}},Do(o));return zo(e)?e.deserializeWorkerResult(a,t,o):a}function Uo(e){let r=e?.parquet?.signal;if(typeof AbortSignal<"u"&&r instanceof AbortSignal)return r}function vo(e,r,t,o){return e.length<=2?e(r,t):e(r,void 0,t,o)}function gt(e={}){let r=JSON.parse(JSON.stringify(e));return{...r.core,...r}}function Do(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 jo(e){let r=e;return(r?.csv?.shape??r?.core?.shape)==="arrow-table"}function zo(e){return typeof e.deserializeWorkerResult=="function"}function gr(e,r){if(!W.isSupported())return!1;let t=r?._nodeWorkers??r?.core?._nodeWorkers,o=r?.worker??r?.core?.worker;return!y&&!t?!1:!!(e.worker&&o)}function wr(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let o=new Uint8Array(e),n=new Uint8Array(r);for(let s=0;s<o.length;++s)if(o[s]!==n[s])return!1;return!0}function Ae(...e){return wt(e)}function wt(e){let r=e.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),t=r.reduce((s,a)=>s+a.byteLength,0),o=new Uint8Array(t),n=0;for(let s of r)o.set(s,n),n+=s.byteLength;return o.buffer}async function*br(e,r={}){let t=new TextDecoder(void 0,r);for await(let o of e)yield typeof o=="string"?o:t.decode(o,{stream:!0})}async function*xr(e){let r=new TextEncoder;for await(let t of e)yield typeof t=="string"?r.encode(t).buffer:t}async function*Tr(e){let r="";for await(let t of e){r+=t;let o;for(o=r.indexOf(`
13
+ `);o>=0;){let n=r.slice(0,o+1);r=r.slice(o+1),yield n,o=r.indexOf(`
14
+ `)}}r.length>0&&(yield r)}async function*Ar(e){let r=1;for await(let t of e)yield{counter:r,line:t},r++}async function Sr(e,r){let t=Vo(e);for(;;){let{done:o,value:n}=await t.next();if(o){t.return&&t.return();return}if(r(n))return}}async function D(e){let r=[];for await(let t of e)r.push(qo(t));return Ae(...r)}function qo(e){if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:t,byteLength:o}=e;return bt(r,t,o)}return bt(e)}function bt(e,r=0,t=e.byteLength-r){let o=new Uint8Array(e,r,t),n=new Uint8Array(o.length);return n.set(o),n.buffer}function Vo(e){if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e[Symbol.iterator]=="function"){let r=e[Symbol.iterator]();return Go(r)}return e}function Go(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 Se(){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 X=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=Se(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(Se()-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 ce=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 X?n=r:n=new X(t,o),this.stats[t]=n),n}};var Ho="Queued Requests",Qo="Active Requests",Jo="Cancelled Requests",Ko="Queued Requests Ever",Zo="Active Requests Ever",Yo={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0},fe=class{props;stats;activeRequestCount=0;requestQueue=[];requestMap=new Map;updateTimer=null;constructor(r={}){this.props={...Yo,...r},this.stats=new ce({id:this.props.id}),this.stats.get(Ho),this.stats.get(Qo),this.stats.get(Jo),this.stats.get(Ko),this.stats.get(Zo)}setProps(r){r.throttleRequests!==void 0&&(this.props.throttleRequests=r.throttleRequests),r.maxRequests!==void 0&&(this.props.maxRequests=r.maxRequests),r.debounceTime!==void 0&&(this.props.debounceTime=r.debounceTime)}scheduleRequest(r,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(r))return this.requestMap.get(r);let o={handle:r,priority:0,getPriority:t},n=new Promise(s=>(o.resolve=s,o));return this.requestQueue.push(o),this.requestMap.set(r,n),this._issueNewRequests(),n}_issueRequest(r){let{handle:t,resolve:o}=r,n=!1,s=()=>{n||(n=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,o?o({done:s}):Promise.resolve({done:s})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;let r=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(r!==0){this._updateAllRequests();for(let t=0;t<r;++t){let o=this.requestQueue.shift();o&&this._issueRequest(o)}}}_updateAllRequests(){let r=this.requestQueue;for(let t=0;t<r.length;++t){let o=r[t];this._updateRequest(o)||(r.splice(t,1),this.requestMap.delete(o.handle),t--)}r.sort((t,o)=>t.priority-o.priority)}_updateRequest(r){return r.priority=r.getPriority(r.handle),r.priority<0?(r.resolve(null),!1):!0}};var kr="",xt={};function _r(e){kr=e}function Lr(){return kr}function j(e){for(let r in xt)if(e.startsWith(r)){let t=xt[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${kr}${e}`),e}var P={};Hr(P,{dirname:()=>en,filename:()=>Xo,join:()=>rn,resolve:()=>tn});function Tt(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Xo(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):e}function en(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function rn(...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 tn(...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=Tt()),a=n),a.length!==0&&(t=`${a}/${t}`,o=a.charCodeAt(0)===ke)}return t=on(t,!o),o?`/${t}`:t.length>0?t:"."}var ke=47,Br=46;function on(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===ke)break;s=ke}if(s===ke){if(!(o===i-1||n===1))if(o!==i-1&&n===2){if(t.length<2||!a||t.charCodeAt(t.length-1)!==Br||t.charCodeAt(t.length-2)!==Br){if(t.length>2){let c=t.length-1,f=c;for(;f>=0&&t.charCodeAt(f)!==ke;--f);if(f!==c){t=f===-1?"":t.slice(0,f),o=i,n=0,a=!1;continue}}else if(t.length===2||t.length===1){t="",o=i,n=0,a=!1;continue}}r&&(t.length>0?t+="/..":t="..",a=!0)}else{let c=e.slice(o+1,i);t.length>0?t+=`/${c}`:t=c,a=!1}o=i,n=0}else s===Br&&n!==-1?++n:n=-1}return t}var nn="5.0.0-alpha.2",Er={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:At,parse:async e=>At(new TextDecoder().decode(e)),options:{}};function At(e){return JSON.parse(e)}function ve(e){return e&&typeof e=="object"&&e.isBuffer}function M(e){if(ve(e))return e;if(e instanceof ArrayBuffer)return e;if(cr(e))return Ue(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 F(e){if(e instanceof ArrayBuffer)return e;if(cr(e))return Ue(e);let{buffer:r,byteOffset:t,byteLength:o}=e;return r instanceof ArrayBuffer&&t===0&&o===r.byteLength?r:Ue(r,t,o)}function Ue(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 De(e){return ArrayBuffer.isView(e)?e:new Uint8Array(e)}var _e=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 Le=new Error("Not implemented"),Be=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 Le}async write(r,t,o){throw Le}async stat(){throw Le}async truncate(r){throw Le}async append(r){throw Le}async close(){}};function d(e){return!!(e&&typeof e=="object"&&"createDataSource"in e)}var ue=class extends Error{constructor(r,t){super(r),this.reason=t.reason,this.url=t.url,this.response=t.response}reason;url;response};var sn=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,an=/^([-\w.]+\/[-\w.+]+)/;function Rr(e,r){return e.toLowerCase()===r.toLowerCase()}function St(e){let r=an.exec(e);return r?r[1]:e}function Ir(e){let r=sn.exec(e);return r?r[1]:""}var kt=/\?.*/;function _t(e){let r=e.match(kt);return r&&r[0]}function z(e){return e.replace(kt,"")}function Lt(e){if(e.length<50)return e;let r=e.slice(e.length-15);return`${e.substr(0,32)}...${r}`}function L(e){return m(e)?e.url:u(e)?("name"in e?e.name:"")||"":typeof e=="string"?e:""}function le(e){if(m(e)){let r=e.headers.get("content-type")||"",t=z(e.url);return St(r)||Ir(t)}return u(e)?e.type||"":typeof e=="string"?Ir(e):""}function Bt(e){return m(e)?e.headers["content-length"]||-1:u(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function Ee(e){if(m(e))return e;let r={},t=Bt(e);t>=0&&(r["content-length"]=String(t));let o=L(e),n=le(e);n&&(r["content-type"]=n);let s=await fn(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 je(e){if(!e.ok)throw await cn(e)}async function cn(e){let r=Lt(e.url),t=`Failed to fetch resource (${e.status}) ${e.statusText}: ${r}`;t=t.length>100?`${t.slice(0,100)}...`:t;let o={reason:e.statusText,url:e.url,response:e};try{let n=e.headers.get("Content-Type");o.reason=!e.bodyUsed&&n?.includes("application/json")?await e.json():await e.text()}catch{}return new ue(t,o)}async function fn(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,${un(t)}`}return null}function un(e){let r="",t=new Uint8Array(e);for(let o=0;o<t.byteLength;o++)r+=String.fromCharCode(t[o]);return btoa(r)}function ln(e){return!mn(e)&&!pn(e)}function mn(e){return e.startsWith("http:")||e.startsWith("https:")}function pn(e){return e.startsWith("data:")}async function x(e,r){if(typeof e=="string"){let t=j(e);return ln(t)&&globalThis.loaders?.fetchNode?globalThis.loaders?.fetchNode(t,r):await fetch(t,r)}return await Ee(e)}async function Et(e,r,t){e instanceof Blob||(e=new Blob([e]));let o=e.slice(r,r+t);return await dn(o)}async function dn(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 Re=new _({id:"loaders.gl"}),ze=class{log(){return()=>{}}info(){return()=>{}}once(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},qe=class{console;onceMessages=new Set;constructor(){this.console=console}log(...r){return this.console.log.bind(this.console,...r)}info(...r){return this.console.info.bind(this.console,...r)}once(...r){let t=String(r[0]);return this.onceMessages.has(t)?()=>{}:(this.onceMessages.add(t),this.console.info.bind(this.console,...r))}warn(...r){return this.console.warn.bind(this.console,...r)}error(...r){return this.console.error.bind(this.console,...r)}};var Ve={core:{baseUrl:void 0,fetch:null,mimeType:void 0,fallbackMimeType:void 0,ignoreRegisteredLoaders:void 0,nothrow:!1,shape:void 0,log:new qe,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:y,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]}},Rt={baseUri:"core.baseUrl",fetch:"core.fetch",mimeType:"core.mimeType",fallbackMimeType:"core.fallbackMimeType",ignoreRegisteredLoaders:"core.ignoreRegisteredLoaders",nothrow:"core.nothrow",log:"core.log",useLocalLibraries:"core.useLocalLibraries",CDN:"core.CDN",worker:"core.worker",maxConcurrency:"core.maxConcurrency",maxMobileConcurrency:"core.maxMobileConcurrency",reuseWorkers:"core.reuseWorkers",_nodeWorkers:"core.nodeWorkers",_workerType:"core._workerType",_worker:"core._workerType",limit:"core.limit",_limitMB:"core._limitMB",shape:"core.shape",batchSize:"core.batchSize",batchDebounceMs:"core.batchDebounceMs",metadata:"core.metadata",transforms:"core.transforms",throws:"nothrow",dataType:"(no longer used)",uri:"core.baseUrl",method:"core.fetch.method",headers:"core.fetch.headers",body:"core.fetch.body",mode:"core.fetch.mode",credentials:"core.fetch.credentials",cache:"core.fetch.cache",redirect:"core.fetch.redirect",referrer:"core.fetch.referrer",referrerPolicy:"core.fetch.referrerPolicy",integrity:"core.fetch.integrity",keepalive:"core.fetch.keepalive",signal:"core.fetch.signal"};var Cr=["baseUrl","fetch","mimeType","fallbackMimeType","ignoreRegisteredLoaders","nothrow","log","useLocalLibraries","CDN","worker","maxConcurrency","maxMobileConcurrency","reuseWorkers","workerTransferBufferCopy","_nodeWorkers","_workerType","limit","_limitMB","shape","batchSize","batchDebounceMs","metadata","transforms"];function Ie(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state||(e._state={}),e._state}function R(){let e=Ie();return e.globalOptions=e.globalOptions||{...Ve,core:{...Ve.core}},N(e.globalOptions)}function Or(e){let r=Ie(),t=R();r.globalOptions=Ot(t,e),ur(e.modules)}function q(e,r,t,o){return t=t||[],t=Array.isArray(t)?t:[t],hn(e,t),N(Ot(r,e,o))}function N(e){let r=bn(e);Wt(r);for(let t of Cr)r.core&&r.core[t]!==void 0&&delete r[t];return r.core&&r.core._workerType!==void 0&&delete r._worker,r}function hn(e,r){It(e,null,Ve,Rt,r);for(let t of r){let o=e&&e[t.id]||{},n=t.options&&t.options[t.id]||{},s=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};It(o,t.id,n,s,r)}}function It(e,r,t,o,n){let s=r||"Top level",a=r?`${r}.`:"";for(let i in e){let c=!r&&b(e[i]),f=i==="baseUri"&&!r,w=i==="workerUrl"&&r;if(!(i in t)&&!f&&!w){if(i in o)Re.level>0&&Re.warn(`${s} loader option '${a}${i}' no longer supported, use '${o[i]}'`)();else if(!c&&Re.level>0){let h=yn(i,n);Re.warn(`${s} loader option '${a}${i}' not recognized. ${h}`)()}}}}function yn(e,r){let t=e.toLowerCase(),o="";for(let n of r)for(let s in n.options){if(e===s)return`Did you mean '${n.id}.${s}'?`;let a=s.toLowerCase();(t.startsWith(a)||a.startsWith(t))&&(o=o||`Did you mean '${n.id}.${s}'?`)}return o}function Ot(e,r,t){let o=e.options||{},n={...o};o.core&&(n.core={...o.core}),Wt(n),n.core?.log===null&&(n.core={...n.core,log:new ze}),Ct(n,N(R()));let s=N(r);return Ct(n,s),gn(n,s,e),wn(n,t),xn(n),n}function gn(e,r,t){let o=e.core?.shape;if(o===void 0)return;let n=t.options?.[t.id];if(!A(n)||!("shape"in n))return;let s=R()[t.id];if(A(s)&&"shape"in s)return;let a=r[t.id];if(A(a)&&"shape"in a)return;let i=e[t.id];e[t.id]={...A(i)?i:{},shape:o}}function Ct(e,r){for(let t in r)if(t in r){let o=r[t];A(o)&&A(e[t])?e[t]={...e[t],...r[t]}:e[t]=r[t]}}function wn(e,r){if(!r)return;e.core?.baseUrl!==void 0||(e.core||={},e.core.baseUrl=P.dirname(z(r)))}function bn(e){let r={...e};return e.core&&(r.core={...e.core}),r}function Wt(e){e.baseUri!==void 0&&(e.core||={},e.core.baseUrl===void 0&&(e.core.baseUrl=e.baseUri));for(let t of Cr)if(e[t]!==void 0){e.core||={};let n=e.core;n[t]===void 0&&(n[t]=e[t])}let r=e._worker;r!==void 0&&(e.core||={},e.core._workerType===void 0&&(e.core._workerType=r))}function xn(e){let r=e.core;if(r)for(let t of Cr)r[t]!==void 0&&(e[t]=r[t])}function T(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e?.extensions)):!1}function Ce(e){te(e,"null loader"),te(T(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 Pt=()=>{let e=Ie();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Mt(e){let r=Pt();e=Array.isArray(e)?e:[e];for(let t of e){let o=Ce(t);r.find(n=>o===n)||r.unshift(o)}}function Ft(){return Pt()}function Nt(){let e=Ie();e.loaderRegistry=[]}var Tn=/\.([^.]+)$/;async function I(e,r=[],t,o){if(!vt(e))return null;let n=N(t||{});if(n.core||={},e instanceof Response&&$t(e)){let a=await e.clone().text(),i=k(a,r,{...n,core:{...n.core,nothrow:!0}},o);if(i)return i}let s=k(e,r,{...n,core:{...n.core,nothrow:!0}},o);if(s)return s;if(u(e)&&(e=await e.slice(0,10).arrayBuffer(),s=k(e,r,n,o)),!s&&e instanceof Response&&$t(e)){let a=await e.clone().text();s=k(a,r,n,o)}if(!s&&!n.core.nothrow)throw new Error(Dt(e));return s}function $t(e){let r=le(e);return!!(r&&(r.startsWith("text/")||r==="application/json"||r.endsWith("+json")))}function k(e,r=[],t,o){if(!vt(e))return null;let n=N(t||{});if(n.core||={},r&&!Array.isArray(r))return Ce(r);let s=[];r&&(s=s.concat(r)),n.core.ignoreRegisteredLoaders||s.push(...Ft()),Sn(s);let a=An(e,s,n,o);if(!a&&!n.core.nothrow)throw new Error(Dt(e));return a}function An(e,r,t,o){let n=L(e),s=le(e),a=z(n)||o?.url,i=null,c="",f=t?.core&&"type"in t.core?t.core.type:void 0;return f&&f!=="auto"&&(i=Ln(r,f),c=i?`match forced by supplied source type ${f}`:""),t?.core?.mimeType&&(i=Wr(r,t?.core?.mimeType),c=`match forced by supplied MIME type ${t?.core?.mimeType}`),i=i||Bn(r,a),c=c||(i?`matched source url ${a}`:""),i=i||kn(r,a),c=c||(i?`matched url ${a}`:""),i=i||Wr(r,s),c=c||(i?`matched MIME type ${s}`:""),i=i||Rn(r,e),c=c||(i?`matched initial data ${jt(e)}`:""),!i&&u(e)&&(i=En(r,e),c=c||(i?"matched source testData":"")),t?.core?.fallbackMimeType&&(i=i||Wr(r,t?.core?.fallbackMimeType),c=c||(i?`matched fallback MIME type ${s}`:"")),c&&ar.log(1,`selectLoader selected ${i?.name}: ${c}.`),i}function vt(e){return!(e instanceof Response&&e.status===204)}function Dt(e){let r=L(e),t=le(e),o="No valid loader found (";o+=r?`${P.filename(r)}, `:"no url provided, ",o+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let n=e?jt(e):"";return o+=n?` first bytes: "${n}"`:"first bytes: not available",o+=")",o}function Sn(e){for(let r of e)Ce(r)}function kn(e,r){let t=r&&Tn.exec(r),o=t&&t[1];return o?_n(e,o):null}function _n(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 Ln(e,r){for(let t of e)if(d(t)&&t.type===r)return t;return null}function Bn(e,r){if(!r)return null;for(let t of e)if(d(t)&&t.testURL(r))return t;return null}function En(e,r){for(let t of e)if(d(t)&&t.testData?.(r))return t;return null}function Wr(e,r){for(let t of e)if(t.mimeTypes?.some(o=>Rr(r,o))||Rr(r,`application/x.${t.id}`))return t;return null}function Rn(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(In(r,t))return t}else if(ArrayBuffer.isView(r)){if(Ut(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&Ut(r,0,t))return t;return null}function In(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(o=>e.startsWith(o))}function Ut(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(n=>Cn(e,r,t,n))}function Cn(e,r,t,o){if($(o))return wr(o,e,o.byteLength);switch(typeof o){case"function":return o(F(e));case"string":let n=Pr(e,r,o.length);return o===n;default:return!1}}function jt(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?Pr(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?Pr(e,0,r):""}function Pr(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 On=256*1024;function*zt(e,r){let t=r?.chunkSize||On,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 F(n.encode(a))}}function*qt(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*Vt(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 Mr(e,r){return y?Wn(e,r):Pn(e,r)}async function*Wn(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(h){throw s=!0,h}let{done:f,value:w}=c;if(f){n=!0;return}r?._streamReadAhead&&(o=t.read(),o.catch(()=>{})),yield M(w)}}catch(i){throw a=!0,i}finally{let i=!1,c;if(!n&&!s)try{await t.cancel()}catch(f){i=!0,c=f}try{t.releaseLock()}catch(f){i||(i=!0,c=f)}if(!a&&i)throw c}}async function*Pn(e,r){for await(let t of e)yield M(t)}function ee(e,r){if(typeof e=="string")return zt(e,r);if(e instanceof ArrayBuffer)return qt(e,r);if(u(e))return Vt(e,r);if(C(e))return Mr(e,r);if(m(e)){let t=e.body;if(!t)throw new Error("Readable stream not available on Response");return Mr(t,r)}throw new Error("makeIterator")}var Oe="Cannot convert supplied data type";function Fr(e,r,t){if(r.text&&typeof e=="string")return e;if(ve(e)&&(e=e.buffer),$(e)){let o=De(e);return r.text&&!r.binary?new TextDecoder("utf8").decode(o):M(o)}throw new Error(Oe)}async function Gt(e,r,t){if(typeof e=="string"||$(e))return Fr(e,r,t);if(u(e)&&(e=await Ee(e)),m(e))return await je(e),r.binary?await e.arrayBuffer():await e.text();if(C(e)&&(e=ee(e,t)),U(e)||Y(e))return D(e);throw new Error(Oe)}async function Ht(e,r){if(typeof e=="string")return new TextEncoder().encode(e).buffer;if($(e))return M(De(e));if(u(e)&&(e=await Ee(e)),m(e))return await je(e),await e.arrayBuffer();if(C(e)&&(e=ee(e,r)),U(e)||Y(e))return D(e);throw new Error(Oe)}async function Qt(e,r){if(he(e)&&(e=await e),ie(e))return e;if(m(e)){await je(e);let t=await e.body;if(!t)throw new Error(Oe);return ee(t,r)}return u(e)||C(e)?ee(e,r):Y(e)||U(e)?e:Mn(e)}function Mn(e){if(ArrayBuffer.isView(e))return(function*(){yield M(e)})();if($(e))return(function*(){yield M(e)})();if(ie(e))return e;if(U(e))return e[Symbol.iterator]();throw new Error(Oe)}function me(e,r){let t=R(),o=e||t,n=o.fetch??o.core?.fetch;return typeof n=="function"?n:b(n)?s=>x(s,n):r?.fetch?r?.fetch:x}var Nr=new Map,Ge=new Map;async function V(e,r,t){if(Qe(e))return e;let o=Jt(e,r),n=Ge.get(e)?.get(o);if(n)return n;let s=Nr.get(e);s||(s=new Map,Nr.set(e,s));let a=s.get(o);return a||(a=Fn(e,r,t).then(i=>{let c=Ge.get(e);return c||(c=new Map,Ge.set(e,c)),c.set(o,i),i}).catch(i=>{throw s.delete(o),s.size===0&&Nr.delete(e),i}),s.set(o,a)),await a}function He(e){if(Qe(e))return e;let r=Jt(e);return Ge.get(e)?.get(r)||null}function Qe(e){let r=e;return!!(r.parse||r.parseSync||r.parseInBatches||r.parseText||r.parseTextSync||r.parseFile||r.parseFileInBatches)}async function Fn(e,r,t){if(e.preload){let n=await e.preload(t||"",r);if(Qe(n))return n;throw new Error(`${e.id} loader preload() did not return a parser-bearing loader`)}let o=Nn(e,r);return await $n(o,e.id)}function Nn(e,r){if((r?._workerType||r?.core?._workerType)==="test"){let o=`modules/${e.module}/src/${e.id}-loader.ts`;return typeof window<"u"?`/${o}`:typeof process<"u"&&process.cwd?new URL(o,`file://${process.cwd()}/`).toString():o}throw new Error(`${e.id} loader does not provide a parser implementation. Import a parser-bearing loader directly, or use preload() before parse/load.`)}function Jt(e,r){let t=r?.[e.id],o=e.options?.[e.id];return String(t?.backend||o?.backend||"")}async function $n(e,r){let t=await import(e);for(let o of Object.values(t))if(o&&typeof o=="object"&&o.id===r&&Qe(o))return o;throw new Error(`Could not find parser implementation for ${r} in ${e}`)}async function G(e,r,t,o){r&&!Array.isArray(r)&&!T(r)&&(o=void 0,t=r,r=void 0),t=t||{};let n=e.url||"",a=pe(r,o),i=await I(n,a,t);if(!i)return null;if(d(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parseFile().`);let c=q(t,i,a,n);return o=H({url:n,_parse:l,loaders:a},c,o||null),await Un(i,e,c,o)}async function Un(e,r,t,o){Te(e),t=ye(e.options,t);let n=await V(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 l(i,n,t,o)}throw new Error(`${e.id} loader - no file parser found`)}function Q(e,r,t,o){!Array.isArray(r)&&!T(r)&&(o=void 0,t=r,r=void 0),t=t||{};let s=pe(r,o),a=k(e,s,t);if(!a)return null;if(d(a))throw new Error(`${a.id} is a SourceLoader. Use load() to create a runtime source object instead of parseSync().`);let i=q(t,a,s),c=L(e),f=()=>{throw new Error("parseSync called parse (which is async")};o=H({url:c,_parseSync:f,_parse:f,loaders:r},i,o||null);let w=He(a);return vn(w||a,e,i,o)}function vn(e,r,t,o){if(r=Fr(r,e,t),e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t);if(e.parseSync&&r instanceof ArrayBuffer)return e.parseSync(r,t,o);throw e.preload?new Error(`${e.name} loader: 'parseSync' requires a parser-bearing loader. Import the loader implementation directly, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${o.url||""}`)}function $r(e){switch(typeof e=="object"&&e?.shape){case"array-row-table":case"object-row-table":return Array.isArray(e.data);case"geojson-table":return Array.isArray(e.features);case"columnar-table":return e.data&&typeof e.data=="object";case"arrow-table":return e?.data?.numRows!==void 0;default:return!1}}function Ur(e){switch(e.shape){case"array-row-table":case"object-row-table":return e.data.length;case"geojson-table":return e.features.length;case"arrow-table":return e.data.numRows;case"columnar-table":for(let t of Object.values(e.data))return t.length||0;return 0;default:throw new Error("table")}}function vr(e){return{...e,length:Ur(e),batchType:"data"}}async function g(e,r,t,o){let n=Array.isArray(r)?r:void 0;!Array.isArray(r)&&!T(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let s=L(e),a=await I(e,r,t);if(!a)return[];let i=q(t,a,n,s);o=H({url:s,_parseInBatches:g,_parse:l,loaders:n},i,o||null);let c=await V(a,i,o.url);return await Dn(a,c,e,i,o)}async function Dn(e,r,t,o,n){let s=await jn(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 jn(e,r,t,o){let n=await Qt(r,t),s=await Vn(n,t?.core?.transforms||[]);return e.parseInBatches?e.parseInBatches(s,t,o):zn(s,e,t,o)}async function*zn(e,r,t,o){let n=await D(e),s=await l(n,r,{...t,core:{...t?.core,mimeType:r.mimeTypes[0]}},o);yield qn(s,r)}function qn(e,r){let t=$r(e)?vr(e):{shape:"unknown",batchType:"data",data:e,length:Array.isArray(e)?e.length:1};return t.mimeType=r.mimeTypes[0],t}async function Vn(e,r=[]){let t=e;for await(let o of r)t=o(t);return t}function J(e,r,t,o){let n;!Array.isArray(r)&&!T(r)?(o=void 0,t=r,n=void 0):n=r;let s=me(t||{});return Array.isArray(e)?e.map(i=>Kt(i,n,t||{},s)):Kt(e,n,t||{},s)}async function Kt(e,r,t,o){if(typeof e=="string"){let s=await o(e);return Array.isArray(r)?await g(s,r,t):await g(s,r,t)}return Array.isArray(r)?await g(e,r,t):await g(e,r,t)}async function re(e,r,t,o){let n,s;if(!Array.isArray(r)&&!T(r)?(n=[],s=r,o=void 0):(n=r,s=t),!Array.isArray(n)&&d(n)){let c=await Dr(n,e,s),f={fetchFile:x,parse:l,parseFile:G,parseSync:Q,parseInBatches:g,load:re,loadInBatches:J};return c.createDataSource(e,s||{},f)}if(Array.isArray(n)&&n.length===1&&d(n[0])){let c=await Dr(n[0],e,s),f={fetchFile:x,parse:l,parseFile:G,parseSync:Q,parseInBatches:g,load:re,loadInBatches:J};return c.createDataSource(e,s||{},f)}if(typeof e=="string"||u(e)){let c=await I(e,n,{...s,core:{...s?.core,nothrow:!0}});if(c&&d(c))return(await Dr(c,e,s)).createDataSource(e,s||{},{fetchFile:x,parse:l,parseFile:G,parseSync:Q,parseInBatches:g,load:re,loadInBatches:J})}let a=me(s),i=e;return typeof e=="string"&&(i=await a(e)),u(e)&&(i=await a(e)),typeof e=="string"&&(N(s||{}).core?.baseUrl||(s={...s,core:{...s?.core,baseUrl:e}})),Array.isArray(n)?await l(i,n,s,o):await l(i,n,s,o)}async function Dr(e,r,t){if(!e.preload)return e;let o=await e.preload(typeof r=="string"?r:"",t);if(!d(o))throw new Error(`${e.id} source loader preload() did not return a runtime source loader`);return o}var de=Object.freeze({fetchFile:x,parse:l,parseFile:G,parseSync:Q,parseInBatches:g,load:re,loadInBatches:J});function H(e,r,t){if(t)return t;let o={...e,fetch:me(r,e),coreApi:e.coreApi||de};if(o.url){let n=z(o.url);o.baseUrl=n,o.queryString=_t(o.url),o.filename=P.filename(n),o.baseUrl=P.dirname(n)}return Array.isArray(o.loaders)||(o.loaders=null),o}function pe(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 l(e,r,t,o){r&&!Array.isArray(r)&&!T(r)&&(o=void 0,t=r,r=void 0),e=await e,t=t||{};let n=L(e),a=pe(r,o),i=await I(e,a,t);if(!i)return null;if(d(i))throw new Error(`${i.id} is a SourceLoader. Use load() to create a runtime source object instead of parse().`);let c=q(t,i,a,n);return o=H({url:n,_parse:l,loaders:a},c,o||null),await Gn(i,e,c,o)}async function Gn(e,r,t,o){if(Te(e),t=ye(e.options,t),m(r)){let{ok:s,redirected:a,status:i,statusText:c,type:f,url:w}=r,h=Object.fromEntries(r.headers.entries());o.response={headers:h,ok:s,redirected:a,status:i,statusText:c,type:f,url:w}}let n=await V(e,t,o.url);return hr(n,t)?(r=await Ht(r,t),await yr(n,r,t,o,l)):u(r)&&n.parseBlob?await n.parseBlob(r,t,o):(r=await Gt(r,e,t),await Hn(n,r,t,o))}async function Hn(e,r,t,o){if(e.parseText&&typeof r=="string")return await e.parseText(r,t,o);if(e.parseTextSync&&typeof r=="string")return e.parseTextSync(r,t,o);if(e.parse)return await e.parse(r,t,o);throw e.parseSync?new Error(`${e.name} loader: 'parse' not available on parser-bearing sync loader. Add an async 'parse' function to this loader, or call preload(loader) before parseSync(). ${o.url||""}`):new Error(`${e.id} loader - no parser found and worker is disabled`)}async function Zt(e,r,t){return await V(e,r,t)}function Yt(e){return He(e)}async function jr(e,r,t){if(r.encode)return await r.encode(e,t);if(r.encodeText){let o=await r.encodeText(e,t);return F(new TextEncoder().encode(o))}if(r.encodeInBatches){let o=zr(e,r,t),n=[];for await(let s of o)n.push(s);return Ae(...n)}throw new Error("Writer could not encode data")}async function Xt(e,r,t){if(r.text&&r.encodeText)return await r.encodeText(e,t);if(r.text){let o=await jr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function zr(e,r,t){if(r.encodeInBatches){let o=Qn(e);return r.encodeInBatches(o,t)}throw new Error("Writer could not encode data in batches")}function Qn(e){return[{...e,start:0,end:e.length}]}async function ro(e,r,t){let n={...R(),...t};return r.encodeURLtoURL?Jn(r,e,n):gr(r,n)?await xe(r,e,n):await r.encode(e,n)}function qr(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeTextSync)return F(new TextEncoder().encode(r.encodeTextSync(e,t)));throw new Error(`Writer ${r.name} could not synchronously encode data`)}async function to(e,r,t){if(r.encodeText)return await r.encodeText(e,t);if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text){let o=await r.encode(e,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function oo(e,r,t){if(r.encodeTextSync)return r.encodeTextSync(e,t);if(r.text&&r.encodeSync){let o=qr(e,r,t);return new TextDecoder().decode(o)}throw new Error(`Writer ${r.name} could not encode data as text`)}function no(e,r,t){if(r.encodeInBatches){let o=Kn(e);return r.encodeInBatches(o,t)}throw new Error(`Writer ${r.name} could not encode in batches`)}async function Vr(e,r,t,o){if(e=j(e),r=j(r),y||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,o)}async function Jn(e,r,t){if(y)throw new Error(`Writer ${e.name} not supported in browser`);let o=eo("input");await new Be(o,"w").write(r);let s=eo("output"),a=await Vr(o,s,e,t);return(await x(a)).arrayBuffer()}function Kn(e){return[{...e,start:0,end:e.length}]}function eo(e){return`/tmp/${e}`}function so(e,r,t){let o=t||{},n=o?.core?.type||o.type||"auto",s=r.length===1?r[0]:n==="auto"?k(e,r,{...o,core:{...o?.core,type:"auto"}}):Zn(n,r);if(!s)throw new Error("Not a valid source type");return s.createDataSource(e,o,de)}function Zn(e,r){for(let t of r)if(t.type===e)return t;return null}function io(e,r,t){let o=t?.type||"auto",n=null;if(o==="auto"?n=k(e,r,{core:{nothrow:!0}}):n=Yn(o,r),!n&&!t?.nothrow)throw new Error("Not a valid image source type");return n}function Yn(e,r){for(let t of r)if(t.type===e)return t;return null}function ao(e,r){if(globalThis.loaders.makeNodeStream)return globalThis.loaders.makeNodeStream(e,r);let t=e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]();return new ReadableStream({type:"bytes",async pull(o){try{let{done:n,value:s}=await t.next();n?o.close():o.enqueue(new Uint8Array(s))}catch(n){o.error(n)}},async cancel(){await t?.return?.()}},{highWaterMark:2**24,...r})}var co="5.0.0-alpha.2",fo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:co,worker:!0,mimeTypes:["application/x.empty"],extensions:["null"],tests:[()=>!1],options:{null:{}}},uo={dataType:null,batchType:null,name:"Null loader",id:"null",module:"core",version:co,mimeTypes:["application/x.empty"],extensions:["null"],parse:async(e,r,t)=>Gr(e,r||{},t),parseSync:Gr,parseInBatches:async function*(r,t,o){for await(let n of r)yield Gr(n,t,o)},tests:[()=>!1],options:{null:{}}};function Gr(e,r,t){return null}async function lo(e,r,t=()=>{},o=()=>{}){if(e=await e,!e.ok)return e;let n=e.body;if(!n)return e;let s=e.headers.get("content-length")||0,a=s?parseInt(s):0;if(!(a>0)||typeof ReadableStream>"u"||!n.getReader)return e;let i=new ReadableStream({async start(c){let f=n.getReader();await mo(c,f,0,a,r,t,o)}});return new Response(i)}async function mo(e,r,t,o,n,s,a){try{let{done:i,value:c}=await r.read();if(i){s(),e.close();return}t+=c.byteLength;let f=Math.round(t/o*100);n(f,{loadedBytes:t,totalBytes:o}),e.enqueue(c),await mo(e,r,t,o,n,s,a)}catch(i){e.error(i),a(i)}}var Je=class{_fetch;files={};lowerCaseFiles={};usedFiles={};constructor(r,t){this._fetch=t?.fetch||fetch;for(let o=0;o<r.length;++o){let n=r[o];this.files[n.name]=n,this.lowerCaseFiles[n.name.toLowerCase()]=n,this.usedFiles[n.name]=!1}this.fetch=this.fetch.bind(this)}async fetch(r,t){if(r.includes("://"))return this._fetch(r,t);let o=this.files[r];if(!o)return new Response(r,{status:400,statusText:"NOT FOUND"});let s=new Headers(t?.headers).get("Range"),a=s&&/bytes=($1)-($2)/.exec(s);if(a){let c=parseInt(a[1]),f=parseInt(a[2]),w=await o.slice(c,f).arrayBuffer(),h=new Response(w);return Object.defineProperty(h,"url",{value:r}),h}let i=new Response(o);return Object.defineProperty(i,"url",{value:r}),i}async readdir(r){let t=[];for(let o in this.files)t.push(o);return t}async stat(r,t){let o=this.files[r];if(!o)throw new Error(r);return{size:o.size}}async unlink(r){delete this.files[r],delete this.lowerCaseFiles[r],this.usedFiles[r]=!0}async openReadableFile(r,t){return new _e(this.files[r])}_getFile(r,t){let o=this.files[r]||this.lowerCaseFiles[r];return o&&t&&(this.usedFiles[r]=!0),o}};return To(Xn);})();
14
15
  return __exports__;
15
16
  });