@loaders.gl/tile-converter 4.0.0-alpha.25 → 4.0.0-alpha.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/converter.min.js +2 -2
- package/dist/es5/deps-installer/deps-installer.js +1 -1
- package/dist/es5/lib/utils/compress-util.js +1 -1
- package/dist/es5/lib/utils/compress-util.js.map +1 -1
- package/dist/es5/pgm-loader.js +1 -1
- package/dist/esm/deps-installer/deps-installer.js +1 -1
- package/dist/esm/lib/utils/compress-util.js +1 -1
- package/dist/esm/lib/utils/compress-util.js.map +1 -1
- package/dist/esm/pgm-loader.js +1 -1
- package/package.json +14 -14
- package/src/lib/utils/compress-util.ts +1 -1
package/dist/converter.min.js
CHANGED
|
@@ -176,13 +176,13 @@ See: https://github.com/isaacs/node-glob/issues/167`);if(!(this instanceof na))r
|
|
|
176
176
|
`)),e.linkname&&(r+=aX(" linkpath="+e.linkname+`
|
|
177
177
|
`));var t=e.pax;if(t)for(var n in t)r+=aX(" "+n+"="+t[n]+`
|
|
178
178
|
`);return Buffer.from(r)};gx.decodePax=function(e){for(var r={};e.length;){for(var t=0;t<e.length&&e[t]!==32;)t++;var n=parseInt(e.slice(0,t).toString(),10);if(!n)return r;var i=e.slice(t+1,n-1).toString(),a=i.indexOf("=");if(a===-1)return r;r[i.slice(0,a)]=i.slice(a+1),e=e.slice(n)}return r};gx.encode=function(e){var r=dit(512),t=e.name,n="";if(e.typeflag===5&&t[t.length-1]!=="/"&&(t+="/"),Buffer.byteLength(t)!==t.length)return null;for(;Buffer.byteLength(t)>100;){var i=t.indexOf("/");if(i===-1)return null;n+=n?"/"+t.slice(0,i):t.slice(0,i),t=t.slice(i+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(n)>155||e.linkname&&Buffer.byteLength(e.linkname)>100?null:(r.write(t),r.write(_h(e.mode&bit,6),100),r.write(_h(e.uid,6),108),r.write(_h(e.gid,6),116),r.write(_h(e.size,11),124),r.write(_h(e.mtime.getTime()/1e3|0,11),136),r[156]=yPe+_it(e.type),e.linkname&&r.write(e.linkname,157),xPe.copy(r,Bw),mit.copy(r,iX),e.uname&&r.write(e.uname,265),e.gname&&r.write(e.gname,297),r.write(_h(e.devmajor||0,6),329),r.write(_h(e.devminor||0,6),337),n&&r.write(n,345),r.write(_h(EPe(r),6),148),r)};gx.decode=function(e,r,t){var n=e[156]===0?0:e[156]-yPe,i=mx(e,0,100,r),a=Eh(e,100,8),o=Eh(e,108,8),s=Eh(e,116,8),u=Eh(e,124,12),l=Eh(e,136,12),c=xit(n),f=e[157]===0?null:mx(e,157,100,r),d=mx(e,265,32),p=mx(e,297,32),h=Eh(e,329,8),b=Eh(e,337,8),v=EPe(e);if(v===8*32)return null;if(v!==Eh(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(xPe.compare(e,Bw,Bw+6)===0)e[345]&&(i=mx(e,345,155,r)+"/"+i);else if(!(git.compare(e,Bw,Bw+6)===0&&vit.compare(e,iX,iX+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return n===0&&i&&i[i.length-1]==="/"&&(n=5),{name:i,mode:a,uid:o,gid:s,size:u,mtime:new Date(1e3*l),type:c,linkname:f,uname:d,gname:p,devmajor:h,devminor:b}}});var sX=m((Mjt,wPe)=>{wPe.exports=require("stream")});var OPe=m((Ljt,DPe)=>{"use strict";function SPe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function APe(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?SPe(Object(t),!0).forEach(function(n){wit(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):SPe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function wit(e,r,t){return r=CPe(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Sit(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function TPe(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,CPe(n.key),n)}}function Ait(e,r,t){return r&&TPe(e.prototype,r),t&&TPe(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function CPe(e){var r=Tit(e,"string");return typeof r=="symbol"?r:String(r)}function Tit(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var Cit=require("buffer"),l4=Cit.Buffer,Dit=require("util"),uX=Dit.inspect,Oit=uX&&uX.custom||"inspect";function kit(e,r,t){l4.prototype.copy.call(e,r,t)}DPe.exports=function(){function e(){Sit(this,e),this.head=null,this.tail=null,this.length=0}return Ait(e,[{key:"push",value:function(t){var n={data:t,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(t){var n={data:t,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=t+n.data;return i}},{key:"concat",value:function(t){if(this.length===0)return l4.alloc(0);for(var n=l4.allocUnsafe(t>>>0),i=this.head,a=0;i;)kit(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:"consume",value:function(t,n){var i;return t<this.head.data.length?(i=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):t===this.head.data.length?i=this.shift():i=n?this._getString(t):this._getBuffer(t),i}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var n=this.head,i=1,a=n.data;for(t-=a.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(s===o.length?a+=o:a+=o.slice(0,t),t-=s,t===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:"_getBuffer",value:function(t){var n=l4.allocUnsafe(t),i=this.head,a=1;for(i.data.copy(n),t-=i.data.length;i=i.next;){var o=i.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),t-=s,t===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:Oit,value:function(t,n){return uX(this,APe(APe({},n),{},{depth:0,customInspect:!1}))}}]),e}()});var cX=m((qjt,FPe)=>{"use strict";function Fit(e,r){var t=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(r?r(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(lX,this,e)):process.nextTick(lX,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!r&&a?t._writableState?t._writableState.errorEmitted?process.nextTick(c4,t):(t._writableState.errorEmitted=!0,process.nextTick(kPe,t,a)):process.nextTick(kPe,t,a):r?(process.nextTick(c4,t),r(a)):process.nextTick(c4,t)}),this)}function kPe(e,r){lX(e,r),c4(e)}function c4(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Rit(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function lX(e,r){e.emit("error",r)}function Iit(e,r){var t=e._readableState,n=e._writableState;t&&t.autoDestroy||n&&n.autoDestroy?e.destroy(r):e.emit("error",r)}FPe.exports={destroy:Fit,undestroy:Rit,errorOrDestroy:Iit}});var wh=m((Njt,PPe)=>{"use strict";var RPe={};function lu(e,r,t){t||(t=Error);function n(a,o,s){return typeof r=="string"?r:r(a,o,s)}class i extends t{constructor(o,s,u){super(n(o,s,u))}}i.prototype.name=t.name,i.prototype.code=e,RPe[e]=i}function IPe(e,r){if(Array.isArray(e)){let t=e.length;return e=e.map(n=>String(n)),t>2?`one of ${r} ${e.slice(0,t-1).join(", ")}, or `+e[t-1]:t===2?`one of ${r} ${e[0]} or ${e[1]}`:`of ${r} ${e[0]}`}else return`of ${r} ${String(e)}`}function Pit(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function Bit(e,r,t){return(t===void 0||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function jit(e,r,t){return typeof t!="number"&&(t=0),t+r.length>e.length?!1:e.indexOf(r,t)!==-1}lu("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError);lu("ERR_INVALID_ARG_TYPE",function(e,r,t){let n;typeof r=="string"&&Pit(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be";let i;if(Bit(e," argument"))i=`The ${e} ${n} ${IPe(r,"type")}`;else{let a=jit(e,".")?"property":"argument";i=`The "${e}" ${a} ${n} ${IPe(r,"type")}`}return i+=`. Received type ${typeof t}`,i},TypeError);lu("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");lu("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});lu("ERR_STREAM_PREMATURE_CLOSE","Premature close");lu("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});lu("ERR_MULTIPLE_CALLBACK","Callback called multiple times");lu("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");lu("ERR_STREAM_WRITE_AFTER_END","write after end");lu("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);lu("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);lu("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");PPe.exports.codes=RPe});var fX=m((Ujt,BPe)=>{"use strict";var Mit=wh().codes.ERR_INVALID_OPT_VALUE;function Lit(e,r,t){return e.highWaterMark!=null?e.highWaterMark:r?e[t]:null}function qit(e,r,t,n){var i=Lit(r,n,t);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?t:"highWaterMark";throw new Mit(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}BPe.exports={getHighWaterMark:qit}});var hX=m((Gjt,UPe)=>{"use strict";UPe.exports=gi;function jPe(e){var r=this;this.next=null,this.entry=null,this.finish=function(){dat(r,e)}}var vx;gi.WritableState=jw;var Nit={deprecate:v0()},MPe=sX(),f4=require("buffer").Buffer,Uit=(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:{}).Uint8Array||function(){};function Git(e){return f4.from(e)}function zit(e){return f4.isBuffer(e)||e instanceof Uit}var dX=cX(),Hit=fX(),Wit=Hit.getHighWaterMark,Sh=wh().codes,Vit=Sh.ERR_INVALID_ARG_TYPE,Kit=Sh.ERR_METHOD_NOT_IMPLEMENTED,Xit=Sh.ERR_MULTIPLE_CALLBACK,Yit=Sh.ERR_STREAM_CANNOT_PIPE,$it=Sh.ERR_STREAM_DESTROYED,Jit=Sh.ERR_STREAM_NULL_VALUES,Qit=Sh.ERR_STREAM_WRITE_AFTER_END,Zit=Sh.ERR_UNKNOWN_ENCODING,bx=dX.errorOrDestroy;at()(gi,MPe);function eat(){}function jw(e,r,t){vx=vx||Um(),e=e||{},typeof t!="boolean"&&(t=r instanceof vx),this.objectMode=!!e.objectMode,t&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=Wit(this,e,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){sat(r,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new jPe(this)}jw.prototype.getBuffer=function(){for(var r=this.bufferedRequest,t=[];r;)t.push(r),r=r.next;return t};(function(){try{Object.defineProperty(jw.prototype,"buffer",{get:Nit.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var d4;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(d4=Function.prototype[Symbol.hasInstance],Object.defineProperty(gi,Symbol.hasInstance,{value:function(r){return d4.call(this,r)?!0:this!==gi?!1:r&&r._writableState instanceof jw}})):d4=function(r){return r instanceof this};function gi(e){vx=vx||Um();var r=this instanceof vx;if(!r&&!d4.call(gi,this))return new gi(e);this._writableState=new jw(e,this,r),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),MPe.call(this)}gi.prototype.pipe=function(){bx(this,new Yit)};function rat(e,r){var t=new Qit;bx(e,t),process.nextTick(r,t)}function tat(e,r,t,n){var i;return t===null?i=new Jit:typeof t!="string"&&!r.objectMode&&(i=new Vit("chunk",["string","Buffer"],t)),i?(bx(e,i),process.nextTick(n,i),!1):!0}gi.prototype.write=function(e,r,t){var n=this._writableState,i=!1,a=!n.objectMode&&zit(e);return a&&!f4.isBuffer(e)&&(e=Git(e)),typeof r=="function"&&(t=r,r=null),a?r="buffer":r||(r=n.defaultEncoding),typeof t!="function"&&(t=eat),n.ending?rat(this,t):(a||tat(this,n,e,t))&&(n.pendingcb++,i=iat(this,n,a,e,r,t)),i};gi.prototype.cork=function(){this._writableState.corked++};gi.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&qPe(this,e))};gi.prototype.setDefaultEncoding=function(r){if(typeof r=="string"&&(r=r.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((r+"").toLowerCase())>-1))throw new Zit(r);return this._writableState.defaultEncoding=r,this};Object.defineProperty(gi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function nat(e,r,t){return!e.objectMode&&e.decodeStrings!==!1&&typeof r=="string"&&(r=f4.from(r,t)),r}Object.defineProperty(gi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function iat(e,r,t,n,i,a){if(!t){var o=nat(r,n,i);n!==o&&(t=!0,i="buffer",n=o)}var s=r.objectMode?1:n.length;r.length+=s;var u=r.length<r.highWaterMark;if(u||(r.needDrain=!0),r.writing||r.corked){var l=r.lastBufferedRequest;r.lastBufferedRequest={chunk:n,encoding:i,isBuf:t,callback:a,next:null},l?l.next=r.lastBufferedRequest:r.bufferedRequest=r.lastBufferedRequest,r.bufferedRequestCount+=1}else pX(e,r,!1,s,n,i,a);return u}function pX(e,r,t,n,i,a,o){r.writelen=n,r.writecb=o,r.writing=!0,r.sync=!0,r.destroyed?r.onwrite(new $it("write")):t?e._writev(i,r.onwrite):e._write(i,a,r.onwrite),r.sync=!1}function aat(e,r,t,n,i){--r.pendingcb,t?(process.nextTick(i,n),process.nextTick(Mw,e,r),e._writableState.errorEmitted=!0,bx(e,n)):(i(n),e._writableState.errorEmitted=!0,bx(e,n),Mw(e,r))}function oat(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function sat(e,r){var t=e._writableState,n=t.sync,i=t.writecb;if(typeof i!="function")throw new Xit;if(oat(t),r)aat(e,t,n,r,i);else{var a=NPe(t)||e.destroyed;!a&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&qPe(e,t),n?process.nextTick(LPe,e,t,a,i):LPe(e,t,a,i)}}function LPe(e,r,t,n){t||uat(e,r),r.pendingcb--,n(),Mw(e,r)}function uat(e,r){r.length===0&&r.needDrain&&(r.needDrain=!1,e.emit("drain"))}function qPe(e,r){r.bufferProcessing=!0;var t=r.bufferedRequest;if(e._writev&&t&&t.next){var n=r.bufferedRequestCount,i=new Array(n),a=r.corkedRequestsFree;a.entry=t;for(var o=0,s=!0;t;)i[o]=t,t.isBuf||(s=!1),t=t.next,o+=1;i.allBuffers=s,pX(e,r,!0,r.length,i,"",a.finish),r.pendingcb++,r.lastBufferedRequest=null,a.next?(r.corkedRequestsFree=a.next,a.next=null):r.corkedRequestsFree=new jPe(r),r.bufferedRequestCount=0}else{for(;t;){var u=t.chunk,l=t.encoding,c=t.callback,f=r.objectMode?1:u.length;if(pX(e,r,!1,f,u,l,c),t=t.next,r.bufferedRequestCount--,r.writing)break}t===null&&(r.lastBufferedRequest=null)}r.bufferedRequest=t,r.bufferProcessing=!1}gi.prototype._write=function(e,r,t){t(new Kit("_write()"))};gi.prototype._writev=null;gi.prototype.end=function(e,r,t){var n=this._writableState;return typeof e=="function"?(t=e,e=null,r=null):typeof r=="function"&&(t=r,r=null),e!=null&&this.write(e,r),n.corked&&(n.corked=1,this.uncork()),n.ending||fat(this,n,t),this};Object.defineProperty(gi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function NPe(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function lat(e,r){e._final(function(t){r.pendingcb--,t&&bx(e,t),r.prefinished=!0,e.emit("prefinish"),Mw(e,r)})}function cat(e,r){!r.prefinished&&!r.finalCalled&&(typeof e._final=="function"&&!r.destroyed?(r.pendingcb++,r.finalCalled=!0,process.nextTick(lat,e,r)):(r.prefinished=!0,e.emit("prefinish")))}function Mw(e,r){var t=NPe(r);if(t&&(cat(e,r),r.pendingcb===0&&(r.finished=!0,e.emit("finish"),r.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return t}function fat(e,r,t){r.ending=!0,Mw(e,r),t&&(r.finished?process.nextTick(t):e.once("finish",t)),r.ended=!0,e.writable=!1}function dat(e,r,t){var n=e.entry;for(e.entry=null;n;){var i=n.callback;r.pendingcb--,i(t),n=n.next}r.corkedRequestsFree.next=e}Object.defineProperty(gi.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(r){!this._writableState||(this._writableState.destroyed=r)}});gi.prototype.destroy=dX.destroy;gi.prototype._undestroy=dX.undestroy;gi.prototype._destroy=function(e,r){r(e)}});var Um=m((zjt,zPe)=>{"use strict";var pat=Object.keys||function(e){var r=[];for(var t in e)r.push(t);return r};zPe.exports=wc;var GPe=vX(),mX=hX();at()(wc,GPe);for(gX=pat(mX.prototype),p4=0;p4<gX.length;p4++)h4=gX[p4],wc.prototype[h4]||(wc.prototype[h4]=mX.prototype[h4]);var gX,h4,p4;function wc(e){if(!(this instanceof wc))return new wc(e);GPe.call(this,e),mX.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",hat)))}Object.defineProperty(wc.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(wc.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(wc.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function hat(){this._writableState.ended||process.nextTick(mat,this)}function mat(e){e.end()}Object.defineProperty(wc.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(r){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=r,this._writableState.destroyed=r)}})});var xX=m(WPe=>{"use strict";var bX=bu().Buffer,HPe=bX.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function gat(e){if(!e)return"utf8";for(var r;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(r)return;e=(""+e).toLowerCase(),r=!0}}function vat(e){var r=gat(e);if(typeof r!="string"&&(bX.isEncoding===HPe||!HPe(e)))throw new Error("Unknown encoding: "+e);return r||e}WPe.StringDecoder=Lw;function Lw(e){this.encoding=vat(e);var r;switch(this.encoding){case"utf16le":this.text=wat,this.end=Sat,r=4;break;case"utf8":this.fillLast=xat,r=4;break;case"base64":this.text=Aat,this.end=Tat,r=3;break;default:this.write=Cat,this.end=Dat;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=bX.allocUnsafe(r)}Lw.prototype.write=function(e){if(e.length===0)return"";var r,t;if(this.lastNeed){if(r=this.fillLast(e),r===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t<e.length?r?r+this.text(e,t):this.text(e,t):r||""};Lw.prototype.end=Eat;Lw.prototype.text=_at;Lw.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function yX(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function bat(e,r,t){var n=r.length-1;if(n<t)return 0;var i=yX(r[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<t||i===-2?0:(i=yX(r[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<t||i===-2?0:(i=yX(r[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function yat(e,r,t){if((r[0]&192)!=128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&r.length>1){if((r[1]&192)!=128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&r.length>2&&(r[2]&192)!=128)return e.lastNeed=2,"\uFFFD"}}function xat(e){var r=this.lastTotal-this.lastNeed,t=yat(this,e,r);if(t!==void 0)return t;if(this.lastNeed<=e.length)return e.copy(this.lastChar,r,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,r,0,e.length),this.lastNeed-=e.length}function _at(e,r){var t=bat(this,e,r);if(!this.lastNeed)return e.toString("utf8",r);this.lastTotal=t;var n=e.length-(t-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",r,n)}function Eat(e){var r=e&&e.length?this.write(e):"";return this.lastNeed?r+"\uFFFD":r}function wat(e,r){if((e.length-r)%2==0){var t=e.toString("utf16le",r);if(t){var n=t.charCodeAt(t.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",r,e.length-1)}function Sat(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,t)}return r}function Aat(e,r){var t=(e.length-r)%3;return t===0?e.toString("base64",r):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",r,e.length-t))}function Tat(e){var r=e&&e.length?this.write(e):"";return this.lastNeed?r+this.lastChar.toString("base64",0,3-this.lastNeed):r}function Cat(e){return e.toString(this.encoding)}function Dat(e){return e&&e.length?this.write(e):""}});var m4=m((Wjt,XPe)=>{"use strict";var VPe=wh().codes.ERR_STREAM_PREMATURE_CLOSE;function Oat(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];e.apply(this,n)}}}function kat(){}function Fat(e){return e.setHeader&&typeof e.abort=="function"}function KPe(e,r,t){if(typeof r=="function")return KPe(e,null,r);r||(r={}),t=Oat(t||kat);var n=r.readable||r.readable!==!1&&e.readable,i=r.writable||r.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||t.call(e)},u=e._readableState&&e._readableState.endEmitted,l=function(){n=!1,u=!0,i||t.call(e)},c=function(h){t.call(e,h)},f=function(){var h;if(n&&!u)return(!e._readableState||!e._readableState.ended)&&(h=new VPe),t.call(e,h);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(h=new VPe),t.call(e,h)},d=function(){e.req.on("finish",s)};return Fat(e)?(e.on("complete",s),e.on("abort",f),e.req?d():e.on("request",d)):i&&!e._writableState&&(e.on("end",a),e.on("close",a)),e.on("end",l),e.on("finish",s),r.error!==!1&&e.on("error",c),e.on("close",f),function(){e.removeListener("complete",s),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",s),e.removeListener("end",a),e.removeListener("close",a),e.removeListener("finish",s),e.removeListener("end",l),e.removeListener("error",c),e.removeListener("close",f)}}XPe.exports=KPe});var $Pe=m((Vjt,YPe)=>{"use strict";var g4;function Ah(e,r,t){return r=Rat(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Rat(e){var r=Iat(e,"string");return typeof r=="symbol"?r:String(r)}function Iat(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var Pat=m4(),Th=Symbol("lastResolve"),Gm=Symbol("lastReject"),qw=Symbol("error"),v4=Symbol("ended"),zm=Symbol("lastPromise"),_X=Symbol("handlePromise"),Hm=Symbol("stream");function Ch(e,r){return{value:e,done:r}}function Bat(e){var r=e[Th];if(r!==null){var t=e[Hm].read();t!==null&&(e[zm]=null,e[Th]=null,e[Gm]=null,r(Ch(t,!1)))}}function jat(e){process.nextTick(Bat,e)}function Mat(e,r){return function(t,n){e.then(function(){if(r[v4]){t(Ch(void 0,!0));return}r[_X](t,n)},n)}}var Lat=Object.getPrototypeOf(function(){}),qat=Object.setPrototypeOf((g4={get stream(){return this[Hm]},next:function(){var r=this,t=this[qw];if(t!==null)return Promise.reject(t);if(this[v4])return Promise.resolve(Ch(void 0,!0));if(this[Hm].destroyed)return new Promise(function(o,s){process.nextTick(function(){r[qw]?s(r[qw]):o(Ch(void 0,!0))})});var n=this[zm],i;if(n)i=new Promise(Mat(n,this));else{var a=this[Hm].read();if(a!==null)return Promise.resolve(Ch(a,!1));i=new Promise(this[_X])}return this[zm]=i,i}},Ah(g4,Symbol.asyncIterator,function(){return this}),Ah(g4,"return",function(){var r=this;return new Promise(function(t,n){r[Hm].destroy(null,function(i){if(i){n(i);return}t(Ch(void 0,!0))})})}),g4),Lat),Nat=function(r){var t,n=Object.create(qat,(t={},Ah(t,Hm,{value:r,writable:!0}),Ah(t,Th,{value:null,writable:!0}),Ah(t,Gm,{value:null,writable:!0}),Ah(t,qw,{value:null,writable:!0}),Ah(t,v4,{value:r._readableState.endEmitted,writable:!0}),Ah(t,_X,{value:function(a,o){var s=n[Hm].read();s?(n[zm]=null,n[Th]=null,n[Gm]=null,a(Ch(s,!1))):(n[Th]=a,n[Gm]=o)},writable:!0}),t));return n[zm]=null,Pat(r,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var a=n[Gm];a!==null&&(n[zm]=null,n[Th]=null,n[Gm]=null,a(i)),n[qw]=i;return}var o=n[Th];o!==null&&(n[zm]=null,n[Th]=null,n[Gm]=null,o(Ch(void 0,!0))),n[v4]=!0}),r.on("readable",jat.bind(null,n)),n};YPe.exports=Nat});var eBe=m((Kjt,ZPe)=>{"use strict";function JPe(e,r,t,n,i,a,o){try{var s=e[a](o),u=s.value}catch(l){t(l);return}s.done?r(u):Promise.resolve(u).then(n,i)}function Uat(e){return function(){var r=this,t=arguments;return new Promise(function(n,i){var a=e.apply(r,t);function o(u){JPe(a,n,i,o,s,"next",u)}function s(u){JPe(a,n,i,o,s,"throw",u)}o(void 0)})}}function QPe(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,n)}return t}function Gat(e){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?QPe(Object(t),!0).forEach(function(n){zat(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):QPe(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function zat(e,r,t){return r=Hat(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Hat(e){var r=Wat(e,"string");return typeof r=="symbol"?r:String(r)}function Wat(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var Vat=wh().codes.ERR_INVALID_ARG_TYPE;function Kat(e,r,t){var n;if(r&&typeof r.next=="function")n=r;else if(r&&r[Symbol.asyncIterator])n=r[Symbol.asyncIterator]();else if(r&&r[Symbol.iterator])n=r[Symbol.iterator]();else throw new Vat("iterable",["Iterable"],r);var i=new e(Gat({objectMode:!0},t)),a=!1;i._read=function(){a||(a=!0,o())};function o(){return s.apply(this,arguments)}function s(){return s=Uat(function*(){try{var u=yield n.next(),l=u.value,c=u.done;c?i.push(null):i.push(yield l)?o():a=!1}catch(f){i.destroy(f)}}),s.apply(this,arguments)}return i}ZPe.exports=Kat});var vX=m((Yjt,cBe)=>{"use strict";cBe.exports=Vt;var yx;Vt.ReadableState=tBe;var Xjt=require("events").EventEmitter,rBe=function(r,t){return r.listeners(t).length},Nw=sX(),b4=require("buffer").Buffer,Xat=(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:{}).Uint8Array||function(){};function Yat(e){return b4.from(e)}function $at(e){return b4.isBuffer(e)||e instanceof Xat}var EX=require("util"),wt;EX&&EX.debuglog?wt=EX.debuglog("stream"):wt=function(){};var Jat=OPe(),wX=cX(),Qat=fX(),Zat=Qat.getHighWaterMark,y4=wh().codes,eot=y4.ERR_INVALID_ARG_TYPE,rot=y4.ERR_STREAM_PUSH_AFTER_EOF,tot=y4.ERR_METHOD_NOT_IMPLEMENTED,not=y4.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,xx,SX,AX;at()(Vt,Nw);var Uw=wX.errorOrDestroy,TX=["error","close","destroy","pause","resume"];function iot(e,r,t){if(typeof e.prependListener=="function")return e.prependListener(r,t);!e._events||!e._events[r]?e.on(r,t):Array.isArray(e._events[r])?e._events[r].unshift(t):e._events[r]=[t,e._events[r]]}function tBe(e,r,t){yx=yx||Um(),e=e||{},typeof t!="boolean"&&(t=r instanceof yx),this.objectMode=!!e.objectMode,t&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=Zat(this,e,"readableHighWaterMark",t),this.buffer=new Jat,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(xx||(xx=xX().StringDecoder),this.decoder=new xx(e.encoding),this.encoding=e.encoding)}function Vt(e){if(yx=yx||Um(),!(this instanceof Vt))return new Vt(e);var r=this instanceof yx;this._readableState=new tBe(e,this,r),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),Nw.call(this)}Object.defineProperty(Vt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(r){!this._readableState||(this._readableState.destroyed=r)}});Vt.prototype.destroy=wX.destroy;Vt.prototype._undestroy=wX.undestroy;Vt.prototype._destroy=function(e,r){r(e)};Vt.prototype.push=function(e,r){var t=this._readableState,n;return t.objectMode?n=!0:typeof e=="string"&&(r=r||t.defaultEncoding,r!==t.encoding&&(e=b4.from(e,r),r=""),n=!0),nBe(this,e,r,!1,n)};Vt.prototype.unshift=function(e){return nBe(this,e,null,!0,!1)};function nBe(e,r,t,n,i){wt("readableAddChunk",r);var a=e._readableState;if(r===null)a.reading=!1,sot(e,a);else{var o;if(i||(o=aot(a,r)),o)Uw(e,o);else if(a.objectMode||r&&r.length>0)if(typeof r!="string"&&!a.objectMode&&Object.getPrototypeOf(r)!==b4.prototype&&(r=Yat(r)),n)a.endEmitted?Uw(e,new not):CX(e,a,r,!0);else if(a.ended)Uw(e,new rot);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!t?(r=a.decoder.write(r),a.objectMode||r.length!==0?CX(e,a,r,!1):DX(e,a)):CX(e,a,r,!1)}else n||(a.reading=!1,DX(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function CX(e,r,t,n){r.flowing&&r.length===0&&!r.sync?(r.awaitDrain=0,e.emit("data",t)):(r.length+=r.objectMode?1:t.length,n?r.buffer.unshift(t):r.buffer.push(t),r.needReadable&&x4(e)),DX(e,r)}function aot(e,r){var t;return!$at(r)&&typeof r!="string"&&r!==void 0&&!e.objectMode&&(t=new eot("chunk",["string","Buffer","Uint8Array"],r)),t}Vt.prototype.isPaused=function(){return this._readableState.flowing===!1};Vt.prototype.setEncoding=function(e){xx||(xx=xX().StringDecoder);var r=new xx(e);this._readableState.decoder=r,this._readableState.encoding=this._readableState.decoder.encoding;for(var t=this._readableState.buffer.head,n="";t!==null;)n+=r.write(t.data),t=t.next;return this._readableState.buffer.clear(),n!==""&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var iBe=1073741824;function oot(e){return e>=iBe?e=iBe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function aBe(e,r){return e<=0||r.length===0&&r.ended?0:r.objectMode?1:e!==e?r.flowing&&r.length?r.buffer.head.data.length:r.length:(e>r.highWaterMark&&(r.highWaterMark=oot(e)),e<=r.length?e:r.ended?r.length:(r.needReadable=!0,0))}Vt.prototype.read=function(e){wt("read",e),e=parseInt(e,10);var r=this._readableState,t=e;if(e!==0&&(r.emittedReadable=!1),e===0&&r.needReadable&&((r.highWaterMark!==0?r.length>=r.highWaterMark:r.length>0)||r.ended))return wt("read: emitReadable",r.length,r.ended),r.length===0&&r.ended?kX(this):x4(this),null;if(e=aBe(e,r),e===0&&r.ended)return r.length===0&&kX(this),null;var n=r.needReadable;wt("need readable",n),(r.length===0||r.length-e<r.highWaterMark)&&(n=!0,wt("length less than watermark",n)),r.ended||r.reading?(n=!1,wt("reading or ended",n)):n&&(wt("do read"),r.reading=!0,r.sync=!0,r.length===0&&(r.needReadable=!0),this._read(r.highWaterMark),r.sync=!1,r.reading||(e=aBe(t,r)));var i;return e>0?i=uBe(e,r):i=null,i===null?(r.needReadable=r.length<=r.highWaterMark,e=0):(r.length-=e,r.awaitDrain=0),r.length===0&&(r.ended||(r.needReadable=!0),t!==e&&r.ended&&kX(this)),i!==null&&this.emit("data",i),i};function sot(e,r){if(wt("onEofChunk"),!r.ended){if(r.decoder){var t=r.decoder.end();t&&t.length&&(r.buffer.push(t),r.length+=r.objectMode?1:t.length)}r.ended=!0,r.sync?x4(e):(r.needReadable=!1,r.emittedReadable||(r.emittedReadable=!0,oBe(e)))}}function x4(e){var r=e._readableState;wt("emitReadable",r.needReadable,r.emittedReadable),r.needReadable=!1,r.emittedReadable||(wt("emitReadable",r.flowing),r.emittedReadable=!0,process.nextTick(oBe,e))}function oBe(e){var r=e._readableState;wt("emitReadable_",r.destroyed,r.length,r.ended),!r.destroyed&&(r.length||r.ended)&&(e.emit("readable"),r.emittedReadable=!1),r.needReadable=!r.flowing&&!r.ended&&r.length<=r.highWaterMark,OX(e)}function DX(e,r){r.readingMore||(r.readingMore=!0,process.nextTick(uot,e,r))}function uot(e,r){for(;!r.reading&&!r.ended&&(r.length<r.highWaterMark||r.flowing&&r.length===0);){var t=r.length;if(wt("maybeReadMore read 0"),e.read(0),t===r.length)break}r.readingMore=!1}Vt.prototype._read=function(e){Uw(this,new tot("_read()"))};Vt.prototype.pipe=function(e,r){var t=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,wt("pipe count=%d opts=%j",n.pipesCount,r);var i=(!r||r.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:b;n.endEmitted?process.nextTick(a):t.once("end",a),e.on("unpipe",o);function o(v,y){wt("onunpipe"),v===t&&y&&y.hasUnpiped===!1&&(y.hasUnpiped=!0,c())}function s(){wt("onend"),e.end()}var u=lot(t);e.on("drain",u);var l=!1;function c(){wt("cleanup"),e.removeListener("close",p),e.removeListener("finish",h),e.removeListener("drain",u),e.removeListener("error",d),e.removeListener("unpipe",o),t.removeListener("end",s),t.removeListener("end",b),t.removeListener("data",f),l=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&u()}t.on("data",f);function f(v){wt("ondata");var y=e.write(v);wt("dest.write",y),y===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&lBe(n.pipes,e)!==-1)&&!l&&(wt("false write response, pause",n.awaitDrain),n.awaitDrain++),t.pause())}function d(v){wt("onerror",v),b(),e.removeListener("error",d),rBe(e,"error")===0&&Uw(e,v)}iot(e,"error",d);function p(){e.removeListener("finish",h),b()}e.once("close",p);function h(){wt("onfinish"),e.removeListener("close",p),b()}e.once("finish",h);function b(){wt("unpipe"),t.unpipe(e)}return e.emit("pipe",t),n.flowing||(wt("pipe resume"),t.resume()),e};function lot(e){return function(){var t=e._readableState;wt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&rBe(e,"data")&&(t.flowing=!0,OX(e))}}Vt.prototype.unpipe=function(e){var r=this._readableState,t={hasUnpiped:!1};if(r.pipesCount===0)return this;if(r.pipesCount===1)return e&&e!==r.pipes?this:(e||(e=r.pipes),r.pipes=null,r.pipesCount=0,r.flowing=!1,e&&e.emit("unpipe",this,t),this);if(!e){var n=r.pipes,i=r.pipesCount;r.pipes=null,r.pipesCount=0,r.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,{hasUnpiped:!1});return this}var o=lBe(r.pipes,e);return o===-1?this:(r.pipes.splice(o,1),r.pipesCount-=1,r.pipesCount===1&&(r.pipes=r.pipes[0]),e.emit("unpipe",this,t),this)};Vt.prototype.on=function(e,r){var t=Nw.prototype.on.call(this,e,r),n=this._readableState;return e==="data"?(n.readableListening=this.listenerCount("readable")>0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,wt("on readable",n.length,n.reading),n.length?x4(this):n.reading||process.nextTick(cot,this)),t};Vt.prototype.addListener=Vt.prototype.on;Vt.prototype.removeListener=function(e,r){var t=Nw.prototype.removeListener.call(this,e,r);return e==="readable"&&process.nextTick(sBe,this),t};Vt.prototype.removeAllListeners=function(e){var r=Nw.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(sBe,this),r};function sBe(e){var r=e._readableState;r.readableListening=e.listenerCount("readable")>0,r.resumeScheduled&&!r.paused?r.flowing=!0:e.listenerCount("data")>0&&e.resume()}function cot(e){wt("readable nexttick read 0"),e.read(0)}Vt.prototype.resume=function(){var e=this._readableState;return e.flowing||(wt("resume"),e.flowing=!e.readableListening,fot(this,e)),e.paused=!1,this};function fot(e,r){r.resumeScheduled||(r.resumeScheduled=!0,process.nextTick(dot,e,r))}function dot(e,r){wt("resume",r.reading),r.reading||e.read(0),r.resumeScheduled=!1,e.emit("resume"),OX(e),r.flowing&&!r.reading&&e.read(0)}Vt.prototype.pause=function(){return wt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(wt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function OX(e){var r=e._readableState;for(wt("flow",r.flowing);r.flowing&&e.read()!==null;);}Vt.prototype.wrap=function(e){var r=this,t=this._readableState,n=!1;e.on("end",function(){if(wt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&r.push(o)}r.push(null)}),e.on("data",function(o){if(wt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var s=r.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<TX.length;a++)e.on(TX[a],this.emit.bind(this,TX[a]));return this._read=function(o){wt("wrapped _read",o),n&&(n=!1,e.resume())},this};typeof Symbol=="function"&&(Vt.prototype[Symbol.asyncIterator]=function(){return SX===void 0&&(SX=$Pe()),SX(this)});Object.defineProperty(Vt.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(Vt.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Vt.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(r){this._readableState&&(this._readableState.flowing=r)}});Vt._fromList=uBe;Object.defineProperty(Vt.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function uBe(e,r){if(r.length===0)return null;var t;return r.objectMode?t=r.buffer.shift():!e||e>=r.length?(r.decoder?t=r.buffer.join(""):r.buffer.length===1?t=r.buffer.first():t=r.buffer.concat(r.length),r.buffer.clear()):t=r.buffer.consume(e,r.decoder),t}function kX(e){var r=e._readableState;wt("endReadable",r.endEmitted),r.endEmitted||(r.ended=!0,process.nextTick(pot,r,e))}function pot(e,r){if(wt("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,r.readable=!1,r.emit("end"),e.autoDestroy)){var t=r._writableState;(!t||t.autoDestroy&&t.finished)&&r.destroy()}}typeof Symbol=="function"&&(Vt.from=function(e,r){return AX===void 0&&(AX=eBe()),AX(Vt,e,r)});function lBe(e,r){for(var t=0,n=e.length;t<n;t++)if(e[t]===r)return t;return-1}});var FX=m(($jt,dBe)=>{"use strict";dBe.exports=Kf;var _4=wh().codes,hot=_4.ERR_METHOD_NOT_IMPLEMENTED,mot=_4.ERR_MULTIPLE_CALLBACK,got=_4.ERR_TRANSFORM_ALREADY_TRANSFORMING,vot=_4.ERR_TRANSFORM_WITH_LENGTH_0,E4=Um();at()(Kf,E4);function bot(e,r){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(n===null)return this.emit("error",new mot);t.writechunk=null,t.writecb=null,r!=null&&this.push(r),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Kf(e){if(!(this instanceof Kf))return new Kf(e);E4.call(this,e),this._transformState={afterTransform:bot.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",yot)}function yot(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(r,t){fBe(e,r,t)}):fBe(this,null,null)}Kf.prototype.push=function(e,r){return this._transformState.needTransform=!1,E4.prototype.push.call(this,e,r)};Kf.prototype._transform=function(e,r,t){t(new hot("_transform()"))};Kf.prototype._write=function(e,r,t){var n=this._transformState;if(n.writecb=t,n.writechunk=e,n.writeencoding=r,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Kf.prototype._read=function(e){var r=this._transformState;r.writechunk!==null&&!r.transforming?(r.transforming=!0,this._transform(r.writechunk,r.writeencoding,r.afterTransform)):r.needTransform=!0};Kf.prototype._destroy=function(e,r){E4.prototype._destroy.call(this,e,function(t){r(t)})};function fBe(e,r,t){if(r)return e.emit("error",r);if(t!=null&&e.push(t),e._writableState.length)throw new vot;if(e._transformState.transforming)throw new got;return e.push(null)}});var mBe=m((Jjt,hBe)=>{"use strict";hBe.exports=Gw;var pBe=FX();at()(Gw,pBe);function Gw(e){if(!(this instanceof Gw))return new Gw(e);pBe.call(this,e)}Gw.prototype._transform=function(e,r,t){t(null,e)}});var xBe=m((Qjt,yBe)=>{"use strict";var RX;function xot(e){var r=!1;return function(){r||(r=!0,e.apply(void 0,arguments))}}var gBe=wh().codes,_ot=gBe.ERR_MISSING_ARGS,Eot=gBe.ERR_STREAM_DESTROYED;function vBe(e){if(e)throw e}function wot(e){return e.setHeader&&typeof e.abort=="function"}function Sot(e,r,t,n){n=xot(n);var i=!1;e.on("close",function(){i=!0}),RX===void 0&&(RX=m4()),RX(e,{readable:r,writable:t},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,wot(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Eot("pipe"))}}}function bBe(e){e()}function Aot(e,r){return e.pipe(r)}function Tot(e){return!e.length||typeof e[e.length-1]!="function"?vBe:e.pop()}function Cot(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=Tot(r);if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new _ot("streams");var i,a=r.map(function(o,s){var u=s<r.length-1,l=s>0;return Sot(o,u,l,function(c){i||(i=c),c&&a.forEach(bBe),!u&&(a.forEach(bBe),n(i))})});return r.reduce(Aot)}yBe.exports=Cot});var Ww=m((cu,Hw)=>{var zw=require("stream");process.env.READABLE_STREAM==="disable"&&zw?(Hw.exports=zw.Readable,Object.assign(Hw.exports,zw),Hw.exports.Stream=zw):(cu=Hw.exports=vX(),cu.Stream=zw||cu,cu.Readable=cu,cu.Writable=hX(),cu.Duplex=Um(),cu.Transform=FX(),cu.PassThrough=mBe(),cu.finished=m4(),cu.pipeline=xBe())});var CBe=m((Zjt,TBe)=>{var _Be=require("util"),Dot=Wq(),Vw=oX(),EBe=Ww().Writable,wBe=Ww().PassThrough,SBe=function(){},ABe=function(e){return e&=511,e&&512-e},Oot=function(e,r){var t=new w4(e,r);return t.end(),t},kot=function(e,r){return r.path&&(e.name=r.path),r.linkpath&&(e.linkname=r.linkpath),r.size&&(e.size=parseInt(r.size,10)),e.pax=r,e},w4=function(e,r){this._parent=e,this.offset=r,wBe.call(this,{autoDestroy:!1})};_Be.inherits(w4,wBe);w4.prototype.destroy=function(e){this._parent.destroy(e)};var Xf=function(e){if(!(this instanceof Xf))return new Xf(e);EBe.call(this,e),e=e||{},this._offset=0,this._buffer=Dot(),this._missing=0,this._partial=!1,this._onparse=SBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var r=this,t=r._buffer,n=function(){r._continue()},i=function(d){if(r._locked=!1,d)return r.destroy(d);r._stream||n()},a=function(){r._stream=null;var d=ABe(r._header.size);d?r._parse(d,o):r._parse(512,f),r._locked||n()},o=function(){r._buffer.consume(ABe(r._header.size)),r._parse(512,f),n()},s=function(){var d=r._header.size;r._paxGlobal=Vw.decodePax(t.slice(0,d)),t.consume(d),a()},u=function(){var d=r._header.size;r._pax=Vw.decodePax(t.slice(0,d)),r._paxGlobal&&(r._pax=Object.assign({},r._paxGlobal,r._pax)),t.consume(d),a()},l=function(){var d=r._header.size;this._gnuLongPath=Vw.decodeLongPath(t.slice(0,d),e.filenameEncoding),t.consume(d),a()},c=function(){var d=r._header.size;this._gnuLongLinkPath=Vw.decodeLongPath(t.slice(0,d),e.filenameEncoding),t.consume(d),a()},f=function(){var d=r._offset,p;try{p=r._header=Vw.decode(t.slice(0,512),e.filenameEncoding,e.allowUnknownFormat)}catch(h){r.emit("error",h)}if(t.consume(512),!p){r._parse(512,f),n();return}if(p.type==="gnu-long-path"){r._parse(p.size,l),n();return}if(p.type==="gnu-long-link-path"){r._parse(p.size,c),n();return}if(p.type==="pax-global-header"){r._parse(p.size,s),n();return}if(p.type==="pax-header"){r._parse(p.size,u),n();return}if(r._gnuLongPath&&(p.name=r._gnuLongPath,r._gnuLongPath=null),r._gnuLongLinkPath&&(p.linkname=r._gnuLongLinkPath,r._gnuLongLinkPath=null),r._pax&&(r._header=p=kot(p,r._pax),r._pax=null),r._locked=!0,!p.size||p.type==="directory"){r._parse(512,f),r.emit("entry",p,Oot(r,d),i);return}r._stream=new w4(r,d),r.emit("entry",p,r._stream,i),r._parse(p.size,a),n()};this._onheader=f,this._parse(512,f)};_Be.inherits(Xf,EBe);Xf.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))};Xf.prototype._parse=function(e,r){this._destroyed||(this._offset+=e,this._missing=e,r===this._onheader&&(this._partial=!1),this._onparse=r)};Xf.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=SBe,this._overflow?this._write(this._overflow,void 0,e):e()}};Xf.prototype._write=function(e,r,t){if(!this._destroyed){var n=this._stream,i=this._buffer,a=this._missing;if(e.length&&(this._partial=!0),e.length<a)return this._missing-=e.length,this._overflow=null,n?n.write(e,t):(i.append(e),t());this._cb=t,this._missing=0;var o=null;e.length>a&&(o=e.slice(a),e=e.slice(0,a)),n?n.end(e):i.append(e),this._overflow=o,this._onparse()}};Xf.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()};TBe.exports=Xf});var OBe=m((eMt,DBe)=>{DBe.exports=require("fs").constants||require("constants")});var RBe=m((rMt,FBe)=>{var Fot=vR(),Rot=function(){},Iot=function(e){return e.setHeader&&typeof e.abort=="function"},Pot=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3},kBe=function(e,r,t){if(typeof r=="function")return kBe(e,null,r);r||(r={}),t=Fot(t||Rot);var n=e._writableState,i=e._readableState,a=r.readable||r.readable!==!1&&e.readable,o=r.writable||r.writable!==!1&&e.writable,s=!1,u=function(){e.writable||l()},l=function(){o=!1,a||t.call(e)},c=function(){a=!1,o||t.call(e)},f=function(v){t.call(e,v?new Error("exited with error code: "+v):null)},d=function(v){t.call(e,v)},p=function(){process.nextTick(h)},h=function(){if(!s){if(a&&!(i&&i.ended&&!i.destroyed))return t.call(e,new Error("premature close"));if(o&&!(n&&n.ended&&!n.destroyed))return t.call(e,new Error("premature close"))}},b=function(){e.req.on("finish",l)};return Iot(e)?(e.on("complete",l),e.on("abort",p),e.req?b():e.on("request",b)):o&&!n&&(e.on("end",u),e.on("close",u)),Pot(e)&&e.on("exit",f),e.on("end",c),e.on("finish",l),r.error!==!1&&e.on("error",d),e.on("close",p),function(){s=!0,e.removeListener("complete",l),e.removeListener("abort",p),e.removeListener("request",b),e.req&&e.req.removeListener("finish",l),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",l),e.removeListener("exit",f),e.removeListener("end",c),e.removeListener("error",d),e.removeListener("close",p)}};FBe.exports=kBe});var MBe=m((tMt,jBe)=>{var _x=OBe(),IBe=RBe(),S4=at(),Bot=Buffer.alloc,PBe=Ww().Readable,Ex=Ww().Writable,jot=require("string_decoder").StringDecoder,A4=oX(),Mot=parseInt("755",8),Lot=parseInt("644",8),BBe=Bot(1024),IX=function(){},PX=function(e,r){r&=511,r&&e.push(BBe.slice(0,512-r))};function qot(e){switch(e&_x.S_IFMT){case _x.S_IFBLK:return"block-device";case _x.S_IFCHR:return"character-device";case _x.S_IFDIR:return"directory";case _x.S_IFIFO:return"fifo";case _x.S_IFLNK:return"symlink"}return"file"}var T4=function(e){Ex.call(this),this.written=0,this._to=e,this._destroyed=!1};S4(T4,Ex);T4.prototype._write=function(e,r,t){if(this.written+=e.length,this._to.push(e))return t();this._to._drain=t};T4.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var C4=function(){Ex.call(this),this.linkname="",this._decoder=new jot("utf-8"),this._destroyed=!1};S4(C4,Ex);C4.prototype._write=function(e,r,t){this.linkname+=this._decoder.write(e),t()};C4.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Kw=function(){Ex.call(this),this._destroyed=!1};S4(Kw,Ex);Kw.prototype._write=function(e,r,t){t(new Error("No body allowed for this entry"))};Kw.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Sc=function(e){if(!(this instanceof Sc))return new Sc(e);PBe.call(this,e),this._drain=IX,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};S4(Sc,PBe);Sc.prototype.entry=function(e,r,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof r=="function"&&(t=r,r=null),t||(t=IX);var n=this;if((!e.size||e.type==="symlink")&&(e.size=0),e.type||(e.type=qot(e.mode)),e.mode||(e.mode=e.type==="directory"?Mot:Lot),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),typeof r=="string"&&(r=Buffer.from(r)),Buffer.isBuffer(r)){e.size=r.length,this._encode(e);var i=this.push(r);return PX(n,e.size),i?process.nextTick(t):this._drain=t,new Kw}if(e.type==="symlink"&&!e.linkname){var a=new C4;return IBe(a,function(s){if(s)return n.destroy(),t(s);e.linkname=a.linkname,n._encode(e),t()}),a}if(this._encode(e),e.type!=="file"&&e.type!=="contiguous-file")return process.nextTick(t),new Kw;var o=new T4(this);return this._stream=o,IBe(o,function(s){if(n._stream=null,s)return n.destroy(),t(s);if(o.written!==e.size)return n.destroy(),t(new Error("size mismatch"));PX(n,e.size),n._finalizing&&n.finalize(),t()}),o}};Sc.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(BBe),this.push(null))};Sc.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Sc.prototype._encode=function(e){if(!e.pax){var r=A4.encode(e);if(r){this.push(r);return}}this._encodePax(e)};Sc.prototype._encodePax=function(e){var r=A4.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),t={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:r.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(A4.encode(t)),this.push(r),PX(this,r.length),t.size=e.size,t.type=e.type,this.push(A4.encode(t))};Sc.prototype._read=function(e){var r=this._drain;this._drain=IX,r()};jBe.exports=Sc});var LBe=m(BX=>{BX.extract=CBe();BX.pack=MBe()});var UBe=m((iMt,NBe)=>{var Not=require("zlib"),Uot=LBe(),qBe=rx(),Yf=function(e){if(!(this instanceof Yf))return new Yf(e);e=this.options=qBe.defaults(e,{gzip:!1}),typeof e.gzipOptions!="object"&&(e.gzipOptions={}),this.supports={directory:!0,symlink:!0},this.engine=Uot.pack(e),this.compressor=!1,e.gzip&&(this.compressor=Not.createGzip(e.gzipOptions),this.compressor.on("error",this._onCompressorError.bind(this)))};Yf.prototype._onCompressorError=function(e){this.engine.emit("error",e)};Yf.prototype.append=function(e,r,t){var n=this;r.mtime=r.date;function i(o,s){if(o){t(o);return}n.engine.entry(r,s,function(u){t(u,r)})}if(r.sourceType==="buffer")i(null,e);else if(r.sourceType==="stream"&&r.stats){r.size=r.stats.size;var a=n.engine.entry(r,function(o){t(o,r)});e.pipe(a)}else r.sourceType==="stream"&&qBe.collectStream(e,i)};Yf.prototype.finalize=function(){this.engine.finalize()};Yf.prototype.on=function(){return this.engine.on.apply(this.engine,arguments)};Yf.prototype.pipe=function(e,r){return this.compressor?this.engine.pipe.apply(this.engine,[this.compressor]).pipe(e,r):this.engine.pipe.apply(this.engine,arguments)};Yf.prototype.unpipe=function(){return this.compressor?this.compressor.unpipe.apply(this.compressor,arguments):this.engine.unpipe.apply(this.engine,arguments)};NBe.exports=Yf});var WBe=m((aMt,HBe)=>{var Got=require("util").inherits,GBe=LV().Transform,zot=AK(),zBe=rx(),Dh=function(e){if(!(this instanceof Dh))return new Dh(e);e=this.options=zBe.defaults(e,{}),GBe.call(this,e),this.supports={directory:!0,symlink:!0},this.files=[]};Got(Dh,GBe);Dh.prototype._transform=function(e,r,t){t(null,e)};Dh.prototype._writeStringified=function(){var e=JSON.stringify(this.files);this.write(e)};Dh.prototype.append=function(e,r,t){var n=this;r.crc32=0;function i(a,o){if(a){t(a);return}r.size=o.length||0,r.crc32=zot.unsigned(o),n.files.push(r),t(null,r)}r.sourceType==="buffer"?i(null,e):r.sourceType==="stream"&&zBe.collectStream(e,i)};Dh.prototype.finalize=function(){this._writeStringified(),this.end()};HBe.exports=Dh});var KBe=m((oMt,VBe)=>{var Hot=LRe(),Xw={},Oh=function(e,r){return Oh.create(e,r)};Oh.create=function(e,r){if(Xw[e]){var t=new Hot(e,r);return t.setFormat(e),t.setModule(new Xw[e](r)),t}else throw new Error("create("+e+"): format not registered")};Oh.registerFormat=function(e,r){if(Xw[e])throw new Error("register("+e+"): format already registered");if(typeof r!="function")throw new Error("register("+e+"): format module invalid");if(typeof r.prototype.append!="function"||typeof r.prototype.finalize!="function")throw new Error("register("+e+"): format module missing methods");Xw[e]=r};Oh.isRegisteredFormat=function(e){return!!Xw[e]};Oh.registerFormat("zip",bPe());Oh.registerFormat("tar",UBe());Oh.registerFormat("json",WBe());VBe.exports=Oh});var F5e=m((XMt,Jf)=>{var rut=co().default;function k5e(){"use strict";Jf.exports=k5e=function(){return e},Jf.exports.__esModule=!0,Jf.exports.default=Jf.exports;var e={},r=Object.prototype,t=r.hasOwnProperty,n=Object.defineProperty||function(W,M,H){W[M]=H.value},i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(W,M,H){return Object.defineProperty(W,M,{value:H,enumerable:!0,configurable:!0,writable:!0}),W[M]}try{u({},"")}catch{u=function(H,$,ne){return H[$]=ne}}function l(W,M,H,$){var ne=M&&M.prototype instanceof d?M:d,ae=Object.create(ne.prototype),se=new P($||[]);return n(ae,"_invoke",{value:D(W,H,se)}),ae}function c(W,M,H){try{return{type:"normal",arg:W.call(M,H)}}catch($){return{type:"throw",arg:$}}}e.wrap=l;var f={};function d(){}function p(){}function h(){}var b={};u(b,a,function(){return this});var v=Object.getPrototypeOf,y=v&&v(v(V([])));y&&y!==r&&t.call(y,a)&&(b=y);var w=h.prototype=d.prototype=Object.create(b);function A(W){["next","throw","return"].forEach(function(M){u(W,M,function(H){return this._invoke(M,H)})})}function C(W,M){function H(ne,ae,se,ce){var me=c(W[ne],W,ae);if(me.type!=="throw"){var Me=me.arg,Ie=Me.value;return Ie&&rut(Ie)=="object"&&t.call(Ie,"__await")?M.resolve(Ie.__await).then(function(Ge){H("next",Ge,se,ce)},function(Ge){H("throw",Ge,se,ce)}):M.resolve(Ie).then(function(Ge){Me.value=Ge,se(Me)},function(Ge){return H("throw",Ge,se,ce)})}ce(me.arg)}var $;n(this,"_invoke",{value:function(ae,se){function ce(){return new M(function(me,Me){H(ae,se,me,Me)})}return $=$?$.then(ce,ce):ce()}})}function D(W,M,H){var $="suspendedStart";return function(ne,ae){if($==="executing")throw new Error("Generator is already running");if($==="completed"){if(ne==="throw")throw ae;return N()}for(H.method=ne,H.arg=ae;;){var se=H.delegate;if(se){var ce=R(se,H);if(ce){if(ce===f)continue;return ce}}if(H.method==="next")H.sent=H._sent=H.arg;else if(H.method==="throw"){if($==="suspendedStart")throw $="completed",H.arg;H.dispatchException(H.arg)}else H.method==="return"&&H.abrupt("return",H.arg);$="executing";var me=c(W,M,H);if(me.type==="normal"){if($=H.done?"completed":"suspendedYield",me.arg===f)continue;return{value:me.arg,done:H.done}}me.type==="throw"&&($="completed",H.method="throw",H.arg=me.arg)}}}function R(W,M){var H=M.method,$=W.iterator[H];if($===void 0)return M.delegate=null,H==="throw"&&W.iterator.return&&(M.method="return",M.arg=void 0,R(W,M),M.method==="throw")||H!=="return"&&(M.method="throw",M.arg=new TypeError("The iterator does not provide a '"+H+"' method")),f;var ne=c($,W.iterator,M.arg);if(ne.type==="throw")return M.method="throw",M.arg=ne.arg,M.delegate=null,f;var ae=ne.arg;return ae?ae.done?(M[W.resultName]=ae.value,M.next=W.nextLoc,M.method!=="return"&&(M.method="next",M.arg=void 0),M.delegate=null,f):ae:(M.method="throw",M.arg=new TypeError("iterator result is not an object"),M.delegate=null,f)}function O(W){var M={tryLoc:W[0]};1 in W&&(M.catchLoc=W[1]),2 in W&&(M.finallyLoc=W[2],M.afterLoc=W[3]),this.tryEntries.push(M)}function L(W){var M=W.completion||{};M.type="normal",delete M.arg,W.completion=M}function P(W){this.tryEntries=[{tryLoc:"root"}],W.forEach(O,this),this.reset(!0)}function V(W){if(W){var M=W[a];if(M)return M.call(W);if(typeof W.next=="function")return W;if(!isNaN(W.length)){var H=-1,$=function ne(){for(;++H<W.length;)if(t.call(W,H))return ne.value=W[H],ne.done=!1,ne;return ne.value=void 0,ne.done=!0,ne};return $.next=$}}return{next:N}}function N(){return{value:void 0,done:!0}}return p.prototype=h,n(w,"constructor",{value:h,configurable:!0}),n(h,"constructor",{value:p,configurable:!0}),p.displayName=u(h,s,"GeneratorFunction"),e.isGeneratorFunction=function(W){var M=typeof W=="function"&&W.constructor;return!!M&&(M===p||(M.displayName||M.name)==="GeneratorFunction")},e.mark=function(W){return Object.setPrototypeOf?Object.setPrototypeOf(W,h):(W.__proto__=h,u(W,s,"GeneratorFunction")),W.prototype=Object.create(w),W},e.awrap=function(W){return{__await:W}},A(C.prototype),u(C.prototype,o,function(){return this}),e.AsyncIterator=C,e.async=function(W,M,H,$,ne){ne===void 0&&(ne=Promise);var ae=new C(l(W,M,H,$),ne);return e.isGeneratorFunction(M)?ae:ae.next().then(function(se){return se.done?se.value:ae.next()})},A(w),u(w,s,"Generator"),u(w,a,function(){return this}),u(w,"toString",function(){return"[object Generator]"}),e.keys=function(W){var M=Object(W),H=[];for(var $ in M)H.push($);return H.reverse(),function ne(){for(;H.length;){var ae=H.pop();if(ae in M)return ne.value=ae,ne.done=!1,ne}return ne.done=!0,ne}},e.values=V,P.prototype={constructor:P,reset:function(M){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!M)for(var H in this)H.charAt(0)==="t"&&t.call(this,H)&&!isNaN(+H.slice(1))&&(this[H]=void 0)},stop:function(){this.done=!0;var M=this.tryEntries[0].completion;if(M.type==="throw")throw M.arg;return this.rval},dispatchException:function(M){if(this.done)throw M;var H=this;function $(Me,Ie){return se.type="throw",se.arg=M,H.next=Me,Ie&&(H.method="next",H.arg=void 0),!!Ie}for(var ne=this.tryEntries.length-1;ne>=0;--ne){var ae=this.tryEntries[ne],se=ae.completion;if(ae.tryLoc==="root")return $("end");if(ae.tryLoc<=this.prev){var ce=t.call(ae,"catchLoc"),me=t.call(ae,"finallyLoc");if(ce&&me){if(this.prev<ae.catchLoc)return $(ae.catchLoc,!0);if(this.prev<ae.finallyLoc)return $(ae.finallyLoc)}else if(ce){if(this.prev<ae.catchLoc)return $(ae.catchLoc,!0)}else{if(!me)throw new Error("try statement without catch or finally");if(this.prev<ae.finallyLoc)return $(ae.finallyLoc)}}}},abrupt:function(M,H){for(var $=this.tryEntries.length-1;$>=0;--$){var ne=this.tryEntries[$];if(ne.tryLoc<=this.prev&&t.call(ne,"finallyLoc")&&this.prev<ne.finallyLoc){var ae=ne;break}}ae&&(M==="break"||M==="continue")&&ae.tryLoc<=H&&H<=ae.finallyLoc&&(ae=null);var se=ae?ae.completion:{};return se.type=M,se.arg=H,ae?(this.method="next",this.next=ae.finallyLoc,f):this.complete(se)},complete:function(M,H){if(M.type==="throw")throw M.arg;return M.type==="break"||M.type==="continue"?this.next=M.arg:M.type==="return"?(this.rval=this.arg=M.arg,this.method="return",this.next="end"):M.type==="normal"&&H&&(this.next=H),f},finish:function(M){for(var H=this.tryEntries.length-1;H>=0;--H){var $=this.tryEntries[H];if($.finallyLoc===M)return this.complete($.completion,$.afterLoc),L($),f}},catch:function(M){for(var H=this.tryEntries.length-1;H>=0;--H){var $=this.tryEntries[H];if($.tryLoc===M){var ne=$.completion;if(ne.type==="throw"){var ae=ne.arg;L($)}return ae}}throw new Error("illegal catch attempt")},delegateYield:function(M,H,$){return this.delegate={iterator:V(M),resultName:H,nextLoc:$},this.method==="next"&&(this.arg=void 0),f}},e}Jf.exports=k5e,Jf.exports.__esModule=!0,Jf.exports.default=Jf.exports});var I5e=m((YMt,R5e)=>{var B4=F5e()();R5e.exports=B4;try{regeneratorRuntime=B4}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=B4:Function("r","regeneratorRuntime = r")(B4)}});var KX=m(j4=>{"use strict";var WX=ln();Object.defineProperty(j4,"__esModule",{value:!0});j4.default=void 0;var tut=WX(li()),nut=WX(ci()),Fh=WX(Us()),iut=240,aut=[9,-18,-88,0,96,90,0,0,-60,-20,-9,18,8,0,-96,30,0,0,60,-20,9,-88,-18,90,96,0,-20,-60,0,0,186,-42,-42,-150,-96,-150,60,60,60,60,54,162,-78,30,-24,-90,-60,60,-60,60,-9,-32,18,30,24,0,20,-60,0,0,-9,8,18,30,-96,0,-20,60,0,0,54,-78,162,-90,-24,30,60,-60,60,-60,-54,78,78,90,144,90,-60,-60,-60,-60,9,-8,-18,-30,-24,0,20,60,0,0,-9,18,-32,0,24,30,0,0,-60,20,9,-18,-8,0,-24,-30,0,0,60,20],out=372,sut=[0,0,-131,0,138,144,0,0,-102,-31,0,0,7,0,-138,42,0,0,102,-31,62,0,-31,0,0,-62,0,0,0,31,124,0,-62,0,0,-124,0,0,0,62,124,0,-62,0,0,-124,0,0,0,62,62,0,-31,0,0,-62,0,0,0,31,0,0,45,0,-183,-9,0,93,18,0,0,0,216,0,33,87,0,-93,12,-93,0,0,156,0,153,99,0,-93,-12,-93,0,0,-45,0,-3,9,0,93,-18,0,0,0,-55,0,48,42,0,0,-84,31,0,0,-7,0,-48,-42,0,0,84,31],uut=372,lut=[18,-36,-122,0,120,135,0,0,-84,-31,-18,36,-2,0,-120,51,0,0,84,-31,36,-165,-27,93,147,-9,0,-93,18,0,210,45,-111,-93,-57,-192,0,93,12,93,162,141,-75,-93,-129,-180,0,93,-12,93,-36,-21,27,93,39,9,0,-93,-18,0,0,0,62,0,0,31,0,0,0,-31,0,0,124,0,0,62,0,0,0,-62,0,0,124,0,0,62,0,0,0,-62,0,0,62,0,0,31,0,0,0,-31,-18,36,-64,0,66,51,0,0,-102,31,18,-36,2,0,-66,-51,0,0,102,31],cut=12,VX=(3+1)*(3+2)/2,fut=2,dut=function(){function e(r){(0,tut.default)(this,e),(0,Fh.default)(this,"_v00",0),(0,Fh.default)(this,"_v01",0),(0,Fh.default)(this,"_v10",0),(0,Fh.default)(this,"_v11",0),(0,Fh.default)(this,"_t",[]),(0,Fh.default)(this,"_ix",void 0),(0,Fh.default)(this,"_iy",void 0),(0,Fh.default)(this,"options",void 0),this.options=r,this._ix=this.options._width,this._iy=this.options._height}return(0,nut.default)(e,[{key:"getHeight",value:function(t,n){if(t=Math.abs(t)>90?NaN:t,isNaN(t)||isNaN(n))return NaN;var i=put(n,360);n=i!==-180?i:180;var a=n*this.options._rlonres,o=-t*this.options._rlatres,s=Math.floor(a),u=Math.min(Math.round((this.options._height-1)/2-1),Math.floor(o));a-=s,o-=u,u+=(this.options._height-1)/2,s+=s<0?this.options._width:s>=this.options._width?-this.options._width:0;var l=0,c=0,f=0,d=0,p=new Array(VX);if(s===this._ix&&u===this._iy)this.options.cubic?p=this._t:(l=this._v00,c=this._v01,f=this._v10,d=this._v11);else if(!this.options.cubic)l=this._rawval(s,u),c=this._rawval(s+1,u),f=this._rawval(s,u+1),d=this._rawval(s+1,u+1);else{var h=[this._rawval(s,u-1),this._rawval(s+1,u-1),this._rawval(s-1,u),this._rawval(s,u),this._rawval(s+1,u),this._rawval(s+2,u),this._rawval(s-1,u+1),this._rawval(s,u+1),this._rawval(s+1,u+1),this._rawval(s+2,u+1),this._rawval(s,u+2),this._rawval(s+1,u+2)],b=sut;u!==0&&(b=u===this.options._height-2?lut:aut);var v=out;u!==0&&(v=u===this.options._height-2?uut:iut);for(var y=0;y<VX;++y){p[y]=0;for(var w=0;w<cut;++w)p[y]+=h[w]*b[VX*w+y];p[y]/=v}}if(!this.options.cubic){var A=(1-a)*l+a*c,C=(1-a)*f+a*d,D=(1-o)*A+o*C,R=this.options._offset+this.options._scale*D;return this._ix=s,this._iy=u,this._v00=l,this._v01=c,this._v10=f,this._v11=d,R}var O=p[0]+a*(p[1]+a*(p[3]+a*p[6]))+o*(p[2]+a*(p[4]+a*p[7])+o*(p[5]+a*p[8]+o*p[9]));return O=this.options._offset+this.options._scale*O,this._ix=s,this._iy=u,this._t=p,O}},{key:"_rawval",value:function(t,n){t<0?t+=this.options._width:t>=this.options._width&&(t-=this.options._width),(n<0||n>=this.options._height)&&(n=n<0?-n:2*(this.options._height-1)-n,t+=(t<this.options._width/2?1:-1)*this.options._width/2);var i=this.options._datastart+fut*(n*this.options._swidth+t),a=this.options.data[i],o=this.options.data[i+1],s=a<<8|o;return s}}]),e}();j4.default=dut;function put(e,r){r=Math.abs(r);var t=P5e(e,r);return 2*Math.abs(t)===r?t-=P5e(e,2*r)-t:2*Math.abs(t)>r&&(t+=t<0?r:-r),t}function P5e(e,r){return e-Math.floor(e/r)*r}});var N5e=m(XX=>{"use strict";var B5e=ln();Object.defineProperty(XX,"__esModule",{value:!0});XX.parsePGM=xut;var j5e=B5e(I5e()),hut=B5e(KX());function mut(e,r){var t=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=gut(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
179
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){o=!0,s=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function gut(e,r){if(!!e){if(typeof e=="string")return M5e(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return M5e(e,r)}}function M5e(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var vut=j5e.default.mark(L5e),but=10,yut=65535;function xut(e,r){var t=L5e(e),n=t.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");var i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",l="UNKNOWN",c=0,f=0,d=null,p=null;do{n=t.next();var h=n.value.line;if(!!h.length)if(h[0]==="#"){var b=h.split(" "),v=b[0],y=b[1];if(v!=="#"||!y)continue;var w=b.length>2?b.slice(2):[];if(y==="Description")u=w.join(" ");else if(y==="DateTime")l=w.join(" ");else if(y==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(y==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else y===(r.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):y===(r.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{var A=h.split(" ");if(A=A.filter(function(O){return O!==""}),c=parseInt(A[0],10),f=parseInt(A[1],10),!(c&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=t.next();var C=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(C!==yut)throw new Error("Geoid model file: Incorrect value of maxval");if(d=n.value.offset,p=c,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||c<2)throw new Error("Geoid model file: Raster size too small");if(c&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");var D=c/360,R=(f-1)/180;return new hut.default({cubic:r.cubic,_width:c,_height:f,_rlonres:D,_rlatres:R,_offset:i,_scale:a,_swidth:p,_datastart:d,_maxerror:o,_rmserror:s,_description:u,_datetime:l,data:e})}function L5e(e){var r,t,n,i;return j5e.default.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:r=0;case 1:if(t=e.indexOf(but,r),t===-1){o.next=9;break}return n=e.subarray(r,t),r=t+1,o.next=7,{offset:r,line:q5e(n)};case 7:o.next=13;break;case 9:return i=e.subarray(r,e.length),r=e.length,o.next=13,{offset:r,line:q5e(i)};case 13:if(r<e.length){o.next=1;break}case 14:return o.abrupt("return",{offset:r,line:""});case 15:case"end":return o.stop()}},vut)}function q5e(e){var r="",t=mut(e),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;r+=String.fromCharCode(i)}}catch(a){t.e(a)}finally{t.f()}return r}});var U5e=m(M4=>{"use strict";var _ut=ln();Object.defineProperty(M4,"__esModule",{value:!0});Object.defineProperty(M4,"parsePGM",{enumerable:!0,get:function(){return Eut.parsePGM}});Object.defineProperty(M4,"Geoid",{enumerable:!0,get:function(){return wut.default}});var Eut=N5e(),wut=_ut(KX())});var tje=m(z4=>{"use strict";Object.defineProperty(z4,"__esModule",{value:!0});z4.default=void 0;var elt={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795};z4.default=elt});var fl=typeof process!="object"||String(process)!=="[object process]"||process.browser,iI={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global},Ri=iI.global||iI.self||iI.window;var qY={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};global["encoding-indexes"]=qY||{};function it(e,r,t){return r<=e&&e<=t}function wMe(e,r){return e.indexOf(r)!==-1}var Ic=Math.floor;function wS(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function SMe(e){for(var r=String(e),t=r.length,n=0,i=[];n<t;){var a=r.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===t-1)i.push(65533);else{var o=r.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function AMe(e){for(var r="",t=0;t<e.length;++t){var n=e[t];n<=65535?r+=String.fromCharCode(n):(n-=65536,r+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return r}function ms(e){return 0<=e&&e<=127}var gs=ms,Rt=-1;function aI(e){this.tokens=[].slice.call(e),this.tokens.reverse()}aI.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Rt},prepend:function(e){if(Array.isArray(e))for(var r=e;r.length;)this.tokens.push(r.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var r=e;r.length;)this.tokens.unshift(r.shift());else this.tokens.unshift(e)}};var An=-1;function It(e,r){if(e)throw TypeError("Decoder error");return r||65533}function mu(e){throw TypeError("The code point "+e+" could not be encoded.")}function TMe(){}TMe.prototype={handler:function(e,r){}};function CMe(){}CMe.prototype={handler:function(e,r){}};function oI(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(sI,e)?sI[e]:null}var NY=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],sI={};NY.forEach(function(e){e.encodings.forEach(function(r){r.labels.forEach(function(t){sI[t]=r})})});var yo={},xo={};function ng(e,r){return r&&r[e]||null}function ig(e,r){var t=r.indexOf(e);return t===-1?null:t}function no(e){if(!("encoding-indexes"in global))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return global["encoding-indexes"][e]}function DMe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var r=0,t=0,n=no("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)r=a[0],t=a[1];else break}return t+e-r}function OMe(e){if(e===59335)return 7457;var r=0,t=0,n=no("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)r=a[1],t=a[0];else break}return t+e-r}function kMe(e){uI=uI||no("jis0208").map(function(t,n){return it(n,8272,8835)?null:t});var r=uI;return r.indexOf(e)}var uI;function FMe(e){lI=lI||no("big5").map(function(t,n){return n<(161-129)*157?null:t});var r=lI;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?r.lastIndexOf(e):ig(e,r)}var lI,UY="utf-8";function jh(e,r){if(!(this instanceof jh))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):UY,r=wS(r),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var t=oI(e);if(t===null||t.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!xo[t.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=t,Boolean(r.fatal)&&(n._error_mode="fatal"),Boolean(r.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(jh.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(jh.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(jh.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));jh.prototype.decode=function(r,t){var n;typeof r=="object"&&r instanceof ArrayBuffer?n=new Uint8Array(r):typeof r=="object"&&"buffer"in r&&r.buffer instanceof ArrayBuffer?n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength):n=new Uint8Array(0),t=wS(t),this._do_not_flush||(this._decoder=xo[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(t.stream);for(var i=new aI(n),a=[],o;;){var s=i.read();if(s===Rt||(o=this._decoder.handler(i,s),o===An))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===An)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(l){return wMe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(l.length>0&&l[0]===65279?(this._BOMseen=!0,l.shift()):l.length>0&&(this._BOMseen=!0)),AMe(l)}return u.call(this,a)};function Wx(e,r){if(!(this instanceof Wx))throw TypeError("Called as a function. Did you forget 'new'?");r=wS(r),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(r.fatal)?"fatal":"replacement";var t=this;if(Boolean(r.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):UY;var n=oI(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!yo[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");t._encoding=n}else t._encoding=oI("utf-8"),e!==void 0&&"console"in global&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=t._encoding.name.toLowerCase()),t}Object.defineProperty&&Object.defineProperty(Wx.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Wx.prototype.encode=function(r,t){r=r===void 0?"":String(r),t=wS(t),this._do_not_flush||(this._encoder=yo[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(t.stream);for(var n=new aI(SMe(r)),i=[],a;;){var o=n.read();if(o===Rt||(a=this._encoder.handler(n,o),a===An))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==An;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function RMe(e){var r=e.fatal,t=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Rt&&i!==0)return i=0,It(r);if(u===Rt)return An;if(i===0){if(it(u,0,127))return u;if(it(u,194,223))i=1,t=u&31;else if(it(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,t=u&15;else if(it(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,t=u&7;else return It(r);return null}if(!it(u,a,o))return t=i=n=0,a=128,o=191,s.prepend(u),It(r);if(a=128,o=191,t=t<<6|u&63,n+=1,n!==i)return null;var l=t;return t=i=n=0,l}}function IMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i,a;it(n,128,2047)?(i=1,a=192):it(n,2048,65535)?(i=2,a=224):it(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}yo["UTF-8"]=function(e){return new IMe(e)};xo["UTF-8"]=function(e){return new RMe(e)};function PMe(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(ms(i))return i;var a=e[i-128];return a===null?It(t):a}}function BMe(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(gs(i))return i;var a=ig(i,e);return a===null&&mu(i),a+128}}(function(){"encoding-indexes"in global&&NY.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(r){var t=r.name,n=no(t.toLowerCase());xo[t]=function(i){return new PMe(n,i)},yo[t]=function(i){return new BMe(n,i)}})})})();xo.GBK=function(e){return new GY(e)};yo.GBK=function(e){return new zY(e,!0)};function GY(e){var r=e.fatal,t=0,n=0,i=0;this.handler=function(a,o){if(o===Rt&&t===0&&n===0&&i===0)return An;o===Rt&&(t!==0||n!==0||i!==0)&&(t=0,n=0,i=0,It(r));var s;if(i!==0){s=null,it(o,48,57)&&(s=DMe((((t-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return t=0,n=0,i=0,s===null?(a.prepend(u),It(r)):s}if(n!==0)return it(o,129,254)?(i=o,null):(a.prepend([n,o]),t=0,n=0,It(r));if(t!==0){if(it(o,48,57))return n=o,null;var l=t,c=null;t=0;var f=o<127?64:65;return(it(o,64,126)||it(o,128,254))&&(c=(l-129)*190+(o-f)),s=c===null?null:ng(c,no("gb18030")),s===null&&ms(o)&&a.prepend(o),s===null?It(r):s}return ms(o)?o:o===128?8364:it(o,129,254)?(t=o,null):It(r)}}function zY(e,r){var t=e.fatal;this.handler=function(n,i){if(i===Rt)return An;if(gs(i))return i;if(i===58853)return mu(i);if(r&&i===8364)return 128;var a=ig(i,no("gb18030"));if(a!==null){var o=Ic(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(r)return mu(i);a=OMe(i);var l=Ic(a/10/126/10);a=a-l*10*126*10;var c=Ic(a/10/126);a=a-c*10*126;var f=Ic(a/10),d=a-f*10;return[l+129,c+48,f+129,d+48]}}yo.gb18030=function(e){return new zY(e)};xo.gb18030=function(e){return new GY(e)};function jMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0;var s=i<127?64:98;switch((it(i,64,126)||it(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:ng(o,no("big5"));return u===null&&ms(i)&&n.prepend(i),u===null?It(r):u}return ms(i)?i:it(i,129,254)?(t=i,null):It(r)}}function MMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i=FMe(n);if(i===null)return mu(n);var a=Ic(i/157)+129;if(a<161)return mu(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}yo.Big5=function(e){return new MMe(e)};xo.Big5=function(e){return new jMe(e)};function LMe(e){var r=e.fatal,t=!1,n=0;this.handler=function(i,a){if(a===Rt&&n!==0)return n=0,It(r);if(a===Rt&&n===0)return An;if(n===142&&it(a,161,223))return n=0,65377-161+a;if(n===143&&it(a,161,254))return t=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return it(o,161,254)&&it(a,161,254)&&(s=ng((o-161)*94+(a-161),no(t?"jis0212":"jis0208"))),t=!1,it(a,161,254)||i.prepend(a),s===null?It(r):s}return ms(a)?a:a===142||a===143||it(a,161,254)?(n=a,null):It(r)}}function qMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;if(n===165)return 92;if(n===8254)return 126;if(it(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=ig(n,no("jis0208"));if(i===null)return mu(n);var a=Ic(i/94)+161,o=i%94+161;return[a,o]}}yo["EUC-JP"]=function(e){return new qMe(e)};xo["EUC-JP"]=function(e){return new LMe(e)};function NMe(e){var r=e.fatal,t={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=t.ASCII,i=t.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case t.ASCII:return u===27?(n=t.EscapeStart,null):it(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Rt?An:(o=!1,It(r));case t.Roman:return u===27?(n=t.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):it(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Rt?An:(o=!1,It(r));case t.Katakana:return u===27?(n=t.EscapeStart,null):it(u,33,95)?(o=!1,65377-33+u):u===Rt?An:(o=!1,It(r));case t.LeadByte:return u===27?(n=t.EscapeStart,null):it(u,33,126)?(o=!1,a=u,n=t.TrailByte,null):u===Rt?An:(o=!1,It(r));case t.TrailByte:if(u===27)return n=t.EscapeStart,It(r);if(it(u,33,126)){n=t.LeadByte;var l=(a-33)*94+u-33,c=ng(l,no("jis0208"));return c===null?It(r):c}return u===Rt?(n=t.LeadByte,s.prepend(u),It(r)):(n=t.LeadByte,It(r));case t.EscapeStart:return u===36||u===40?(a=u,n=t.Escape,null):(s.prepend(u),o=!1,n=i,It(r));case t.Escape:var f=a;a=0;var d=null;if(f===40&&u===66&&(d=t.ASCII),f===40&&u===74&&(d=t.Roman),f===40&&u===73&&(d=t.Katakana),f===36&&(u===64||u===66)&&(d=t.LeadByte),d!==null){n=n=d;var p=o;return o=!0,p?It(r):null}return s.prepend([f,u]),o=!1,n=i,It(r)}}}function UMe(e){var r=e.fatal,t={ASCII:0,Roman:1,jis0208:2},n=t.ASCII;this.handler=function(i,a){if(a===Rt&&n!==t.ASCII)return i.prepend(a),n=t.ASCII,[27,40,66];if(a===Rt&&n===t.ASCII)return An;if((n===t.ASCII||n===t.Roman)&&(a===14||a===15||a===27))return mu(65533);if(n===t.ASCII&&gs(a))return a;if(n===t.Roman&&(gs(a)&&a!==92&&a!==126||a==165||a==8254)){if(gs(a))return a;if(a===165)return 92;if(a===8254)return 126}if(gs(a)&&n!==t.ASCII)return i.prepend(a),n=t.ASCII,[27,40,66];if((a===165||a===8254)&&n!==t.Roman)return i.prepend(a),n=t.Roman,[27,40,74];a===8722&&(a=65293);var o=ig(a,no("jis0208"));if(o===null)return mu(a);if(n!==t.jis0208)return i.prepend(a),n=t.jis0208,[27,36,66];var s=Ic(o/94)+33,u=o%94+33;return[s,u]}}yo["ISO-2022-JP"]=function(e){return new UMe(e)};xo["ISO-2022-JP"]=function(e){return new NMe(e)};function GMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0;var s=i<127?64:65,u=a<160?129:193;if((it(i,64,126)||it(i,128,252))&&(o=(a-u)*188+i-s),it(o,8836,10715))return 57344-8836+o;var l=o===null?null:ng(o,no("jis0208"));return l===null&&ms(i)&&n.prepend(i),l===null?It(r):l}return ms(i)||i===128?i:it(i,161,223)?65377-161+i:it(i,129,159)||it(i,224,252)?(t=i,null):It(r)}}function zMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(it(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=kMe(n);if(i===null)return mu(n);var a=Ic(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}yo.Shift_JIS=function(e){return new zMe(e)};xo.Shift_JIS=function(e){return new GMe(e)};function HMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0,it(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ng(o,no("euc-kr"));return o===null&&ms(i)&&n.prepend(i),s===null?It(r):s}return ms(i)?i:it(i,129,254)?(t=i,null):It(r)}}function WMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i=ig(n,no("euc-kr"));if(i===null)return mu(n);var a=Ic(i/190)+129,o=i%190+65;return[a,o]}}yo["EUC-KR"]=function(e){return new WMe(e)};xo["EUC-KR"]=function(e){return new HMe(e)};function SS(e,r){var t=e>>8,n=e&255;return r?[t,n]:[n,t]}function HY(e,r){var t=r.fatal,n=null,i=null;this.handler=function(a,o){if(o===Rt&&(n!==null||i!==null))return It(t);if(o===Rt&&n===null&&i===null)return An;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,it(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(SS(s,e)),It(t))}return it(s,55296,56319)?(i=s,null):it(s,56320,57343)?It(t):s}}function WY(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(it(i,0,65535))return SS(i,e);var a=SS((i-65536>>10)+55296,e),o=SS((i-65536&1023)+56320,e);return a.concat(o)}}yo["UTF-16BE"]=function(e){return new WY(!0,e)};xo["UTF-16BE"]=function(e){return new HY(!0,e)};yo["UTF-16LE"]=function(e){return new WY(!1,e)};xo["UTF-16LE"]=function(e){return new HY(!1,e)};function VMe(e){var r=e.fatal;this.handler=function(t,n){return n===Rt?An:ms(n)?n:63360+n-128}}function KMe(e){var r=e.fatal;this.handler=function(t,n){return n===Rt?An:gs(n)?n:it(n,63360,63487)?n-63360+128:mu(n)}}yo["x-user-defined"]=function(e){return new KMe(e)};xo["x-user-defined"]=function(e){return new VMe(e)};var XMe="rejected",YMe="fulfilled";function VY(e){let r=e.map(t=>t.then(n=>({status:YMe,value:n})).catch(n=>({status:XMe,reason:n})));return Promise.all(r)}function AS(e){return Buffer.from(e).toString("base64")}function cI(e){return Buffer.from(e,"base64").toString("ascii")}var dl=class{constructor(r){this.map={},r instanceof dl?r.forEach((t,n)=>this.append(n,t)):Array.isArray(r)?r.forEach(t=>this.append(t[0],t[1])):r&&Object.getOwnPropertyNames(r).forEach(t=>this.append(t,r[t]))}append(r,t){r=Vx(r),t=KY(t);let n=this.map[r];this.map[r]=n?`${n}, ${t}`:t}delete(r){delete this.map[Vx(r)]}get(r){return r=Vx(r),this.has(r)?this.map[r]:null}has(r){return this.map.hasOwnProperty(Vx(r))}set(r,t){this.map[Vx(r)]=KY(t)}forEach(r,t=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(t?r.call(t,this.map[n],n,this):r(this.map[n],n,this))}keys(){let r=[];return this.forEach(function(t,n){r.push(n)}),fI(r)}values(){let r=[];return this.forEach(function(t){r.push(t)}),fI(r)}entries(){let r=[];return this.forEach(function(t,n){r.push([n,t])}),fI(r)}*[Symbol.iterator](){yield*this.entries()}};function Vx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function KY(e){return typeof e!="string"&&(e=String(e)),e}function fI(e){let r={next(){let t=e.shift();return{done:t===void 0,value:t}}};return r[Symbol.iterator]=function(){return r},r}function dI(e,r){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${r}`)}var TS=He(require("zlib"));var $Me=e=>e&&e instanceof ArrayBuffer,JMe=e=>e&&e instanceof Buffer;function XY(e){let r=e.indexOf(","),t,n;return e.slice(r-7,r)===";base64"?(t=Buffer.from(e.slice(r+1),"base64"),n=e.slice(5,r-7).trim()):(t=Buffer.from(decodeURIComponent(e.slice(r+1))),n=e.slice(5,r).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:pI(t),mimeType:n}}function pI(e){if($Me(e))return e;if(JMe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}function YY(e,r){switch(r.get("content-encoding")){case"br":return e.pipe(TS.default.createBrotliDecompress());case"gzip":return e.pipe(TS.default.createGunzip());case"deflate":return e.pipe(TS.default.createDeflate());default:return e}}async function $Y(e){let r=[];return await new Promise((t,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),r.push(pI(i))}),e.on("end",()=>{let i=QMe(r);t(i)})})}function QMe(e){let r=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),t=r.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n.buffer}var mI=He(require("stream")),ZMe=e=>typeof e=="boolean",JY=e=>typeof e=="function",eLe=e=>e!==null&&typeof e=="object",hI=e=>eLe(e)&&JY(e.read)&&JY(e.pipe)&&ZMe(e.readable),ld=class{constructor(r,t){this.bodyUsed=!1;let{headers:n,status:i=200,statusText:a="OK",url:o}=t||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new dl((t==null?void 0:t.headers)||{}),hI(r)?this._body=YY(r,n):typeof r=="string"?this._body=mI.Readable.from([new TextEncoder().encode(r)]):this._body=mI.Readable.from([r||new ArrayBuffer(0)])}get body(){return dI(!this.bodyUsed),dI(hI(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return hI(this._body)?await $Y(this._body):this._body||new ArrayBuffer(0)}async text(){let r=await this.arrayBuffer();return new TextDecoder().decode(r)}async json(){let r=await this.text();return JSON.parse(r)}async blob(){if(typeof Blob=="undefined")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var QY=He(require("http")),ZY=He(require("https"));var gI=e=>e.startsWith("data:"),rLe=e=>e.startsWith("http:")||e.startsWith("https:");async function Kx(e,r){try{if(globalThis.fetch!==Kx&&(rLe(e)||gI(e)))return await fetch(e,r);if(gI(e)){let{arrayBuffer:l,mimeType:c}=XY(e);return new ld(l,{headers:{"content-type":c},url:e})}let t={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip");let i=await tLe(n,r),a=oLe(e,i,t),{status:o,statusText:s}=aLe(i),u=!r||r.followRedirect||r.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let l=nLe(e,a.get("location"));return await Kx(l,r)}return new ld(i,{headers:a,status:o,statusText:s,url:e})}catch(t){return new ld(null,{status:400,statusText:String(t),url:e})}}async function tLe(e,r){return await new Promise((t,n)=>{let i=iLe(e,r),a=e.startsWith("https:")?ZY.default.request(i,o=>t(o)):QY.default.request(i,o=>t(o));a.on("error",o=>n(o)),a.end()})}function nLe(e,r){if(r.startsWith("http"))return r;let t=new URL(e);return t.pathname=r,t.href}function iLe(e,r){let t=(r==null?void 0:r.headers)||{},n={};for(let a of Object.keys(t))n[a.toLowerCase()]=t[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return qe(oe(oe({hostname:i.hostname,path:i.pathname,method:"GET"},r),r==null?void 0:r.fetch),{headers:n,port:i.port})}function aLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function oLe(e,r,t={}){let n={};if(r&&r.headers){let i=r.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=sLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,t),new dl(n)}function sLe(e){return gI(e)?e.length-"data:".length:null}var KQ=He(WQ()),XQ=He(r1());function VQ(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function _7e(e,r){let t=r.type?r.type.replace("image/",""):"jpeg",n=(0,XQ.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,KQ.default)(n,t,r)}function gP(e,r){let t=_7e(e,r);return new Promise(n=>{let i=[];t.on("data",a=>i.push(a)),t.on("end",()=>{let a=Buffer.concat(i);n(VQ(a))})})}var Cue=He(Tue()),Due=["image/png","image/jpeg","image/gif"];async function xj(e,r){if(!r)throw new Error("MIMEType is required to parse image under Node.js");let t=e instanceof Buffer?e:Buffer.from(e);return await IJe(t,r)}function IJe(e,r){return new Promise(t=>(0,Cue.default)(e,r,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;t({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}var Fue=He(kue());delete global.ReadableStream;var _j=class extends Fue.ReadableStream{};var Ej=class{constructor(r){this.isWorking=!1;this.isCancelled=!1;this.chunks=r}start(r){this.work(r)}async work(r){let{chunks:t}=this;for(this.isWorking=!0;!this.isCancelled&&(r.desiredSize||0)>0;){let n;try{n=t.next()}catch(i){r.error(i);break}n&&(!n.done&&!this.isCancelled?r.enqueue(n.value):r.close())}this.isWorking=!1}pull(r){this.isWorking||this.work(r)}cancel(){this.isCancelled=!0}};var wj=class extends _j{constructor(r){super(new Ej(r.values()),{type:"bytes"});this._chunks=r}async*[Symbol.asyncIterator](r){let t=this.getReader();yield*this._chunks,t.releaseLock()}};var r0=class{constructor(r=[],t={}){this.parts=[],this.size=0;for(let n of r)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof r0)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=PJe(t.type)}slice(r=0,t=this.size,n=""){let{size:i,parts:a}=this,o=r<0?Math.max(i+r,0):Math.min(r,i),s=t<0?Math.max(i+t,0):Math.min(t,i),u=Math.max(s-o,0),l=new r0([],{type:n});if(u===0)return l;let c=0,f=[];for(let d of a){let{byteLength:p}=d;if(o>0&&p<=o)o-=p,s-=p;else{let h=d.subarray(o,Math.min(p,s));if(f.push(h),c+=h.byteLength,o=0,c>=u)break}}return l.parts=f,l.size=c,l}async arrayBuffer(){return this._toArrayBuffer()}async text(){let r=new TextDecoder,t="";for(let n of this.parts)t+=r.decode(n);return t}stream(){return new wj(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let r=new ArrayBuffer(this.size),t=new Uint8Array(r),n=0;for(let i of this.parts)t.set(i,n),n+=i.byteLength;return r}};function PJe(e=""){let r=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(r)?"":r}var Sj=class extends r0{constructor(r,t,n={}){super(r,n);this.name="";this.webkitRelativePath="";this.name=String(t).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};var jJe=!fl||!("TextEncoder"in Ri);jJe&&(Ri.TextEncoder=Wx);var MJe=!fl||!("TextDecoder"in Ri);MJe&&(Ri.TextDecoder=jh);!fl&&!("atob"in Ri)&&AS&&(Ri.atob=AS);!fl&&!("btoa"in Ri)&&cI&&(Ri.btoa=cI);!fl&&!("Headers"in Ri)&&dl&&(Ri.Headers=dl);!fl&&!("Response"in Ri)&&ld&&(Ri.Response=ld);!fl&&!("fetch"in Ri)&&Kx&&(Ri.fetch=Kx);!fl&&!("_encodeImageNode"in Ri)&&gP&&(Ri._encodeImageNode=gP);!fl&&!("_parseImageNode"in Ri)&&xj&&(Ri._parseImageNode=xj,Ri._imageFormatsNode=Due);"allSettled"in Promise||(Promise.allSettled=VY);var Mje=He(require("path")),Lje=He(Q_e());async function Ko(e,r,t,n){return n._parse(e,r,t,n)}function Qr(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var Vl={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},Z_e=Vl.self||Vl.window||Vl.global||{},e2e=Vl.window||Vl.self||Vl.global||{},r2e=Vl.global||Vl.self||Vl.window||{},t2e=Vl.document||{};var En=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var n2e=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),xDr=n2e&&parseFloat(n2e[1])||0;function V7(e,r){return i2e(e||{},r)}function i2e(e,r){let t=oe({},e);for(let[n,i]of Object.entries(r))i&&typeof i=="object"&&!Array.isArray(i)?t[n]=i2e(t[n]||{},r[n]):t[n]=r[n];return t}var a2e="beta";function _Dr(){var e;return((e=globalThis._loadersgl_)==null?void 0:e.version)||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.0.0-alpha.25"),globalThis._loadersgl_.version}var O0=_Dr();function Fa(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var Kl={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},uwt=Kl.self||Kl.window||Kl.global||{},lwt=Kl.window||Kl.self||Kl.global||{},o2e=Kl.global||Kl.self||Kl.window||{},cwt=Kl.document||{};var lo=typeof process!="object"||String(process)!=="[object process]"||process.browser,o2=typeof importScripts=="function",s2e=typeof window!="undefined"&&typeof window.orientation!="undefined",u2e=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),fwt=u2e&&parseFloat(u2e[1])||0;var wD=class{constructor(r,t){this.isRunning=!0;this._resolve=()=>{};this._reject=()=>{};this.name=r,this.workerThread=t,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){Fa(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){Fa(this.isRunning),this.isRunning=!1,this._reject(r)}};var Eb={};qa(Eb,{NodeWorker:()=>s2});var l2e=He(require("worker_threads"));Hx(Eb,He(require("worker_threads")));var s2=l2e.Worker;var K7=new Map;function c2e(e){Fa(e.source&&!e.url||!e.source&&e.url);let r=K7.get(e.source||e.url);return r||(e.url&&(r=EDr(e.url),K7.set(e.url,r)),e.source&&(r=f2e(e.source),K7.set(e.source,r))),Fa(r),r}function EDr(e){if(!e.startsWith("http"))return e;let r=wDr(e);return f2e(r)}function f2e(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function wDr(e){return`try {
|
|
179
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,s;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){o=!0,s=l},f:function(){try{!a&&t.return!=null&&t.return()}finally{if(o)throw s}}}}function gut(e,r){if(!!e){if(typeof e=="string")return M5e(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return M5e(e,r)}}function M5e(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}var vut=j5e.default.mark(L5e),but=10,yut=65535;function xut(e,r){var t=L5e(e),n=t.next();if(n.done||n.value.line!=="P5")throw new Error("Geoid model file: File not in PGM format");var i=Number.MAX_VALUE,a=0,o=-1,s=-1,u="NONE",l="UNKNOWN",c=0,f=0,d=null,p=null;do{n=t.next();var h=n.value.line;if(!!h.length)if(h[0]==="#"){var b=h.split(" "),v=b[0],y=b[1];if(v!=="#"||!y)continue;var w=b.length>2?b.slice(2):[];if(y==="Description")u=w.join(" ");else if(y==="DateTime")l=w.join(" ");else if(y==="Offset"){if(!b[2])throw new Error("Geoid model file: Error reading offset");i=parseInt(b[2],10)}else if(y==="Scale"){if(!b[2])throw new Error("Geoid model file: Error reading scale");a=parseFloat(b[2])}else y===(r.cubic?"MaxCubicError":"MaxBilinearError")?isFinite(parseFloat(b[2]))&&(o=parseFloat(b[2])):y===(r.cubic?"RMSCubicError":"RMSBilinearError")&&isFinite(parseFloat(b[2]))&&(s=parseFloat(b[2]))}else{var A=h.split(" ");if(A=A.filter(function(O){return O!==""}),c=parseInt(A[0],10),f=parseInt(A[1],10),!(c&&f))throw new Error("Geoid model file: Error reading raster size");break}}while(!n.done);n=t.next();var C=parseInt(n.value.line,10);if(n.done)throw new Error("Geoid model file: Error reading maxval");if(C!==yut)throw new Error("Geoid model file: Incorrect value of maxval");if(d=n.value.offset,p=c,i===Number.MAX_VALUE)throw new Error("Geoid model file: Offset not set");if(a===0)throw new Error("Geoid model file: Scale not set");if(a<0)throw new Error("Geoid model file: Scale must be positive");if(f<2||c<2)throw new Error("Geoid model file: Raster size too small");if(c&1)throw new Error("Geoid model file: Raster width is odd");if(!(f&1))throw new Error("Geoid model file: Raster height is even");var D=c/360,R=(f-1)/180;return new hut.default({cubic:r.cubic,_width:c,_height:f,_rlonres:D,_rlatres:R,_offset:i,_scale:a,_swidth:p,_datastart:d,_maxerror:o,_rmserror:s,_description:u,_datetime:l,data:e})}function L5e(e){var r,t,n,i;return j5e.default.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:r=0;case 1:if(t=e.indexOf(but,r),t===-1){o.next=9;break}return n=e.subarray(r,t),r=t+1,o.next=7,{offset:r,line:q5e(n)};case 7:o.next=13;break;case 9:return i=e.subarray(r,e.length),r=e.length,o.next=13,{offset:r,line:q5e(i)};case 13:if(r<e.length){o.next=1;break}case 14:return o.abrupt("return",{offset:r,line:""});case 15:case"end":return o.stop()}},vut)}function q5e(e){var r="",t=mut(e),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;r+=String.fromCharCode(i)}}catch(a){t.e(a)}finally{t.f()}return r}});var U5e=m(M4=>{"use strict";var _ut=ln();Object.defineProperty(M4,"__esModule",{value:!0});Object.defineProperty(M4,"parsePGM",{enumerable:!0,get:function(){return Eut.parsePGM}});Object.defineProperty(M4,"Geoid",{enumerable:!0,get:function(){return wut.default}});var Eut=N5e(),wut=_ut(KX())});var tje=m(z4=>{"use strict";Object.defineProperty(z4,"__esModule",{value:!0});z4.default=void 0;var elt={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,FUNC_ADD:32774,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,BLEND_COLOR:32773,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,VENDOR:7936,RENDERER:7937,VERSION:7938,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,BROWSER_DEFAULT_WEBGL:37444,STATIC_DRAW:35044,STREAM_DRAW:35040,DYNAMIC_DRAW:35048,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,CULL_FACE:2884,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,BLEND:3042,DEPTH_TEST:2929,DITHER:3024,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,SCISSOR_TEST:3089,STENCIL_TEST:2960,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CONTEXT_LOST_WEBGL:37442,CW:2304,CCW:2305,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,COMPILE_STATUS:35713,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_ATTRIBUTES:35721,ACTIVE_UNIFORMS:35718,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,ALWAYS:519,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,GEQUAL:518,NOTEQUAL:517,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,TEXTURE_WIDTH:4096,TEXTURE_HEIGHT:4097,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,MAX_3D_TEXTURE_SIZE:32883,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,MAX_TEXTURE_LOD_BIAS:34045,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,RASTERIZER_DISCARD:35977,VERTEX_ARRAY_BINDING:34229,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,MAX_ELEMENT_INDEX:36203,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,RGB9_E5:35901,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2UI:36975,TEXTURE_IMMUTABLE_FORMAT:37167,TEXTURE_IMMUTABLE_LEVELS:33503,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,UNSIGNED_INT_24_8:34042,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,INT_2_10_10_10_REV:36255,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,MAX_SAMPLES:36183,SAMPLER_BINDING:35097,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,UNSIGNED_NORMALIZED:35863,SIGNED_NORMALIZED:36764,VERTEX_ATTRIB_ARRAY_INTEGER:35069,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,DEPTH24_STENCIL8:35056,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,COLOR:6144,DEPTH:6145,STENCIL:6146,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,INVALID_INDEX:4294967295,TIMEOUT_IGNORED:-1,MAX_CLIENT_WAIT_TIMEOUT_WEBGL:37447,VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE:35070,UNMASKED_VENDOR_WEBGL:37445,UNMASKED_RENDERER_WEBGL:37446,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047,TEXTURE_MAX_ANISOTROPY_EXT:34046,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35986,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,UNSIGNED_INT_24_8_WEBGL:34042,HALF_FLOAT_OES:36193,RGBA32F_EXT:34836,RGB32F_EXT:34837,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT:33297,UNSIGNED_NORMALIZED_EXT:35863,MIN_EXT:32775,MAX_EXT:32776,SRGB_EXT:35904,SRGB_ALPHA_EXT:35906,SRGB8_ALPHA8_EXT:35907,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT:33296,FRAGMENT_SHADER_DERIVATIVE_HINT_OES:35723,COLOR_ATTACHMENT0_WEBGL:36064,COLOR_ATTACHMENT1_WEBGL:36065,COLOR_ATTACHMENT2_WEBGL:36066,COLOR_ATTACHMENT3_WEBGL:36067,COLOR_ATTACHMENT4_WEBGL:36068,COLOR_ATTACHMENT5_WEBGL:36069,COLOR_ATTACHMENT6_WEBGL:36070,COLOR_ATTACHMENT7_WEBGL:36071,COLOR_ATTACHMENT8_WEBGL:36072,COLOR_ATTACHMENT9_WEBGL:36073,COLOR_ATTACHMENT10_WEBGL:36074,COLOR_ATTACHMENT11_WEBGL:36075,COLOR_ATTACHMENT12_WEBGL:36076,COLOR_ATTACHMENT13_WEBGL:36077,COLOR_ATTACHMENT14_WEBGL:36078,COLOR_ATTACHMENT15_WEBGL:36079,DRAW_BUFFER0_WEBGL:34853,DRAW_BUFFER1_WEBGL:34854,DRAW_BUFFER2_WEBGL:34855,DRAW_BUFFER3_WEBGL:34856,DRAW_BUFFER4_WEBGL:34857,DRAW_BUFFER5_WEBGL:34858,DRAW_BUFFER6_WEBGL:34859,DRAW_BUFFER7_WEBGL:34860,DRAW_BUFFER8_WEBGL:34861,DRAW_BUFFER9_WEBGL:34862,DRAW_BUFFER10_WEBGL:34863,DRAW_BUFFER11_WEBGL:34864,DRAW_BUFFER12_WEBGL:34865,DRAW_BUFFER13_WEBGL:34866,DRAW_BUFFER14_WEBGL:34867,DRAW_BUFFER15_WEBGL:34868,MAX_COLOR_ATTACHMENTS_WEBGL:36063,MAX_DRAW_BUFFERS_WEBGL:34852,VERTEX_ARRAY_BINDING_OES:34229,QUERY_COUNTER_BITS_EXT:34916,CURRENT_QUERY_EXT:34917,QUERY_RESULT_EXT:34918,QUERY_RESULT_AVAILABLE_EXT:34919,TIME_ELAPSED_EXT:35007,TIMESTAMP_EXT:36392,GPU_DISJOINT_EXT:36795};z4.default=elt});var fl=typeof process!="object"||String(process)!=="[object process]"||process.browser,iI={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global},Ri=iI.global||iI.self||iI.window;var qY={ibm866:[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],macintosh:[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]};global["encoding-indexes"]=qY||{};function it(e,r,t){return r<=e&&e<=t}function wMe(e,r){return e.indexOf(r)!==-1}var Ic=Math.floor;function wS(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError("Could not convert argument to dictionary")}function SMe(e){for(var r=String(e),t=r.length,n=0,i=[];n<t;){var a=r.charCodeAt(n);if(a<55296||a>57343)i.push(a);else if(56320<=a&&a<=57343)i.push(65533);else if(55296<=a&&a<=56319)if(n===t-1)i.push(65533);else{var o=r.charCodeAt(n+1);if(56320<=o&&o<=57343){var s=a&1023,u=o&1023;i.push(65536+(s<<10)+u),n+=1}else i.push(65533)}n+=1}return i}function AMe(e){for(var r="",t=0;t<e.length;++t){var n=e[t];n<=65535?r+=String.fromCharCode(n):(n-=65536,r+=String.fromCharCode((n>>10)+55296,(n&1023)+56320))}return r}function ms(e){return 0<=e&&e<=127}var gs=ms,Rt=-1;function aI(e){this.tokens=[].slice.call(e),this.tokens.reverse()}aI.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.pop():Rt},prepend:function(e){if(Array.isArray(e))for(var r=e;r.length;)this.tokens.push(r.pop());else this.tokens.push(e)},push:function(e){if(Array.isArray(e))for(var r=e;r.length;)this.tokens.unshift(r.shift());else this.tokens.unshift(e)}};var An=-1;function It(e,r){if(e)throw TypeError("Decoder error");return r||65533}function mu(e){throw TypeError("The code point "+e+" could not be encoded.")}function TMe(){}TMe.prototype={handler:function(e,r){}};function CMe(){}CMe.prototype={handler:function(e,r){}};function oI(e){return e=String(e).trim().toLowerCase(),Object.prototype.hasOwnProperty.call(sI,e)?sI[e]:null}var NY=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"UTF-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"IBM866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"ISO-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"ISO-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"ISO-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"ISO-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"ISO-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"ISO-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"ISO-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"ISO-8859-8-I"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"ISO-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"ISO-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"ISO-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"ISO-8859-15"},{labels:["iso-8859-16"],name:"ISO-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"KOI8-R"},{labels:["koi8-ru","koi8-u"],name:"KOI8-U"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"GBK"},{labels:["gb18030"],name:"gb18030"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"Big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"EUC-JP"},{labels:["csiso2022jp","iso-2022-jp"],name:"ISO-2022-JP"},{labels:["csshiftjis","ms932","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"Shift_JIS"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"EUC-KR"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","hz-gb-2312","iso-2022-cn","iso-2022-cn-ext","iso-2022-kr"],name:"replacement"},{labels:["utf-16be"],name:"UTF-16BE"},{labels:["utf-16","utf-16le"],name:"UTF-16LE"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],sI={};NY.forEach(function(e){e.encodings.forEach(function(r){r.labels.forEach(function(t){sI[t]=r})})});var yo={},xo={};function ng(e,r){return r&&r[e]||null}function ig(e,r){var t=r.indexOf(e);return t===-1?null:t}function no(e){if(!("encoding-indexes"in global))throw Error("Indexes missing. Did you forget to include encoding-indexes.js first?");return global["encoding-indexes"][e]}function DMe(e){if(e>39419&&e<189e3||e>1237575)return null;if(e===7457)return 59335;var r=0,t=0,n=no("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[0]<=e)r=a[0],t=a[1];else break}return t+e-r}function OMe(e){if(e===59335)return 7457;var r=0,t=0,n=no("gb18030-ranges"),i;for(i=0;i<n.length;++i){var a=n[i];if(a[1]<=e)r=a[1],t=a[0];else break}return t+e-r}function kMe(e){uI=uI||no("jis0208").map(function(t,n){return it(n,8272,8835)?null:t});var r=uI;return r.indexOf(e)}var uI;function FMe(e){lI=lI||no("big5").map(function(t,n){return n<(161-129)*157?null:t});var r=lI;return e===9552||e===9566||e===9569||e===9578||e===21313||e===21317?r.lastIndexOf(e):ig(e,r)}var lI,UY="utf-8";function jh(e,r){if(!(this instanceof jh))throw TypeError("Called as a function. Did you forget 'new'?");e=e!==void 0?String(e):UY,r=wS(r),this._encoding=null,this._decoder=null,this._ignoreBOM=!1,this._BOMseen=!1,this._error_mode="replacement",this._do_not_flush=!1;var t=oI(e);if(t===null||t.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!xo[t.name])throw Error("Decoder not present. Did you forget to include encoding-indexes.js first?");var n=this;return n._encoding=t,Boolean(r.fatal)&&(n._error_mode="fatal"),Boolean(r.ignoreBOM)&&(n._ignoreBOM=!0),Object.defineProperty||(this.encoding=n._encoding.name.toLowerCase(),this.fatal=n._error_mode==="fatal",this.ignoreBOM=n._ignoreBOM),n}Object.defineProperty&&(Object.defineProperty(jh.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}}),Object.defineProperty(jh.prototype,"fatal",{get:function(){return this._error_mode==="fatal"}}),Object.defineProperty(jh.prototype,"ignoreBOM",{get:function(){return this._ignoreBOM}}));jh.prototype.decode=function(r,t){var n;typeof r=="object"&&r instanceof ArrayBuffer?n=new Uint8Array(r):typeof r=="object"&&"buffer"in r&&r.buffer instanceof ArrayBuffer?n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength):n=new Uint8Array(0),t=wS(t),this._do_not_flush||(this._decoder=xo[this._encoding.name]({fatal:this._error_mode==="fatal"}),this._BOMseen=!1),this._do_not_flush=Boolean(t.stream);for(var i=new aI(n),a=[],o;;){var s=i.read();if(s===Rt||(o=this._decoder.handler(i,s),o===An))break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}if(!this._do_not_flush){do{if(o=this._decoder.handler(i,i.read()),o===An)break;o!==null&&(Array.isArray(o)?a.push.apply(a,o):a.push(o))}while(!i.endOfStream());this._decoder=null}function u(l){return wMe(["UTF-8","UTF-16LE","UTF-16BE"],this._encoding.name)&&!this._ignoreBOM&&!this._BOMseen&&(l.length>0&&l[0]===65279?(this._BOMseen=!0,l.shift()):l.length>0&&(this._BOMseen=!0)),AMe(l)}return u.call(this,a)};function Wx(e,r){if(!(this instanceof Wx))throw TypeError("Called as a function. Did you forget 'new'?");r=wS(r),this._encoding=null,this._encoder=null,this._do_not_flush=!1,this._fatal=Boolean(r.fatal)?"fatal":"replacement";var t=this;if(Boolean(r.NONSTANDARD_allowLegacyEncoding)){e=e!==void 0?String(e):UY;var n=oI(e);if(n===null||n.name==="replacement")throw RangeError("Unknown encoding: "+e);if(!yo[n.name])throw Error("Encoder not present. Did you forget to include encoding-indexes.js first?");t._encoding=n}else t._encoding=oI("utf-8"),e!==void 0&&"console"in global&&console.warn("TextEncoder constructor called with encoding label, which is ignored.");return Object.defineProperty||(this.encoding=t._encoding.name.toLowerCase()),t}Object.defineProperty&&Object.defineProperty(Wx.prototype,"encoding",{get:function(){return this._encoding.name.toLowerCase()}});Wx.prototype.encode=function(r,t){r=r===void 0?"":String(r),t=wS(t),this._do_not_flush||(this._encoder=yo[this._encoding.name]({fatal:this._fatal==="fatal"})),this._do_not_flush=Boolean(t.stream);for(var n=new aI(SMe(r)),i=[],a;;){var o=n.read();if(o===Rt||(a=this._encoder.handler(n,o),a===An))break;Array.isArray(a)?i.push.apply(i,a):i.push(a)}if(!this._do_not_flush){for(;a=this._encoder.handler(n,n.read()),a!==An;)Array.isArray(a)?i.push.apply(i,a):i.push(a);this._encoder=null}return new Uint8Array(i)};function RMe(e){var r=e.fatal,t=0,n=0,i=0,a=128,o=191;this.handler=function(s,u){if(u===Rt&&i!==0)return i=0,It(r);if(u===Rt)return An;if(i===0){if(it(u,0,127))return u;if(it(u,194,223))i=1,t=u&31;else if(it(u,224,239))u===224&&(a=160),u===237&&(o=159),i=2,t=u&15;else if(it(u,240,244))u===240&&(a=144),u===244&&(o=143),i=3,t=u&7;else return It(r);return null}if(!it(u,a,o))return t=i=n=0,a=128,o=191,s.prepend(u),It(r);if(a=128,o=191,t=t<<6|u&63,n+=1,n!==i)return null;var l=t;return t=i=n=0,l}}function IMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i,a;it(n,128,2047)?(i=1,a=192):it(n,2048,65535)?(i=2,a=224):it(n,65536,1114111)&&(i=3,a=240);for(var o=[(n>>6*i)+a];i>0;){var s=n>>6*(i-1);o.push(128|s&63),i-=1}return o}}yo["UTF-8"]=function(e){return new IMe(e)};xo["UTF-8"]=function(e){return new RMe(e)};function PMe(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(ms(i))return i;var a=e[i-128];return a===null?It(t):a}}function BMe(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(gs(i))return i;var a=ig(i,e);return a===null&&mu(i),a+128}}(function(){"encoding-indexes"in global&&NY.forEach(function(e){e.heading==="Legacy single-byte encodings"&&e.encodings.forEach(function(r){var t=r.name,n=no(t.toLowerCase());xo[t]=function(i){return new PMe(n,i)},yo[t]=function(i){return new BMe(n,i)}})})})();xo.GBK=function(e){return new GY(e)};yo.GBK=function(e){return new zY(e,!0)};function GY(e){var r=e.fatal,t=0,n=0,i=0;this.handler=function(a,o){if(o===Rt&&t===0&&n===0&&i===0)return An;o===Rt&&(t!==0||n!==0||i!==0)&&(t=0,n=0,i=0,It(r));var s;if(i!==0){s=null,it(o,48,57)&&(s=DMe((((t-129)*10+n-48)*126+i-129)*10+o-48));var u=[n,i,o];return t=0,n=0,i=0,s===null?(a.prepend(u),It(r)):s}if(n!==0)return it(o,129,254)?(i=o,null):(a.prepend([n,o]),t=0,n=0,It(r));if(t!==0){if(it(o,48,57))return n=o,null;var l=t,c=null;t=0;var f=o<127?64:65;return(it(o,64,126)||it(o,128,254))&&(c=(l-129)*190+(o-f)),s=c===null?null:ng(c,no("gb18030")),s===null&&ms(o)&&a.prepend(o),s===null?It(r):s}return ms(o)?o:o===128?8364:it(o,129,254)?(t=o,null):It(r)}}function zY(e,r){var t=e.fatal;this.handler=function(n,i){if(i===Rt)return An;if(gs(i))return i;if(i===58853)return mu(i);if(r&&i===8364)return 128;var a=ig(i,no("gb18030"));if(a!==null){var o=Ic(a/190)+129,s=a%190,u=s<63?64:65;return[o,s+u]}if(r)return mu(i);a=OMe(i);var l=Ic(a/10/126/10);a=a-l*10*126*10;var c=Ic(a/10/126);a=a-c*10*126;var f=Ic(a/10),d=a-f*10;return[l+129,c+48,f+129,d+48]}}yo.gb18030=function(e){return new zY(e)};xo.gb18030=function(e){return new GY(e)};function jMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0;var s=i<127?64:98;switch((it(i,64,126)||it(i,161,254))&&(o=(a-129)*157+(i-s)),o){case 1133:return[202,772];case 1135:return[202,780];case 1164:return[234,772];case 1166:return[234,780]}var u=o===null?null:ng(o,no("big5"));return u===null&&ms(i)&&n.prepend(i),u===null?It(r):u}return ms(i)?i:it(i,129,254)?(t=i,null):It(r)}}function MMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i=FMe(n);if(i===null)return mu(n);var a=Ic(i/157)+129;if(a<161)return mu(n);var o=i%157,s=o<63?64:98;return[a,o+s]}}yo.Big5=function(e){return new MMe(e)};xo.Big5=function(e){return new jMe(e)};function LMe(e){var r=e.fatal,t=!1,n=0;this.handler=function(i,a){if(a===Rt&&n!==0)return n=0,It(r);if(a===Rt&&n===0)return An;if(n===142&&it(a,161,223))return n=0,65377-161+a;if(n===143&&it(a,161,254))return t=!0,n=a,null;if(n!==0){var o=n;n=0;var s=null;return it(o,161,254)&&it(a,161,254)&&(s=ng((o-161)*94+(a-161),no(t?"jis0212":"jis0208"))),t=!1,it(a,161,254)||i.prepend(a),s===null?It(r):s}return ms(a)?a:a===142||a===143||it(a,161,254)?(n=a,null):It(r)}}function qMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;if(n===165)return 92;if(n===8254)return 126;if(it(n,65377,65439))return[142,n-65377+161];n===8722&&(n=65293);var i=ig(n,no("jis0208"));if(i===null)return mu(n);var a=Ic(i/94)+161,o=i%94+161;return[a,o]}}yo["EUC-JP"]=function(e){return new qMe(e)};xo["EUC-JP"]=function(e){return new LMe(e)};function NMe(e){var r=e.fatal,t={ASCII:0,Roman:1,Katakana:2,LeadByte:3,TrailByte:4,EscapeStart:5,Escape:6},n=t.ASCII,i=t.ASCII,a=0,o=!1;this.handler=function(s,u){switch(n){default:case t.ASCII:return u===27?(n=t.EscapeStart,null):it(u,0,127)&&u!==14&&u!==15&&u!==27?(o=!1,u):u===Rt?An:(o=!1,It(r));case t.Roman:return u===27?(n=t.EscapeStart,null):u===92?(o=!1,165):u===126?(o=!1,8254):it(u,0,127)&&u!==14&&u!==15&&u!==27&&u!==92&&u!==126?(o=!1,u):u===Rt?An:(o=!1,It(r));case t.Katakana:return u===27?(n=t.EscapeStart,null):it(u,33,95)?(o=!1,65377-33+u):u===Rt?An:(o=!1,It(r));case t.LeadByte:return u===27?(n=t.EscapeStart,null):it(u,33,126)?(o=!1,a=u,n=t.TrailByte,null):u===Rt?An:(o=!1,It(r));case t.TrailByte:if(u===27)return n=t.EscapeStart,It(r);if(it(u,33,126)){n=t.LeadByte;var l=(a-33)*94+u-33,c=ng(l,no("jis0208"));return c===null?It(r):c}return u===Rt?(n=t.LeadByte,s.prepend(u),It(r)):(n=t.LeadByte,It(r));case t.EscapeStart:return u===36||u===40?(a=u,n=t.Escape,null):(s.prepend(u),o=!1,n=i,It(r));case t.Escape:var f=a;a=0;var d=null;if(f===40&&u===66&&(d=t.ASCII),f===40&&u===74&&(d=t.Roman),f===40&&u===73&&(d=t.Katakana),f===36&&(u===64||u===66)&&(d=t.LeadByte),d!==null){n=n=d;var p=o;return o=!0,p?It(r):null}return s.prepend([f,u]),o=!1,n=i,It(r)}}}function UMe(e){var r=e.fatal,t={ASCII:0,Roman:1,jis0208:2},n=t.ASCII;this.handler=function(i,a){if(a===Rt&&n!==t.ASCII)return i.prepend(a),n=t.ASCII,[27,40,66];if(a===Rt&&n===t.ASCII)return An;if((n===t.ASCII||n===t.Roman)&&(a===14||a===15||a===27))return mu(65533);if(n===t.ASCII&&gs(a))return a;if(n===t.Roman&&(gs(a)&&a!==92&&a!==126||a==165||a==8254)){if(gs(a))return a;if(a===165)return 92;if(a===8254)return 126}if(gs(a)&&n!==t.ASCII)return i.prepend(a),n=t.ASCII,[27,40,66];if((a===165||a===8254)&&n!==t.Roman)return i.prepend(a),n=t.Roman,[27,40,74];a===8722&&(a=65293);var o=ig(a,no("jis0208"));if(o===null)return mu(a);if(n!==t.jis0208)return i.prepend(a),n=t.jis0208,[27,36,66];var s=Ic(o/94)+33,u=o%94+33;return[s,u]}}yo["ISO-2022-JP"]=function(e){return new UMe(e)};xo["ISO-2022-JP"]=function(e){return new NMe(e)};function GMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0;var s=i<127?64:65,u=a<160?129:193;if((it(i,64,126)||it(i,128,252))&&(o=(a-u)*188+i-s),it(o,8836,10715))return 57344-8836+o;var l=o===null?null:ng(o,no("jis0208"));return l===null&&ms(i)&&n.prepend(i),l===null?It(r):l}return ms(i)||i===128?i:it(i,161,223)?65377-161+i:it(i,129,159)||it(i,224,252)?(t=i,null):It(r)}}function zMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n)||n===128)return n;if(n===165)return 92;if(n===8254)return 126;if(it(n,65377,65439))return n-65377+161;n===8722&&(n=65293);var i=kMe(n);if(i===null)return mu(n);var a=Ic(i/188),o=a<31?129:193,s=i%188,u=s<63?64:65;return[a+o,s+u]}}yo.Shift_JIS=function(e){return new zMe(e)};xo.Shift_JIS=function(e){return new GMe(e)};function HMe(e){var r=e.fatal,t=0;this.handler=function(n,i){if(i===Rt&&t!==0)return t=0,It(r);if(i===Rt&&t===0)return An;if(t!==0){var a=t,o=null;t=0,it(i,65,254)&&(o=(a-129)*190+(i-65));var s=o===null?null:ng(o,no("euc-kr"));return o===null&&ms(i)&&n.prepend(i),s===null?It(r):s}return ms(i)?i:it(i,129,254)?(t=i,null):It(r)}}function WMe(e){var r=e.fatal;this.handler=function(t,n){if(n===Rt)return An;if(gs(n))return n;var i=ig(n,no("euc-kr"));if(i===null)return mu(n);var a=Ic(i/190)+129,o=i%190+65;return[a,o]}}yo["EUC-KR"]=function(e){return new WMe(e)};xo["EUC-KR"]=function(e){return new HMe(e)};function SS(e,r){var t=e>>8,n=e&255;return r?[t,n]:[n,t]}function HY(e,r){var t=r.fatal,n=null,i=null;this.handler=function(a,o){if(o===Rt&&(n!==null||i!==null))return It(t);if(o===Rt&&n===null&&i===null)return An;if(n===null)return n=o,null;var s;if(e?s=(n<<8)+o:s=(o<<8)+n,n=null,i!==null){var u=i;return i=null,it(s,56320,57343)?65536+(u-55296)*1024+(s-56320):(a.prepend(SS(s,e)),It(t))}return it(s,55296,56319)?(i=s,null):it(s,56320,57343)?It(t):s}}function WY(e,r){var t=r.fatal;this.handler=function(n,i){if(i===Rt)return An;if(it(i,0,65535))return SS(i,e);var a=SS((i-65536>>10)+55296,e),o=SS((i-65536&1023)+56320,e);return a.concat(o)}}yo["UTF-16BE"]=function(e){return new WY(!0,e)};xo["UTF-16BE"]=function(e){return new HY(!0,e)};yo["UTF-16LE"]=function(e){return new WY(!1,e)};xo["UTF-16LE"]=function(e){return new HY(!1,e)};function VMe(e){var r=e.fatal;this.handler=function(t,n){return n===Rt?An:ms(n)?n:63360+n-128}}function KMe(e){var r=e.fatal;this.handler=function(t,n){return n===Rt?An:gs(n)?n:it(n,63360,63487)?n-63360+128:mu(n)}}yo["x-user-defined"]=function(e){return new KMe(e)};xo["x-user-defined"]=function(e){return new VMe(e)};var XMe="rejected",YMe="fulfilled";function VY(e){let r=e.map(t=>t.then(n=>({status:YMe,value:n})).catch(n=>({status:XMe,reason:n})));return Promise.all(r)}function AS(e){return Buffer.from(e).toString("base64")}function cI(e){return Buffer.from(e,"base64").toString("ascii")}var dl=class{constructor(r){this.map={},r instanceof dl?r.forEach((t,n)=>this.append(n,t)):Array.isArray(r)?r.forEach(t=>this.append(t[0],t[1])):r&&Object.getOwnPropertyNames(r).forEach(t=>this.append(t,r[t]))}append(r,t){r=Vx(r),t=KY(t);let n=this.map[r];this.map[r]=n?`${n}, ${t}`:t}delete(r){delete this.map[Vx(r)]}get(r){return r=Vx(r),this.has(r)?this.map[r]:null}has(r){return this.map.hasOwnProperty(Vx(r))}set(r,t){this.map[Vx(r)]=KY(t)}forEach(r,t=null){for(let n in this.map)this.map.hasOwnProperty(n)&&(t?r.call(t,this.map[n],n,this):r(this.map[n],n,this))}keys(){let r=[];return this.forEach(function(t,n){r.push(n)}),fI(r)}values(){let r=[];return this.forEach(function(t){r.push(t)}),fI(r)}entries(){let r=[];return this.forEach(function(t,n){r.push([n,t])}),fI(r)}*[Symbol.iterator](){yield*this.entries()}};function Vx(e){if(typeof e!="string"&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e)||e==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function KY(e){return typeof e!="string"&&(e=String(e)),e}function fI(e){let r={next(){let t=e.shift();return{done:t===void 0,value:t}}};return r[Symbol.iterator]=function(){return r},r}function dI(e,r){if(!e)throw new Error(`@loaders.gl/polyfills assertion ${r}`)}var TS=He(require("zlib"));var $Me=e=>e&&e instanceof ArrayBuffer,JMe=e=>e&&e instanceof Buffer;function XY(e){let r=e.indexOf(","),t,n;return e.slice(r-7,r)===";base64"?(t=Buffer.from(e.slice(r+1),"base64"),n=e.slice(5,r-7).trim()):(t=Buffer.from(decodeURIComponent(e.slice(r+1))),n=e.slice(5,r).trim()),n?n.startsWith(";")&&(n=`text/plain${n}`):n="text/plain;charset=US-ASCII",{arrayBuffer:pI(t),mimeType:n}}function pI(e){if($Me(e))return e;if(JMe(e))return new Uint8Array(e).buffer;if(ArrayBuffer.isView(e))return e.buffer;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(${JSON.stringify(e,null,2).slice(10)})`)}function YY(e,r){switch(r.get("content-encoding")){case"br":return e.pipe(TS.default.createBrotliDecompress());case"gzip":return e.pipe(TS.default.createGunzip());case"deflate":return e.pipe(TS.default.createDeflate());default:return e}}async function $Y(e){let r=[];return await new Promise((t,n)=>{e.on("error",i=>n(i)),e.on("readable",()=>e.read()),e.on("data",i=>{typeof i=="string"&&n(new Error("Read stream not binary")),r.push(pI(i))}),e.on("end",()=>{let i=QMe(r);t(i)})})}function QMe(e){let r=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),t=r.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n.buffer}var mI=He(require("stream")),ZMe=e=>typeof e=="boolean",JY=e=>typeof e=="function",eLe=e=>e!==null&&typeof e=="object",hI=e=>eLe(e)&&JY(e.read)&&JY(e.pipe)&&ZMe(e.readable),ld=class{constructor(r,t){this.bodyUsed=!1;let{headers:n,status:i=200,statusText:a="OK",url:o}=t||{};this.url=o,this.ok=i===200,this.status=i,this.statusText=a,this.headers=new dl((t==null?void 0:t.headers)||{}),hI(r)?this._body=YY(r,n):typeof r=="string"?this._body=mI.Readable.from([new TextEncoder().encode(r)]):this._body=mI.Readable.from([r||new ArrayBuffer(0)])}get body(){return dI(!this.bodyUsed),dI(hI(this._body)),this.bodyUsed=!0,this._body}async arrayBuffer(){return hI(this._body)?await $Y(this._body):this._body||new ArrayBuffer(0)}async text(){let r=await this.arrayBuffer();return new TextDecoder().decode(r)}async json(){let r=await this.text();return JSON.parse(r)}async blob(){if(typeof Blob=="undefined")throw new Error("Blob polyfill not installed");return new Blob([await this.arrayBuffer()])}};var QY=He(require("http")),ZY=He(require("https"));var gI=e=>e.startsWith("data:"),rLe=e=>e.startsWith("http:")||e.startsWith("https:");async function Kx(e,r){try{if(globalThis.fetch!==Kx&&(rLe(e)||gI(e)))return await fetch(e,r);if(gI(e)){let{arrayBuffer:l,mimeType:c}=XY(e);return new ld(l,{headers:{"content-type":c},url:e})}let t={},n=e;e.endsWith(".gz")&&(e=e.slice(0,-3),t["content-encoding"]="gzip");let i=await tLe(n,r),a=oLe(e,i,t),{status:o,statusText:s}=aLe(i),u=!r||r.followRedirect||r.followRedirect===void 0;if(o>=300&&o<400&&a.has("location")&&u){let l=nLe(e,a.get("location"));return await Kx(l,r)}return new ld(i,{headers:a,status:o,statusText:s,url:e})}catch(t){return new ld(null,{status:400,statusText:String(t),url:e})}}async function tLe(e,r){return await new Promise((t,n)=>{let i=iLe(e,r),a=e.startsWith("https:")?ZY.default.request(i,o=>t(o)):QY.default.request(i,o=>t(o));a.on("error",o=>n(o)),a.end()})}function nLe(e,r){if(r.startsWith("http"))return r;let t=new URL(e);return t.pathname=r,t.href}function iLe(e,r){let t=(r==null?void 0:r.headers)||{},n={};for(let a of Object.keys(t))n[a.toLowerCase()]=t[a];n["accept-encoding"]=n["accept-encoding"]||"gzip,br,deflate";let i=new URL(e);return qe(oe(oe({hostname:i.hostname,path:i.pathname,method:"GET"},r),r==null?void 0:r.fetch),{headers:n,port:i.port})}function aLe(e){return e.statusCode?{status:e.statusCode,statusText:e.statusMessage||"NA"}:{status:200,statusText:"OK"}}function oLe(e,r,t={}){let n={};if(r&&r.headers){let i=r.headers;for(let a in i){let o=i[a];n[a.toLowerCase()]=String(o)}}if(!n["content-length"]){let i=sLe(e);Number.isFinite(i)&&(n["content-length"]=i)}return Object.assign(n,t),new dl(n)}function sLe(e){return gI(e)?e.length-"data:".length:null}var KQ=He(WQ()),XQ=He(r1());function VQ(e){return Buffer.isBuffer(e)?new Uint8Array(e).buffer:e}function _7e(e,r){let t=r.type?r.type.replace("image/",""):"jpeg",n=(0,XQ.default)(e.data,[e.width,e.height,4],[4,e.width*4,1],0);return(0,KQ.default)(n,t,r)}function gP(e,r){let t=_7e(e,r);return new Promise(n=>{let i=[];t.on("data",a=>i.push(a)),t.on("end",()=>{let a=Buffer.concat(i);n(VQ(a))})})}var Cue=He(Tue()),Due=["image/png","image/jpeg","image/gif"];async function xj(e,r){if(!r)throw new Error("MIMEType is required to parse image under Node.js");let t=e instanceof Buffer?e:Buffer.from(e);return await IJe(t,r)}function IJe(e,r){return new Promise(t=>(0,Cue.default)(e,r,(n,i)=>{if(n)throw n;let a=[...i.shape],o=i.shape.length===4?i.shape.shift():1,s=i.data instanceof Buffer?new Uint8Array(i.data):i.data;t({shape:a,data:s,width:i.shape[0],height:i.shape[1],components:i.shape[2],layers:o?[o]:[]})}))}var Fue=He(kue());delete global.ReadableStream;var _j=class extends Fue.ReadableStream{};var Ej=class{constructor(r){this.isWorking=!1;this.isCancelled=!1;this.chunks=r}start(r){this.work(r)}async work(r){let{chunks:t}=this;for(this.isWorking=!0;!this.isCancelled&&(r.desiredSize||0)>0;){let n;try{n=t.next()}catch(i){r.error(i);break}n&&(!n.done&&!this.isCancelled?r.enqueue(n.value):r.close())}this.isWorking=!1}pull(r){this.isWorking||this.work(r)}cancel(){this.isCancelled=!0}};var wj=class extends _j{constructor(r){super(new Ej(r.values()),{type:"bytes"});this._chunks=r}async*[Symbol.asyncIterator](r){let t=this.getReader();yield*this._chunks,t.releaseLock()}};var r0=class{constructor(r=[],t={}){this.parts=[],this.size=0;for(let n of r)if(typeof n=="string"){let i=new TextEncoder().encode(n);this.parts.push(i),this.size+=i.byteLength}else if(n instanceof r0)this.size+=n.size,this.parts.push(...n.parts);else if(n instanceof ArrayBuffer)this.parts.push(new Uint8Array(n)),this.size+=n.byteLength;else if(n instanceof Uint8Array)this.parts.push(n),this.size+=n.byteLength;else if(ArrayBuffer.isView(n)){let{buffer:i,byteOffset:a,byteLength:o}=n;this.parts.push(new Uint8Array(i,a,o)),this.size+=o}else{let i=new TextEncoder().encode(String(n));this.parts.push(i),this.size+=i.byteLength}this.type=PJe(t.type)}slice(r=0,t=this.size,n=""){let{size:i,parts:a}=this,o=r<0?Math.max(i+r,0):Math.min(r,i),s=t<0?Math.max(i+t,0):Math.min(t,i),u=Math.max(s-o,0),l=new r0([],{type:n});if(u===0)return l;let c=0,f=[];for(let d of a){let{byteLength:p}=d;if(o>0&&p<=o)o-=p,s-=p;else{let h=d.subarray(o,Math.min(p,s));if(f.push(h),c+=h.byteLength,o=0,c>=u)break}}return l.parts=f,l.size=c,l}async arrayBuffer(){return this._toArrayBuffer()}async text(){let r=new TextDecoder,t="";for(let n of this.parts)t+=r.decode(n);return t}stream(){return new wj(this.parts)}toString(){return"[object Blob]"}get[Symbol.toStringTag](){return"Blob"}_toArrayBuffer(){let r=new ArrayBuffer(this.size),t=new Uint8Array(r),n=0;for(let i of this.parts)t.set(i,n),n+=i.byteLength;return r}};function PJe(e=""){let r=String(e).toLowerCase();return/[^\u0020-\u007E]/.test(r)?"":r}var Sj=class extends r0{constructor(r,t,n={}){super(r,n);this.name="";this.webkitRelativePath="";this.name=String(t).replace(/\//g,":"),this.lastModified=(n==null?void 0:n.lastModified)||Date.now()}get[Symbol.toStringTag](){return"File"}};var jJe=!fl||!("TextEncoder"in Ri);jJe&&(Ri.TextEncoder=Wx);var MJe=!fl||!("TextDecoder"in Ri);MJe&&(Ri.TextDecoder=jh);!fl&&!("atob"in Ri)&&AS&&(Ri.atob=AS);!fl&&!("btoa"in Ri)&&cI&&(Ri.btoa=cI);!fl&&!("Headers"in Ri)&&dl&&(Ri.Headers=dl);!fl&&!("Response"in Ri)&&ld&&(Ri.Response=ld);!fl&&!("fetch"in Ri)&&Kx&&(Ri.fetch=Kx);!fl&&!("_encodeImageNode"in Ri)&&gP&&(Ri._encodeImageNode=gP);!fl&&!("_parseImageNode"in Ri)&&xj&&(Ri._parseImageNode=xj,Ri._imageFormatsNode=Due);"allSettled"in Promise||(Promise.allSettled=VY);var Mje=He(require("path")),Lje=He(Q_e());async function Ko(e,r,t,n){return n._parse(e,r,t,n)}function Qr(e,r){if(!e)throw new Error(r||"loader assertion failed.")}var Vl={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},Z_e=Vl.self||Vl.window||Vl.global||{},e2e=Vl.window||Vl.self||Vl.global||{},r2e=Vl.global||Vl.self||Vl.window||{},t2e=Vl.document||{};var En=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var n2e=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),xDr=n2e&&parseFloat(n2e[1])||0;function V7(e,r){return i2e(e||{},r)}function i2e(e,r){let t=oe({},e);for(let[n,i]of Object.entries(r))i&&typeof i=="object"&&!Array.isArray(i)?t[n]=i2e(t[n]||{},r[n]):t[n]=r[n];return t}var a2e="beta";function _Dr(){var e;return((e=globalThis._loadersgl_)==null?void 0:e.version)||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.0.0-alpha.26"),globalThis._loadersgl_.version}var O0=_Dr();function Fa(e,r){if(!e)throw new Error(r||"loaders.gl assertion failed.")}var Kl={self:typeof self!="undefined"&&self,window:typeof window!="undefined"&&window,global:typeof global!="undefined"&&global,document:typeof document!="undefined"&&document},uwt=Kl.self||Kl.window||Kl.global||{},lwt=Kl.window||Kl.self||Kl.global||{},o2e=Kl.global||Kl.self||Kl.window||{},cwt=Kl.document||{};var lo=typeof process!="object"||String(process)!=="[object process]"||process.browser,o2=typeof importScripts=="function",s2e=typeof window!="undefined"&&typeof window.orientation!="undefined",u2e=typeof process!="undefined"&&process.version&&/v([0-9]*)/.exec(process.version),fwt=u2e&&parseFloat(u2e[1])||0;var wD=class{constructor(r,t){this.isRunning=!0;this._resolve=()=>{};this._reject=()=>{};this.name=r,this.workerThread=t,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(r,t){this.workerThread.postMessage({source:"loaders.gl",type:r,payload:t})}done(r){Fa(this.isRunning),this.isRunning=!1,this._resolve(r)}error(r){Fa(this.isRunning),this.isRunning=!1,this._reject(r)}};var Eb={};qa(Eb,{NodeWorker:()=>s2});var l2e=He(require("worker_threads"));Hx(Eb,He(require("worker_threads")));var s2=l2e.Worker;var K7=new Map;function c2e(e){Fa(e.source&&!e.url||!e.source&&e.url);let r=K7.get(e.source||e.url);return r||(e.url&&(r=EDr(e.url),K7.set(e.url,r)),e.source&&(r=f2e(e.source),K7.set(e.source,r))),Fa(r),r}function EDr(e){if(!e.startsWith("http"))return e;let r=wDr(e);return f2e(r)}function f2e(e){let r=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(r)}function wDr(e){return`try {
|
|
180
180
|
importScripts('${e}');
|
|
181
181
|
} catch (error) {
|
|
182
182
|
console.error(error);
|
|
183
183
|
throw error;
|
|
184
184
|
}`}function X7(e,r=!0,t){let n=t||new Set;if(e){if(d2e(e))n.add(e);else if(d2e(e.buffer))n.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(r&&typeof e=="object")for(let i in e)X7(e[i],r,n)}}return t===void 0?Array.from(n):[]}function d2e(e){return e?e instanceof ArrayBuffer||typeof MessagePort!="undefined"&&e instanceof MessagePort||typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&e instanceof OffscreenCanvas:!1}function Y7(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]=Y7(e[t]):typeof r[t]=="function"||r[t]instanceof RegExp?r[t]={}:r[t]=e[t]}),r}var $7=()=>{},k0=class{constructor(r){this.terminated=!1;this._loadableURL="";let{name:t,source:n,url:i}=r;Fa(n||i),this.name=t,this.source=n,this.url=i,this.onMessage=$7,this.onError=a=>console.log(a),this.worker=lo?this._createBrowserWorker():this._createNodeWorker()}static isSupported(){return typeof Worker!="undefined"&&lo||typeof s2!="undefined"&&!lo}destroy(){this.onMessage=$7,this.onError=$7,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(r,t){t=t||X7(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=c2e({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 n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;r=new s2(n,{eval:!1})}else if(this.source)r=new s2(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 SD=class{constructor(r){this.name="unnamed";this.maxConcurrency=1;this.maxMobileConcurrency=1;this.onDebug=()=>{};this.reuseWorkers=!0;this.props={};this.jobQueue=[];this.idleQueue=[];this.count=0;this.isDestroyed=!1;this.source=r.source,this.url=r.url,this.setProps(r)}static isSupported(){return k0.isSupported()}destroy(){this.idleQueue.forEach(r=>r.destroy()),this.isDestroyed=!0}setProps(r){this.props=oe(oe({},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=(i,a,o)=>i.done(o),n=(i,a)=>i.error(a)){let i=new Promise(a=>(this.jobQueue.push({name:r,onMessage:t,onError:n,onStart:a}),this));return this._startQueuedJob(),await i}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 n=new wD(t.name,r);r.onMessage=i=>t.onMessage(n,i.type,i.payload),r.onError=i=>t.onError(n,i),t.onStart(n);try{await n.result}finally{this.returnWorkerToQueue(r)}}}returnWorkerToQueue(r){!lo||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 k0({name:r,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return s2e?this.maxMobileConcurrency:this.maxConcurrency}};var SDr={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}},Mi=class{constructor(r){this.workerPools=new Map;this.props=oe({},SDr),this.setProps(r),this.workerPools=new Map}static isSupported(){return k0.isSupported()}static getWorkerFarm(r={}){return Mi._workerFarm=Mi._workerFarm||new Mi({}),Mi._workerFarm.setProps(r),Mi._workerFarm}destroy(){for(let r of this.workerPools.values())r.destroy();this.workerPools=new Map}setProps(r){this.props=oe(oe({},this.props),r);for(let t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(r){let{name:t,source:n,url:i}=r,a=this.workerPools.get(t);return a||(a=new SD({name:t,source:n,url:i}),a.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,a)),a}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};function p2e(e){let r=e.version!==O0?` (worker-utils@${O0})`:"";return`${e.name}@${e.version}${r}`}function u2(e,r={}){let t=r[e.id]||{},n=lo?`${e.id}-worker.js`:`${e.id}-worker-node.js`,i=t.workerUrl;if(!i&&e.id==="compression"&&(i=r.workerUrl),r._workerType==="test"&&(i=`modules/${e.module}/dist/${n}`),!i){let a=e.version;a==="latest"&&(a=a2e);let o=a?`@${a}`:"";i=`https://unpkg.com/@loaders.gl/${e.module}${o}/dist/${n}`}return Fa(i),i}async function J7(e,r,t={},n={}){let i=p2e(e),a=Mi.getWorkerFarm(t),{source:o}=t,s={name:i,source:o};o||(s.url=u2(e,t));let u=a.getWorkerPool(s),l=t.jobName||e.name,c=await u.startJob(l,ADr.bind(null,n)),f=Y7(t);return c.postMessage("process",{input:r,options:f}),(await c.result).result}async function ADr(e,r,t,n){switch(t){case"done":r.done(n);break;case"error":r.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{if(!e.process){r.postMessage("error",{id:i,error:"Worker not set up to process on main thread"});return}let s=await e.process(a,o);r.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";r.postMessage("error",{id:i,error:u})}break;default:console.warn(`process-on-worker: unknown message ${t}`)}}function Q7(e,r=O0){Fa(e,"no worker provided");let t=e.version;return!(!r||!t)}var iN={};qa(iN,{readFileAsArrayBuffer:()=>rN,readFileAsText:()=>tN,requireFromFile:()=>nN,requireFromString:()=>AD});var Z7=He(require("module")),h2e=He(require("path")),eN=He(require("fs"));async function rN(e){return e.startsWith("http")?await(await fetch(e)).arrayBuffer():eN.default.readFileSync(e).buffer}async function tN(e){return e.startsWith("http")?await(await fetch(e)).text():eN.default.readFileSync(e,"utf8")}async function nN(e){if(e.startsWith("http")){let t=await(await fetch(e)).text();return AD(t)}return e.startsWith("/")||(e=`${process.cwd()}/${e}`),require(e)}function AD(e,r="",t){if(typeof r=="object"&&(t=r,r=""),typeof e!="string")throw new Error(`code must be a string, not ${typeof e}`);let n=Z7.default._nodeModulePaths(h2e.default.dirname(r)),i=module.parent,a=new Z7.default(r,i);return a.filename=r,a.paths=[].concat((t==null?void 0:t.prependPaths)||[]).concat(n).concat((t==null?void 0:t.appendPaths)||[]),a._compile(e,r),i&&i.children&&i.children.splice(i.children.indexOf(a),1),a.exports}var aN={};async function Xl(e,r=null,t={},n=null){return r&&(e=m2e(e,r,t,n)),aN[e]=aN[e]||TDr(e),await aN[e]}function m2e(e,r,t={},n=null){if(!t.useLocalLibraries&&e.startsWith("http"))return e;n=n||e;let i=t.modules||{};return i[n]?i[n]:lo?t.CDN?(Fa(t.CDN.startsWith("http")),`${t.CDN}/${r}@${O0}/dist/libs/${n}`):o2?`../src/libs/${n}`:`modules/${r}/src/libs/${n}`:`modules/${r}/dist/libs/${n}`}async function TDr(e){if(e.endsWith("wasm"))return await DDr(e);if(!lo)try{return iN&&nN&&await nN(e)}catch{return null}if(o2)return importScripts(e);let r=await ODr(e);return CDr(r,e)}function CDr(e,r){if(!lo)return AD&&AD(e,r);if(o2)return eval.call(o2e,e),null;let t=document.createElement("script");t.id=r;try{t.appendChild(document.createTextNode(e))}catch{t.text=e}return document.body.appendChild(t),null}async function DDr(e){return!rN||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await rN(e)}async function ODr(e){return!tN||e.startsWith("http")?await(await fetch(e)).text():await tN(e)}var b2e=He(require("child_process"));var g2e=He(require("child_process"));function v2e(e=3e3){return new Promise(r=>{g2e.default.exec("lsof -i -P -n | grep LISTEN",(t,n)=>{if(t){r(e);return}let i=[],a=/:(\d+) \(LISTEN\)/;n.split(`
|
|
185
|
-
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;r(o)})})}var y2e={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},yp=class{constructor({id:r="browser-driver"}={}){this.props=oe({},y2e);this.childProcess=null;this.port=0;this.id=r}async start(r){r=oe(oe({},y2e),r),this.props=r;let t=[...r.arguments];return this.port=Number(r.port),r.portArg&&(r.autoPort&&(this.port=await v2e(r.port)),t.push(r.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{r.onSuccess&&r.onSuccess(this),n({})}),console.log(`Spawning ${r.command} ${r.arguments.join(" ")}`);let a=b2e.spawn(r.command,t,r.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),r.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(r=0){try{await this.stop(),process.exit(r)}catch(t){console.error(t.message||t),process.exit(1)}}_setTimeout(r){Number(this.props.wait)>0&&(this.successTimer=setTimeout(r,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function oN(e,r){return!Mi.isSupported()||!lo&&!(r==null?void 0:r._nodeWorkers)?!1:e.worker&&(r==null?void 0:r.worker)}async function sN(e,r,t,n,i){let a=e.id,o=u2(e,t),u=Mi.getWorkerFarm(t).getWorkerPool({name:a,url:o});t=JSON.parse(JSON.stringify(t)),n=JSON.parse(JSON.stringify(n||{}));let l=await u.startJob("process-on-worker",kDr.bind(null,i));return l.postMessage("process",{input:r,options:t,context:n}),await(await l.result).result}async function kDr(e,r,t,n){switch(t){case"done":r.done(n);break;case"error":r.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);r.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";r.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function uN(e,r){return!Mi.isSupported()||!En&&!(r==null?void 0:r._nodeWorkers)?!1:e.worker&&(r==null?void 0:r.worker)}function x2e(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?_2e(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?_2e(e,0,r):""}function _2e(e,r,t){if(e.byteLength<=r+t)return"";let n=new DataView(e),i="";for(let a=0;a<t;a++)i+=String.fromCharCode(n.getUint8(r+a));return i}function lN(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${x2e(e)}"`)}}function cN(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let n=new Uint8Array(e),i=new Uint8Array(r);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function Yl(...e){let r=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),t=r.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n.buffer}function Xo(...e){let r=e,t=r&&r.length>1&&r[0].constructor||null;if(!t)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=r.reduce((o,s)=>o+s.length,0),i=new t(n),a=0;for(let o of r)i.set(o,a),a+=o.length;return i}function F0(e,r,t){let n=t!==void 0?new Uint8Array(e).subarray(r,r+t):new Uint8Array(e).subarray(r);return new Uint8Array(n).buffer}function Yo(e,r){return Qr(e>=0),Qr(r>0),e+(r-1)&~(r-1)}function fN(e,r,t){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return r.set(n,t),t+Yo(n.byteLength,4)}function dN(e,r){let t=e.length,i=Math.ceil(t/r)*r-t,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function wb(e,r,t,n){if(e)for(let i=0;i<n;i++)e.setUint8(r+i,t.charCodeAt(i));return r+n}function l2(e,r,t,n){if(e)for(let i=0;i<n;i++)e.setUint8(r+i,t[i]);return r+n}function TD(e,r,t,n){let i=Yo(t.byteLength,n),a=i-t.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+r,t.byteLength),s=new Uint8Array(t);o.set(s);for(let u=0;u<a;++u)e.setUint8(r+t.byteLength+u,32)}return r+=i,r}function Sb(e,r,t,n){let a=new TextEncoder().encode(t);return r=TD(e,r,a,n),r}async function c2(e){let r=[];for await(let t of e)r.push(t);return Yl(...r)}function xp(e){return xp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xp(e)}function pN(e,r){if(xp(e)!=="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(xp(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function hN(e){var r=pN(e,"string");return xp(r)==="symbol"?r:String(r)}function Fo(e,r,t){return r=hN(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var FDr="",E2e={};function $l(e){for(let r in E2e)if(e.startsWith(r)){let t=E2e[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${FDr}${e}`),e}var RDr="4.0.0-alpha.25",mN={name:"JSON",id:"json",module:"json",version:RDr,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:w2e,parse:async e=>w2e(new TextDecoder().decode(e)),options:{}};function w2e(e){return JSON.parse(e)}function CD(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function gN(e){if(Buffer.isBuffer(e))return e;if(ArrayBuffer.isView(e)&&(e=e.buffer),typeof Buffer!="undefined"&&e instanceof ArrayBuffer)return Buffer.from(e);throw new Error("toBuffer")}function S2e(e){return e&&typeof e=="object"&&e.isBuffer}function vN(e){return gN?gN(e):e}function ff(e){if(S2e(e))return CD(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Ab(e){return r=>new Promise((t,n)=>e(r,(i,a)=>i?n(i):t(a)))}function bN(e){return(r,t)=>new Promise((n,i)=>e(r,t,(a,o)=>a?i(a):n(o)))}function A2e(e){return(r,t,n)=>new Promise((i,a)=>e(r,t,n,(o,s)=>o?a(o):i(s)))}var qu={};qa(qu,{dirname:()=>PDr,filename:()=>IDr,join:()=>BDr,resolve:()=>jDr});function T2e(){var r;if(typeof process!="undefined"&&typeof process.cwd!="undefined")return process.cwd();let e=(r=window.location)==null?void 0:r.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function IDr(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):""}function PDr(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function BDr(...e){let r="/";return e=e.map((t,n)=>(n&&(t=t.replace(new RegExp(`^${r}`),"")),n!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function jDr(...e){let r=[];for(let a=0;a<e.length;a++)r[a]=e[a];let t="",n=!1,i;for(let a=r.length-1;a>=-1&&!n;a--){let o;a>=0?o=r[a]:(i===void 0&&(i=T2e()),o=i),o.length!==0&&(t=`${o}/${t}`,n=o.charCodeAt(0)===f2)}return t=MDr(t,!n),n?`/${t}`:t.length>0?t:"."}var f2=47,yN=46;function MDr(e,r){let t="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===f2)break;a=f2}if(a===f2){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(t.length<2||!o||t.charCodeAt(t.length-1)!==yN||t.charCodeAt(t.length-2)!==yN){if(t.length>2){let u=t.length-1,l=u;for(;l>=0&&t.charCodeAt(l)!==f2;--l);if(l!==u){t=l===-1?"":t.slice(0,l),n=s,i=0,o=!1;continue}}else if(t.length===2||t.length===1){t="",n=s,i=0,o=!1;continue}}r&&(t.length>0?t+="/..":t="..",o=!0)}else{let u=e.slice(n+1,s);t.length>0?t+=`/${u}`:t=u,o=!1}n=s,i=0}else a===yN&&i!==-1?++i:i=-1}return t}var R0={};qa(R0,{_readToArrayBuffer:()=>XDr,close:()=>EN,createReadStream:()=>WDr,createWriteStream:()=>VDr,fstat:()=>HDr,isSupported:()=>KDr,open:()=>_N,read:()=>DD,readFile:()=>NDr,readFileSync:()=>UDr,readdir:()=>LDr,stat:()=>xN,statSync:()=>qDr,writeFile:()=>GDr,writeFileSync:()=>zDr});var $o=He(require("fs")),C2e=He(require("fs/promises"));var LDr=bN($o.readdir),xN=C2e.stat,qDr=$o.statSync,NDr=$o.readFile,UDr=$o.readFileSync,GDr=A2e($o.writeFile),zDr=$o.writeFileSync,_N=$o.open,EN=e=>new Promise((r,t)=>$o.close(e,n=>n?t(n):r())),DD=$o.read,HDr=$o.fstat,WDr=$o.createReadStream,VDr=$o.createWriteStream,KDr=Boolean($o);async function XDr(e,r,t){let n=Buffer.alloc(t),{bytesRead:i}=await DD(e,n,0,t,r);if(i!==t)throw new Error("fs.read failed");return CD(n)}var wN=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var d2=class{constructor(r,t){this.read=(r,t,n,i)=>new Promise(a=>{DD(this.fileDescriptor,r,t,n,i,(o,s,u)=>a({bytesRead:s,buffer:u}))});this.fileDescriptor=r,this.stats=t}static async open(r){let[t,n]=await Promise.all([new Promise((i,a)=>{_N(r,void 0,void 0,(o,s)=>o?a(o):i(s))}),xN(r,{bigint:!0})]);return new d2(t,n)}async close(){return EN(this.fileDescriptor)}get stat(){return this.stats}};var Tb=class{static async from(r){r=$l(r);let t=await d2.open(r);return new Tb(t,t.stat.size)}constructor(r,t){this.fileDescriptor=r,this.size=t}async destroy(){await this.fileDescriptor.close()}async getUint8(r){let t=new Uint8Array((await this.fileDescriptor.read(Buffer.alloc(1),0,1,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getUint16(r){let t=new Uint16Array((await this.fileDescriptor.read(Buffer.alloc(2),0,2,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getUint32(r){let t=new Uint32Array((await this.fileDescriptor.read(Buffer.alloc(4),0,4,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getBigUint64(r){let t=new BigInt64Array((await this.fileDescriptor.read(Buffer.alloc(8),0,8,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async slice(r,t){let n=t-r;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return(await this.fileDescriptor.read(Buffer.alloc(i),0,i,r)).buffer.buffer}get length(){return this.size}};var $Dr=e=>typeof e=="boolean",p2=e=>typeof e=="function",I0=e=>e!==null&&typeof e=="object",SN=e=>I0(e)&&e.constructor==={}.constructor;var D2e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",O2e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var js=e=>typeof Response!="undefined"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ms=e=>typeof Blob!="undefined"&&e instanceof Blob,k2e=e=>e&&typeof e=="object"&&e.isBuffer;var JDr=e=>typeof ReadableStream!="undefined"&&e instanceof ReadableStream||I0(e)&&p2(e.tee)&&p2(e.cancel)&&p2(e.getReader);var QDr=e=>I0(e)&&p2(e.read)&&p2(e.pipe)&&$Dr(e.readable),OD=e=>JDr(e)||QDr(e);var ZDr=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,eOr=/^([-\w.]+\/[-\w.+]+)/;function F2e(e){let r=eOr.exec(e);return r?r[1]:e}function AN(e){let r=ZDr.exec(e);return r?r[1]:""}var R2e=/\?.*/;function I2e(e){let r=e.match(R2e);return r&&r[0]}function Cb(e){return e.replace(R2e,"")}function P0(e){return js(e)?e.url:Ms(e)?e.name||"":typeof e=="string"?e:""}function h2(e){if(js(e)){let r=e,t=r.headers.get("content-type")||"",n=Cb(r.url);return F2e(t)||AN(n)}return Ms(e)?e.type||"":typeof e=="string"?AN(e):""}function P2e(e){return js(e)?e.headers["content-length"]||-1:Ms(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function kD(e){if(js(e))return e;let r={},t=P2e(e);t>=0&&(r["content-length"]=String(t));let n=P0(e),i=h2(e);i&&(r["content-type"]=i);let a=await tOr(e);a&&(r["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:r});return Object.defineProperty(o,"url",{value:n}),o}async function B2e(e){if(!e.ok){let r=await rOr(e);throw new Error(r)}}async function rOr(e){let r=`Failed to fetch resource ${e.url} (${e.status}): `;try{let t=e.headers.get("Content-Type"),n=e.statusText;t.includes("application/json")&&(n+=` ${await e.text()}`),r+=n,r=r.length>60?`${r.slice(0,60)}...`:r}catch{}return r}async function tOr(e){let r=5;if(typeof e=="string")return`data:,${e.slice(0,r)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,r);return`data:base64,${nOr(t)}`}return null}function nOr(e){let r="",t=new Uint8Array(e);for(let n=0;n<t.byteLength;n++)r+=String.fromCharCode(t[n]);return btoa(r)}var m2={};qa(m2,{fetchFileNode:()=>j2e});async function j2e(e,r){let t=/^file:\/\//;e.replace(t,"/");let n=e.split("?")[0];try{let i=await new Promise((l,c)=>{let f=R0.createReadStream(n,{encoding:null});f.once("readable",()=>l(f)),f.on("error",d=>c(d))}),a=200,o="OK",s=iOr(n),u=new Response(i,{headers:s,status:a,statusText:o});return Object.defineProperty(u,"url",{value:e}),u}catch(i){let a=i.message,o=400,s=a,u={},l=new Response(a,{headers:u,status:o,statusText:s});return Object.defineProperty(l,"url",{value:e}),l}}function iOr(e){let r={};if(!r["content-length"]){let t=R0.statSync(e);r["content-length"]=t.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip"),new Headers(r)}function aOr(e){return!oOr(e)&&!sOr(e)}function oOr(e){return e.startsWith("http:")||e.startsWith("https:")}function sOr(e){return e.startsWith("data:")}async function Jo(e,r){if(typeof e=="string"){let t=$l(e);return aOr(t)&&(m2==null?void 0:m2.fetchFileNode)?j2e(t,r):await fetch(t,r)}return await kD(e)}async function M2e(e,r,t){e=$l(e),En||await R0.writeFile(e,vN(r),{flag:"w"}),Qr(!1)}function TN(e){if(typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function Nu(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||TN()}var uOr=globalThis.self||globalThis.window||globalThis.global,Db=globalThis.window||globalThis.self||globalThis.global,lOr=globalThis.document||{},B0=globalThis.process||{},cOr=globalThis.console,NAt=globalThis.navigator||{};var FD="4.0.0-alpha.25",zAt=Nu();function fOr(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var CN=class{constructor(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";Fo(this,"storage",void 0),Fo(this,"id",void 0),Fo(this,"config",void 0),this.storage=fOr(n),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 L2e(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function q2e(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function RD(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var ID;(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"})(ID||(ID={}));var dOr=10;function N2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),ID[e]||ID.WHITE)}function U2e(e,r,t){if(!Nu&&typeof e=="string"){if(r){let n=N2e(r);e="[".concat(n,"m").concat(e,"[39m")}if(t){let n=N2e(t);e="[".concat(n+dOr,"m").concat(e,"[49m")}}return e}function G2e(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(r.find(s=>a===s)||(i[a]=o.bind(e)))}}function Ob(e,r){if(!e)throw new Error(r||"Assertion failed")}function j0(){let e;if(Nu()&&Db.performance){var r,t;e=Db===null||Db===void 0||(r=Db.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in B0){var n;let i=B0===null||B0===void 0||(n=B0.hrtime)===null||n===void 0?void 0:n.call(B0);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var kb={debug:Nu()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},pOr={enabled:!0,level:0};function Ls(){}var z2e={},H2e={once:!0},df=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};Fo(this,"id",void 0),Fo(this,"VERSION",FD),Fo(this,"_startTs",j0()),Fo(this,"_deltaTs",j0()),Fo(this,"_storage",void 0),Fo(this,"userData",{}),Fo(this,"LOG_THROTTLE_TIMEOUT",0),this.id=r,this.userData={},this._storage=new CN("__probe-".concat(this.id,"__"),pOr),this.timeStamp("".concat(this.id," started")),G2e(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){Ob(r,t)}warn(r){return this._getLogFunction(0,r,kb.warn,arguments,H2e)}error(r){return this._getLogFunction(0,r,kb.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,kb.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,kb.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,kb.debug||kb.info,arguments,H2e)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Ls,n&&[n],{tag:vOr(t)}):Ls}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:o=1}=r;return this._shouldLog(t||n)?Nu()?gOr({image:i,message:a,scale:o}):mOr({image:i,message:a,scale:o}):Ls}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Ls)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=V2e({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Ls)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=W2e(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=V2e({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,Ob(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=j0();let o=a.tag||a.message;if(a.once&&o)if(!z2e[o])z2e[o]=j0();else return Ls;return t=hOr(this.id,a.message,a),n.bind(console,t,...a.args)}return Ls}};Fo(df,"VERSION",FD);function W2e(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 Ob(Number.isFinite(r)&&r>=0),r}function V2e(e){let{logLevel:r,message:t}=e;e.logLevel=W2e(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return Ob(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function hOr(e,r,t){if(typeof r=="string"){let n=t.time?q2e(L2e(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=U2e(r,t.color,t.background)}return r}function mOr(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Ls}function gOr(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let o=RD(a,t,n);console.log(...o)},a.src=r,Ls}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...RD(r,t,n)),Ls;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...RD(a,t,n)),a.src=r.toDataURL(),Ls}return Ls}function vOr(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var gTt=new df({id:"@probe.gl/log"});var DN=new df({id:"loaders.gl"}),ON=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},kN=class{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 FN={fetch:null,mimeType:void 0,nothrow:!1,log:new kN,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:En,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},K2e={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function RN(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state=e._state||{},e._state}function Fb(){let e=RN();return e.globalOptions=e.globalOptions||oe({},FN),e.globalOptions}function X2e(e,r,t,n){return t=t||[],t=Array.isArray(t)?t:[t],bOr(e,t),xOr(r,e,n)}function bOr(e,r){Y2e(e,null,FN,K2e,r);for(let t of r){let n=e&&e[t.id]||{},i=t.options&&t.options[t.id]||{},a=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};Y2e(n,t.id,i,a,r)}}function Y2e(e,r,t,n,i){let a=r||"Top level",o=r?`${r}.`:"";for(let s in e){let u=!r&&I0(e[s]),l=s==="baseUri"&&!r,c=s==="workerUrl"&&r;if(!(s in t)&&!l&&!c){if(s in n)DN.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=yOr(s,i);DN.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function yOr(e,r){let t=e.toLowerCase(),n="";for(let i of r)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function xOr(e,r,t){let n=e.options||{},i=oe({},n);return _Or(i,t),i.log===null&&(i.log=new ON),$2e(i,Fb()),$2e(i,r),i}function $2e(e,r){for(let t in r)if(t in r){let n=r[t];SN(n)&&SN(e[t])?e[t]=oe(oe({},e[t]),r[t]):e[t]=r[t]}}function _Or(e,r){r&&!("baseUri"in e)&&(e.baseUri=r)}function g2(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function IN(e){Qr(e,"null loader"),Qr(g2(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e=qe(oe({},e),{options:oe(oe({},e.options),r)})),((e==null?void 0:e.parseTextSync)||(e==null?void 0:e.parseText))&&(e.text=!0),e.text||(e.binary=!0),e}var EOr=()=>{let e=RN();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function J2e(){return EOr()}var Q2e=new df({id:"loaders.gl"});var wOr=/\.([^.]+)$/;async function Z2e(e,r=[],t,n){if(!rEe(e))return null;let i=eEe(e,r,qe(oe({},t),{nothrow:!0}),n);if(i)return i;if(Ms(e)&&(e=await e.slice(0,10).arrayBuffer(),i=eEe(e,r,t,n)),!i&&!(t==null?void 0:t.nothrow))throw new Error(tEe(e));return i}function eEe(e,r=[],t,n){if(!rEe(e))return null;if(r&&!Array.isArray(r))return IN(r);let i=[];r&&(i=i.concat(r)),(t==null?void 0:t.ignoreRegisteredLoaders)||i.push(...J2e()),AOr(i);let a=SOr(e,i,t,n);if(!a&&!(t==null?void 0:t.nothrow))throw new Error(tEe(e));return a}function SOr(e,r,t,n){let i=P0(e),a=h2(e),o=Cb(i)||(n==null?void 0:n.url),s=null,u="";return(t==null?void 0:t.mimeType)&&(s=PN(r,t==null?void 0:t.mimeType),u=`match forced by supplied MIME type ${t==null?void 0:t.mimeType}`),s=s||TOr(r,o),u=u||(s?`matched url ${o}`:""),s=s||PN(r,a),u=u||(s?`matched MIME type ${a}`:""),s=s||DOr(r,e),u=u||(s?`matched initial data ${iEe(e)}`:""),(t==null?void 0:t.fallbackMimeType)&&(s=s||PN(r,t==null?void 0:t.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&Q2e.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function rEe(e){return!(e instanceof Response&&e.status===204)}function tEe(e){let r=P0(e),t=h2(e),n="No valid loader found (";n+=r?`${qu.filename(r)}, `:"no url provided, ",n+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let i=e?iEe(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function AOr(e){for(let r of e)IN(r)}function TOr(e,r){let t=r&&wOr.exec(r),n=t&&t[1];return n?COr(e,n):null}function COr(e,r){r=r.toLowerCase();for(let t of e)for(let n of t.extensions)if(n.toLowerCase()===r)return t;return null}function PN(e,r){for(let t of e)if(t.mimeTypes&&t.mimeTypes.includes(r)||r===`application/x.${t.id}`)return t;return null}function DOr(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(OOr(r,t))return t}else if(ArrayBuffer.isView(r)){if(nEe(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&nEe(r,0,t))return t;return null}function OOr(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(n=>e.startsWith(n))}function nEe(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>kOr(e,r,t,i))}function kOr(e,r,t,n){if(n instanceof ArrayBuffer)return cN(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=BN(e,r,n.length);return n===i;default:return!1}}function iEe(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?BN(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?BN(e,0,r):""}function BN(e,r,t){if(e.byteLength<r+t)return"";let n=new DataView(e),i="";for(let a=0;a<t;a++)i+=String.fromCharCode(n.getUint8(r+a));return i}var FOr=256*1024;function*aEe(e,r){let t=(r==null?void 0:r.chunkSize)||FOr,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,t),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}var ROr=256*1024;function*oEe(e,r={}){let{chunkSize:t=ROr}=r,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,t),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}var IOr=1024*1024;async function*sEe(e,r){let t=(r==null?void 0:r.chunkSize)||IOr,n=0;for(;n<e.size;){let i=n+t,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function jN(e,r){return En?POr(e,r):BOr(e,r)}async function*POr(e,r){let t=e.getReader(),n;try{for(;;){let i=n||t.read();(r==null?void 0:r._streamReadAhead)&&(n=t.read());let{done:a,value:o}=await i;if(a)return;yield ff(o)}}catch{t.releaseLock()}}async function*BOr(e,r){for await(let t of e)yield ff(t)}function uEe(e,r){if(typeof e=="string")return aEe(e,r);if(e instanceof ArrayBuffer)return oEe(e,r);if(Ms(e))return sEe(e,r);if(OD(e))return jN(e,r);if(js(e))return jN(e.body,r);throw new Error("makeIterator")}var lEe="Cannot convert supplied data type";function jOr(e,r,t){if(r.text&&typeof e=="string")return e;if(k2e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return r.text&&!r.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(r.text&&!r.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(lEe)}async function cEe(e,r,t){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return jOr(e,r,t);if(Ms(e)&&(e=await kD(e)),js(e)){let i=e;return await B2e(i),r.binary?await i.arrayBuffer():await i.text()}if(OD(e)&&(e=uEe(e,t)),D2e(e)||O2e(e))return c2(e);throw new Error(lEe)}function PD(e,r){let t=Fb(),n=e||t;return typeof n.fetch=="function"?n.fetch:I0(n.fetch)?i=>Jo(i,n.fetch):(r==null?void 0:r.fetch)?r==null?void 0:r.fetch:Jo}function fEe(e,r,t){if(t)return t;let n=oe({fetch:PD(r,e)},e);if(n.url){let i=Cb(n.url);n.baseUrl=i,n.queryString=I2e(n.url),n.filename=qu.filename(i),n.baseUrl=qu.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function dEe(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let n=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...n]:n}return t&&t.length?t:void 0}async function Qo(e,r,t,n){r&&!Array.isArray(r)&&!g2(r)&&(n=void 0,t=r,r=void 0),e=await e,t=t||{};let i=P0(e),o=dEe(r,n),s=await Z2e(e,o,t);return s?(t=X2e(t,s,o,i),n=fEe({url:i,_parse:Qo,loaders:o},t,n||null),await MOr(s,e,t,n)):null}async function MOr(e,r,t,n){if(Q7(e),t=V7(e.options,t),js(r)){let a=r,{ok:o,redirected:s,status:u,statusText:l,type:c,url:f}=a,d=Object.fromEntries(a.headers.entries());n.response={headers:d,ok:o,redirected:s,status:u,statusText:l,type:c,url:f}}r=await cEe(r,e,t);let i=e;if(i.parseTextSync&&typeof r=="string")return i.parseTextSync(r,t,n);if(oN(e,t))return await sN(e,r,t,n,Qo);if(i.parseText&&typeof r=="string")return await i.parseText(r,t,n);if(i.parse)return await i.parse(r,t,n);throw Fa(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}async function yn(e,r,t,n){let i,a;!Array.isArray(r)&&!g2(r)?(i=[],a=r,n=void 0):(i=r,a=t);let o=PD(a),s=e;return typeof e=="string"&&(s=await o(e)),Ms(e)&&(s=await o(e)),Array.isArray(i)?await Qo(s,i,a):await Qo(s,i,a)}async function Rb(e,r,t){let n=Fb();if(t=oe(oe({},n),t),uN(r,t))return await J7(r,e,t);if(r.encode)return await r.encode(e,t);if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeText)return new TextEncoder().encode(await r.encodeText(e,t));if(r.encodeInBatches){let i=pEe(e,r,t),a=[];for await(let o of i)a.push(o);return Yl(...a)}if(!En&&r.encodeURLtoURL){let i=mEe("input");await M2e(i,e);let a=mEe("output"),o=await hEe(i,a,r,t);return(await Jo(o)).arrayBuffer()}throw new Error("Writer could not encode data")}function BD(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);throw new Error("Writer could not synchronously encode data")}function pEe(e,r,t){if(r.encodeInBatches){let n=LOr(e);return r.encodeInBatches(n,t)}throw new Error("Writer could not encode data in batches")}async function hEe(e,r,t,n){if(e=$l(e),r=$l(r),En||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,n)}function LOr(e){return[qe(oe({},e),{start:0,end:e.length})]}function mEe(e){return`/tmp/${e}`}var kp;(function(t){t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE"})(kp||(kp={}));var ic;(function(i){i.EMPTY="empty",i.SCENEGRAPH="scenegraph",i.POINTCLOUD="pointcloud",i.MESH="mesh"})(ic||(ic={}));var X0;(function(t){t.I3S="I3S",t.TILES3D="TILES3D"})(X0||(X0={}));var Sf;(function(t){t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(Sf||(Sf={}));var Jn=He($t()),KO=He(K0()),qU=He(zs());function YSe(e){return e!=null}var lCt=new Jn.Vector3,AMr=new Jn.Vector3,TMr=new Jn.Vector3,CMr=new Jn.Vector3;function XO(e,r,t){if(Qr(e,"3D Tile: boundingVolume must be defined"),e.box)return DMr(e.box,r,t);if(e.region){let[n,i,a,o,s,u]=e.region,l=qU.Ellipsoid.WGS84.cartographicToCartesian([(0,Jn.degrees)(n),(0,Jn.degrees)(o),s],TMr),c=qU.Ellipsoid.WGS84.cartographicToCartesian([(0,Jn.degrees)(a),(0,Jn.degrees)(i),u],CMr),f=new Jn.Vector3().addVectors(l,c).multiplyScalar(.5),d=new Jn.Vector3().subVectors(l,c).len()/2;return $Se([f[0],f[1],f[2],d],new Jn.Matrix4)}if(e.sphere)return $Se(e.sphere,r,t);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function DMr(e,r,t){let n=new Jn.Vector3(e[0],e[1],e[2]);r.transform(n,n);let i=[];if(e.length===10){let l=e.slice(3,6),c=new Jn.Quaternion;c.fromArray(e,6);let f=new Jn.Vector3([1,0,0]),d=new Jn.Vector3([0,1,0]),p=new Jn.Vector3([0,0,1]);f.transformByQuaternion(c),f.scale(l[0]),d.transformByQuaternion(c),d.scale(l[1]),p.transformByQuaternion(c),p.scale(l[2]),i=[...f.toArray(),...d.toArray(),...p.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=r.transformAsVector(i.slice(0,3)),o=r.transformAsVector(i.slice(3,6)),s=r.transformAsVector(i.slice(6,9)),u=new Jn.Matrix3([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return YSe(t)?(t.center=n,t.halfAxes=u,t):new KO.OrientedBoundingBox(n,u)}function $Se(e,r,t){let n=new Jn.Vector3(e[0],e[1],e[2]);r.transform(n,n);let i=r.getScale(AMr),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return YSe(t)?(t.center=n,t.radius=o,t):new KO.BoundingSphere(n,o)}var Qb="4.0.0-alpha.25";var Vs={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},gCt=Object.keys(Vs),Fp={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function NU(e,r,t){Qr(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,r,t);return n.decode(i)}function JSe(e,r=0){let t=new DataView(e);return`${String.fromCharCode(t.getUint8(r+0))}${String.fromCharCode(t.getUint8(r+1))}${String.fromCharCode(t.getUint8(r+2))}${String.fromCharCode(t.getUint8(r+3))}`}var YO="4.0.0-alpha.25";var OMr={draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}},QSe={name:"Draco",id:"draco",module:"draco",version:YO,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:OMr};function ZSe(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function UU(e){let r=1/0,t=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let l=0;l<u;l+=3){let c=s[l],f=s[l+1],d=s[l+2];r=c<r?c:r,t=f<t?f:t,n=d<n?d:n,i=c>i?c:i,a=f>a?f:a,o=d>o?d:o}return[[r,t,n],[i,a,o]]}function GU(e,r,t){let n=ZSe(r.value),i=t||eAe(r);return{name:e,type:{type:"fixed-size-list",listSize:r.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function eAe(e){let r={};return"byteOffset"in e&&(r.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(r.byteStride=e.byteStride.toString(10)),"normalized"in e&&(r.normalized=e.normalized.toString()),r}function rAe(e,r,t){let n=nAe(r.metadata),i=[],a=kMr(r.attributes);for(let o in e){let s=e[o],u=tAe(o,s,a[o]);i.push(u)}if(t){let o=tAe("indices",t);i.push(o)}return{fields:i,metadata:n}}function kMr(e){let r={};for(let t in e){let n=e[t];r[n.name||"undefined"]=n}return r}function tAe(e,r,t){let n=t?nAe(t.metadata):void 0;return GU(e,r,n)}function nAe(e){Object.entries(e);let r={};for(let t in e)r[`${t}.string`]=JSON.stringify(e[t]);return r}var iAe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},FMr={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},RMr=4,$O=class{constructor(r){this.draco=r,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(r,t={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(r),r.byteLength),this._disableAttributeTransforms(t);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let d=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(d)}let s=this._getDracoLoaderData(a,i,t),u=this._getMeshData(a,s,t),l=UU(u.attributes),c=rAe(u.attributes,s,u.indices);return qe(oe({loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:l}},u),{schema:c})}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(r,t,n){let i=this._getTopLevelMetadata(r),a=this._getDracoAttributes(r,n);return{geometry_type:t,num_attributes:r.num_attributes(),num_points:r.num_points(),num_faces:r instanceof this.draco.Mesh?r.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(r,t){let n={};for(let i=0;i<r.num_attributes();i++){let a=this.decoder.GetAttribute(r,i),o=this._getAttributeMetadata(r,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,t);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,t);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(r,t,n){let i=this._getMeshAttributes(t,r,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(r instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(r),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(r),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(r,t,n){let i={};for(let a of Object.values(r.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let{value:s,size:u}=this._getAttributeValues(t,a);i[o]={value:s,size:u,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}return i}_getTriangleListIndices(r){let n=r.num_faces()*3,i=n*RMr,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(r,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(r){let t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(r,t),BMr(t)}finally{this.draco.destroy(t)}}_getAttributeValues(r,t){let n=FMr[t.data_type],i=t.num_components,o=r.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=IMr(this.draco,n),l,c=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(r,t.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(r,f,u,s,c),l=new n(this.draco.HEAPF32.buffer,c,o).slice()}finally{this.draco._free(c)}return{value:l,size:i}}_deduceAttributeName(r,t){let n=r.unique_id;for(let[o,s]of Object.entries(t.extraAttributes||{}))if(s===n)return o;let i=r.attribute_type;for(let o in iAe)if(this.draco[o]===i)return iAe[o];let a=t.attributeNameEntry||"name";return r.metadata[a]?r.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(r){let t=this.decoder.GetMetadata(r);return this._getDracoMetadata(t)}_getAttributeMetadata(r,t){let n=this.decoder.GetAttributeMetadata(r,t);return this._getDracoMetadata(n)}_getDracoMetadata(r){if(!r||!r.ptr)return{};let t={},n=this.metadataQuerier.NumEntries(r);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(r,i);t[a]=this._getDracoMetadataField(r,a)}return t}_getDracoMetadataField(r,t){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(r,t,n);let i=PMr(n);return{int:this.metadataQuerier.GetIntEntry(r,t),string:this.metadataQuerier.GetStringEntry(r,t),double:this.metadataQuerier.GetDoubleEntry(r,t),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(r){let{quantizedAttributes:t=[],octahedronAttributes:n=[]}=r,i=[...t,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(r,t){let{quantizedAttributes:n=[]}=t,i=r.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(r))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(r,t){let{octahedronAttributes:n=[]}=t,i=r.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(r))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function IMr(e,r){switch(r){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function PMr(e){let r=e.size(),t=new Int32Array(r);for(let n=0;n<r;n++)t[n]=e.GetValue(n);return t}function BMr(e){let r=e.size(),t=new Int32Array(r);for(let n=0;n<r;n++)t[n]=e.GetValue(n);return t}var jMr="1.5.6",MMr="1.4.1",zU=`https://www.gstatic.com/draco/versioned/decoders/${jMr}`,fi={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rp={[fi.DECODER]:`${zU}/${fi.DECODER}`,[fi.DECODER_WASM]:`${zU}/${fi.DECODER_WASM}`,[fi.FALLBACK_DECODER]:`${zU}/${fi.FALLBACK_DECODER}`,[fi.ENCODER]:`https://raw.githubusercontent.com/google/draco/${MMr}/javascript/${fi.ENCODER}`},V2;async function aAe(e){let r=e.modules||{};return r.draco3d?V2=V2||r.draco3d.createDecoderModule({}).then(t=>({draco:t})):V2=V2||LMr(e),await V2}async function LMr(e){let r,t;switch(e.draco&&e.draco.decoderType){case"js":r=await Xl(Rp[fi.FALLBACK_DECODER],"draco",e,fi.FALLBACK_DECODER);break;case"wasm":default:[r,t]=await Promise.all([await Xl(Rp[fi.DECODER],"draco",e,fi.DECODER),await Xl(Rp[fi.DECODER_WASM],"draco",e,fi.DECODER_WASM)])}return r=r||globalThis.DracoDecoderModule,await qMr(r,t)}function qMr(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(qe(oe({},t),{onModuleLoaded:i=>n({draco:i})}))})}var HU={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:YO,worker:!0,options:{draco:{},source:null}};var Zb=qe(oe({},QSe),{parse:NMr});async function NMr(e,r){let{draco:t}=await aAe(r),n=new $O(t);try{return n.parseSync(e,r==null?void 0:r.draco)}finally{n.destroy()}}var UMr={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Ti={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},nt=oe(oe({},UMr),Ti);var WU={[Ti.DOUBLE]:Float64Array,[Ti.FLOAT]:Float32Array,[Ti.UNSIGNED_SHORT]:Uint16Array,[Ti.UNSIGNED_INT]:Uint32Array,[Ti.UNSIGNED_BYTE]:Uint8Array,[Ti.BYTE]:Int8Array,[Ti.SHORT]:Int16Array,[Ti.INT]:Int32Array},GMr={DOUBLE:Ti.DOUBLE,FLOAT:Ti.FLOAT,UNSIGNED_SHORT:Ti.UNSIGNED_SHORT,UNSIGNED_INT:Ti.UNSIGNED_INT,UNSIGNED_BYTE:Ti.UNSIGNED_BYTE,BYTE:Ti.BYTE,SHORT:Ti.SHORT,INT:Ti.INT},VU="Failed to convert GL type",ho=class{static fromTypedArray(r){r=ArrayBuffer.isView(r)?r.constructor:r;for(let t in WU)if(WU[t]===r)return t;throw new Error(VU)}static fromName(r){let t=GMr[r];if(!t)throw new Error(VU);return t}static getArrayType(r){switch(r){case Ti.UNSIGNED_SHORT_5_6_5:case Ti.UNSIGNED_SHORT_4_4_4_4:case Ti.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let t=WU[r];if(!t)throw new Error(VU);return t}}static getByteSize(r){return ho.getArrayType(r).BYTES_PER_ELEMENT}static validate(r){return Boolean(ho.getArrayType(r))}static createTypedArray(r,t,n=0,i){i===void 0&&(i=(t.byteLength-n)/ho.getByteSize(r));let a=ho.getArrayType(r);return new a(t,n,i)}};function oAe(e,r){if(!e)throw new Error(`math.gl assertion failed. ${r}`)}function KU(e,r=[0,0,0]){let t=e>>11&31,n=e>>5&63,i=e&31;return r[0]=t<<3,r[1]=n<<2,r[2]=i<<3,r}var Af=He($t());var QCt=1/256;var ZCt=new Af.Vector2,e8t=new Af.Vector3,r8t=new Af.Vector2,t8t=new Af.Vector2,n8t=new Uint8Array(1);function sAe(e,r=255){return(0,Af.clamp)(e,0,r)/r*2-1}function uAe(e){return e<0?-1:1}function lAe(e,r,t,n){if(oAe(n),e<0||e>t||r<0||r>t)throw new Error(`x and y must be unsigned normalized integers between 0 and ${t}`);if(n.x=sAe(e,t),n.y=sAe(r,t),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*uAe(i),n.y=(1-Math.abs(i))*uAe(n.y)}return n.normalize()}function XU(e,r,t){return lAe(e,r,255,t)}function ac(e){return(e%1+1)%1}var JU=He($t());var Ip=class{constructor(r,t){this.featuresLength=0;this._cachedTypedArrays={};this.json=r,this.buffer=t}getExtension(r){return this.json.extensions&&this.json.extensions[r]}hasProperty(r){return Boolean(this.json[r])}getGlobalProperty(r,t=nt.UNSIGNED_INT,n=1){let i=this.json[r];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(r,t,n,1,i.byteOffset):i}getPropertyArray(r,t,n){let i=this.json[r];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(t=ho.fromName(i.componentType)),this._getTypedArrayFromBinary(r,t,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(r,t,i)}getProperty(r,t,n,i,a){let o=this.json[r];if(!o)return o;let s=this.getPropertyArray(r,t,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(r,t,n,i,a){let o=this._cachedTypedArrays,s=o[r];return s||(s=ho.createTypedArray(t,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[r]=s),s}_getTypedArrayFromArray(r,t,n){let i=this._cachedTypedArrays,a=i[r];return a||(a=ho.createTypedArray(t,n),i[r]=a),a}};var zMr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},HMr={SCALAR:(e,r)=>e[r],VEC2:(e,r)=>[e[2*r+0],e[2*r+1]],VEC3:(e,r)=>[e[3*r+0],e[3*r+1],e[3*r+2]],VEC4:(e,r)=>[e[4*r+0],e[4*r+1],e[4*r+2],e[4*r+3]],MAT2:(e,r)=>[e[4*r+0],e[4*r+1],e[4*r+2],e[4*r+3]],MAT3:(e,r)=>[e[9*r+0],e[9*r+1],e[9*r+2],e[9*r+3],e[9*r+4],e[9*r+5],e[9*r+6],e[9*r+7],e[9*r+8]],MAT4:(e,r)=>[e[16*r+0],e[16*r+1],e[16*r+2],e[16*r+3],e[16*r+4],e[16*r+5],e[16*r+6],e[16*r+7],e[16*r+8],e[16*r+9],e[16*r+10],e[16*r+11],e[16*r+12],e[16*r+13],e[16*r+14],e[16*r+15]]},WMr={SCALAR:(e,r,t)=>{r[t]=e},VEC2:(e,r,t)=>{r[2*t+0]=e[0],r[2*t+1]=e[1]},VEC3:(e,r,t)=>{r[3*t+0]=e[0],r[3*t+1]=e[1],r[3*t+2]=e[2]},VEC4:(e,r,t)=>{r[4*t+0]=e[0],r[4*t+1]=e[1],r[4*t+2]=e[2],r[4*t+3]=e[3]},MAT2:(e,r,t)=>{r[4*t+0]=e[0],r[4*t+1]=e[1],r[4*t+2]=e[2],r[4*t+3]=e[3]},MAT3:(e,r,t)=>{r[9*t+0]=e[0],r[9*t+1]=e[1],r[9*t+2]=e[2],r[9*t+3]=e[3],r[9*t+4]=e[4],r[9*t+5]=e[5],r[9*t+6]=e[6],r[9*t+7]=e[7],r[9*t+8]=e[8],r[9*t+9]=e[9]},MAT4:(e,r,t)=>{r[16*t+0]=e[0],r[16*t+1]=e[1],r[16*t+2]=e[2],r[16*t+3]=e[3],r[16*t+4]=e[4],r[16*t+5]=e[5],r[16*t+6]=e[6],r[16*t+7]=e[7],r[16*t+8]=e[8],r[16*t+9]=e[9],r[16*t+10]=e[10],r[16*t+11]=e[11],r[16*t+12]=e[12],r[16*t+13]=e[13],r[16*t+14]=e[14],r[16*t+15]=e[15]}};function cAe(e,r,t,n){let{componentType:i}=e;Qr(e.componentType);let a=typeof i=="string"?ho.fromName(i):i,o=zMr[e.type],s=HMr[e.type],u=WMr[e.type];return t+=e.byteOffset,{values:ho.createTypedArray(a,r,t,o*n),type:a,size:o,unpacker:s,packer:u}}var oc=e=>e!==void 0;function fAe(e,r,t){if(!r)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=r.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),r.extensions=r.extensions||{},r.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?VMr(n,t):null}function VMr(e,r){let t,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,l=e.parentIds,c=a;oc(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(r.buffer,r.byteOffset+s.byteOffset,a));let f;if(oc(u))for(oc(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(r.buffer,r.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),c=0,t=0;t<a;++t)f[t]=c,c+=u[t];oc(l)&&oc(l.byteOffset)&&(l.componentType=defaultValue(l.componentType,GL.UNSIGNED_SHORT),l.type=AttributeType.SCALAR,i=getBinaryAccessor(l),l=i.createArrayBufferView(r.buffer,r.byteOffset+l.byteOffset,c));let d=o.length;for(t=0;t<d;++t){let v=o[t].length,y=o[t].instances,w=getBinaryProperties(v,y,r);o[t].instances=combine(w,y)}let p=new Array(d).fill(0),h=new Uint16Array(a);for(t=0;t<a;++t)n=s[t],h[t]=p[n],++p[n];let b={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:l};return YMr(b),b}function ey(e,r,t){if(!e)return;let n=e.parentCounts;return e.parentIds?t(e,r):n>0?KMr(e,r,t):XMr(e,r,t)}function KMr(e,r,t){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let l=++marker,c=scratchStack;for(c.length=0,c.push(r);c.length>0;){if(r=c.pop(),u[r]===l)continue;u[r]=l;let f=t(e,r);if(oc(f))return f;let d=i[r],p=o[r];for(let h=0;h<d;++h){let b=a[p+h];b!==r&&c.push(b)}}return null}function XMr(e,r,t){let n=!0;for(;n;){let i=t(e,r);if(oc(i))return i;let a=e.parentIds[r];n=a!==r,r=a}throw new Error("traverseHierarchySingleParent")}function YMr(e){let r=[],n=e.classIds.length;for(let i=0;i<n;++i)dAe(e,i,stack)}function dAe(e,r,t){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!oc(i))return;assert(r<s,`Parent index ${r} exceeds the total number of instances: ${s}`),assert(t.indexOf(r)===-1,"Circular dependency detected in the batch table hierarchy."),t.push(r);let u=oc(n)?n[r]:1,l=oc(n)?a[r]:r;for(let c=0;c<u;++c){let f=i[l+c];f!==r&&dAe(e,f,t)}t.pop(r)}function Po(e){return e!=null}var JO=(e,r)=>e,$Mr={HIERARCHY:!0,extensions:!0,extras:!0},ry=class{constructor(r,t,n,i={}){var a;Qr(n>=0),this.json=r||{},this.binary=t,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)$Mr[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=fAe(this,this.json,this.binary))}getExtension(r){return this.json&&this.json.extensions&&this.json.extensions[r]}memorySizeInBytes(){return 0}isClass(r,t){if(this._checkBatchId(r),Qr(typeof t=="string",t),this._hierarchy){let n=ey(this._hierarchy,r,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===t});return Po(n)}return!1}isExactClass(r,t){return Qr(typeof t=="string",t),this.getExactClassName(r)===t}getExactClassName(r){if(this._checkBatchId(r),this._hierarchy){let t=this._hierarchy.classIds[r];return this._hierarchy.classes[t].name}}hasProperty(r,t){return this._checkBatchId(r),Qr(typeof t=="string",t),Po(this._properties[t])||this._hasPropertyInHierarchy(r,t)}getPropertyNames(r,t){this._checkBatchId(r),t=Po(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(r,t),t}getProperty(r,t){if(this._checkBatchId(r),Qr(typeof t=="string",t),this._binaryProperties){let i=this._binaryProperties[t];if(Po(i))return this._getBinaryProperty(i,r)}let n=this._properties[t];if(Po(n))return JO(n[r],!0);if(this._hierarchy){let i=this._getHierarchyProperty(r,t);if(Po(i))return i}}setProperty(r,t,n){let i=this.featureCount;if(this._checkBatchId(r),Qr(typeof t=="string",t),this._binaryProperties){let o=this._binaryProperties[t];if(o){this._setBinaryProperty(o,r,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,r,t,n))return;let a=this._properties[t];Po(a)||(this._properties[t]=new Array(i),a=this._properties[t]),a[r]=JO(n,!0)}_checkBatchId(r){if(!(r>=0&&r<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(r,t){return r.unpack(r.typedArray,t)}_setBinaryProperty(r,t,n){r.pack(n,r.typedArray,t)}_initializeBinaryProperties(){let r=null;for(let t in this._properties){let n=this._properties[t],i=this._initializeBinaryProperty(t,n);i&&(r=r||{},r[t]=i)}return r}_initializeBinaryProperty(r,t){if("byteOffset"in t){let n=t;Qr(this.binary,`Property ${r} requires a batch table binary.`),Qr(n.type,`Property ${r} requires a type.`);let i=cAe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(r,t){if(!this._hierarchy)return!1;let n=ey(this._hierarchy,r,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Po(s[t])});return Po(n)}_getPropertyNamesInHierarchy(r,t){ey(this._hierarchy,r,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)})}_getHierarchyProperty(r,t){return ey(this._hierarchy,r,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[t];return Po(u)?Po(u.typedArray)?this._getBinaryProperty(u,s):JO(u[s],!0):null})}_setHierarchyProperty(r,t,n,i){let a=ey(this._hierarchy,t,(o,s)=>{let u=o.classIds[s],l=o.classes[u],c=o.classIndexes[s],f=l.instances[n];return Po(f)?(Qr(s===t,`Inherited property "${n}" is read-only.`),Po(f.typedArray)?this._setBinaryProperty(f,c,i):f[c]=JO(i,!0),!0):!1});return Po(a)}};var YU=4;function Pp(e,r,t=0){let n=new DataView(r);if(e.magic=n.getUint32(t,!0),t+=YU,e.version=n.getUint32(t,!0),t+=YU,e.byteLength=n.getUint32(t,!0),t+=YU,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return t}var ty=4,pAe="b3dm tile in legacy format.";function ny(e,r,t){let n=new DataView(r),i;e.header=e.header||{};let a=n.getUint32(t,!0);t+=ty;let o=n.getUint32(t,!0);t+=ty;let s=n.getUint32(t,!0);t+=ty;let u=n.getUint32(t,!0);return t+=ty,s>=570425344?(t-=ty*2,i=a,s=o,u=0,a=0,o=0,console.warn(pAe)):u>=570425344&&(t-=ty,i=s,s=a,u=o,a=0,o=0,console.warn(pAe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,t}function iy(e,r,t,n){return t=JMr(e,r,t,n),t=QMr(e,r,t,n),t}function JMr(e,r,t,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=NU(r,t,i);e.featureTableJson=JSON.parse(s)}return t+=i||0,e.featureTableBinary=new Uint8Array(r,t,a),t+=a||0,t}function QMr(e,r,t,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=NU(r,t,i);e.batchTableJson=JSON.parse(o),t+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(r,t,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),t+=a)}return t}function $U(e,r,t){if(!r&&(!e||!e.batchIds||!t))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&t){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],c=t.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=c[0],o[s*3+1]=c[1],o[s*3+2]=c[2]}return{type:nt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(r&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=KU(r[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:nt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return r&&r.length===a*3?{type:nt.UNSIGNED_BYTE,value:r,size:3,normalized:!0}:{type:nt.UNSIGNED_BYTE,value:r||new Uint8ClampedArray,size:4,normalized:!0}}var hAe=He($t());var mAe=new hAe.Vector3;function gAe(e,r){if(!r)return null;if(e.isOctEncoded16P){let t=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)XU(r[n*2],r[n*2+1],mAe),mAe.toArray(t,n*3);return{type:nt.FLOAT,size:2,value:t}}return{type:nt.FLOAT,size:2,value:r}}var vAe=He($t());function bAe(e,r,t){return e.isQuantized?t["3d-tiles"]&&t["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,ZMr(e,r)):{type:nt.UNSIGNED_SHORT,value:r,size:3,normalized:!0}:r}function ZMr(e,r){let t=new vAe.Vector3,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)t.set(r[i*3],r[i*3+1],r[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function yAe(e,r,t,n,i){t=Pp(e,r,t),t=ny(e,r,t),t=iy(e,r,t,n),eLr(e);let{featureTable:a,batchTable:o}=rLr(e);return await oLr(e,a,o,n,i),tLr(e,a,n),nLr(e,a,o),iLr(e,a),t}function eLr(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function rLr(e){let r=new Ip(e.featureTableJson,e.featureTableBinary),t=r.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(t))throw new Error("POINTS_LENGTH must be defined");r.featuresLength=t,e.featuresLength=t,e.pointsLength=t,e.pointCount=t,e.rtcCenter=r.getGlobalProperty("RTC_CENTER",nt.FLOAT,3);let n=aLr(e,r);return{featureTable:r,batchTable:n}}function tLr(e,r,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(r.hasProperty("POSITION"))e.attributes.positions=r.getPropertyArray("POSITION",nt.FLOAT,3);else if(r.hasProperty("POSITION_QUANTIZED")){let n=r.getPropertyArray("POSITION_QUANTIZED",nt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=r.getGlobalProperty("QUANTIZED_VOLUME_SCALE",nt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=r.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",nt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=bAe(e,n,t)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function nLr(e,r,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;r.hasProperty("RGBA")?(n=r.getPropertyArray("RGBA",nt.UNSIGNED_BYTE,4),e.isTranslucent=!0):r.hasProperty("RGB")?n=r.getPropertyArray("RGB",nt.UNSIGNED_BYTE,3):r.hasProperty("RGB565")&&(n=r.getPropertyArray("RGB565",nt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=$U(e,n,t)}r.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=r.getGlobalProperty("CONSTANT_RGBA",nt.UNSIGNED_BYTE,4))}function iLr(e,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let t=null;r.hasProperty("NORMAL")?t=r.getPropertyArray("NORMAL",nt.FLOAT,3):r.hasProperty("NORMAL_OCT16P")&&(t=r.getPropertyArray("NORMAL_OCT16P",nt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=gAe(e,t)}}function aLr(e,r){let t=null;if(!e.batchIds&&r.hasProperty("BATCH_ID")&&(e.batchIds=r.getPropertyArray("BATCH_ID",nt.UNSIGNED_SHORT,1),e.batchIds)){let n=r.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;t=new ry(i,a,n)}return t}async function oLr(e,r,t,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let l=r.getExtension("3DTILES_draco_point_compression");if(l){o=l.properties;let f=l.byteOffset,d=l.byteLength;if(!o||!Number.isFinite(f)||!d)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+d),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let c={buffer:a,properties:oe(oe({},o),s),featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await sLr(e,c,n,i)}async function sLr(e,r,t,n){if(!n)return;let i=qe(oe({},t),{draco:qe(oe({},t==null?void 0:t.draco),{extraAttributes:r.batchTableProperties||{}})});delete i["3d-tiles"];let a=await Ko(r.buffer,Zb,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,l=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,c=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(c){let p=a.POSITION.data.quantization,h=p.range;e.quantizedVolumeScale=new JU.Vector3(h,h,h),e.quantizedVolumeOffset=new JU.Vector3(p.minValues),e.quantizedRange=(1<<p.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let d={};if(r.batchTableProperties)for(let p of Object.keys(r.batchTableProperties))a.attributes[p]&&a.attributes[p].value&&(d[p.toLowerCase()]=a.attributes[p].value);e.attributes=oe({positions:o,colors:$U(e,s,void 0),normals:u,batchIds:l},d)}var sG={};qa(sG,{decode:()=>VLr,name:()=>ok});var QO="4.0.0-alpha.25";var{_parseImageNode:uLr}=globalThis,QU=typeof Image!="undefined",ZU=typeof ImageBitmap!="undefined",lLr=Boolean(uLr),eG=En?!0:lLr;function xAe(e){switch(e){case"auto":return ZU||QU||eG;case"imagebitmap":return ZU;case"image":return QU;case"data":return eG;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function _Ae(){if(ZU)return"imagebitmap";if(QU)return"image";if(eG)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function EAe(e){let r=cLr(e);if(!r)throw new Error("Not an image");return r}function rG(e){return Bp(e)}function Bp(e){switch(EAe(e)){case"data":return e;case"image":case"imagebitmap":let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("getImageData");return r.width=e.width,r.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function cLr(e){return typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap?"imagebitmap":typeof Image!="undefined"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var fLr=/^data:image\/svg\+xml/,dLr=/\.svg((\?|#).*)?$/;function ZO(e){return e&&(fLr.test(e)||dLr.test(e))}function wAe(e,r){if(ZO(r)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return tG(e,r)}function tG(e,r){if(ZO(r))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ek(e,r,t){let n=wAe(e,t),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await pLr(a||n,r)}finally{a&&i.revokeObjectURL(a)}}async function pLr(e,r){let t=new Image;return t.src=e,r.image&&r.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=a=>i(new Error(`Could not load image ${e}: ${a}`))}catch(a){i(a)}})}var hLr={},SAe=!0;async function AAe(e,r,t){let n;ZO(t)?n=await ek(e,r,t):n=tG(e,t);let i=r&&r.imagebitmap;return await mLr(n,i)}async function mLr(e,r=null){if((gLr(r)||!SAe)&&(r=null),r)try{return await createImageBitmap(e,r)}catch(t){console.warn(t),SAe=!1}return await createImageBitmap(e)}function gLr(e){for(let r in e||hLr)return!1;return!0}function TAe(e){return!xLr(e,"ftyp",4)||(e[8]&96)==0?null:vLr(e)}function vLr(e){switch(bLr(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function bLr(e,r,t){return String.fromCharCode(...e.slice(r,t))}function yLr(e){return[...e].map(r=>r.charCodeAt(0))}function xLr(e,r,t=0){let n=yLr(r);for(let i=0;i<n.length;++i)if(n[i]!==e[i+t])return!1;return!0}var sc=!1,K2=!0;function Y0(e){let r=X2(e);return ELr(r)||ALr(r)||wLr(r)||SLr(r)||_Lr(r)}function _Lr(e){let r=new Uint8Array(e instanceof DataView?e.buffer:e),t=TAe(r);return t?{mimeType:t.mimeType,width:0,height:0}:null}function ELr(e){let r=X2(e);return r.byteLength>=24&&r.getUint32(0,sc)===2303741511?{mimeType:"image/png",width:r.getUint32(16,sc),height:r.getUint32(20,sc)}:null}function wLr(e){let r=X2(e);return r.byteLength>=10&&r.getUint32(0,sc)===1195984440?{mimeType:"image/gif",width:r.getUint16(6,K2),height:r.getUint16(8,K2)}:null}function SLr(e){let r=X2(e);return r.byteLength>=14&&r.getUint16(0,sc)===16973&&r.getUint32(2,K2)===r.byteLength?{mimeType:"image/bmp",width:r.getUint32(18,K2),height:r.getUint32(22,K2)}:null}function ALr(e){let r=X2(e);if(!(r.byteLength>=3&&r.getUint16(0,sc)===65496&&r.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=TLr(),a=2;for(;a+9<r.byteLength;){let o=r.getUint16(a,sc);if(i.has(o))return{mimeType:"image/jpeg",height:r.getUint16(a+5,sc),width:r.getUint16(a+7,sc)};if(!n.has(o))return null;a+=2,a+=r.getUint16(a,sc)}return null}function TLr(){let e=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)e.add(t);let r=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:r}}function X2(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function CAe(e,r){let{mimeType:t}=Y0(e)||{},n=globalThis._parseImageNode;return Qr(n),await n(e,t)}async function DAe(e,r,t){r=r||{};let i=(r.image||{}).type||"auto",{url:a}=t||{},o=CLr(i),s;switch(o){case"imagebitmap":s=await AAe(e,r,a);break;case"image":s=await ek(e,r,a);break;case"data":s=await CAe(e,r);break;default:Qr(!1)}return i==="data"&&(s=Bp(s)),s}function CLr(e){switch(e){case"auto":case"data":return _Ae();default:return xAe(e),e}}var DLr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],OLr=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],kLr={image:{type:"auto",decode:!0}},ay={id:"image",module:"images",name:"Images",version:QO,mimeTypes:OLr,extensions:DLr,parse:DAe,tests:[e=>Boolean(Y0(new DataView(e)))],options:kLr};var{_encodeImageNode:OAe}=globalThis;async function kAe(e,r){return r=r||{},r.image=r.image||{},OAe?OAe(e,{type:r.image.mimeType}):FLr(e,r)}var FAe=!0;async function FLr(e,r){let{mimeType:t,jpegQuality:n}=r.image,{width:i,height:a}=rG(e),o=document.createElement("canvas");o.width=i,o.height=a,RLr(e,o);let s=await new Promise(u=>{if(n&&FAe)try{o.toBlob(u,t,n);return}catch{FAe=!1}o.toBlob(u,t)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function RLr(e,r,t=0,n=0){if(t===0&&n===0&&typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){let a=r.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),r}let i=r.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),r}return i.drawImage(e,0,0),r}var nG={name:"Images",id:"image",module:"images",version:QO,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:kAe};var iG={};function aG(e){if(iG[e]===void 0){let r=En?PLr(e):ILr(e);iG[e]=r}return iG[e]}function ILr(e){let r=["image/png","image/jpeg","image/gif"],{_parseImageNode:t,_imageFormatsNode:n=r}=globalThis;return Boolean(t)&&n.includes(e)}function PLr(e){switch(e){case"image/avif":case"image/webp":return BLr(e);default:return!0}}function BLr(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ra(e,r){if(!e)throw new Error(r||"assert failed: gltf")}var rk={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tk={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var jLr=1.33,RAe=["SCALAR","VEC2","VEC3","VEC4"],MLr=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],LLr=new Map(MLr),qLr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},NLr={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ULr={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nk(e){return RAe[e-1]||RAe[0]}function jp(e){let r=LLr.get(e.constructor);if(!r)throw new Error("Illegal typed array");return r}function $0(e,r){let t=ULr[e.componentType],n=qLr[e.type],i=NLr[e.componentType],a=e.count*n,o=e.count*n*i;return ra(o>=0&&o<=r.byteLength),{ArrayType:t,length:a,byteLength:o}}function ik(e,r){var n,i;let t=(n=e.json.accessors)==null?void 0:n[r];if(t&&typeof t.bufferView!="undefined"){let a=(i=e.json.bufferViews)==null?void 0:i[t.bufferView];if(a){let{arrayBuffer:o,byteOffset:s}=e.buffers[a.buffer],u=(s||0)+(t.byteOffset||0)+(a.byteOffset||0),{ArrayType:l,length:c}=$0(t,a),f=tk[t.componentType],d=rk[t.type],p=a.byteStride||f*d,h=new Float32Array(c);for(let b=0;b<t.count;b++){let v=new l(o,u+b*p,2);h.set(v,b*d)}return h}}return null}function Y2(e){let{images:r,bufferViews:t}=e;r=r||[],t=t||[];let n=r.map(o=>o.bufferView);t=t.filter(o=>!n.includes(o));let i=t.reduce((o,s)=>o+s.byteLength,0),a=r.reduce((o,s)=>{let{width:u,height:l}=s.image;return o+u*l},0);return i+Math.ceil(4*a*jLr)}function GLr(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Jt=class{constructor(r){this.gltf={json:(r==null?void 0:r.json)||GLr(),buffers:(r==null?void 0:r.buffers)||[],images:(r==null?void 0:r.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(r){return this.json[r]}getExtraData(r){return(this.json.extras||{})[r]}hasExtension(r){let t=this.getUsedExtensions().find(i=>i===r),n=this.getRequiredExtensions().find(i=>i===r);return typeof t=="string"||typeof n=="string"}getExtension(r){let t=this.getUsedExtensions().find(i=>i===r),n=this.json.extensions||{};return t?n[r]:null}getRequiredExtension(r){return this.getRequiredExtensions().find(n=>n===r)?this.getExtension(r):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(r,t){return(r.extensions||{})[t]}getScene(r){return this.getObject("scenes",r)}getNode(r){return this.getObject("nodes",r)}getSkin(r){return this.getObject("skins",r)}getMesh(r){return this.getObject("meshes",r)}getMaterial(r){return this.getObject("materials",r)}getAccessor(r){return this.getObject("accessors",r)}getTexture(r){return this.getObject("textures",r)}getSampler(r){return this.getObject("samplers",r)}getImage(r){return this.getObject("images",r)}getBufferView(r){return this.getObject("bufferViews",r)}getBuffer(r){return this.getObject("buffers",r)}getObject(r,t){if(typeof t=="object")return t;let n=this.json[r]&&this.json[r][t];if(!n)throw new Error(`glTF file error: Could not find ${r}[${t}]`);return n}getTypedArrayForBufferView(r){r=this.getBufferView(r);let t=r.buffer,n=this.gltf.buffers[t];ra(n);let i=(r.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,r.byteLength)}getTypedArrayForAccessor(r){r=this.getAccessor(r);let t=this.getBufferView(r.bufferView),i=this.getBuffer(t.buffer).data,{ArrayType:a,length:o}=$0(r,t),s=t.byteOffset+r.byteOffset;return new a(i,s,o)}getTypedArrayForImageData(r){r=this.getAccessor(r);let t=this.getBufferView(r.bufferView),i=this.getBuffer(t.buffer).data,a=t.byteOffset||0;return new Uint8Array(i,a,t.byteLength)}addApplicationData(r,t){return this.json[r]=t,this}addExtraData(r,t){return this.json.extras=this.json.extras||{},this.json.extras[r]=t,this}addObjectExtension(r,t,n){return r.extensions=r.extensions||{},r.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(r,t,n){let i=r.extensions||{};i[t]=n}removeObjectExtension(r,t){let n=(r==null?void 0:r.extensions)||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(t)||i.push(t)}delete n[t]}addExtension(r,t={}){return ra(t),this.json.extensions=this.json.extensions||{},this.json.extensions[r]=t,this.registerUsedExtension(r),t}addRequiredExtension(r,t={}){return ra(t),this.addExtension(r,t),this.registerRequiredExtension(r),t}registerUsedExtension(r){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===r)||this.json.extensionsUsed.push(r)}registerRequiredExtension(r){this.registerUsedExtension(r),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===r)||this.json.extensionsRequired.push(r)}removeExtension(r){var t;if((t=this.json.extensions)==null?void 0:t[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(r)||n.push(r)}this.json.extensions&&delete this.json.extensions[r],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,r),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,r)}setDefaultScene(r){this.json.scene=r}addScene(r){let{nodeIndices:t}=r;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(r){let{meshIndex:t,matrix:n}=r;this.json.nodes=this.json.nodes||[];let i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(r){let{attributes:t,indices:n,material:i,mode:a=4}=r,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(r){let n={primitives:[{attributes:this._addAttributes(r),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(r,t){let n=Y0(r),i=t||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(r),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(r,t=0,n=this.byteLength){let i=r.byteLength;ra(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(r);let a={buffer:t,byteOffset:n,byteLength:i};return this.byteLength+=Yo(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(r,t){let n={bufferView:r,type:nk(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(r,t={size:3}){let n=this.addBufferView(r),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(r,t.size));let a={size:t.size,componentType:jp(r),count:Math.round(r.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,t))}addTexture(r){let{imageIndex:t}=r,n={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(r){return this.json.materials=this.json.materials||[],this.json.materials.push(r),this.json.materials.length-1}createBinaryChunk(){var a,o;this.gltf.buffers=[];let r=this.byteLength,t=new ArrayBuffer(r),n=new Uint8Array(t),i=0;for(let s of this.sourceBuffers||[])i=fN(s,n,i);((o=(a=this.json)==null?void 0:a.buffers)==null?void 0:o[0])?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=t,this.sourceBuffers=[t]}_removeStringFromArray(r,t){let n=!0;for(;n;){let i=r.indexOf(t);i>-1?r.splice(i,1):n=!1}}_addAttributes(r={}){let t={};for(let n in r){let i=r[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[a]=o}return t}_addIndices(r){return this.addBinaryBuffer(r,{size:1})}_getGltfAttributeName(r){switch(r.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return r}}_getAccessorMinMax(r,t){let n={min:null,max:null};if(r.length<t)return n;n.min=[],n.max=[];let i=r.subarray(0,t);for(let a of i)n.min.push(a),n.max.push(a);for(let a=t;a<r.length;a+=t)for(let o=0;o<t;o++)n.min[0+o]=Math.min(n.min[0+o],r[a+o]),n.max[0+o]=Math.max(n.max[0+o],r[a+o]);return n}};var IAe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},zLr={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},PAe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function oG(e,r){return PAe[r]*IAe[e]}function $2(e,r,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;let i=e.getTypedArrayForBufferView(r),a=oy(i,"SCALAR",t,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function oy(e,r,t,n=1){let i=IAe[r],a=zLr[t],o=PAe[t],s=n*i,u=s*o,l=e.buffer,c=e.byteOffset;return c%o!=0&&(l=new Uint8Array(l).slice(c,c+u).buffer,c=0),new a(l,c,s)}function ak(e,r,t){var l,c,f,d,p;let n=e.gltf.json,i=`TEXCOORD_${r.texCoord||0}`,a=t.attributes[i],o=ik(e.gltf,a);if(!o)return null;let s=r.index,u=(c=(l=n.textures)==null?void 0:l[s])==null?void 0:c.source;if(typeof u!="undefined"){let h=(d=(f=n.images)==null?void 0:f[u])==null?void 0:d.mimeType,b=(p=e.gltf.images)==null?void 0:p[u];if(b&&typeof b.width!="undefined"){let v=[];for(let y=0;y<o.length;y+=2){let w=HLr(b,h,o,y,r.channels);v.push(w)}return v}}return null}function BAe(e,r,t,n,i){if(!(t==null?void 0:t.length))return;let a=[];for(let c of t){let f=n.findIndex(d=>d===c);f===-1&&(f=n.push(c)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),l=e.addAccessor(u,{size:1,componentType:jp(o),count:o.length});i.attributes[r]=l}function HLr(e,r,t,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],s=t[n+1],u=1;r&&(r.indexOf("image/jpeg")!==-1||r.indexOf("image/png")!==-1)&&(u=4);let l=WLr(o,s,e,u),c=0;for(let f of i){let d=typeof f=="number"?Object.values(a)[f]:a[f],p=l+d.offset,h=Bp(e);if(h.data.length<=p)throw new Error(`${h.data.length} <= ${p}`);c|=h.data[p]<<d.shift}return c}function WLr(e,r,t,n=1){let i=t.width,a=ac(e)*(i-1),o=Math.round(a),s=t.height,u=ac(r)*(s-1),l=Math.round(u),c=t.components?t.components:n;return(l*i+o)*c}var jAe="EXT_mesh_features",ok=jAe;async function VLr(e,r){let t=new Jt(e);KLr(t,r)}function KLr(e,r){let t=e.gltf.json;if(!!t.meshes)for(let n of t.meshes)for(let i of n.primitives)XLr(e,i,r)}function XLr(e,r,t){var a,o,s;if(!((a=t==null?void 0:t.gltf)==null?void 0:a.loadBuffers))return;let n=(o=r.extensions)==null?void 0:o[jAe],i=n==null?void 0:n.featureIds;if(!!i)for(let u of i){let l=null;if(typeof u.attribute!="undefined"){let c=`_FEATURE_ID_${u.attribute}`,f=r.attributes[c];l=e.getTypedArrayForAccessor(f)}else typeof u.texture!="undefined"&&((s=t==null?void 0:t.gltf)==null?void 0:s.loadImages)&&(l=ak(e,u.texture,r));u.data=l}}var lG={};qa(lG,{decode:()=>YLr,getPropertyTableFromExtStructuralMetadata:()=>uk,getPropertyTablePopulated:()=>$Lr,name:()=>J0});var sk="EXT_structural_metadata",J0=sk;async function YLr(e,r){let t=new Jt(e);JLr(t,r)}function uk(e,r){if(e.propertyTables){let t=e==null?void 0:e.propertyTables[0],n={};for(let i in t.properties)n[i]=t.properties[i].data;return n}if(e.propertyTextures){let t=e==null?void 0:e.propertyTextures[0],n={};for(let i in t.properties)n[i]=t.properties[i].data;return n}return console.warn("Cannot get property table from EXT_structural_metadata extension. There is neither propertyTables, nor propertyTextures in the extension."),null}function $Lr(e,r){var i;let t=e.getExtension(sk),n=(i=t==null?void 0:t.propertyTables)==null?void 0:i[r];if((t==null?void 0:t.schema)&&n)return MAe(e,t.schema,n),n;throw new Error(`Incorrect data in the EXT_structural_metadata extension: no property table with index ${r}`)}function JLr(e,r){var n,i;if(!((n=r.gltf)==null?void 0:n.loadBuffers))return;let t=e.getExtension(sk);!t||(((i=r.gltf)==null?void 0:i.loadImages)&&QLr(e,t),ZLr(e,t))}function QLr(e,r){let t=r.propertyTextures,n=e.gltf.json;if(t&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)r9r(e,t,a,r)}function ZLr(e,r){let t=r.schema;if(!t)return;let n=t.classes,i=r.propertyTables;if(n&&i)for(let a in n){let o=e9r(i,a);o&&MAe(e,t,o)}}function e9r(e,r){for(let t of e)if(t.class===r)return t;return null}function r9r(e,r,t,n){var o;if(!r)return;let i=(o=t.extensions)==null?void 0:o[sk],a=i==null?void 0:i.propertyTextures;if(!!a)for(let s of a){let u=r[s];t9r(e,u,t,n)}}function t9r(e,r,t,n){var a;if(!r.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=r.class;for(let o in r.properties){let s=`${i}_${o}`,u=(a=r.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let l=u.data,c=ak(e,u,t);c!==null&&(BAe(e,s,c,l,t),u.data=l,n.dataAttributeNames.push(s))}}function MAe(e,r,t){var a,o;let n=(a=r.classes)==null?void 0:a[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);let i=t.count;for(let s in n.properties){let u=n.properties[s],l=(o=t.properties)==null?void 0:o[s];if(l){let c=n9r(e,r,u,i,l);l.data=c}}}function n9r(e,r,t,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=i9r(e,t,i,n),l=a9r(e,i,n);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=o9r(t,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${t.type}`);case"STRING":{a=l9r(t,n,s,u,l);break}case"ENUM":{a=c9r(r,t,n,s,u);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return a}function i9r(e,r,t,n){return r.array&&typeof r.count=="undefined"&&typeof t.arrayOffsets!="undefined"?$2(e,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function a9r(e,r,t){return typeof r.stringOffsets!="undefined"?$2(e,r.stringOffsets,r.stringOffsetType||"UINT32",t):null}function o9r(e,r,t,n){let i=e.array,a=e.count,o=oG(e.type,e.componentType),s=t.byteLength/o,u;return e.componentType?(u=oy(t,e.type,e.componentType,s),u||(u=t)):u=t,i?n?s9r(u,r,n,t.length,o):a?u9r(u,r,a):[]:u}function s9r(e,r,t,n,i){let a=[];for(let o=0;o<r;o++){let s=t[o],u=t[o+1]-t[o];if(u+s>n)break;let l=s/i,c=u/i;a.push(e.slice(l,l+c))}return a}function u9r(e,r,t){let n=[];for(let i=0;i<r;i++){let a=i*t;n.push(e.slice(a,a+t))}return n}function l9r(e,r,t,n,i){if(n)throw new Error(`Not implemented - classProperty.type=${e.type}`);if(i){let a=[],o=new TextDecoder("utf8"),s=0;for(let u=0;u<r;u++){let l=i[u+1]-i[u];if(l+s<=t.length){let c=t.subarray(s,l+s),f=o.decode(c);a.push(f),s+=l}}return a}return[]}function c9r(e,r,t,n,i){var f;let a=r.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=oG(r.type,s),l=n.byteLength/u,c=oy(n,r.type,s,l);if(c||(c=n),r.array){if(i)return f9r({valuesData:c,numberOfElements:t,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let d=r.count;return d?d9r(c,t,d,o):[]}return uG(c,0,t,o)}function f9r(e){let{valuesData:r,numberOfElements:t,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<t;u++){let l=n[u],c=n[u+1]-n[u];if(c+l>i)break;let f=l/a,d=c/a,p=uG(r,f,d,o);s.push(p)}return s}function d9r(e,r,t,n){let i=[];for(let a=0;a<r;a++){let o=t*a,s=uG(e,o,t,n);i.push(s)}return i}function uG(e,r,t,n){let i=[];for(let a=0;a<t;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[r+a],s=p9r(n,o);s?i.push(s.name):i.push("")}return i}function p9r(e,r){for(let t of e.values)if(t.value===r)return t;return null}var cG={};qa(cG,{decode:()=>h9r,getPropertyTableFromExtFeatureMetadata:()=>lk,name:()=>uc});var LAe="EXT_feature_metadata",uc=LAe;async function h9r(e,r){let t=new Jt(e);m9r(t,r)}function lk(e,r){var t;if(e.featureTables){let n=(t=Object.keys(e.featureTables))==null?void 0:t[0];if(n){let i=e.featureTables[n],a={};for(let o in i.properties)a[o]=i.properties[o].data;return a}}if(e.featureTextures){let n;for(let i in e.featureTextures)e.featureTextures[i].class===r&&(n=i);if(typeof n=="string"){let i=e.featureTextures[n],a={};for(let o in i.properties)a[o]=i.properties[o].data;return a}}return console.warn("Cannot get property table from EXT_feature_metadata extension. There is neither featureTables, nor featureTextures in the extension."),null}function m9r(e,r){var o,s;let t=e.getExtension(LAe);if(!t)return;let n=(o=t.schema)==null?void 0:o.classes,{featureTables:i}=t;if(n&&i)for(let u in n){let l=n[u],c=C9r(i,u);c&&g9r(e,c,l)}let{featureTextures:a}=t;if(n&&a&&((s=r.gltf)==null?void 0:s.loadImages))for(let u in n){let l=n[u],c=D9r(a,u);c&&v9r(e,c,l)}}function g9r(e,r,t){var n;for(let i in t.properties){let a=t.properties[i],o=(n=r==null?void 0:r.properties)==null?void 0:n[i],s=r.count;if(o){let u=b9r(e,a,s,o);o.data=u}}}function v9r(e,r,t){var i;let n=r.class;for(let a in t.properties){let o=(i=r==null?void 0:r.properties)==null?void 0:i[a];if(o){let s=E9r(e,o,n);o.data=s}}}function b9r(e,r,t,n){let i=n.bufferView,a=e.getTypedArrayForBufferView(i);if(r.type==="STRING"){let o=x9r(e,n,t);return o?O9r(a,o,t):[]}else if(y9r(r.type))return _9r(a,r.type,t);return a}function y9r(e){return["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"].includes(e)}function x9r(e,r,t){return typeof r.stringOffsetBufferView!="undefined"?$2(e,r.stringOffsetBufferView,r.offsetType||"UINT32",t):null}function _9r(e,r,t){let n=oy(e,"SCALAR",r,t);return n||(n=e),n}function E9r(e,r,t){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)w9r(e,t,r,i,o);return i}function w9r(e,r,t,n,i){var w,A,C;let a=e.gltf.json,o=[],s=`TEXCOORD_${t.texture.texCoord}`,u=i.attributes[s],l=ik(e.gltf,u);if(!l)return;let c=t.texture.index,f=(w=a.textures)==null?void 0:w[c],d=f==null?void 0:f.source;if(typeof d!="undefined"){let D=(A=a.images)==null?void 0:A[d],R=D==null?void 0:D.mimeType,O=(C=e.gltf.images)==null?void 0:C[d];if(O)for(let L=0;L<l.length;L+=2){let P=S9r(O,R,l,L,t.channels);o.push(P)}}let p=[];for(let D of o){let R=n.findIndex(O=>O===D);R===-1&&(R=n.push(D)-1),p.push(R)}let h=new Uint32Array(p),b=e.gltf.buffers.push({arrayBuffer:h.buffer,byteOffset:0,byteLength:h.byteLength})-1,v=e.addBufferView(h,b,0),y=e.addAccessor(v,{size:1,componentType:jp(h),count:h.length});i.attributes[r]=y}function S9r(e,r,t,n,i){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],s=t[n+1],u=1;r&&(r.indexOf("image/jpeg")!==-1||r.indexOf("image/png")!==-1)&&(u=4);let l=T9r(o,s,e,u),c=0;for(let f of i){let d=a[f];c|=A9r(e,l+d.offset)<<d.shift}return c}function A9r(e,r){let t=Bp(e);if(t.data.length<=r)throw new Error(`${t.data.length} <= ${r}`);return t.data[r]}function T9r(e,r,t,n=1){let i=t.width,a=ac(e)*(i-1),o=Math.round(a),s=t.height,u=ac(r)*(s-1),l=Math.round(u),c=t.components?t.components:n;return(l*i+o)*c}function C9r(e,r){for(let t in e){let n=e[t];if(n.class===r)return n}return null}function D9r(e,r){for(let t in e){let n=e[t];if(n.class===r)return n}return null}function O9r(e,r,t){let n=[],i=new TextDecoder("utf8");for(let a=0;a<t;a++){let o=e.slice(r[a],r[a+1]),s=i.decode(o);n.push(s)}return n}var ck="4.0.0-alpha.25";var sy="4.0.0-alpha.25";var lc={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},fG;async function dG(e){let r=e.modules||{};return r.basis?r.basis:(fG=fG||k9r(e),await fG)}async function k9r(e){let r=null,t=null;return[r,t]=await Promise.all([await Xl(lc.TRANSCODER,"textures",e),await Xl(lc.TRANSCODER_WASM,"textures",e)]),r=r||globalThis.BASIS,await F9r(r,t)}function F9r(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(t).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var pG;async function hG(e){let r=e.modules||{};return r.basisEncoder?r.basisEncoder:(pG=pG||R9r(e),await pG)}async function R9r(e){let r=null,t=null;return[r,t]=await Promise.all([await Xl(lc.ENCODER,"textures",e),await Xl(lc.ENCODER_WASM,"textures",e)]),r=r||globalThis.BASIS,await I9r(r,t)}function I9r(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(t).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var Te={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var P9r=["","WEBKIT_","MOZ_"],qAe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},fk=null;function J2(e){if(!fk){e=e||B9r()||void 0,fk=new Set;for(let r of P9r)for(let t in qAe)if(e&&e.getExtension(`${r}${t}`)){let n=qAe[t];fk.add(n)}}return fk}function B9r(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var JAe=He(YAe());function uy(e,r){let t=new Array(r.mipMapLevels),n=r.width,i=r.height,a=0;for(let o=0;o<r.mipMapLevels;++o){let s=L9r(r,n,i,e,o),u=M9r(e,o,a,s);t[o]={compressed:!0,format:r.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return t}function M9r(e,r,t,n){return Array.isArray(e)?e[r].levelData:new Uint8Array(e.buffer,e.byteOffset+t,n)}function L9r(e,r,t,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(r,t)}var q9r={131:Te.COMPRESSED_RGB_S3TC_DXT1_EXT,132:Te.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:Te.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:Te.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:Te.COMPRESSED_RED_RGTC1_EXT,140:Te.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:Te.COMPRESSED_RED_GREEN_RGTC2_EXT,142:Te.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:Te.COMPRESSED_RGB8_ETC2,148:Te.COMPRESSED_SRGB8_ETC2,149:Te.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:Te.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:Te.COMPRESSED_RGBA8_ETC2_EAC,152:Te.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:Te.COMPRESSED_R11_EAC,154:Te.COMPRESSED_SIGNED_R11_EAC,155:Te.COMPRESSED_RG11_EAC,156:Te.COMPRESSED_SIGNED_RG11_EAC,157:Te.COMPRESSED_RGBA_ASTC_4x4_KHR,158:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:Te.COMPRESSED_RGBA_ASTC_5x4_KHR,160:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:Te.COMPRESSED_RGBA_ASTC_5x5_KHR,162:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:Te.COMPRESSED_RGBA_ASTC_6x5_KHR,164:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:Te.COMPRESSED_RGBA_ASTC_6x6_KHR,166:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:Te.COMPRESSED_RGBA_ASTC_8x5_KHR,168:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:Te.COMPRESSED_RGBA_ASTC_8x6_KHR,170:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:Te.COMPRESSED_RGBA_ASTC_8x8_KHR,172:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:Te.COMPRESSED_RGBA_ASTC_10x5_KHR,174:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:Te.COMPRESSED_RGBA_ASTC_10x6_KHR,176:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:Te.COMPRESSED_RGBA_ASTC_10x8_KHR,178:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:Te.COMPRESSED_RGBA_ASTC_10x10_KHR,180:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:Te.COMPRESSED_RGBA_ASTC_12x10_KHR,182:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:Te.COMPRESSED_RGBA_ASTC_12x12_KHR,184:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:Te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:Te.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:Te.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:Te.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:Te.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:Te.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:Te.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:Te.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:Te.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:Te.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:Te.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:Te.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:Te.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:Te.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:Te.COMPRESSED_RGBA_ASTC_12x12_KHR};function $Ae(e){return q9r[e]}var ts=[171,75,84,88,32,50,48,187,13,10,26,10];function gk(e){let r=new Uint8Array(e);return!(r.byteLength<ts.length||r[0]!==ts[0]||r[1]!==ts[1]||r[2]!==ts[2]||r[3]!==ts[3]||r[4]!==ts[4]||r[5]!==ts[5]||r[6]!==ts[6]||r[7]!==ts[7]||r[8]!==ts[8]||r[9]!==ts[9]||r[10]!==ts[10]||r[11]!==ts[11])}function QAe(e){let r=new Uint8Array(e),t=(0,JAe.read)(r),n=Math.max(1,t.levels.length),i=t.pixelWidth,a=t.pixelHeight,o=$Ae(t.vkFormat);return uy(t.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var N9r={etc1:{basisFormat:0,compressed:!0,format:Te.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Te.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Te.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Z2(e,r){if(r.basis.containerFormat==="auto"){if(gk(e)){let n=await hG(r);return ZAe(n.KTX2File,e,r)}let{BasisFile:t}=await dG(r);return yG(t,e,r)}switch(r.basis.module){case"encoder":let t=await hG(r);switch(r.basis.containerFormat){case"ktx2":return ZAe(t.KTX2File,e,r);case"basis":default:return yG(t.BasisFile,e,r)}case"transcoder":default:let{BasisFile:n}=await dG(r);return yG(n,e,r)}}function yG(e,r,t){let n=new e(new Uint8Array(r));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let l=0;l<s;l++)u.push(U9r(n,o,l,t));a.push(u)}return a}finally{n.close(),n.delete()}}function U9r(e,r,t,n){let i=e.getImageWidth(r,t),a=e.getImageHeight(r,t),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:l}=eTe(n,o),c=e.getImageTranscodedSizeInBytes(r,t,l),f=new Uint8Array(c);if(!e.transcodeImage(f,r,t,l,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function ZAe(e,r,t){let n=new e(new Uint8Array(r));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(G9r(n,o,t));break}return[a]}finally{n.close(),n.delete()}}function G9r(e,r,t){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(r,0,0),{compressed:o,format:s,basisFormat:u}=eTe(t,n),l=e.getImageTranscodedSizeInBytes(r,0,0,u),c=new Uint8Array(l);if(!e.transcodeImage(c,r,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:c,compressed:o,levelSize:l,hasAlpha:n,format:s}}function eTe(e,r){let t=e&&e.basis&&e.basis.format;return t==="auto"&&(t=ly()),typeof t=="object"&&(t=r?t.alpha:t.noAlpha),t=t.toLowerCase(),N9r[t]}function ly(){let e=J2();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var rTe={name:"Basis",id:"basis",module:"textures",version:sy,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Q0=qe(oe({},rTe),{parse:Z2});var ns={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},z9r={DXT1:Te.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:Te.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":Te.COMPRESSED_RGB_ATC_WEBGL,ATCA:Te.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:Te.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},H9r=iTe,W9r=vk,V9r=vk,K9r={DXT1:iTe,DXT3:vk,DXT5:vk,"ATC ":H9r,ATCA:W9r,ATCI:V9r};function tTe(e){return new Uint32Array(e,0,ns.HEADER_LENGTH)[ns.MAGIC_NUMBER_INDEX]===ns.MAGIC_NUMBER}function nTe(e){let r=new Int32Array(e,0,ns.HEADER_LENGTH),t=r[ns.HEADER_PF_FOURCC_INDEX];Qr(Boolean(r[ns.HEADER_PF_FLAGS_INDEX]&ns.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=X9r(t),i=z9r[n],a=K9r[n];Qr(i&&a,`DDS: Unknown pixel format ${t}`);let o=1;r[ns.HEADER_FLAGS_INDEX]&ns.DDSD_MIPMAPCOUNT&&(o=Math.max(1,r[ns.MIPMAPCOUNT_INDEX]));let s=r[ns.HEADER_WIDTH_INDEX],u=r[ns.HEADER_HEIGHT_INDEX],l=r[ns.HEADER_SIZE_INDEX]+4,c=new Uint8Array(e,l);return uy(c,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function iTe(e,r){return(e+3>>2)*(r+3>>2)*8}function vk(e,r){return(e+3>>2)*(r+3>>2)*16}function X9r(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Ks={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Y9r={0:[Te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[Te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[Te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[Te.COMPRESSED_RGB_ETC1_WEBGL],7:[Te.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[Te.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[Te.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[Te.COMPRESSED_RGB8_ETC2],23:[Te.COMPRESSED_RGBA8_ETC2_EAC],24:[Te.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[Te.COMPRESSED_R11_EAC],26:[Te.COMPRESSED_RG11_EAC],27:[Te.COMPRESSED_RGBA_ASTC_4X4_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[Te.COMPRESSED_RGBA_ASTC_5X4_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[Te.COMPRESSED_RGBA_ASTC_5X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[Te.COMPRESSED_RGBA_ASTC_6X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[Te.COMPRESSED_RGBA_ASTC_6X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[Te.COMPRESSED_RGBA_ASTC_8X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[Te.COMPRESSED_RGBA_ASTC_8X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[Te.COMPRESSED_RGBA_ASTC_8X8_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[Te.COMPRESSED_RGBA_ASTC_10X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[Te.COMPRESSED_RGBA_ASTC_10X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[Te.COMPRESSED_RGBA_ASTC_10X8_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[Te.COMPRESSED_RGBA_ASTC_10X10_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[Te.COMPRESSED_RGBA_ASTC_12X10_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[Te.COMPRESSED_RGBA_ASTC_12X12_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},$9r={0:sTe,1:sTe,2:uTe,3:uTe,6:eE,7:eE,9:rE,11:rE,22:eE,23:rE,24:eE,25:eE,26:rE,27:rE,28:J9r,29:Q9r,30:Z9r,31:eqr,32:rqr,33:tqr,34:nqr,35:iqr,36:aqr,37:oqr,38:sqr,39:uqr,40:lqr};function aTe(e){let t=new Uint32Array(e,0,Ks.HEADER_LENGTH)[Ks.MAGIC_NUMBER_INDEX];return t===Ks.MAGIC_NUMBER||t===Ks.MAGIC_NUMBER_EXTRA}function oTe(e){let r=new Uint32Array(e,0,Ks.HEADER_LENGTH),t=r[Ks.PIXEL_FORMAT_INDEX],n=r[Ks.COLOUR_SPACE_INDEX],i=Y9r[t]||[],a=i.length>1&&n?i[1]:i[0],o=$9r[t],s=r[Ks.MIPMAPCOUNT_INDEX],u=r[Ks.WIDTH_INDEX],l=r[Ks.HEIGHT_INDEX],c=Ks.HEADER_SIZE+r[Ks.METADATA_SIZE_INDEX],f=new Uint8Array(e,c);return uy(f,{mipMapLevels:s,width:u,height:l,sizeFunction:o,internalFormat:a})}function sTe(e,r){return e=Math.max(e,16),r=Math.max(r,8),e*r/4}function uTe(e,r){return e=Math.max(e,8),r=Math.max(r,8),e*r/2}function eE(e,r){return Math.floor((e+3)/4)*Math.floor((r+3)/4)*8}function rE(e,r){return Math.floor((e+3)/4)*Math.floor((r+3)/4)*16}function J9r(e,r){return Math.floor((e+4)/5)*Math.floor((r+3)/4)*16}function Q9r(e,r){return Math.floor((e+4)/5)*Math.floor((r+4)/5)*16}function Z9r(e,r){return Math.floor((e+5)/6)*Math.floor((r+4)/5)*16}function eqr(e,r){return Math.floor((e+5)/6)*Math.floor((r+5)/6)*16}function rqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+4)/5)*16}function tqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+5)/6)*16}function nqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+7)/8)*16}function iqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+4)/5)*16}function aqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+5)/6)*16}function oqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+7)/8)*16}function sqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+9)/10)*16}function uqr(e,r){return Math.floor((e+11)/12)*Math.floor((r+9)/10)*16}function lqr(e,r){return Math.floor((e+11)/12)*Math.floor((r+11)/12)*16}function lTe(e){if(gk(e))return QAe(e);if(tTe(e))return nTe(e);if(aTe(e))return oTe(e);throw new Error("Texture container format not recognized")}var cTe={name:"Texture Containers",id:"compressed-texture",module:"textures",version:sy,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},bk=qe(oe({},cTe),{parse:async(e,r)=>{var t;return((t=r==null?void 0:r["compressed-texture"])==null?void 0:t.useBasis)?(r.basis=qe(oe({format:{alpha:"BC3",noAlpha:"BC1"}},r.basis),{containerFormat:"ktx2",module:"encoder"}),(await Z2(e,r))[0]):lTe(e)}});var xG={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:sy,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var cy=!0,fTe=1735152710,_G=12,yk=8,cqr=1313821514,fqr=5130562,dqr=0,pqr=0,hqr=1;function mqr(e,r=0){return`${String.fromCharCode(e.getUint8(r+0))}${String.fromCharCode(e.getUint8(r+1))}${String.fromCharCode(e.getUint8(r+2))}${String.fromCharCode(e.getUint8(r+3))}`}function dTe(e,r=0,t={}){let n=new DataView(e),{magic:i=fTe}=t,a=n.getUint32(r,!1);return a===i||a===fTe}function pTe(e,r,t=0,n={}){let i=new DataView(r),a=mqr(i,t+0),o=i.getUint32(t+4,cy),s=i.getUint32(t+8,cy);switch(Object.assign(e,{header:{byteOffset:t,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),t+=_G,e.version){case 1:return gqr(e,i,t);case 2:return vqr(e,i,t,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function gqr(e,r,t){Qr(e.header.byteLength>_G+yk);let n=r.getUint32(t+0,cy),i=r.getUint32(t+4,cy);return t+=yk,Qr(i===dqr),EG(e,r,t,n),t+=n,t+=wG(e,r,t,e.header.byteLength),t}function vqr(e,r,t,n){return Qr(e.header.byteLength>_G+yk),bqr(e,r,t,n),t+e.header.byteLength}function bqr(e,r,t,n){for(;t+8<=e.header.byteLength;){let i=r.getUint32(t+0,cy),a=r.getUint32(t+4,cy);switch(t+=yk,a){case cqr:EG(e,r,t,i);break;case fqr:wG(e,r,t,i);break;case pqr:n.strict||EG(e,r,t,i);break;case hqr:n.strict||wG(e,r,t,i);break;default:break}t+=Yo(i,4)}return t}function EG(e,r,t,n){let i=new Uint8Array(r.buffer,t,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Yo(n,4)}function wG(e,r,t,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:t,byteLength:n,arrayBuffer:r.buffer}),Yo(n,4)}function SG(e,r){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=r.baseUri||r.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}function hTe(e,r,t){let n=e.bufferViews[t];ra(n);let i=n.buffer,a=r[i];ra(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}var TG={};qa(TG,{decode:()=>kqr,name:()=>Oqr});var yqr="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",xqr="B9h9z9tFBBBF8dL9gBB9gLaaaaaFa9gEaaaB9gGaaB9gFaFaEQSBBFBFFGEGEGIILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBNn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBcI9z9iqlBMc/j9JSIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMkRIbaG97FaK978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAnDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAnDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAnDeBJAeCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPD8dBhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBAeCx+YUUBJDBBBHnAnDQBBBBBBBBBBBBBBBBAPD8dFhUg/8/4/w/goB9+h84k7HeCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAnDeBJAeCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBRnCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBHiCFD9tAiAPD9OD9hD9RHiDQBTFtGmEYIPLdKeOnH8ZAIAQJDBIBHpCFD9tApAPD9OD9hD9RHpAIASJDBIBHyCFD9tAyAPD9OD9hD9RHyDQBTFtGmEYIPLdKeOnH8cDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAnD9uHnDyBjGBAEAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnA8ZA8cDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNiV8ZcpMyS8cQ8df8eb8fHdApAyDQNiV8ZcpMyS8cQ8df8eb8fHiDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJHIAnAdAiDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHnDyBjGBAIAGJHIAnAPAPDQILKOILKOILKOILKOD9uHnDyBjGBAIAGJHIAnAPAPDQNVcMNVcMNVcMNVcMD9uHnDyBjGBAIAGJHIAnAPAPDQSQfbSQfbSQfbSQfbD9uHnDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/xLGEaK978jUUUUBCAlHE8kUUUUBGXGXAGCI9HQBGXAFC98ZHI9FQBABRGCBRLEXAGAGDBBBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMBBAGCTJRGALCIJHLAI9JQBMMAIAF9PQFAEAFCEZHLCGWHGqCBCTAGl/8MBAEABAICGWJHIAG/8cBBGXAL9FQBAEAEDBIBHKCiD+rFCiD+sFD/6FHOAKCND+rFCiD+sFD/6FAOD/gFAKCTD+rFCiD+sFD/6FHND/gFD/kFD/lFHVCBDtD+2FHcAOCUUUU94DtHMD9OD9RD/kFHO9DBB/+hDYAOAOD/mFAVAVD/mFANAcANAMD9OD9RD/kFHOAOD/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHcD/kFCgFDtD9OAKCUUU94DtD9OD9QAOAND/mFAcD/kFCND+rFCU/+EDtD9OD9QAVAND/mFAcD/kFCTD+rFCUU/8ODtD9OD9QDMIBMAIAEAG/8cBBSFMABAFC98ZHGT+HUUUBAGAF9PQBAEAFCEZHICEWHLJCBCAALl/8MBAEABAGCEWJHGAL/8cBBAEAIT+HUUUBAGAEAL/8cBBMAECAJ8kUUUUBM+yEGGaO97GXAF9FQBCBRGEXABCTJHEAEDBBBHICBDtHLCUU98D8cFCUU98D8cEHKD9OABDBBBHOAIDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAOAIDQBFGENVcMTtmYi8ZpyHICTD+sFD/6FHND/gFAICTD+rFCTD+sFD/6FHVD/gFD/kFD/lFHI9DB/+g6DYAVAIALD+2FHLAVCUUUU94DtHcD9OD9RD/kFHVAVD/mFAIAID/mFANALANAcD9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHND/mF9DBBX9LDYHLD/kFCTD+rFAVAND/mFALD/kFCggEDtD9OD9QHVAIAND/mFALD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHIDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAOAKD9OAVAIDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM94FEa8jUUUUBCAlHE8kUUUUBABAFC98ZHIT+JUUUBGXAIAF9PQBAEAFCEZHLCEWHFJCBCAAFl/8MBAEABAICEWJHBAF/8cBBAEALT+JUUUBABAEAF/8cBBMAECAJ8kUUUUBM/hEIGaF97FaL978jUUUUBCTlRGGXAF9FQBCBREEXAGABDBBBHIABCTJHLDBBBHKDQILKOSQfbPden8c8d8e8fHOCTD+sFHNCID+rFDMIBAB9DBBU8/DY9D/zI818/DYANCEDtD9QD/6FD/nFHNAIAKDQBFGENVcMTtmYi8ZpyHICTD+rFCTD+sFD/6FD/mFHKAKD/mFANAICTD+sFD/6FD/mFHVAVD/mFANAOCTD+rFCTD+sFD/6FD/mFHOAOD/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHND/mF9DBBX9LDYHID/kFCggEDtHcD9OAVAND/mFAID/kFCTD+rFD9QHVAOAND/mFAID/kFCTD+rFAKAND/mFAID/kFAcD9OD9QHNDQBFTtGEmYILPdKOenHID8dBAGDBIBDyB+t+J83EBABCNJAID8dFAGDBIBDyF+t+J83EBALAVANDQNVi8ZcMpySQ8c8dfb8e8fHND8dBAGDBIBDyG+t+J83EBABCiJAND8dFAGDBIBDyE+t+J83EBABCAJRBAECIJHEAF9JQBMMM/3FGEaF978jUUUUBCoBlREGXAGCGrAF9sHIC98ZHL9FQBCBRGABRFEXAFAFDBBBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBAFCTJRFAGCIJHGAL9JQBMMGXALAI9PQBAEAICEZHGCGWHFqCBCoBAFl/8MBAEABALCGWJHLAF/8cBBGXAG9FQBAEAEDBIBHKCND+rFCND+sFD/6FAKCiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMIBMALAEAF/8cBBMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",_qr=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Eqr=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),wqr={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Sqr={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function mTe(e,r,t,n,i,a="NONE"){let o=await Aqr();Dqr(o,o.exports[Sqr[i]],e,r,t,n,o.exports[wqr[a||"NONE"]])}var AG;async function Aqr(){return AG||(AG=Tqr()),AG}async function Tqr(){let e=yqr;WebAssembly.validate(_qr)&&(e=xqr,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let r=await WebAssembly.instantiate(Cqr(e),{});return await r.instance.exports.__wasm_call_ctors(),r.instance}function Cqr(e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);r[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let t=0;for(let n=0;n<e.length;++n)r[t++]=r[n]<60?Eqr[r[n]]:(r[n]-60)*64+r[++n];return r.buffer.slice(0,t)}function Dqr(e,r,t,n,i,a,o){let s=e.exports.sbrk,u=n+3&~3,l=s(u*i),c=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,c);let d=r(l,n,i,c,a.length);if(d===0&&o&&o(l,u,i),t.set(f.subarray(l,l+n*i)),s(l-s(0)),d!==0)throw new Error(`Malformed buffer data: ${d}`)}var xk="EXT_meshopt_compression",Oqr=xk;async function kqr(e,r){var i,a;let t=new Jt(e);if(!((i=r==null?void 0:r.gltf)==null?void 0:i.decompressMeshes)||!((a=r.gltf)==null?void 0:a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(Fqr(t,o));await Promise.all(n),t.removeExtension(xk)}async function Fqr(e,r){let t=e.getObjectExtension(r,xk);if(t){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:l}=t,c=e.gltf.buffers[l],f=new Uint8Array(c.arrayBuffer,c.byteOffset+n,i),d=new Uint8Array(e.gltf.buffers[r.buffer].arrayBuffer,r.byteOffset,r.byteLength);await mTe(d,o,a,f,s,u),e.removeObjectExtension(r,xk)}}var CG={};qa(CG,{name:()=>Rqr,preprocess:()=>Iqr});var fy="EXT_texture_webp",Rqr=fy;function Iqr(e,r){let t=new Jt(e);if(!aG("image/webp")){if(t.getRequiredExtensions().includes(fy))throw new Error(`gltf: Required extension ${fy} not supported by browser`);return}let{json:n}=t;for(let i of n.textures||[]){let a=t.getObjectExtension(i,fy);a&&(i.source=a.source),t.removeObjectExtension(i,fy)}t.removeExtension(fy)}var DG={};qa(DG,{name:()=>Pqr,preprocess:()=>Bqr});var _k="KHR_texture_basisu",Pqr=_k;function Bqr(e,r){let t=new Jt(e),{json:n}=t;for(let i of n.textures||[]){let a=t.getObjectExtension(i,_k);a&&(i.source=a.source,t.removeObjectExtension(i,_k))}t.removeExtension(_k)}var kG={};qa(kG,{decode:()=>Nqr,encode:()=>Uqr,name:()=>Lqr,preprocess:()=>qqr});function gTe(e){let r={};for(let t in e){let n=e[t];if(t!=="indices"){let i=OG(n);r[t]=i}}return r}function OG(e){let{buffer:r,size:t,count:n}=jqr(e);return{value:r,size:t,byteOffset:0,count:n,type:nk(t),componentType:jp(r)}}function jqr(e){let r=e,t=1,n=0;return e&&e.value&&(r=e.value,t=e.size||1),r&&(ArrayBuffer.isView(r)||(r=Mqr(r,Float32Array)),n=r.length/t),{buffer:r,size:t,count:n}}function Mqr(e,r,t=!1){return e?Array.isArray(e)?new r(e):t&&!(e instanceof r)?new r(e):e:null}var Mp="KHR_draco_mesh_compression",Lqr=Mp;function qqr(e,r,t){let n=new Jt(e);for(let i of vTe(n))n.getObjectExtension(i,Mp)}async function Nqr(e,r,t){var a;if(!((a=r==null?void 0:r.gltf)==null?void 0:a.decompressMeshes))return;let n=new Jt(e),i=[];for(let o of vTe(n))n.getObjectExtension(o,Mp)&&i.push(Gqr(n,o,r,t));await Promise.all(i),n.removeExtension(Mp)}function Uqr(e,r={}){let t=new Jt(e);for(let n of t.json.meshes||[])zqr(n,r),t.addRequiredExtension(Mp)}async function Gqr(e,r,t,n){let i=e.getObjectExtension(r,Mp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=F0(a.buffer,a.byteOffset),s=oe({},t);delete s["3d-tiles"];let u=await Ko(o,Zb,s,n),l=gTe(u.attributes);for(let[c,f]of Object.entries(l))if(c in r.attributes){let d=r.attributes[c],p=e.getAccessor(d);(p==null?void 0:p.min)&&(p==null?void 0:p.max)&&(f.min=p.min,f.max=p.max)}r.attributes=l,u.indices&&(r.indices=OG(u.indices)),e.removeObjectExtension(r,Mp),Hqr(r)}function zqr(e,r,t=4,n,i){var c;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(c=i==null?void 0:i.parseSync)==null?void 0:c.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:t,extensions:{[Mp]:{bufferView:u,attributes:s}}}]}}function Hqr(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*vTe(e){for(let r of e.json.meshes||[])for(let t of r.primitives)yield t}var RG={};qa(RG,{decode:()=>Xqr,name:()=>Wqr});var dy=He($t());var FG="KHR_texture_transform",Wqr=FG,Ek=new dy.Vector3,Vqr=new dy.Matrix3,Kqr=new dy.Matrix3;async function Xqr(e,r){var a;if(!new Jt(e).hasExtension(FG)||!((a=r.gltf)==null?void 0:a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)Yqr(o,e)}function Yqr(e,r){var l,c,f;let t=[],n=(l=r.json.materials)==null?void 0:l[e],i=(c=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:c.baseColorTexture;i&&tE(r,e,i,t);let a=n==null?void 0:n.emissiveTexture;a&&tE(r,e,a,t);let o=n==null?void 0:n.normalTexture;o&&tE(r,e,o,t);let s=n==null?void 0:n.occlusionTexture;s&&tE(r,e,s,t);let u=(f=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:f.metallicRoughnessTexture;u&&tE(r,e,u,t)}function tE(e,r,t,n){let i=$qr(t,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&r===u&&Jqr(e,s,i)}}function $qr(e,r){var o;let t=(o=e.extensions)==null?void 0:o[FG],{texCoord:n=0}=e,{texCoord:i=n}=t;if(!(r.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=e7r(t);return n!==i&&(e.texCoord=i),r.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function Jqr(e,r,t){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=t,o=r.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let l=(s=e.json.accessors)==null?void 0:s[o];if(l&&l.bufferView){let c=(u=e.json.bufferViews)==null?void 0:u[l.bufferView];if(c){let{arrayBuffer:f,byteOffset:d}=e.buffers[c.buffer],p=(d||0)+(l.byteOffset||0)+(c.byteOffset||0),{ArrayType:h,length:b}=$0(l,c),v=tk[l.componentType],y=rk[l.type],w=c.byteStride||v*y,A=new Float32Array(b);for(let C=0;C<l.count;C++){let D=new h(f,p+C*w,2);Ek.set(D[0],D[1],1),Ek.transformByMatrix3(a),A.set([Ek[0],Ek[1]],C*y)}n===i?Qqr(l,c,e.buffers,A):Zqr(i,l,r,e,A)}}}}function Qqr(e,r,t,n){e.componentType=5126,t.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),r.buffer=t.length-1,r.byteLength=n.buffer.byteLength,r.byteOffset=0,delete r.byteStride}function Zqr(e,r,t,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;!o||(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:r.count,type:"VEC2"}),t.attributes[`TEXCOORD_${e}`]=o.length-1)}function e7r(e){let{offset:r=[0,0],rotation:t=0,scale:n=[1,1]}=e,i=new dy.Matrix3().set(1,0,0,0,1,0,r[0],r[1],1),a=Vqr.set(Math.cos(t),Math.sin(t),0,-Math.sin(t),Math.cos(t),0,0,0,1),o=Kqr.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var IG={};qa(IG,{decode:()=>t7r,encode:()=>n7r,name:()=>r7r});var Z0="KHR_lights_punctual",r7r=Z0;async function t7r(e){let r=new Jt(e),{json:t}=r,n=r.getExtension(Z0);n&&(r.json.lights=n.lights,r.removeExtension(Z0));for(let i of t.nodes||[]){let a=r.getObjectExtension(i,Z0);a&&(i.light=a.light),r.removeObjectExtension(i,Z0)}}async function n7r(e){let r=new Jt(e),{json:t}=r;if(t.lights){let n=r.addExtension(Z0);ra(!n.lights),n.lights=t.lights,delete t.lights}if(r.json.lights){for(let n of r.json.lights){let i=n.node;r.addObjectExtension(i,Z0,n)}delete r.json.lights}}var PG={};qa(PG,{decode:()=>a7r,encode:()=>o7r,name:()=>i7r});var nE="KHR_materials_unlit",i7r=nE;async function a7r(e){let r=new Jt(e),{json:t}=r;for(let n of t.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),r.removeObjectExtension(n,nE);r.removeExtension(nE)}function o7r(e){let r=new Jt(e),{json:t}=r;if(r.materials)for(let n of t.materials||[])n.unlit&&(delete n.unlit,r.addObjectExtension(n,nE,{}),r.addExtension(nE))}var BG={};qa(BG,{decode:()=>u7r,encode:()=>l7r,name:()=>s7r});var iE="KHR_techniques_webgl",s7r=iE;async function u7r(e){let r=new Jt(e),{json:t}=r,n=r.getExtension(iE);if(n){let i=c7r(n,r);for(let a of t.materials||[]){let o=r.getObjectExtension(a,iE);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=f7r(a.technique,r)),r.removeObjectExtension(a,iE)}r.removeExtension(iE)}}async function l7r(e,r){}function c7r(e,r){let{programs:t=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(r.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),t.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=t[o.program]}),i}function f7r(e,r){let t=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in t)&&(t[n]=e.uniforms[n].value)}),Object.keys(t).forEach(n=>{typeof t[n]=="object"&&t[n].index!==void 0&&(t[n].texture=r.getTexture(t[n].index))}),t}var bTe=[lG,sG,TG,CG,DG,kG,IG,PG,BG,RG,cG];function yTe(e,r={},t){var i;let n=bTe.filter(a=>_Te(a.name,r));for(let a of n)(i=a.preprocess)==null||i.call(a,e,r,t)}async function xTe(e,r={},t){var i;let n=bTe.filter(a=>_Te(a.name,r));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,r,t))}function _Te(e,r){var i;let t=((i=r==null?void 0:r.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in t&&!t[e])}var jG="KHR_binary_glTF";function ETe(e){let r=new Jt(e),{json:t}=r;for(let n of t.images||[]){let i=r.getObjectExtension(n,jG);i&&Object.assign(n,i),r.removeObjectExtension(n,jG)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,r.removeExtension(jG)}var wTe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d7r={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},STe=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(r,t){this.json=r.json;let n=r.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),ETe(r),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(r){r.asset=r.asset||{},r.asset.version="2.0",r.asset.generator=r.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(r){for(let t in wTe)this._convertTopLevelObjectToArray(r,t)}_convertTopLevelObjectToArray(r,t){let n=r[t];if(!(!n||Array.isArray(n))){r[t]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=r[t].length;r[t].push(a),this.idToIndexMap[t][i]=o}}}_convertObjectIdsToArrayIndices(r){for(let t in wTe)this._convertIdsToIndices(r,t);"scene"in r&&(r.scene=this._convertIdToIndex(r.scene,"scene"));for(let t of r.textures)this._convertTextureIds(t);for(let t of r.meshes)this._convertMeshIds(t);for(let t of r.nodes)this._convertNodeIds(t);for(let t of r.scenes)this._convertSceneIds(t)}_convertTextureIds(r){r.source&&(r.source=this._convertIdToIndex(r.source,"image"))}_convertMeshIds(r){for(let t of r.primitives){let{attributes:n,indices:i,material:a}=t;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(t.indices=this._convertIdToIndex(i,"accessor")),a&&(t.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(r){r.children&&(r.children=r.children.map(t=>this._convertIdToIndex(t,"node"))),r.meshes&&(r.meshes=r.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(r){r.nodes&&(r.nodes=r.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(r,t){r[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),r[t]=[]);for(let n of r[t])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(r,t){let n=d7r[t];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][r];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${t} with id ${r}`);return i}return r}_updateObjects(r){for(let t of this.json.buffers)delete t.type}_updateMaterial(r){var t,n,i;for(let a of r.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((t=a.values)==null?void 0:t.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=r.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function ATe(e,r={}){return new STe().normalize(e,r)}async function TTe(e,r,t=0,n,i){var a,o,s;return p7r(e,r,t,n),ATe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),yTe(e,n,i),((o=n==null?void 0:n.gltf)==null?void 0:o.loadBuffers)&&e.json.buffers&&await h7r(e,n,i),((s=n==null?void 0:n.gltf)==null?void 0:s.loadImages)&&await m7r(e,n,i),await xTe(e,n,i),e}function p7r(e,r,t,n){if(n.uri&&(e.baseUri=n.uri),r instanceof ArrayBuffer&&!dTe(r,t,n)&&(r=new TextDecoder().decode(r)),typeof r=="string")e.json=lN(r);else if(r instanceof ArrayBuffer){let o={};t=pTe(o,r,t,n.glb),ra(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ra(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function h7r(e,r,t){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=t;ra(u);let l=SG(s.uri,r),c=await((i=t==null?void 0:t.fetch)==null?void 0:i.call(t,l)),f=await((a=c==null?void 0:c.arrayBuffer)==null?void 0:a.call(c));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function m7r(e,r,t){let n=g7r(e),i=e.json.images||[],a=[];for(let o of n)a.push(v7r(e,i[o],o,r,t));return await Promise.all(a)}function g7r(e){let r=new Set,t=e.json.textures||[];for(let n of t)n.source!==void 0&&r.add(n.source);return Array.from(r).sort()}async function v7r(e,r,t,n,i){let a;if(r.uri&&!r.hasOwnProperty("bufferView")){let s=SG(r.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),r.bufferView={data:a}}if(Number.isFinite(r.bufferView)){let s=hTe(e.json,e.buffers,r.bufferView);a=F0(s.buffer,s.byteOffset,s.byteLength)}ra(a,"glTF image has no data");let o=await Ko(a,[ay,Q0],qe(oe({},n),{mimeType:r.mimeType,basis:n.basis||{format:ly()}}),i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[t]=o}var Tf={name:"glTF",id:"gltf",module:"gltf",version:ck,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:b7r,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console},deprecatedOptions:{fetchImages:"gltf.loadImages",createImages:"gltf.loadImages",decompress:"gltf.decompressMeshes",postProcess:"gltf.postProcess",gltf:{decompress:"gltf.decompressMeshes",postProcess:"removed in v4"}}};async function b7r(e,r={},t){r=oe(oe({},Tf.options),r),r.gltf=oe(oe({},Tf.options.gltf),r.gltf);let{byteOffset:n=0}=r;return await TTe({},e,n,r,t)}var y7r=1179937895,x7r=1313821514,_7r=5130562,cc=!0;function CTe(e,r,t=0,n={}){let{magic:i=y7r,version:a=2,json:o={},binary:s}=e,u=t;r&&(r.setUint32(t+0,i,cc),r.setUint32(t+4,a,cc),r.setUint32(t+8,0,cc));let l=t+8;t+=12;let c=t;r&&(r.setUint32(t+0,0,cc),r.setUint32(t+4,x7r,cc)),t+=8;let f=JSON.stringify(o);if(t=Sb(r,t,f,4),r){let d=t-c-8;r.setUint32(c+0,d,cc)}if(s){let d=t;if(r&&(r.setUint32(t+0,0,cc),r.setUint32(t+4,_7r,cc)),t+=8,t=TD(r,t,s,4),r){let p=t-d-8;r.setUint32(d+0,p,cc)}}if(r){let d=t-u;r.setUint32(l,d,cc)}return t}function MG(e,r,t,n){return E7r(e),CTe(e,r,t,n)}function E7r(e,{firstBuffer:r=0}={}){if(e.buffers&&e.buffers.length>r)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var LG={name:"glTF",id:"gltf",module:"gltf",version:ck,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,encodeSync:w7r,options:{gltf:{}}};function w7r(e,r={}){let{byteOffset:t=0}=r,n=MG(e,null,t,r),i=new ArrayBuffer(n),a=new DataView(i);return MG(e,a,t,r),i}var S7r={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A7r={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Xs={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},T7r={magFilter:Xs.TEXTURE_MAG_FILTER,minFilter:Xs.TEXTURE_MIN_FILTER,wrapS:Xs.TEXTURE_WRAP_S,wrapT:Xs.TEXTURE_WRAP_T},C7r={[Xs.TEXTURE_MAG_FILTER]:Xs.LINEAR,[Xs.TEXTURE_MIN_FILTER]:Xs.NEAREST_MIPMAP_LINEAR,[Xs.TEXTURE_WRAP_S]:Xs.REPEAT,[Xs.TEXTURE_WRAP_T]:Xs.REPEAT};function D7r(){return{id:"default-sampler",parameters:C7r}}function O7r(e){return A7r[e]}function k7r(e){return S7r[e]}var DTe=class{constructor(){this.baseUri="";this.buffers=[];this.images=[]}postProcess(r,t={}){let{json:n,buffers:i=[],images:a=[]}=r,{baseUri:o=""}=r;return ra(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(r.json,t),this.json}_resolveTree(r,t={}){let n=oe({},r);return this.json=n,r.bufferViews&&(n.bufferViews=r.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),r.images&&(n.images=r.images.map((i,a)=>this._resolveImage(i,a))),r.samplers&&(n.samplers=r.samplers.map((i,a)=>this._resolveSampler(i,a))),r.textures&&(n.textures=r.textures.map((i,a)=>this._resolveTexture(i,a))),r.accessors&&(n.accessors=r.accessors.map((i,a)=>this._resolveAccessor(i,a))),r.materials&&(n.materials=r.materials.map((i,a)=>this._resolveMaterial(i,a))),r.meshes&&(n.meshes=r.meshes.map((i,a)=>this._resolveMesh(i,a))),r.nodes&&(n.nodes=r.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),r.skins&&(n.skins=r.skins.map((i,a)=>this._resolveSkin(i,a))),r.scenes&&(n.scenes=r.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(r){return this._get(this.json.scenes,r)}getNode(r){return this._get(this.json.nodes,r)}getSkin(r){return this._get(this.json.skins,r)}getMesh(r){return this._get(this.json.meshes,r)}getMaterial(r){return this._get(this.json.materials,r)}getAccessor(r){return this._get(this.json.accessors,r)}getCamera(r){return this._get(this.json.cameras,r)}getTexture(r){return this._get(this.json.textures,r)}getSampler(r){return this._get(this.json.samplers,r)}getImage(r){return this._get(this.json.images,r)}getBufferView(r){return this._get(this.json.bufferViews,r)}getBuffer(r){return this._get(this.json.buffers,r)}_get(r,t){if(typeof t=="object")return t;let n=r&&r[t];return n||console.warn(`glTF file error: Could not find ${r}[${t}]`),n}_resolveScene(r,t){return qe(oe({},r),{id:r.id||`scene-${t}`,nodes:(r.nodes||[]).map(n=>this.getNode(n))})}_resolveNode(r,t){let n=qe(oe({},r),{id:(r==null?void 0:r.id)||`node-${t}`});return r.mesh!==void 0&&(n.mesh=this.getMesh(r.mesh)),r.camera!==void 0&&(n.camera=this.getCamera(r.camera)),r.skin!==void 0&&(n.skin=this.getSkin(r.skin)),r.meshes!==void 0&&r.meshes.length&&(n.mesh=r.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(r){return r.children&&(r.children=r.children.map(t=>this.getNode(t))),r}_resolveSkin(r,t){let n=typeof r.inverseBindMatrices=="number"?this.getAccessor(r.inverseBindMatrices):void 0;return qe(oe({},r),{id:r.id||`skin-${t}`,inverseBindMatrices:n})}_resolveMesh(r,t){let n=qe(oe({},r),{id:r.id||`mesh-${t}`,primitives:[]});return r.primitives&&(n.primitives=r.primitives.map(i=>{let a=qe(oe({},i),{attributes:{},indices:void 0,material:void 0}),o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(r,t){let n=qe(oe({},r),{id:r.id||`material-${t}`});if(n.normalTexture&&(n.normalTexture=oe({},n.normalTexture),n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture=oe({},n.occlusionTexture),n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture=oe({},n.emissiveTexture),n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness=oe({},n.pbrMetallicRoughness);let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=oe({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=oe({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(r,t){let n=O7r(r.componentType),i=k7r(r.type),a=n*i,o=qe(oe({},r),{id:r.id||`accessor-${t}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0});if(r.bufferView!==void 0&&(o.bufferView=this.getBufferView(r.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:l}=$0(o,o.bufferView),c=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(c,c+l);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,c,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(r,t,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=t+s*n;o.set(new Uint8Array(r.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(r,t){return qe(oe({},r),{id:r.id||`texture-${t}`,sampler:typeof r.sampler=="number"?this.getSampler(r.sampler):D7r(),source:typeof r.source=="number"?this.getImage(r.source):void 0})}_resolveSampler(r,t){let n=qe(oe({id:r.id||`sampler-${t}`},r),{parameters:{}});for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(r){return T7r[r]}_resolveImage(r,t){let n=qe(oe({},r),{id:r.id||`image-${t}`,image:null,bufferView:r.bufferView!==void 0?this.getBufferView(r.bufferView):void 0}),i=this.images[t];return i&&(n.image=i),n}_resolveBufferView(r,t){let n=r.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return r.byteOffset&&(a+=r.byteOffset),qe(oe({id:`bufferView-${t}`},r),{buffer:this.buffers[n],data:new Uint8Array(i,a,r.byteLength)})}_resolveCamera(r,t){let n=qe(oe({},r),{id:r.id||`camera-${t}`});return n.perspective,n.orthographic,n}};function aE(e,r){return new DTe().postProcess(e,r)}var wk={URI:0,EMBEDDED:1};function Sk(e,r,t,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-t;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=(n==null?void 0:n["3d-tiles"])&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=F0(r,t,i),e.gltfByteOffset=0,e.gltfByteLength=i,t%4==0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function Ak(e,r,t,n){let i=(t==null?void 0:t["3d-tiles"])||{};if(F7r(e,r,t),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,t);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ko(e.gltfArrayBuffer,Tf,t,n);e.gltf=aE(a),e.gpuMemoryUsageInBytes=Y2(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function F7r(e,r,t){switch(r){case wk.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case wk.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function OTe(e,r,t,n,i){var o;t=R7r(e,r,t,n,i),await Ak(e,wk.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),t}function R7r(e,r,t,n,i){t=Pp(e,r,t),t=ny(e,r,t),t=iy(e,r,t,n),t=Sk(e,r,t,n);let a=new Ip(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",nt.FLOAT,3),t}var is=He($t()),kTe=He(zs());async function FTe(e,r,t,n,i){return t=I7r(e,r,t,n,i),await Ak(e,e.gltfFormat||0,n,i),t}function I7r(e,r,t,n,i){var l;if(t=Pp(e,r,t),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);t=ny(e,r,t);let a=new DataView(r);if(e.gltfFormat=a.getUint32(t,!0),t+=4,t=iy(e,r,t,n),t=Sk(e,r,t,n),!((l=e==null?void 0:e.header)==null?void 0:l.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Ip(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",nt.FLOAT,3);let u=new ry(e.batchTableJson,e.batchTableBinary,s);return P7r(e,o,u,s),t}function P7r(e,r,t,n){let i=new Array(n),a=new is.Vector3,o=new is.Vector3,s=new is.Vector3,u=new is.Vector3,l=new is.Matrix3,c=new is.Quaternion,f=new is.Vector3,d={},p=new is.Matrix4,h=[],b=[],v=[],y=[];for(let w=0;w<n;w++){let A;if(r.hasProperty("POSITION"))A=r.getProperty("POSITION",nt.FLOAT,3,w,a);else if(r.hasProperty("POSITION_QUANTIZED")){A=r.getProperty("POSITION_QUANTIZED",nt.UNSIGNED_SHORT,3,w,a);let V=r.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",nt.FLOAT,3);if(!V)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let N=r.getGlobalProperty("QUANTIZED_VOLUME_SCALE",nt.FLOAT,3);if(!N)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let W=65535;for(let M=0;M<3;M++)A[M]=A[M]/W*N[M]+V[M]}if(!A)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(A),d.translation=a,e.normalUp=r.getProperty("NORMAL_UP",nt.FLOAT,3,w,h),e.normalRight=r.getProperty("NORMAL_RIGHT",nt.FLOAT,3,w,b);let C=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=r.getProperty("NORMAL_UP_OCT32P",nt.UNSIGNED_SHORT,2,w,h),e.octNormalRight=r.getProperty("NORMAL_RIGHT_OCT32P",nt.UNSIGNED_SHORT,2,w,b),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(kTe.Ellipsoid.WGS84.eastNorthUpToFixedFrame(a,p),p.getRotationMatrix3(l)):l.identity()}C&&(u.copy(o).cross(s).normalize(),l.setColumn(0,o),l.setColumn(1,s),l.setColumn(2,u)),c.fromMatrix3(l),d.rotation=c,f.set(1,1,1);let D=r.getProperty("SCALE",nt.FLOAT,1,w,v);Number.isFinite(D)&&f.multiplyByScalar(D);let R=r.getProperty("SCALE_NON_UNIFORM",nt.FLOAT,3,w,h);R&&f.scale(R),d.scale=f;let O=r.getProperty("BATCH_ID",nt.UNSIGNED_SHORT,1,w,y);O===void 0&&(O=w);let L=new is.Matrix4().fromQuaternion(d.rotation);p.identity(),p.translate(d.translation),p.multiplyRight(L),p.scale(d.scale);let P=p.clone();i[w]={modelMatrix:P,batchId:O}}e.instances=i}async function RTe(e,r,t,n,i,a){t=Pp(e,r,t);let o=new DataView(r);for(e.tilesLength=o.getUint32(t,!0),t+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-t>12;){let s={shape:"tile3d"};e.tiles.push(s),t=await a(r,t,n,i,s)}return t}async function ITe(e,r,t,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=((i=t==null?void 0:t["3d-tiles"])==null?void 0:i.assetGltfUpAxis)?t["3d-tiles"].assetGltfUpAxis:"Y",(a=t==null?void 0:t["3d-tiles"])==null?void 0:a.loadGLTF){if(!n)return r.byteLength;let o=await Ko(r,Tf,t,n);e.gltf=aE(o),e.gpuMemoryUsageInBytes=Y2(e.gltf)}else e.gltfArrayBuffer=r;return r.byteLength}async function qG(e,r=0,t,n,i={shape:"tile3d"}){switch(i.byteOffset=r,i.type=JSe(e,r),i.type){case Vs.COMPOSITE:return await RTe(i,e,r,t,n,qG);case Vs.BATCHED_3D_MODEL:return await OTe(i,e,r,t,n);case Vs.GLTF:return await ITe(i,e,t,n);case Vs.INSTANCED_3D_MODEL:return await FTe(i,e,r,t,n);case Vs.POINT_CLOUD:return await yAe(i,e,r,t,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}var B7r=1952609651,j7r=1;async function NG(e,r,t){if(new Uint32Array(e.slice(0,4))[0]!==B7r)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==j7r)throw new Error("Wrong subtree file verson, must be 1");let a=PTe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),l=JSON.parse(u),c=PTe(e.slice(16,24)),f=new ArrayBuffer(0);if(c&&(f=e.slice(24+a)),await Tk(l,l.tileAvailability,f,t),Array.isArray(l.contentAvailability))for(let d of l.contentAvailability)await Tk(l,d,f,t);else await Tk(l,l.contentAvailability,f,t);return await Tk(l,l.childSubtreeAvailability,f,t),l}async function Tk(e,r,t,n){let i=Number.isFinite(r.bitstream)?r.bitstream:r.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n==null?void 0:n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let s=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(s)).arrayBuffer();r.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}r.explicitBitstream=new Uint8Array(t,a.byteOffset,a.byteLength)}function PTe(e){let r=new DataView(e),t=r.getUint32(0,!0),n=r.getUint32(4,!0);return t+2**32*n}var Ck={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Qb,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:NG,options:{}};function UG(e){if(typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function Vu(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||UG()}var M7r=globalThis.self||globalThis.window||globalThis.global,py=globalThis.window||globalThis.self||globalThis.global,L7r=globalThis.document||{},em=globalThis.process||{},q7r=globalThis.console,YFt=globalThis.navigator||{};var Dk="4.0.0-alpha.25",QFt=Vu();function N7r(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var GG=class{constructor(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=N7r(n),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 BTe(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function jTe(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function Ok(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var kk;(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"})(kk||(kk={}));var U7r=10;function MTe(e){return typeof e!="string"?e:(e=e.toUpperCase(),kk[e]||kk.WHITE)}function LTe(e,r,t){if(!Vu&&typeof e=="string"){if(r){let n=MTe(r);e="[".concat(n,"m").concat(e,"[39m")}if(t){let n=MTe(t);e="[".concat(n+U7r,"m").concat(e,"[49m")}}return e}function qTe(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(r.find(s=>a===s)||(i[a]=o.bind(e)))}}function hy(e,r){if(!e)throw new Error(r||"Assertion failed")}function rm(){let e;if(Vu()&&py.performance){var r,t;e=py===null||py===void 0||(r=py.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in em){var n;let i=em===null||em===void 0||(n=em.hrtime)===null||n===void 0?void 0:n.call(em);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var my={debug:Vu()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},G7r={enabled:!0,level:0};function Ys(){}var NTe={},UTe={once:!0},Fk=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Dk,this._startTs=rm(),this._deltaTs=rm(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new GG("__probe-".concat(this.id,"__"),G7r),this.timeStamp("".concat(this.id," started")),qTe(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((rm()-this._startTs).toPrecision(10))}getDelta(){return Number((rm()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){hy(r,t)}warn(r){return this._getLogFunction(0,r,my.warn,arguments,UTe)}error(r){return this._getLogFunction(0,r,my.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,my.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,my.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,my.debug||my.info,arguments,UTe)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Ys,n&&[n],{tag:V7r(t)}):Ys}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:o=1}=r;return this._shouldLog(t||n)?Vu()?W7r({image:i,message:a,scale:o}):H7r({image:i,message:a,scale:o}):Ys}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Ys)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=zTe({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Ys)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=GTe(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=zTe({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,hy(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=rm();let o=a.tag||a.message;if(a.once&&o)if(!NTe[o])NTe[o]=rm();else return Ys;return t=z7r(this.id,a.message,a),n.bind(console,t,...a.args)}return Ys}};Fk.VERSION=Dk;function GTe(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 hy(Number.isFinite(r)&&r>=0),r}function zTe(e){let{logLevel:r,message:t}=e;e.logLevel=GTe(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return hy(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function z7r(e,r,t){if(typeof r=="string"){let n=t.time?jTe(BTe(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=LTe(r,t.color,t.background)}return r}function H7r(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Ys}function W7r(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let o=Ok(a,t,n);console.log(...o)},a.src=r,Ys}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ok(r,t,n)),Ys;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Ok(a,t,n)),a.src=r.toDataURL(),Ys}return Ys}function V7r(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var zG=new Fk({id:"@probe.gl/log"});var $s=null;try{$s=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Pn(e,r,t){this.low=e|0,this.high=r|0,this.unsigned=!!t}Pn.prototype.__isLong__;Object.defineProperty(Pn.prototype,"__isLong__",{value:!0});function Qa(e){return(e&&e.__isLong__)===!0}function HTe(e){var r=Math.clz32(e&-e);return e?31-r:r}Pn.isLong=Qa;var WTe={},VTe={};function tm(e,r){var t,n,i;return r?(e>>>=0,(i=0<=e&&e<256)&&(n=VTe[e],n)?n:(t=Qt(e,0,!0),i&&(VTe[e]=t),t)):(e|=0,(i=-128<=e&&e<128)&&(n=WTe[e],n)?n:(t=Qt(e,e<0?-1:0,!1),i&&(WTe[e]=t),t))}Pn.fromInt=tm;function Js(e,r){if(isNaN(e))return r?Cf:Xu;if(r){if(e<0)return Cf;if(e>=XTe)return ZTe}else{if(e<=-YTe)return Bo;if(e+1>=YTe)return QTe}return e<0?Js(-e,r).neg():Qt(e%gy|0,e/gy|0,r)}Pn.fromNumber=Js;function Qt(e,r,t){return new Pn(e,r,t)}Pn.fromBits=Qt;var Rk=Math.pow;function HG(e,r,t){if(e.length===0)throw Error("empty string");if(typeof r=="number"?(t=r,r=!1):r=!!r,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return r?Cf:Xu;if(t=t||10,t<2||36<t)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return HG(e.substring(1),r,t).neg();for(var i=Js(Rk(t,8)),a=Xu,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),t);if(s<8){var l=Js(Rk(t,s));a=a.mul(l).add(Js(u))}else a=a.mul(i),a=a.add(Js(u))}return a.unsigned=r,a}Pn.fromString=HG;function Ku(e,r){return typeof e=="number"?Js(e,r):typeof e=="string"?HG(e,r):Qt(e.low,e.high,typeof r=="boolean"?r:e.unsigned)}Pn.fromValue=Ku;var KTe=1<<16,K7r=1<<24,gy=KTe*KTe,XTe=gy*gy,YTe=XTe/2,$Te=tm(K7r),Xu=tm(0);Pn.ZERO=Xu;var Cf=tm(0,!0);Pn.UZERO=Cf;var vy=tm(1);Pn.ONE=vy;var JTe=tm(1,!0);Pn.UONE=JTe;var WG=tm(-1);Pn.NEG_ONE=WG;var QTe=Qt(4294967295|0,2147483647|0,!1);Pn.MAX_VALUE=QTe;var ZTe=Qt(4294967295|0,4294967295|0,!0);Pn.MAX_UNSIGNED_VALUE=ZTe;var Bo=Qt(0,2147483648|0,!1);Pn.MIN_VALUE=Bo;var Ve=Pn.prototype;Ve.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ve.toNumber=function(){return this.unsigned?(this.high>>>0)*gy+(this.low>>>0):this.high*gy+(this.low>>>0)};Ve.toString=function(r){if(r=r||10,r<2||36<r)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Bo)){var t=Js(r),n=this.div(t),i=n.mul(t).sub(this);return n.toString(r)+i.toInt().toString(r)}else return"-"+this.neg().toString(r);for(var a=Js(Rk(r,6),this.unsigned),o=this,s="";;){var u=o.div(a),l=o.sub(u.mul(a)).toInt()>>>0,c=l.toString(r);if(o=u,o.isZero())return c+s;for(;c.length<6;)c="0"+c;s=""+c+s}};Ve.getHighBits=function(){return this.high};Ve.getHighBitsUnsigned=function(){return this.high>>>0};Ve.getLowBits=function(){return this.low};Ve.getLowBitsUnsigned=function(){return this.low>>>0};Ve.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Bo)?64:this.neg().getNumBitsAbs();for(var r=this.high!=0?this.high:this.low,t=31;t>0&&(r&1<<t)==0;t--);return this.high!=0?t+33:t+1};Ve.isZero=function(){return this.high===0&&this.low===0};Ve.eqz=Ve.isZero;Ve.isNegative=function(){return!this.unsigned&&this.high<0};Ve.isPositive=function(){return this.unsigned||this.high>=0};Ve.isOdd=function(){return(this.low&1)==1};Ve.isEven=function(){return(this.low&1)==0};Ve.equals=function(r){return Qa(r)||(r=Ku(r)),this.unsigned!==r.unsigned&&this.high>>>31==1&&r.high>>>31==1?!1:this.high===r.high&&this.low===r.low};Ve.eq=Ve.equals;Ve.notEquals=function(r){return!this.eq(r)};Ve.neq=Ve.notEquals;Ve.ne=Ve.notEquals;Ve.lessThan=function(r){return this.comp(r)<0};Ve.lt=Ve.lessThan;Ve.lessThanOrEqual=function(r){return this.comp(r)<=0};Ve.lte=Ve.lessThanOrEqual;Ve.le=Ve.lessThanOrEqual;Ve.greaterThan=function(r){return this.comp(r)>0};Ve.gt=Ve.greaterThan;Ve.greaterThanOrEqual=function(r){return this.comp(r)>=0};Ve.gte=Ve.greaterThanOrEqual;Ve.ge=Ve.greaterThanOrEqual;Ve.compare=function(r){if(Qa(r)||(r=Ku(r)),this.eq(r))return 0;var t=this.isNegative(),n=r.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?r.high>>>0>this.high>>>0||r.high===this.high&&r.low>>>0>this.low>>>0?-1:1:this.sub(r).isNegative()?-1:1};Ve.comp=Ve.compare;Ve.negate=function(){return!this.unsigned&&this.eq(Bo)?Bo:this.not().add(vy)};Ve.neg=Ve.negate;Ve.add=function(r){Qa(r)||(r=Ku(r));var t=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=r.high>>>16,s=r.high&65535,u=r.low>>>16,l=r.low&65535,c=0,f=0,d=0,p=0;return p+=a+l,d+=p>>>16,p&=65535,d+=i+u,f+=d>>>16,d&=65535,f+=n+s,c+=f>>>16,f&=65535,c+=t+o,c&=65535,Qt(d<<16|p,c<<16|f,this.unsigned)};Ve.subtract=function(r){return Qa(r)||(r=Ku(r)),this.add(r.neg())};Ve.sub=Ve.subtract;Ve.multiply=function(r){if(this.isZero())return this;if(Qa(r)||(r=Ku(r)),$s){var t=$s.mul(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}if(r.isZero())return this.unsigned?Cf:Xu;if(this.eq(Bo))return r.isOdd()?Bo:Xu;if(r.eq(Bo))return this.isOdd()?Bo:Xu;if(this.isNegative())return r.isNegative()?this.neg().mul(r.neg()):this.neg().mul(r).neg();if(r.isNegative())return this.mul(r.neg()).neg();if(this.lt($Te)&&r.lt($Te))return Js(this.toNumber()*r.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=r.high>>>16,u=r.high&65535,l=r.low>>>16,c=r.low&65535,f=0,d=0,p=0,h=0;return h+=o*c,p+=h>>>16,h&=65535,p+=a*c,d+=p>>>16,p&=65535,p+=o*l,d+=p>>>16,p&=65535,d+=i*c,f+=d>>>16,d&=65535,d+=a*l,f+=d>>>16,d&=65535,d+=o*u,f+=d>>>16,d&=65535,f+=n*c+i*l+a*u+o*s,f&=65535,Qt(p<<16|h,f<<16|d,this.unsigned)};Ve.mul=Ve.multiply;Ve.divide=function(r){if(Qa(r)||(r=Ku(r)),r.isZero())throw Error("division by zero");if($s){if(!this.unsigned&&this.high===-2147483648&&r.low===-1&&r.high===-1)return this;var t=(this.unsigned?$s.div_u:$s.div_s)(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Cf:Xu;var n,i,a;if(this.unsigned){if(r.unsigned||(r=r.toUnsigned()),r.gt(this))return Cf;if(r.gt(this.shru(1)))return JTe;a=Cf}else{if(this.eq(Bo)){if(r.eq(vy)||r.eq(WG))return Bo;if(r.eq(Bo))return vy;var o=this.shr(1);return n=o.div(r).shl(1),n.eq(Xu)?r.isNegative()?vy:WG:(i=this.sub(r.mul(n)),a=n.add(i.div(r)),a)}else if(r.eq(Bo))return this.unsigned?Cf:Xu;if(this.isNegative())return r.isNegative()?this.neg().div(r.neg()):this.neg().div(r).neg();if(r.isNegative())return this.div(r.neg()).neg();a=Xu}for(i=this;i.gte(r);){n=Math.max(1,Math.floor(i.toNumber()/r.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:Rk(2,s-48),l=Js(n),c=l.mul(r);c.isNegative()||c.gt(i);)n-=u,l=Js(n,this.unsigned),c=l.mul(r);l.isZero()&&(l=vy),a=a.add(l),i=i.sub(c)}return a};Ve.div=Ve.divide;Ve.modulo=function(r){if(Qa(r)||(r=Ku(r)),$s){var t=(this.unsigned?$s.rem_u:$s.rem_s)(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}return this.sub(this.div(r).mul(r))};Ve.mod=Ve.modulo;Ve.rem=Ve.modulo;Ve.not=function(){return Qt(~this.low,~this.high,this.unsigned)};Ve.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ve.clz=Ve.countLeadingZeros;Ve.countTrailingZeros=function(){return this.low?HTe(this.low):HTe(this.high)+32};Ve.ctz=Ve.countTrailingZeros;Ve.and=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low&r.low,this.high&r.high,this.unsigned)};Ve.or=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low|r.low,this.high|r.high,this.unsigned)};Ve.xor=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low^r.low,this.high^r.high,this.unsigned)};Ve.shiftLeft=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low<<r,this.high<<r|this.low>>>32-r,this.unsigned):Qt(0,this.low<<r-32,this.unsigned)};Ve.shl=Ve.shiftLeft;Ve.shiftRight=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low>>>r|this.high<<32-r,this.high>>r,this.unsigned):Qt(this.high>>r-32,this.high>=0?0:-1,this.unsigned)};Ve.shr=Ve.shiftRight;Ve.shiftRightUnsigned=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low>>>r|this.high<<32-r,this.high>>>r,this.unsigned):r===32?Qt(this.high,0,this.unsigned):Qt(this.high>>>r-32,0,this.unsigned)};Ve.shru=Ve.shiftRightUnsigned;Ve.shr_u=Ve.shiftRightUnsigned;Ve.rotateLeft=function(r){var t;return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r===32?Qt(this.high,this.low,this.unsigned):r<32?(t=32-r,Qt(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned)):(r-=32,t=32-r,Qt(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned))};Ve.rotl=Ve.rotateLeft;Ve.rotateRight=function(r){var t;return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r===32?Qt(this.high,this.low,this.unsigned):r<32?(t=32-r,Qt(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned)):(r-=32,t=32-r,Qt(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned))};Ve.rotr=Ve.rotateRight;Ve.toSigned=function(){return this.unsigned?Qt(this.low,this.high,!1):this};Ve.toUnsigned=function(){return this.unsigned?this:Qt(this.low,this.high,!0)};Ve.toBytes=function(r){return r?this.toBytesLE():this.toBytesBE()};Ve.toBytesLE=function(){var r=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,r&255,r>>>8&255,r>>>16&255,r>>>24]};Ve.toBytesBE=function(){var r=this.high,t=this.low;return[r>>>24,r>>>16&255,r>>>8&255,r&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Pn.fromBytes=function(r,t,n){return n?Pn.fromBytesLE(r,t):Pn.fromBytesBE(r,t)};Pn.fromBytesLE=function(r,t){return new Pn(r[0]|r[1]<<8|r[2]<<16|r[3]<<24,r[4]|r[5]<<8|r[6]<<16|r[7]<<24,t)};Pn.fromBytesBE=function(r,t){return new Pn(r[4]<<24|r[5]<<16|r[6]<<8|r[7],r[0]<<24|r[1]<<16|r[2]<<8|r[3],t)};var by=Pn;var X7r=16;function oE(e){e==="X"&&(e="");let r=e.padEnd(X7r,"0");return by.fromString(r,!0,16)}function VG(e){if(e.isZero())return"X";let r=e.countTrailingZeros(),t=r%4;r=(r-t)/4;let n=r;r*=4;let a=e.shiftRightUnsigned(r).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function KG(e,r){let t=Y7r(e).shiftRightUnsigned(2);return e.add(by.fromNumber(2*r+1-4).multiply(t))}function Y7r(e){return e.and(e.not().add(1))}var $7r=3,J7r=30,Q7r=2*J7r+1,e3e=180/Math.PI;function r3e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let r=e.split("/"),t=parseInt(r[0],10),n=r[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],l=0,c=0;u==="1"?c=1:u==="2"?(l=1,c=1):u==="3"&&(l=1);let f=Math.pow(2,a-1);Z7r(f,o,l,c),o[0]+=f*l,o[1]+=f*c}if(t%2==1){let s=o[0];o[0]=o[1],o[1]=s}return{face:t,ij:o,level:a}}function t3e(e){if(e.isZero())return"";let r=e.toString(2);for(;r.length<$7r+Q7r;)r="0"+r;let t=r.lastIndexOf("1"),n=r.substring(0,3),i=r.substring(3,t),a=i.length/2,o=by.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=by.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function XG(e,r,t){let n=1<<r;return[(e[0]+t[0])/n,(e[1]+t[1])/n]}function n3e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function YG(e){return[n3e(e[0]),n3e(e[1])]}function $G(e,[r,t]){switch(e){case 0:return[1,r,t];case 1:return[-r,1,t];case 2:return[-r,-t,1];case 3:return[-1,-t,-r];case 4:return[t,-1,-r];case 5:return[t,r,-1];default:throw new Error("Invalid face")}}function JG([e,r,t]){let n=Math.atan2(t,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*e3e,n*e3e]}function Z7r(e,r,t,n){if(n===0){t===1&&(r[0]=e-1-r[0],r[1]=e-1-r[1]);let i=r[0];r[0]=r[1],r[1]=i}}function i3e(e){let r=XG(e.ij,e.level,[.5,.5]),t=YG(r),n=$G(e.face,t);return JG(n)}var eNr=100;function QG(e){let{face:r,ij:t,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(eNr*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let l=0;l<4;l++){let c=i[l].slice(0),f=i[l+1],d=(f[0]-c[0])/a,p=(f[1]-c[1])/a;for(let h=0;h<a;h++){c[0]+=d,c[1]+=p;let b=XG(t,n,c),v=YG(b),y=$G(r,v),w=JG(y);Math.abs(w[1])>89.999&&(w[0]=u);let A=w[0]-u;w[0]+=A>180?-360:A<-180?360:0,o[s++]=w[0],o[s++]=w[1],u=w[0]}}return o[s++]=o[0],o[s++]=o[1],o}function yy(e){let r=rNr(e);return r3e(r)}function rNr(e){if(e.indexOf("/")>0)return e;let r=oE(e);return t3e(r)}function ZG(e){let r=yy(e);return i3e(r)}function a3e(e){let r;if(e.face===2||e.face===5){let t=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=yy(a),s=QG(o);(typeof t=="undefined"||t===null)&&(t=new Float64Array(4*s.length)),t.set(s,n),n+=s.length}r=o3e(t)}else{let t=QG(e);r=o3e(t)}return r}function o3e(e){if(e.length%2!=0)throw new Error("Invalid corners");let r=[],t=[];for(let n=0;n<e.length;n+=2)r.push(e[n]),t.push(e[n+1]);return r.sort((n,i)=>n-i),t.sort((n,i)=>n-i),{west:r[0],east:r[r.length-1],north:t[t.length-1],south:t[0]}}var Df=He($t());function ez(e,r){let t=(r==null?void 0:r.minimumHeight)||0,n=(r==null?void 0:r.maximumHeight)||0,i=yy(e),a=a3e(i),o=a.west,s=a.south,u=a.east,l=a.north,c=[];return c.push(new Df.Vector3(o,l,t)),c.push(new Df.Vector3(u,l,t)),c.push(new Df.Vector3(u,s,t)),c.push(new Df.Vector3(o,s,t)),c.push(new Df.Vector3(o,l,n)),c.push(new Df.Vector3(u,l,n)),c.push(new Df.Vector3(u,s,n)),c.push(new Df.Vector3(o,s,n)),c}var s3e=He($t()),u3e=He(K0());var l3e=He(zs());function Ik(e){let r=e.token,t={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=ez(r,t),i=ZG(r),a=i[0],o=i[1],s=l3e.Ellipsoid.WGS84.cartographicToCartesian([a,o,t.maximumHeight]),u=new s3e.Vector3(s[0],s[1],s[2]);n.push(u);let l=(0,u3e.makeOrientedBoundingBoxFromPoints)(n);return[...l.center,...l.halfAxes]}var tNr=4,nNr=8,iNr={QUADTREE:tNr,OCTREE:nNr};function aNr(e,r,t){if(e==null?void 0:e.box){let n=oE(e.s2VolumeInfo.token),i=KG(n,r),a=VG(i),o=oe({},e.s2VolumeInfo);switch(o.token=a,t){case"OCTREE":let l=e.s2VolumeInfo,c=l.maximumHeight-l.minimumHeight,f=c/2,d=l.minimumHeight+c/2;l.minimumHeight=d-f,l.maximumHeight=d+f;break;default:break}return{box:Ik(o),s2VolumeInfo:o}}}async function rz(e){let{implicitOptions:r,parentData:t={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,globalData:i={level:0,mortonIndex:0,x:0,y:0,z:0},s2VolumeBox:a,loaderOptions:o}=e,{subtree:s,level:u=0}=e,{subdivisionScheme:l,subtreeLevels:c,maximumLevel:f,contentUrlTemplate:d,subtreesUriTemplate:p,basePath:h}=r,b={children:[],lodMetricValue:0,contentUrl:""};if(!f)return zG.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${d} won't be loaded...`),b;let v=u+i.level;if(v>f)return b;let y=iNr[l],w=Math.log2(y),A=n&1,C=n>>1&1,D=n>>2&1,R=(y**u-1)/(y-1),O=nm(t.mortonIndex,n,w),L=R+O,P=nm(t.x,A,1),V=nm(t.y,C,1),N=nm(t.z,D,1),W=!1;u>=c&&(W=tz(s.childSubtreeAvailability,O));let M=nm(i.x,P,u*w),H=nm(i.y,V,u*w),$=nm(i.z,N,u*w);if(W){let me=`${h}/${p}`,Me=Pk(me,v,M,H,$);s=await yn(Me,Ck,o),i.mortonIndex=O,i.x=P,i.y=V,i.z=N,i.level=u,O=0,L=0,P=0,V=0,N=0,u=0}if(!tz(s.tileAvailability,L))return b;tz(s.contentAvailability,L)&&(b.contentUrl=Pk(d,v,M,H,$));let se=u+1,ce={mortonIndex:O,x:P,y:V,z:N};for(let me=0;me<y;me++){let Me=aNr(a,me,l),Ie=await rz({subtree:s,implicitOptions:r,loaderOptions:o,parentData:ce,childIndex:me,level:se,globalData:oe({},i),s2VolumeBox:Me});if(Ie.contentUrl||Ie.children.length){let Ge=v+1,De=oNr(Ie,Ge,{childTileX:P,childTileY:V,childTileZ:N},r,a);b.children.push(De)}}return b}function tz(e,r){let t;return Array.isArray(e)?(t=e[0],e.length>1&&zG.once('Not supported extension "3DTILES_multiple_contents" has been detected')):t=e,"constant"in t?Boolean(t.constant):t.explicitBitstream?lNr(r,t.explicitBitstream):!1}function oNr(e,r,t,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:l,rootLodMetricValue:c,rootBoundingVolume:f}=n,d=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),p=c/2**r,h=(i==null?void 0:i.box)?{box:i.box}:f,b=sNr(r,h,t);return{children:e.children,contentUrl:e.contentUrl,content:{uri:d},id:e.contentUrl,refine:s(o),type:l(e),lodMetricType:u,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:b}}function sNr(e,r,t){if(r.region){let{childTileX:n,childTileY:i,childTileZ:a}=t,[o,s,u,l,c,f]=r.region,d=2**e,p=(u-o)/d,h=(l-s)/d,b=(f-c)/d,[v,y]=[o+p*n,o+p*(n+1)],[w,A]=[s+h*i,s+h*(i+1)],[C,D]=[c+b*a,c+b*(a+1)];return{region:[v,w,y,A,C,D]}}if(r.box)return r;throw new Error(`Unsupported bounding volume type ${r}`)}function nm(e,r,t){return(e<<t)+r}function Pk(e,r,t,n,i){let a=uNr({level:r,x:t,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function uNr(e){let r={};for(let t in e)r[`{${t}}`]=e[t];return r}function lNr(e,r){let t=Math.floor(e/8),n=e%8;return(r[t]>>n&1)===1}function nz(e,r=""){if(!r)return ic.EMPTY;let n=r.split("?")[0].split(".").pop();switch(n){case"pnts":return ic.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return ic.SCENEGRAPH;default:return n||ic.EMPTY}}function iz(e){switch(e){case"REPLACE":case"replace":return kp.REPLACE;case"ADD":case"add":return kp.ADD;default:return e}}function az(e="",r){if(/^[a-z][0-9a-z+.-]*:/i.test(r)){let n=new URL(e,`${r}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return qu.resolve(r,e)}function c3e(e,r){var i;if(!e)return null;let t;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);t=az(a,r)}return qe(oe({},e),{id:t,contentUrl:t,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:nz(e,t),refine:iz(e.refine)})}async function f3e(e,r,t){let n=null,i=p3e(e.root);i&&e.root?n=await d3e(e.root,e,r,i,t):n=c3e(e.root,r);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let l of s){let c=p3e(l),f;c?f=await d3e(l,e,r,c,t):f=c3e(l,r),f&&(u.push(f),a.push(f))}o.children=u}return n}async function d3e(e,r,t,n,i){var A,C,D;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:l}}=n,c=Pk(l,0,0,0,0),f=az(c,t),d=await yn(f,Ck,i),p=az((A=e.content)==null?void 0:A.uri,t),h=(C=r==null?void 0:r.root)==null?void 0:C.refine,b=e.geometricError,v=(D=e.boundingVolume.extensions)==null?void 0:D["3DTILES_bounding_volume_S2"];if(v){let O={box:Ik(v),s2VolumeInfo:v};e.boundingVolume=O}let y=e.boundingVolume,w={contentUrlTemplate:p,subtreesUriTemplate:l,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:h,basePath:t,lodMetricType:Sf.GEOMETRIC_ERROR,rootLodMetricValue:b,rootBoundingVolume:y,getTileType:nz,getRefine:iz};return await cNr(e,t,d,w,i)}async function cNr(e,r,t,n,i){if(!e)return null;let{children:a,contentUrl:o}=await rz({subtree:t,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${r}/`,"")}),qe(oe({},e),{id:s,contentUrl:s,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:nz(e,s),refine:iz(e.refine),content:u||e.content,children:a})}function p3e(e){var r;return((r=e==null?void 0:e.extensions)==null?void 0:r["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Of={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Qb,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:fNr,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function fNr(e,r={},t){let n=r["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(t==null?void 0:t.url)&&t.url.indexOf(".json")!==-1:i=n.isTileset,i?dNr(e,r,t):pNr(e,r,t)}async function dNr(e,r,t){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(t==null?void 0:t.url)||"",a=hNr(i),o=await f3e(n,a,r||{});return qe(oe({},n),{shape:"tileset3d",loader:Of,url:i,queryString:(t==null?void 0:t.queryString)||"",basePath:a,root:o||n.root,type:X0.TILES3D,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0})}async function pNr(e,r,t){let n={content:{shape:"tile3d",featureIds:null}};return await qG(e,0,r,t,n.content),n.content}function hNr(e){return qu.dirname(e)}var h3e="https://api.cesium.com/v1/assets";async function m3e(e,r){if(!r){let a=await mNr(e);for(let o of a.items)o.type==="3DTILES"&&(r=o.id)}let t=await gNr(e,r),{type:n,url:i}=t;return Qr(n==="3DTILES"&&i),t.headers={Authorization:`Bearer ${t.accessToken}`},t}async function mNr(e){Qr(e);let r=h3e,t={Authorization:`Bearer ${e}`},n=await Jo(r,{headers:t});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function gNr(e,r){Qr(e,r);let t={Authorization:`Bearer ${e}`},n=`${h3e}/${r}`,i=await Jo(`${n}`,{headers:t});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await Jo(`${n}/endpoint`,{headers:t}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a=oe(oe({},a),o),a}async function vNr(e,r={}){r=r["cesium-ion"]||{};let{accessToken:t}=r,n=r.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return m3e(t,n)}var Bk=qe(oe({},Of),{id:"cesium-ion",name:"Cesium Ion",preload:vNr,parse:async(e,r,t)=>(r=oe({},r),r["3d-tiles"]=r["cesium-ion"],r.loader=Bk,Of.parse(e,r,t)),options:{"cesium-ion":qe(oe({},Of.options["3d-tiles"]),{accessToken:null})}});var wDe=He(VH()),MHr="4.0.0-alpha.25",KH={id:"zip",module:"zip",name:"Zip Archive",version:MHr,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:LHr};async function LHr(e,r={}){let t=[],n={};try{let i=new wDe.default;return(await i.loadAsync(e,r)).forEach((o,s)=>{let u=s.name,l=qHr(i,u,r).then(c=>{n[o]=c});t.push(l)}),await Promise.all(t),n}catch(i){throw r.log.error(`Unable to read zip archive: ${i}`),i}}async function qHr(e,r,t={}){try{return await e.file(r).async(t.dataType||"arraybuffer")}catch(n){return t.log.error(`Unable to read ${r} from zip archive: ${n}`),n}}var zE=async(e,r)=>{let t=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=0n;for(let i=e.length-4n;i>-1;i--)if(t[3]=t[2],t[2]=t[1],t[1]=t[0],t[0]=await e.getUint8(i),t.every((a,o)=>a===r[o])){n=i;break}return n};var NHr=[80,75,5,6],UHr=Buffer.from([80,75,6,7]),GHr=Buffer.from([80,75,6,6]),zHr=8n,HHr=16n,WHr=8n,VHr=24n,KHr=48n,SDe=async e=>{let r=await zE(e,NHr),t=BigInt(await e.getUint16(r+zHr)),n=BigInt(await e.getUint32(r+HHr));if(n===BigInt(4294967295)||t===BigInt(4294967295)){let i=r-20n;if(Buffer.from(await e.slice(i,i+4n)).compare(UHr)!==0)throw new Error("zip64 EoCD locator not found");let a=await e.getBigUint64(i+WHr);if(Buffer.from(await e.slice(a,a+4n)).compare(GHr)!==0)throw new Error("zip64 EoCD not found");t=await e.getBigUint64(a+VHr),n=await e.getBigUint64(a+KHr)}return{cdRecordsNumber:t,cdStartOffset:n}};var XHr=20n,YHr=24n,$Hr=28n,JHr=30n,QHr=42n,XH=46n,TF=[80,75,1,2],HE=async(e,r)=>{if(Buffer.from(await r.slice(e,e+4n)).compare(Buffer.from(TF))!==0)return null;let t=BigInt(await r.getUint32(e+XHr)),n=BigInt(await r.getUint32(e+YHr)),i=await r.getUint16(e+JHr),a=await r.getUint16(e+$Hr),o=new TextDecoder().decode(await r.slice(e+XH,e+XH+BigInt(a))),s=e+XH+BigInt(a),u=await r.getUint32(e+QHr),l=BigInt(u),c=4n;return n===BigInt(4294967295)&&(n=await r.getBigUint64(s+c),c+=8n),t===BigInt(4294967295)&&(t=await r.getBigUint64(s+c),c+=8n),l===BigInt(4294967295)&&(l=await r.getBigUint64(s+c)),{compressedSize:t,uncompressedSize:n,extraFieldLength:i,fileNameLength:a,fileName:o,extraOffset:s,localHeaderOffset:l}};async function*CF(e){let{cdStartOffset:r}=await SDe(e),t=await HE(r,e);for(;t;)yield t,t=await HE(t.extraOffset+BigInt(t.extraFieldLength),e)}var ZHr=8n,eWr=18n,rWr=22n,tWr=26n,nWr=28n,DF=30n,ADe=Buffer.from([80,75,3,4]),bm=async(e,r)=>{if(Buffer.from(await r.slice(e,e+4n)).compare(ADe)!==0)return null;let t=await r.getUint16(e+tWr),n=new TextDecoder().decode(await r.slice(e+DF,e+DF+BigInt(t))).split("\\").join("/"),i=await r.getUint16(e+nWr),a=e+DF+BigInt(t+i),o=await r.getUint16(e+ZHr),s=BigInt(await r.getUint32(e+eWr)),u=BigInt(await r.getUint32(e+rWr)),l=e+DF+BigInt(t),c=4n;return u===BigInt(4294967295)&&(u=await r.getBigUint64(l+c),c+=8n),s===BigInt(4294967295)&&(s=await r.getBigUint64(l+c),c+=8n),a===BigInt(4294967295)&&(a=await r.getBigUint64(l+c)),{fileNameLength:t,fileName:n,extraFieldLength:i,fileDataOffset:a,compressedSize:s,compressionMethod:o}};var iWr=He(WE());var ODe=(e,r)=>{let t=new BigUint64Array(e.buffer,e.byteOffset,2),n=new BigUint64Array(r.buffer,r.byteOffset,2),i=t[0]===n[0]?t[1]-n[1]:t[0]-n[0];return i<0n?-1:i===0n?0:1},QH=e=>{let r=Buffer.from(e),t=[];for(let n=0;n<r.buffer.byteLength;n=n+24){let i=new DataView(r.buffer.slice(r.byteOffset+n+16,r.byteOffset+n+24)),a=i.getBigUint64(i.byteOffset,!0);t.push({hash:Buffer.from(r.subarray(r.byteOffset+n,r.byteOffset+n+16)),offset:a})}return t},ZH=(e,r)=>{let t=0,n=r.length;for(;n-t>1;){let i=t+Math.floor((n-t)/2),a=ODe(r[i].hash,e);if(a===0)return r[i];a<0?t=i:n=i}};var VE=class{constructor(r){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(){}async compress(r){return await this.preload(),this.compressSync(r)}async decompress(r,t){return await this.preload(),this.decompressSync(r,t)}compressSync(r){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(r,t){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(r){let t=await this.concatenate(r);yield this.compress(t)}async*decompressBatches(r){let t=await this.concatenate(r);yield this.decompress(t)}concatenate(r){return c2(r)}improveError(r){return r.message.includes(this.name)||(r.message=`${this.name} ${r.message}`),r}};var OF=class extends VE{constructor(r){super(r);this.name="uncompressed";this.extensions=[];this.contentEncodings=[];this.isSupported=!0;this.options=r||{}}compressSync(r){return r}decompressSync(r){return r}async*compressBatches(r){return yield*r}async*decompressBatches(r){return yield*r}};var ym=He(IH()),Nf=He(require("zlib"));var Wy=class extends VE{constructor(r={}){super(r);this.name="deflate";this.extensions=[];this.contentEncodings=["deflate"];this.isSupported=!0;this._chunks=[];this.options=r}async compress(r){var t,n;if(!En&&((t=this.options.deflate)==null?void 0:t.useZlib)){let i=((n=this.options.deflate)==null?void 0:n.gzip)?await Ab(Nf.default.gzip)(r):await Ab(Nf.default.deflate)(r);return ff(i)}return this.compressSync(r)}async decompress(r){var t,n;if(!En&&((t=this.options.deflate)==null?void 0:t.useZlib)){let i=((n=this.options.deflate)==null?void 0:n.gzip)?await Ab(Nf.default.gunzip)(r):await Ab(Nf.default.inflate)(r);return ff(i)}return this.decompressSync(r)}compressSync(r){var a,o,s,u;if(!En&&((a=this.options.deflate)==null?void 0:a.useZlib)){let l=((o=this.options.deflate)==null?void 0:o.gzip)?Nf.default.gzipSync(r):Nf.default.deflateSync(r);return ff(l)}let t=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(r);return(((u=this.options)==null?void 0:u.raw)?ym.default.deflateRaw:ym.default.deflate)(n,t).buffer}decompressSync(r){var a,o,s,u;if(!En&&((a=this.options.deflate)==null?void 0:a.useZlib)){let l=((o=this.options.deflate)==null?void 0:o.gzip)?Nf.default.gunzipSync(r):Nf.default.inflateSync(r);return ff(l)}let t=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(r);return(((u=this.options)==null?void 0:u.raw)?ym.default.inflateRaw:ym.default.inflate)(n,t).buffer}async*compressBatches(r){var i;let t=((i=this.options)==null?void 0:i.deflate)||{},n=new ym.default.Deflate(t);yield*this.transformBatches(n,r)}async*decompressBatches(r){var i;let t=((i=this.options)==null?void 0:i.deflate)||{},n=new ym.default.Inflate(t);yield*this.transformBatches(n,r)}async*transformBatches(r,t){r.onData=this._onData.bind(this),r.onEnd=this._onEnd.bind(this);for await(let o of t){let s=new Uint8Array(o);if(!r.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=r.push(n,!0);yield*this._getChunks()}_onData(r){this._chunks.push(r)}_onEnd(r){if(r!==0)throw new Error(this._getError(r)+this._chunks.length)}_getChunks(){let r=this._chunks;return this._chunks=[],r}_getError(r=0){let t={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${t[r]}`}};var aWr={0:async e=>e,8:async e=>await new Wy({raw:!0}).decompress(e)},kF=class{constructor(r){this.fileProvider=Promise.resolve(null);if(typeof r=="string")if(this.fileName=r,!En)this.fileProvider=Tb.from(r);else throw new Error("Cannot open file for random access in a WEB browser");else wN(r)&&(this.fileProvider=Promise.resolve(r))}async destroy(){let r=await this.fileProvider;r&&await r.destroy()}async readdir(){let r=await this.fileProvider;if(!r)throw new Error("No data detected in the zip archive");let t=[],n=CF(r);for await(let i of n)t.push(i.fileName);return t}async stat(r){let t=await this.getCDFileHeader(r);return qe(oe({},t),{size:Number(t.uncompressedSize)})}async fetch(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");let n=await this.getCDFileHeader(r),i=await bm(n.localHeaderOffset,t);if(!i)throw new Error("Local file header has not been found in the zip archive`");let a=aWr[i.compressionMethod.toString()];if(!a)throw Error("Only Deflation compression is supported");let o=await t.slice(i.fileDataOffset,i.fileDataOffset+i.compressedSize),s=await a(o),u=new Response(s);return Object.defineProperty(u,"url",{value:`${this.fileName||""}/${r}`}),u}async getCDFileHeader(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");let n=CF(t),i=null;for await(let a of n)if(a.fileName===r){i=a;break}if(!i)throw new Error("File has not been found in the zip archive");return i}};var kDe=He(WE());var oWr={0:e=>new OF().decompress(e),8:e=>new Wy({raw:!0}).decompress(e)},eW=class{constructor(r,t){this.fileProvider=r,this.hashArray=t}async getFile(r){let t=await this.getFileBytes(r.toLocaleLowerCase());if(t||(t=await this.getFileBytes(r)),!t)throw new Error("No such file in the archive");return t}async getFileBytes(r){let t=Buffer.from((0,kDe.default)(r),"hex"),n=ZH(t,this.hashArray);if(!n)return null;let i=await bm(n.offset,this.fileProvider);if(!i)return null;let a=await this.fileProvider.slice(i.fileDataOffset,i.fileDataOffset+i.compressedSize),o=oWr[i.compressionMethod];if(!o)throw Error("Only Deflation compression is supported");return o(a)}};var FF=class extends kF{constructor(r){super(r)}async fetch(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");if(await this.parseHashFile(),this.hashData){let i=await new eW(t,this.hashData).getFile(r),a=new Response(i);return Object.defineProperty(a,"url",{value:`${this.fileName||""}/${r}`}),a}return super.fetch(r)}async parseHashFile(){if(this.hashData!==void 0)return;let r=await this.fileProvider;if(!r)throw new Error("No data detected in the zip archive");let t=await zE(r,TF),n=await HE(t,r);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await bm(n.localHeaderOffset,r);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await r.slice(a,a+i.compressedSize);this.hashData=QH(o)}else this.hashData=null}};function Yp(e,r,t){let n=12;if(!r)return t+n;let{magic:i,version:a=1,byteLength:o=12}=e;return Qr(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),r.setUint8(t+0,i[0]),r.setUint8(t+1,i[1]),r.setUint8(t+2,i[2]),r.setUint8(t+3,i[3]),r.setUint32(t+4,a,!0),r.setUint32(t+8,o,!0),t+=n,t}function $p(e,r,t){!e||e.setUint32(r+8,t,!0)}function FDe(e,r,t,n,i){e=oe({magic:Fp.COMPOSITE,tiles:[]},e);let a=t;t+=Yp(e,r,t),r&&r.setUint32(t,e.tiles.length,!0),t+=4;for(let o=0;o<e.tiles.length;++o)t+=i(e.tiles[o],r,t,n);return $p(r,a,t-a),t}function RDe(e,r,t,n){let{featuresLength:i=0,batchTable:a}=e,o={BATCH_LENGTH:i},s=JSON.stringify(o),u=a?JSON.stringify(a):"",l=Yo(s.length,8),c=u?Yo(u.length,8):0;e=oe({magic:Fp.BATCHED_MODEL},e);let f=t;t=Yp(e,r,t),r&&(r.setUint32(12,l,!0),r.setUint32(16,0,!0),r.setUint32(20,c,!0),r.setUint32(24,0,!0)),t+=16,t=Sb(r,t,s,8),a&&(t=Sb(r,t,u,8));let d=e.gltfEncoded;return d&&(t=l2(r,t,d,d.byteLength)),$p(r,f,t-f),t}function IDe(e,r,t,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},l=JSON.stringify(u),c=l.length;e=oe({magic:Fp.INSTANCED_MODEL},e);let f=t;return t=Yp(e,r,0),r&&(r.setUint32(12,c,!0),r.setUint32(16,0,!0),r.setUint32(20,0,!0),r.setUint32(24,0,!0),r.setUint32(28,a,!0)),t+=20,t+=wb(r,t,l,c),t+=wb(r,t,o,s),$p(r,f,t-f),t}var sWr={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function PDe(e,r,t,n){let{featureTableJson:i=sWr}=e,a=JSON.stringify(i);a=dN(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e=oe({magic:Fp.POINT_CLOUD},e);let l=t;return t+=Yp(e,r,0),r&&(r.setUint32(t+0,o,!0),r.setUint32(t+4,u,!0),r.setUint32(t+8,0,!0),r.setUint32(t+12,0,!0)),t+=16,t+=wb(r,t,a,o),t+=l2(r,t,s,u),$p(r,l,t-l),t}function rW(e,r){let t=tW(e,null,0,r),n=new ArrayBuffer(t),i=new DataView(n);return tW(e,i,0,r),n}function tW(e,r,t,n){switch(Qr(typeof e.type=="string"),e.type){case Vs.COMPOSITE:return FDe(e,r,t,n,tW);case Vs.POINT_CLOUD:return PDe(e,r,t,n);case Vs.BATCHED_3D_MODEL:return RDe(e,r,t,n);case Vs.INSTANCED_3D_MODEL:return IDe(e,r,t,n);default:throw new Error("3D Tiles: unknown tile type")}}var nW={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Qb,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],encodeSync:uWr,binary:!0,options:{["3d-tiles"]:{}}};function uWr(e,r){return rW(e,r)}var ro=He(require("path"));var bc=He(ZDe()),wBt=bc.default.v1,SBt=bc.default.v3,Gf=bc.default.v4,ABt=bc.default.v5,TBt=bc.default.NIL,CBt=bc.default.version,DBt=bc.default.validate,OBt=bc.default.stringify,kBt=bc.default.parse;var Km=He(require("process")),G4=He(rl()),iY=He(WE());var Ax=He(require("path")),QBe=He(rl());var sOe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var wx=He(require("fs")),Sx=He(require("path"));var XBe=He(require("zlib")),YBe=He(require("path")),Yw=He(require("fs")),Wot=He(KBe());var Vot=He(VH());var Kot=He(YH());function D4(e){let r=`${e}.gz`,t=(0,XBe.createGzip)(),n=(0,Yw.createReadStream)(e),i=(0,Yw.createWriteStream)(r);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${r} compressed and saved.`),a(r)}),n.on("error",s=>{console.log(`${r}: compression error!`),o(s)}),n.pipe(t).pipe(i)})}async function $Be(e,r,t,n,i){process.platform==="win32"?await Yot(e,r,t,n,i):await Xot(e,r,t,n)}async function Xot(e,r,t=0,n="."){let i=$w(r),a=[`-${t}`,"-r",i,n];await new yp().start({command:"zip",arguments:a,spawn:{cwd:e},wait:0})}async function Yot(e,r,t=0,n=(0,YBe.join)(".","*"),i){n[0]==="@"&&(n=`*${n.substr(1)}`);let a=$w(r),o=["a","-tzip",`-mx=${t}`,a,n];await new yp().start({command:i,arguments:o,spawn:{cwd:`${e}`},wait:0})}async function Gi(e,r,t="index.json"){let n;r instanceof Promise?n=new Uint8Array(await r):r instanceof ArrayBuffer?n=new Uint8Array(r):n=r,await wx.promises.mkdir(e,{recursive:!0});let i=(0,Sx.join)(e,t);try{await wx.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Ac(e,r,t="index.json",n=!0,i){let a=await Gi(e,r,t);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);{let o=await D4(a);return await jX(a),o}}return a}async function O4(e,r){return new Promise((t,n)=>{let i=0;console.log(`load ${e}/${r}.`);let a=setInterval(()=>{let o=(0,Sx.join)(e,r);yn(o,mN).then(s=>{clearInterval(a),t(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${r}.`)))})},200)})}async function JBe(e){try{return await wx.promises.stat(e),!0}catch{return!1}}function Jw(e){return wx.promises.rm(e,{recursive:!0})}function jX(e){return wx.promises.unlink(e)}function $w(e){return(0,Sx.isAbsolute)(e)?e:(0,Sx.join)(process.cwd(),e)}var Mo=class{constructor(r,t,n){this.length=0;this.nodesPerPage=t,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=r,this.converter=n,this.length=0}useWriteFunction(r){this.writeFile=r}getNodePageFileName(r){let t,n;return this.converter.options.slpk?(t=(0,Ax.join)(this.converter.layers0Path,"nodepages"),n=`${r.toString()}.json`):(t=(0,Ax.join)(this.converter.layers0Path,"nodepages",r.toString()),n="index.json"),{filePath:t,fileName:n}}async loadNodePage(r){let{filePath:t,fileName:n}=this.getNodePageFileName(r),i=(0,Ax.join)(t,n);return await JBe(i)?(console.log(`load ${i}.`),await O4(t,n)):{nodes:[]}}getPageIndexByNodeId(r){return Math.floor(r/this.nodesPerPage)}async getPageByNodeId(r){let t=this.getPageIndexByNodeId(r);return this.converter.options.instantNodeWriting?await this.loadNodePage(t):this.nodePages[t]}async getNodeById(r,t){let n=r%this.nodesPerPage;return t=t||await this.getPageByNodeId(r),t.nodes[n]}async addChildRelation(r,t){var i;if(r==null)return;let n=await this.getNodeById(r);(i=n.children)==null||i.push(t),await this.saveNode(n)}async push(r,t){if(r.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(r)}return await this.addChildRelation(t,r.index),Mo.updateResourceInMesh(r),await this.saveNode(r),r}async saveNode(r){if(this.converter.options.instantNodeWriting){let t=this.getPageIndexByNodeId(r.index),n=await this.getPageByNodeId(r.index),{filePath:i,fileName:a}=this.getNodePageFileName(t),o=await this.getNodeById(r.index,n);o?Mo.updateAll(o,r):n.nodes.push(r);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}else return}async saveMetadata(){let r=(0,QBe.default)({nodeCount:this.nodesCounter},sOe()),t=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(r),"metadata.json",t)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[r,t]of this.nodePages.entries()){let n=JSON.stringify(t),i=(0,Ax.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${r.toString()}.json`)})}await this.saveMetadata()}else for(let[r,t]of this.nodePages.entries()){let n=JSON.stringify(t),i=(0,Ax.join)(this.converter.layers0Path,"nodepages",r.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(r){r.mesh&&isFinite(r.index)&&(r.mesh.geometry.resource=r.index)}static updateAll(r,t){return Object.assign(r,t,{index:r.index}),Mo.updateResourceInMesh(r),r}static updateMaterialByNodeId(r,t){!r.mesh||(r.mesh.material={definition:t,resource:r.index})}static updateVertexCountByNodeId(r,t){!r.mesh||(r.mesh.geometry.vertexCount=t)}static updateNodeAttributeByNodeId(r){!r.mesh||!r.index||(r.mesh.attribute.resource=r.index)}static updateFeatureCountByNodeId(r,t){!r.mesh||(r.mesh.geometry.featureCount=t)}static updateTexelCountHintByNodeId(r,t){!r.mesh||!r.mesh.material||(r.mesh.material.texelCountHint=t)}};var Qw=He(require("path")),k4=He(require("fs"));function F4(e){let r=1e6,t=e[0],n=Math.floor(t/3600);t=t-n*3600;let i=Math.floor(t/60);t=t-i*60;let a=Math.floor(t),o=e[1]/r,s="";return n&&(s+=`${n}h `),i&&(s+=`${i}m `),a&&(s+=`${a}s`),s||(s+=`${o}ms`),s}async function R4(e){let{slpk:r,outputPath:t,tilesetName:n}=e,i=$w(t);try{if(r){let s=(0,Qw.join)(i,`${n}.slpk`);return(await k4.promises.stat(s)).size}let a=(0,Qw.join)(i,n);return await ZBe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function ZBe(e){let r=0,t=await k4.promises.readdir(e);for(let n of t){let i=await k4.promises.stat((0,Qw.join)(e,n));i.isDirectory()?r+=await ZBe((0,Qw.join)(e,n)):r+=i.size}return r}var fu=He($t()),UX=He(zs());var b5e=He(WE());var Wm=3,Tx=9;function e5e(e){let{positions:r,normals:t,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=r.length/Tx;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:r,normals:t,texCoords:n,colors:i,uvRegions:a};let u=$ot(o),l=Jot(oe(oe({},u),e)),c=Qot(l);return Zot(c,u.featureCount)}function $ot(e){let r=1,t=1,n=r5e(e.slice(0,Wm)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let l=Wm;l<e.length;l+=Wm){let c=r5e(e.slice(l,l+Wm));n!==c&&(i[r]=l/Wm-1,i[r+1]=l/Wm,a[t]=c,o.includes(c)||o.push(c),r+=2,t+=1),n=c}i[r]=e.length/Wm-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function r5e(e){let r={},t=e[0],n=1;for(let i of e)r[i]=(r[i]||0)+1,n=n>r[i]?n:r[i],t=n>r[i]?t:i;return t}function Jot(e){let{featureIds:r,positions:t,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],l=new Float32Array(t),c=new Float32Array(n),f=new Uint8Array(i),d=new Float32Array(o),p=new Uint16Array(a),h=0,b=0,v=0,y=0,w=0;for(let A=0;A<r.length;A++){let C=s[A*2],D=s[A*2+1],R=Zw("positions",C,D),O=Zw("normals",C,D),L=Zw("colors",C,D),P=Zw("uvRegions",C,D),V=Zw("texCoords",C,D);u.push({featureId:r[A],positions:l.subarray(h,h+R),normals:c.subarray(b,b+O),colors:f.subarray(v,v+L),uvRegions:p.subarray(y,y+P),texCoords:d.subarray(w,w+V)}),h+=R,b+=O,v+=L,y+=P,w+=V}return u}function Zw(e,r,t){let n=4,i=2,a=t-r+1,o=a*3;switch(e){case"positions":case"normals":return a*Tx;case"colors":case"uvRegions":return o*n;case"texCoords":return o*i;default:return 0}}function Qot(e){let r=[];for(let n of e){let i=r.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):r.push({featureId:n.featureId,attributes:[n]})}let t=[];for(let n of r){let i=t5e(n.attributes);t.push(oe({featureId:n.featureId},i))}return t}function Zot(e,r){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let l=1;l<e.length;l++){let c=e[l];n.push(c.featureId||0);let f=e[a];i.push(f.positions.length/Tx-1+o),i.push(f.positions.length/Tx+o),o+=f.positions.length/Tx,a+=1}let s=t5e(e);i.push(s.positions.length/Tx-1);let u=new Uint32Array(i);return oe({faceRange:u,featureIds:n,featureCount:r},s)}function t5e(e){let r=e.map(({positions:f})=>f),t=r.length>1?Xo(...r):r[0],n=e.map(({normals:f})=>f),i=n.length>1?Xo(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Xo(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Xo(...s):s[0],l=e.map(({uvRegions:f})=>f),c=l.length>1?Xo(...l):l[0];return{positions:t,normals:i,colors:o,texCoords:u,uvRegions:c}}var eo=He($t()),Cx=He(zs()),$f=He(K0());function MX(e,r){let t,n,i,a=Cx.Ellipsoid.WGS84.cartesianToCartographic(e.center,new eo.Vector3);return a[2]=a[2]-r.getHeight(a[1],a[0]),e instanceof $f.OrientedBoundingBox?(n=e.halfSize,t=new eo.Vector3(n[0],n[1],n[2]).len(),i=e.quaternion):(t=e.radius,n=[t,t,t],i=new eo.Quaternion().fromMatrix3(new eo.Matrix3([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],t],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function n5e(e,r){let t=est(e),n=(0,$f.makeOrientedBoundingBoxFromPoints)(t),i=(0,$f.makeBoundingSphereFromPoints)(t),a=Cx.Ellipsoid.WGS84.cartesianToCartographic(i.center,new eo.Vector3),o=Cx.Ellipsoid.WGS84.cartesianToCartographic(n.center,new eo.Vector3);return a[2]=a[2]-r.getHeight(a[1],a[0]),o[2]=o[2]-r.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function est(e){let r=[];for(let t=0;t<e.length;t+=3){let n=new eo.Vector3([e[t],e[t+1],e[t+2]]);r.push(n)}return r}function i5e(e){let r;e instanceof $f.BoundingSphere?r=e:r=e.getBoundingSphere();let t=r.center,n=r.radius,i=Cx.Ellipsoid.WGS84.cartesianToCartographic(new eo.Vector3(t[0]+n,t[1]+n,t[2]+n),new eo.Vector3),a=Cx.Ellipsoid.WGS84.cartesianToCartographic(new eo.Vector3(t[0]-n,t[1]-n,t[2]-n),new eo.Vector3);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function LX(e){let r=e[3],t=new eo.Vector3(e[0],e[1],e[2]),n=new eo.Matrix3([r,0,0,0,r,0,0,0,r]);return new $f.OrientedBoundingBox(t,n)}var Vm=He($t()),a5e=He(zs());function o5e(e,r,t){var s,u,l,c,f,d,p,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(c=(l=e.gltf)==null?void 0:l.scenes)==null?void 0:c[0])==null?void 0:f.nodes)||((d=e.gltf)==null?void 0:d.nodes)||[],i=((h=(p=e.gltf)==null?void 0:p.images)==null?void 0:h.map(b=>{var v,y;if((v=b==null?void 0:b.image)==null?void 0:v.compressed)return null;{let w=(y=b==null?void 0:b.image)==null?void 0:y.data,A=new Uint8Array(w.length);return A.set(w),{data:A,compressed:!1,height:b.image.height,width:b.image.width,components:b.image.components,mimeType:b.mimeType}}}))||[];s5e(n);let{cartographicOrigin:a,modelMatrix:o}=tst(e,r,t);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function rst(e){let r={};for(let t in e)r[t]={value:e[t].value};return r}function tst(e,r,t){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=t,o=new Vm.Matrix4(r);switch(n&&o.translate(n),i){case"Z":break;case"Y":let l=new Vm.Matrix4().rotateX(Math.PI/2);o=o.multiplyRight(l);break;case"X":let c=new Vm.Matrix4().rotateY(-Math.PI/2);o=o.multiplyRight(c);break;default:break}let s=new Vm.Vector3(a),u=a5e.Ellipsoid.WGS84.cartesianToCartographic(s,new Vm.Vector3);return{modelMatrix:o,cartographicOrigin:u}}function s5e(e){var r;for(let t=0;t<e.length;t++){let n=e[t];n.mesh&&(e[t]=qe(oe({},n),{mesh:qe(oe({},n.mesh),{primitives:(r=n.mesh)==null?void 0:r.primitives.map(i=>{var a,o,s;return qe(oe({},i),{indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:rst(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}})})})})),n.children&&s5e(n.children)}}function u5e(e,r){var n,i;let t=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[uc];if(!(t==null?void 0:t.featureTextures))return null;for(let a in t.featureTextures)if(t.featureTextures[a].class===r)return a;return null}function l5e(e,r,t,n){let i=r==null?void 0:r.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case uc:return ist(e,o,t,n);case ok:return nst(e,o);default:return[]}return[]}function nst(e,r){for(let t of r.featureIds)if(typeof t.propertyTable!="undefined")return t.data;return[]}function ist(e,r,t,n){var o,s,u,l,c,f,d;let i=(o=r==null?void 0:r.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)==null?void 0:s.attribute)return e[i.featureIds.attribute].value;if(((u=i==null?void 0:i.featureIds)==null?void 0:u.hasOwnProperty("constant"))&&((l=i==null?void 0:i.featureIds)==null?void 0:l.hasOwnProperty("divisor"))){let p=((c=e==null?void 0:e.POSITIONS)==null?void 0:c.value.length)/3||0;return ast(p,i.featureIds.constant,i.featureIds.divisor)}let a=(r==null?void 0:r.featureIdTextures)&&(r==null?void 0:r.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((d=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:d.texCoord)||0}`,b=e[h].value;return ost(a,b,t)}return n?e[n].value:[]}function ast(e,r=0,t=0){let n=[];if(t>0){let i=r,a=t;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=t)}else n=Array(e).fill(r,0,e);return n}function ost(e,r,t){var l,c,f;if(!(t==null?void 0:t.length))return[];let n={r:0,g:1,b:2,a:3},i=(c=(l=e==null?void 0:e.featureIds)==null?void 0:l.texture)==null?void 0:c.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=t[i],s=[],u=n[a];if(o&&(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&(o==null?void 0:o.components))for(let d=0;d<r.length;d+=2){let p=r[d],h=r[d+1],b=Math.min(ac(p)*o.width|0,o.width-1),y=(Math.min(ac(h)*o.height|0,o.height-1)*o.width+b)*o.components+u,w=new Uint8Array(o.data)[y];s.push(w)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function c5e(e,r){let t={};for(let n in r){let i=r[n];t[n]=sst(i,e)}return t}function sst(e,r){let t=[];if(e)for(let n in r){let i=e[n]||null;t.push(i)}return t}function f5e(e,r){let t=!1;for(let n of Object.values(r))(!e||!n||e.length!==n.length)&&(t=!0);return t}var eS="string",qX="Int32",NX="double",I4="OBJECTID";function d5e(e,r){return e===I4?I4:typeof r===eS?eS:typeof r=="number"?Number.isInteger(r)?qX:NX:eS}function p5e(e,r,t){let n={key:`f_${e}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(t){case I4:ust(n);break;case eS:v5e(n);break;case NX:lst(n);break;case qX:break;default:v5e(n)}return n}function h5e(e){switch(e){case I4:return"esriFieldTypeOID";case eS:return"esriFieldTypeString";case qX:return"esriFieldTypeInteger";case NX:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}function m5e(e,r){return{name:e,type:r,alias:e}}function g5e(e){let r="{OBJECTID}",t=[],n=[],i=[],a=[];for(let o in e)n.push({fieldName:o,visible:!0,isEditable:!1,label:o});return i.push({fieldInfos:n,type:"fields"}),{title:r,mediaInfos:t,popupElements:i,fieldInfos:n,expressionInfos:a}}function v5e(e){e.ordering.unshift("attributeByteCounts"),e.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),e.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},e.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}function ust(e){e.attributeValues={valueType:"Oid32",valuesPerElement:1}}function lst(e){e.attributeValues={valueType:"Float64",valuesPerElement:1}}var P4=e=>{let r=new Uint32Array(e);for(let t=0;t<e;t++)r[t]=t;return r};var cst=1,fst=1,nl=3,rS=2,dst=4,pst="string",hst="Int32",mst="Float64",gst="Oid32",y5e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],kh=new fu.Vector3;async function GX(e,r,t,n,i,a,o,s,u,l,c,f,d){var A;let p=u,h=await Fst((A=e.gltf)==null?void 0:A.materials,l),b=o5e(e,r,t),v=u5e(e,d),y=await yst(b,h,p,v);u&&vst(y,c);let w=[];for(let C of h){let D=C.mergedMaterials[0].originalMaterialId;if(!y.has(D))continue;let R=y.get(D);if(!R)continue;let{material:O,texture:L}=C,P=await n();w.push(await bst({convertedAttributes:R,material:O,texture:L,tileContent:e,nodeId:P,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return w.length?w:null}function vst(e,r){for(let t of e.values()){let n=n5e(t.positions,r);t.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<t.positions.length;a+=nl){let o=t.positions.subarray(a,a+nl);UX.Ellipsoid.WGS84.cartesianToCartographic(Array.from(o),kh),kh[2]=kh[2]-r.getHeight(kh[1],kh[0]),kh=kh.subtract(i),t.positions.set(kh,a)}}}async function bst({convertedAttributes:e,material:r,texture:t,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:l}){var V;let c=e.boundingVolumes,f=e.positions.length/nl,{faceRange:d,featureIds:p,positions:h,normals:b,colors:v,uvRegions:y,texCoords:w,featureCount:A}=e5e(e),C={};o&&(C=Gst(p,e.featureIndices,a,o));let D=new Uint32Array(2),R=Jst(p);D.set([f,A],0);let O=new Uint8Array(Yl(D.buffer,h.buffer,b.buffer,t?w.buffer:new ArrayBuffer(0),v.buffer,y,R.buffer,d.buffer)),L=u?Qst(f,e,{positions:h,normals:b,texCoords:t?w:new Float32Array(0),colors:v,uvRegions:y,featureIds:p,faceRange:d},l):null,P=[];return s&&o&&(P=Vst(p,C,o,s)),{nodeId:i,geometry:O,compressedGeometry:L,texture:t,hasUvRegions:Boolean(y.length),sharedResources:Mst(((V=n.gltf)==null?void 0:V.materials)||[],i),meshMaterial:r,vertexCount:f,attributes:P,featureCount:A,boundingVolumes:c}}async function yst(e,r,t,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let l of r){let c={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:l.mergedMaterials};for(let f of l.mergedMaterials)u.set(f.originalMaterialId,c)}x5e(i,a,o,s,u,t,void 0,n);for(let l of u.keys()){let c=u.get(l);if(!!c){if(c.positions.length===0){u.delete(l);continue}c.featureIndicesGroups&&(c.featureIndices=c.featureIndicesGroups.reduce((f,d)=>f.concat(d)),delete c.featureIndicesGroups)}}return u}function x5e(e,r,t,n,i,a,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){if(e)for(let u of e)_st(u,r,t,n,i,a,o,s)}function xst(e,r){let t=r,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(t=r.multiplyRight(n)),o&&(t=t.translate(o)),i&&(t=t.rotateXYZ(i)),a&&(t=t.scale(a)),t}function _st(e,r,t,n,i,a,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){let u=xst(e,o),l=e.mesh;l&&Est(l,r,t,n,i,a,u,s),x5e(e.children||[],r,t,n,i,a,u,s)}function Est(e,r,t,n,i,a=!1,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){var u;for(let l of e.primitives){let c=null,f;l.material?(c=i.get(l.material.id),f=(u=c==null?void 0:c.mergedMaterials.find(({originalMaterialId:h})=>{var b;return h===((b=l.material)==null?void 0:b.id)}))==null?void 0:u.uvRegion):i.has("default")&&(c=i.get("default")),Qr(c!==null,"Primitive - material mapping failed"),Qr(l.mode===void 0||l.mode===nt.TRIANGLES||l.mode===nt.TRIANGLE_STRIP,`Primitive - unsupported mode ${l.mode}`);let d=l.attributes;if(!c)continue;let p=wst(l);c.positions=Xo(c.positions,_5e({vertices:d.POSITION.value,cartographicOrigin:t,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Sst,useCartesianPositions:a})),c.normals=Xo(c.normals,_5e({vertices:d.NORMAL&&d.NORMAL.value,cartographicOrigin:t,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Ast,useCartesianPositions:!1})),c.texCoords=Xo(c.texCoords,Tst(d.TEXCOORD_0&&d.TEXCOORD_0.value,p)),c.colors=Xo(c.colors,Cst(d.COLOR_0,p)),f&&(c.uvRegions=Xo(c.uvRegions,Dst(f,p))),c.featureIndicesGroups=c.featureIndicesGroups||[],c.featureIndicesGroups.push(Ost(kst(d,l,r,s),p))}}function wst(e){var t;let r=(t=e.indices)==null?void 0:t.value;if(!r){let n=e.attributes.POSITION.value;return P4(n.length/nl)}if(r&&e.mode===nt.TRIANGLE_STRIP){let n=r.constructor,i=new n((r.length-2)*3),a=0,o=r.slice(0,3);i.set(o,0);for(let s=1;s+2<r.length;s++)a+=3,o=r.slice(s,s+3),s%2==0?i.set(o,a):i.set(o.reverse(),a);r=i}return r}function _5e(e){let{vertices:r,indices:t,attributeSpecificTransformation:n}=e,i=new Float32Array(t.length*nl);if(!r)return i;for(let a=0;a<t.length;a++){let o=t[a]*nl,s=r.subarray(o,o+nl),u=new fu.Vector3(Array.from(s));u=n(u,e),i[a*nl]=u.x,i[a*nl+1]=u.y,i[a*nl+2]=u.z}return i}function Sst(e,r){let{cartesianModelMatrix:t,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=r;return i&&(e=e.transform(i)),e=e.transform(t),a||(UX.Ellipsoid.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function Ast(e,r){let{cartesianModelMatrix:t,nodeMatrix:n}=r;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(t),e}function Tst(e,r){let t=new Float32Array(r.length*rS);if(!e)return t.fill(1),t;for(let n=0;n<r.length;n++){let i=r[n]*rS,a=e.subarray(i,i+rS);t[n*rS]=a[0],t[n*rS+1]=a[1]}return t}function Cst(e,r){let t=(e==null?void 0:e.components)||dst,n=new Uint8Array(r.length*t);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<r.length;a++){let o=r[a]*t,s=i.subarray(o,o+t),u=new Uint8Array(t);for(let l=0;l<s.length;l++)u[l]=s[l]*255;n.set(u,a*t)}return n}function Dst(e,r){let t=new Uint16Array(r.length*4);for(let n=0;n<t.length;n+=4)t.set(e,n);return t}function Ost(e,r){if(!e.length||!r.length)return[];let t=[];for(let n=0;n<r.length;n++){let i=r[n];t.push(e[i])}return t}function kst(e,r,t,n){let i=l5e(e,r,t,n);if(i.length)return i;for(let a=0;a<y5e.length;a++){let o=y5e[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function Fst(e=[],r){let t=[];for(let n of e)t.push(Pst(n));return r&&(t=await Rst(t)),t}async function Rst(e){var t,n;let r=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await Ist(i,s),a.push(o))}if(i.texture&&a.length){let o=(t=i.mergedMaterials)==null?void 0:t.reduce((l,{textureSize:c})=>l+((c==null?void 0:c.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((l,{textureSize:c})=>Math.max(l,(c==null?void 0:c.height)||0),0),u=-1;for(let l of i.mergedMaterials)if(l.textureSize){let c=u+1+l.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;l.uvRegion=new Uint16Array([u+1,0,c,l.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=c}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);r.push(i)}return r.length||r.push({material:jst(),mergedMaterials:[{originalMaterialId:"default"}]}),r}async function Ist(e,r){var t,n;if(((t=e.texture)==null?void 0:t.bufferView)&&((n=r.texture)==null?void 0:n.bufferView)&&e.mergedMaterials&&r.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(r.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(r.mergedMaterials),e}function Pst(e){var i,a,o,s,u;let r={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(l=>Math.round(l*255)),alphaMode:Bst(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||cst,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||fst}},t;((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)?(t=e.pbrMetallicRoughness.baseColorTexture.texture.source,r.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(t=e.emissiveTexture.texture.source,r.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Gf();let n=[{originalMaterialId:e.id}];if(t)n[0].textureSize={width:t.image.width,height:t.image.height};else{let l=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;r.pbrMetallicRoughness.baseColorFactor=l&&l.map(c=>Math.round(c*255))||void 0}return{material:r,texture:t,mergedMaterials:n}}function Bst(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function jst(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function Mst(e,r){let t={};if(!e||!e.length)return t;t.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=Lst(n,r);t.materialDefinitionInfos.push(i),a&&(t.textureDefinitionInfos=t.textureDefinitionInfos||[],t.textureDefinitionInfos.push(a))}return t}function Lst(e,r){var s;let t=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;t&&(n=Nst(t.texture,r));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:qst(o||[1,1,1,1],a),textureDefinitionInfo:n}}function qst(e,r=1){let t=.04/255,n=new fu.Vector4(0,0,0,1),i=new fu.Vector4(1,1,1,1),a=new fu.Vector4(t,t,t,0),o=new fu.Vector4(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,r);a[3]=1;let l=a.lerp(a,o,r);return{params:{diffuse:u.toArray(),specular:l.toArray(),renderMode:"solid"}}}function Nst(e,r){var t,n,i,a;return{encoding:((t=e==null?void 0:e.source)==null?void 0:t.mimeType)?[e.source.mimeType]:void 0,images:[{id:Ust(e,r),size:(n=e.source)==null?void 0:n.image.width,length:((i=e.source)==null?void 0:i.image.data.length)?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function Ust(e,r){var b;let{width:t,height:n}=((b=e.source)==null?void 0:b.image)||{};if(!t||!n)return"";let i=1,a=0,o=r+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),l=i<<28,c=a<<24,f=t-1<<12,d=n-1<<0,p=l+c+f+d;return BigInt(`0b${p.toString(2)}${u}`).toString()}function Gst(e,r,t,n){let i=zst(e,n,t);return E5e(r,i),E5e(e,i),i}function zst(e,r,t){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=Wst(i,r,t);n[a.toString()]=o}return n}function Hst(e,r){let t="";for(let n in e)t+=e[n][r];return t}function Wst(e,r,t){let n=Hst(r,e),i=(0,b5e.default)(n);return t.includes(i)?t.indexOf(i):t.push(i)-1}function E5e(e,r){for(let t=0;t<e.length;t++)e[t]=r[e[t]]}function Vst(e,r,t,n){let i=[],o=f5e(e,t)?c5e(r,t):t,s=oe({OBJECTID:e},o);for(let u in s){let l=Xst(u,n);if(l){let c=s[u],f=Kst(l,c);i.push(f)}}return i}function Kst(e,r){let t;switch(e){case gst:case hst:t=Yst(r);break;case mst:t=$st(r);break;case pst:t=w5e(r);break;default:t=w5e(r)}return t}function Xst(e,r){let t=r.find(n=>n.name===e);return t?t.attributeValues?t.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${t}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(r,null,2)}`),"")}function Yst(e){let r=new Uint32Array([e.length]),t=new Uint32Array(e);return Yl(r.buffer,t.buffer)}function $st(e){let r=new Uint32Array([e.length]),t=new Uint8Array(4),n=new Float64Array(e);return Yl(r.buffer,t.buffer,n.buffer)}function w5e(e){let r=new Uint32Array([e.length]),t=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),l=u.length;t+=l,n[o]=l,i.push(u)}let a=new Uint32Array([t]);return Yl(r.buffer,a.buffer,n.buffer,...i)}function Jst(e){let r=new BigUint64Array(e.length);for(let t=0;t<e.length;t++)r[t]=BigInt(e[t]);return r}async function Qst(e,r,t,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:l,faceRange:c}=t,f=new Uint32Array(e);for(let v=0;v<f.length;v++)f.set([v],v);let d=new Uint32Array(r.featureIndices.length?r.featureIndices:e),p=Zst(d,c),h={positions:i,normals:a,colors:s,"feature-index":p};o.length&&(h.texCoords=o);let b={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(l)}};return u.length&&(h["uv-region"]=u,b["uv-region"]={"i3s-attribute-type":"uv-region"}),Rb({attributes:h,indices:f},HU,qe(oe({},HU.options),{reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:b},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}}))}function Zst(e,r){let t=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<r.length;a+=2){let o=(r[a]+1)*nl;t.fill(n,i,o),n++,i=o+1}return t}function S5e(e,r){if(!e)return null;let t,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=eut(e);switch(i){case J0:return t=uk(a,r),t;case uc:return t=lk(a,r),t;default:return null}}function eut(e){var a,o,s,u;let r=[uc,J0];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let l of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(r.includes(l)){n=l;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var T5e=He(rl()),C5e=He(require("path"));var A5e=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function D5e(e,r,t){let n={serviceItemId:Gf().replace(/-/gi,""),layerName:e,layers0:r},i=(0,T5e.default)(n,A5e()),a=(0,C5e.join)(t,"SceneServer");await Gi(a,JSON.stringify(i))}var zX=16;function O5e(e,r){let t=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:r.mbs[3]*2*zX/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(t.push(o),t.push(a)):(t.push(a),t.push(o)),t}function HX(e){var n,i;let r=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),t=r==null?void 0:r.maxError;if(!t){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(t=Math.sqrt(a.maxError/(Math.PI*.25)))}return t||(t=zX),e.mbs[3]*2*zX/t}var YX=He(U5e()),Sut="4.0.0-alpha.25";var L4={name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:Sut,mimeTypes:["image/x-portable-graymap"],parse:async(e,r)=>(0,YX.parsePGM)(new Uint8Array(e),(r==null?void 0:r.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var Dx=He(rl());var G5e={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var Aut=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),Tut=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),Cut=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),Dut=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),z5e=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,Dx.default)(e,Aut())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,Dx.default)(e,G5e)},fullExtent:{path:"fullExtent",transform:e=>(0,Dx.default)(e,Dut())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,Dx.default)(e,Tut())},nodePages:{path:"nodePages",transform:e=>(0,Dx.default)(e,Cut())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var $X=He(rl()),Out=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),kut=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let r=["position","normal"];return e.hasTexture&&r.push("uv0"),r.push("color"),e.hasUvRegions&&r.push("uv-region"),r.push("feature-index"),r}}}),H5e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let r=[(0,$X.default)(e,Out())];return e.draco&&r.push((0,$X.default)({geometryConfig:e},kut())),r}}});var tS=He(rl()),Fut=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),Rut=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,r,t)=>(0,tS.default)(t,Fut())}}),Iut=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),Put=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,r,t)=>e.map(n=>(0,tS.default)(n,Iut()))}}),W5e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:But},textureDefinitions:{path:"textureDefinitionInfos",transform:jut}});function But(e,r,t){let n={};for(let[i,a]of e.entries())n[`Mat${t.nodePath}${i}`]=(0,tS.default)(a,Rut());return n}function jut(e,r,t){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${t.nodePath}${i}`;a.imageIndex=o,n[o]=(0,tS.default)(a,Put())}return n}var q4=He(K0()),V5e=He($t()),JX=He(zs()),Mut=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function K5e(e){var t,n;if(!((t=e==null?void 0:e.parentNode)==null?void 0:t.obb)||!((n=e==null?void 0:e.parentNode)==null?void 0:n.mbs))return[];let r=[];return Lut(r,e),qut(r,e),r}function Lut(e,r){var o;let t=Nut(r.parentNode.obb),n=Uut(r);if(Gut(t,n))return;let a=`OBB of Tile (${r.id}) doesn't fit into Parent (${(o=r.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function qut(e,r){var a;let t=X5e(r.mbs),n=X5e(r.parentNode.mbs);if(t.center.distanceTo(n.center)+t.radius>n.radius){let o=`MBS of Tile (${r.id}) doesn't fit into Parent (${(a=r.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function X5e(e){return new q4.BoundingSphere([e[0],e[1],e[2]],e[3])}function Nut(e){let{center:r,halfSize:t,quaternion:n}=e;return new q4.OrientedBoundingBox().fromCenterHalfSizeQuaternion(r,t,n)}function Uut(e){let r=e.obb.halfSize,t=Mut,n=JX.Ellipsoid.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<t.length;a+=3){let s=new V5e.Vector3(t[a]*=r[0],t[a+1]*=r[1],t[a+2]*=r[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function Gut(e,r){let t=!0;for(let n=0;n<r.length/3;n+=3){let i=[r[n],r[n+1],r[n+2]],a=JX.Ellipsoid.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){t=!1;break}}return t}var ds;(function(s){s.POINTS="POINTS",s.LINES="LINES",s.LINE_LOOP="LINE_LOOP",s.LINE_STRIP="LINE_STRIP",s.TRIANGLES="TRIANGLES",s.TRIANGLE_STRIP="TRIANGLE_STRIP",s.TRIANGLE_FAN="TRIANGLE_FAN"})(ds||(ds={}));var QX=class extends Array{enqueue(r){this.push(r)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var Y5e=He(require("process")),zut=4*1024*1024*1024,nS=class extends QX{constructor(r=2e3,t=400){super();this.writePromise=null;this.fileMap={};this.listeningInterval=r,this.writeConcurrency=t}async enqueue(r,t=!1){if(t){let{archiveKey:n,writePromise:i}=r,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(r),Y5e.default.memoryUsage().rss>zut&&await this.startWrite()}startListening(){this.intervalId=setInterval(this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let r=[],t=[];for(let i=0;i<this.writeConcurrency;i++){let a=this.dequeue();if(!a)break;let{archiveKey:o,writePromise:s}=a;t.push(o);let u=s();r.push(u)}let n=await Promise.allSettled(r);this.updateFileMap(t,n)}}updateFileMap(r,t){for(let n=0;n<r.length;n++){let i=r[n];i&&"value"in t[n]&&(this.fileMap[i]=t[n].value)}}};var Ox="Tile converter does not work in browser, only in node js environment";var eY=He(require("path")),rY=He(rl());var $5e=He(rl()),J5e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),Hut=()=>({href:{path:"href"}}),Wut=()=>oe(oe({id:{path:"id"}},Hut()),J5e()),ZX=()=>qe(oe({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"}},J5e()),{lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,$5e.default)(e,Wut()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Tc=class{constructor(r,t){this.data=null;this.children=[];this._finalized=!1;this.inPageId=r,this.id=r===0?"root":r.toString(),this.converter=t}get finalized(){return this._finalized}async addData(r){return this.converter.options.instantNodeWriting?await this.write(r):this.data=r,this}async addChildren(r){let t=[];for(let i of r){let a=await i.load();t.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(r);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(t)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var t;if(this.finalized)return;let r=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((t=r==null?void 0:r.children)==null?void 0:t.length)<1e3)for(let a of r.children||[])n.id!==a.id&&i.neighbors.push(oe({},a));else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let r of this.children)r.flush()}async write(r){let t=(0,eY.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Ac(t,JSON.stringify(r),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Gi(t,JSON.stringify(r))},!0)}async load(){if(this.data)return this.data;let r=this.id,t=(0,eY.join)(this.converter.layers0Path,"nodes",r),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await O4(t,n)}flush(){this.data=null}static async createRootNode(r,t){let n=Tc.createRootNodeIndexDocument(r);return await new Tc(0,t).addData(n)}static async createNode(r,t,n,i,a,o){let s=await Tc.createNodeIndexDocument(r,t,n,i,a);return await new Tc(i.index,o).addData(s)}static createRootNodeIndexDocument(r){let t=qe(oe({version:`{${Gf().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}]},r),{children:[]});return(0,rY.default)(t,ZX())}static async createNodeIndexDocument(r,t,n,i,a){var d,p;let{texture:o,attributes:s}=a,u=i.index,l=await r.load(),c=qe(oe({version:l.version,id:u.toString(),level:l.level+1},t),{lodSelection:n,parentNode:{id:r.id,href:`../${r.id}`,mbs:l.mbs,obb:l.obb},children:[],neighbors:[]}),f=(0,rY.default)(c,ZX());if(i.mesh&&(f.geometryData=[{href:"./geometries/0"}],f.sharedResource={href:"./shared"},o&&(f.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),s&&s.length&&((p=(d=r.converter.layers0)==null?void 0:d.attributeStorageInfo)==null?void 0:p.length))){f.attributeData=[];let h=s.length<r.converter.layers0.attributeStorageInfo.length?s.length:r.converter.layers0.attributeStorageInfo.length;for(let b=0;b<h;b++){let v=r.converter.layers0.attributeStorageInfo[b].key;f.attributeData.push({href:`./attributes/${v}/0`})}}return f}};var tY=async(e,r,t)=>{let n=iS(r);if(!e||!r.contentUrl||!n)return;let i=qe(oe({},t),{[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}}),a=await N4(r.contentUrl,e.loader,i);a.root&&(r.children=[a.root])},nY=async(e,r,t)=>{let n=iS(r);if(!e||!r.contentUrl||n)return null;let i=qe(oe({},t),{[e.loader.id]:qe(oe({},t[e.loader.id]||{}),{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"})});return await N4(r.contentUrl,e.loader,i)};async function N4(e,r,t){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new FF(a),s=await yn(i,r,qe(oe({},t),{fetch:o.fetch.bind(o)}));return await o.destroy(),s}return await yn(e,r,t)}function iS(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}var aY=He($t());var U4=async(e,r,t,n,i,a=0)=>{if(i&&a>i)return;let o=[],s=await t(e,r);o.push(s);for(let u of e.children)await U4(u,s,t,n,i,a+1);n&&await n(o,r)};var Vut=[ds.POINTS,ds.LINES,ds.LINE_LOOP,ds.LINE_STRIP,ds.TRIANGLES,ds.TRIANGLE_STRIP,ds.TRIANGLE_FAN],Q5e=async e=>{let r={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e==null?void 0:e.gltfArrayBuffer))return r;let n=(await Qo(e.gltfArrayBuffer,Tf,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return r;let i=Kut(n),a=Xut(n);return{meshTopologyTypes:i,metadataClasses:a}},Kut=e=>{let r=new Set;for(let t of e.meshes||[])for(let n of t.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),r.add(Vut[i])}return r},Xut=e=>{var i,a,o,s,u,l;let r=new Set,t=(o=(a=(i=e.extensions)==null?void 0:i[uc])==null?void 0:a.schema)==null?void 0:o.classes;if(t)for(let c of Object.keys(t))r.add(c);let n=(l=(u=(s=e.extensions)==null?void 0:s[J0])==null?void 0:u.schema)==null?void 0:l.classes;if(n)for(let c of Object.keys(n))r.add(c);return r},Z5e=(e,r)=>{for(let t of r.meshTopologyTypes)e.meshTopologyTypes.add(t);for(let t of r.metadataClasses)e.metadataClasses.add(t)};var rje,Yut=(rje=Km.default.env)==null?void 0:rje.IonToken,eje=64,$ut="3DTILES",Jut="3DObject",Qut=1800,Zut="https://",aS=class{constructor(){this.boundingVolumeWarnings=[];this.conversionStartTime=[0,0];this.refreshTokenTime=[0,0];this.sourceTileset=null;this.loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};this.geoidHeightModel=null;this.Loader=Of;this.workerSource={};this.writeQueue=new nS;this.compressList=null;this.preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};this.nodePages=new Mo(Gi,eje,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null}async convert(r){if(En)return console.log(Ox),Ox;this.conversionStartTime=Km.default.hrtime();let{tilesetName:t,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:l,maxDepth:c,token:f,generateTextures:d,generateBoundingVolumes:p,instantNodeWriting:h=!1,mergeMaterials:b=!0,inquirer:v,metadataClass:y}=r;this.options={maxDepth:c,slpk:n,sevenZipExe:l,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:h,mergeMaterials:b,inquirer:v,metadataClass:y},this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(Zut)!==-1?Bk:Of,this.generateTextures=Boolean(d),this.generateBoundingVolumes=Boolean(p),this.writeQueue=new nS,this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await yn(i,L4),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(Ac);try{let w=await this._fetchPreloadOptions(),A=a;w.url&&(A=w.url),w.headers&&(this.loadOptions.fetch={headers:w.headers}),this.sourceTileset=await N4(A,this.Loader,this.loadOptions),await this.preprocessConversion()&&(await this._createAndSaveTileset(s,t),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:t}))}catch(w){throw w}finally{await this.writeQueue.finalize(),Mi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){var i;console.log("Analyze source tileset");let r=this.sourceTileset.root;await U4(r,null,this.analyzeTile.bind(this),void 0,this.options.maxDepth);let{meshTopologyTypes:t,metadataClasses:n}=this.preprocessData;if(console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`glTF mesh topology types: ${Array.from(t).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),console.log("------------------------------------------------"),!t.has(ds.TRIANGLES)&&!t.has(ds.TRIANGLE_STRIP))return console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1;if(n.size>1)if((i=this.options.metadataClass)==null?void 0:i.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let a=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(n)}]);this.options.metadataClass=a.metadataClass,console.log(`${a.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(n)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async analyzeTile(r,t){if(iS(r))return await tY(this.sourceTileset,r,this.loadOptions),null;r.id&&console.log(`[analyze]: ${r.id}`);let i=null;try{i=await nY(this.sourceTileset,r,qe(oe({},this.loadOptions),{"3d-tiles":qe(oe({},this.loadOptions["3d-tiles"]),{loadGLTF:!1})}))}catch{console.log(`[warning]: Failed to load ${r.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await Q5e(i);return Z5e(this.preprocessData,a),null}async _createAndSaveTileset(r,t){var u,l,c;let n=(0,ro.join)(`${r}`,`${t}`);try{await Jw(n)}catch{}this.layers0Path=(0,ro.join)(n,"SceneServer","layers","0"),this.materialDefinitions=[],this.materialMap=new Map;let i=this.sourceTileset.root,a=XO(i.boundingVolume,new aY.Matrix4(i.transform),null);this._formLayers0(t,a,(c=(l=(u=this.sourceTileset)==null?void 0:u.root)==null?void 0:l.boundingVolume)==null?void 0:c.region);let o=MX(a,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:o.obb,children:[]});let s=await Tc.createRootNode(o,this);await U4(i,{transform:new aY.Matrix4(i.transform),parentNodes:[s]},this.convertTile.bind(this),this.finalizeTile.bind(this),this.options.maxDepth),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,G4.default)(this.geometryConfigs.map(f=>({geometryConfig:qe(oe({},f),{draco:this.options.draco})})),H5e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(f=>f!=="uv0")),await this._writeLayers0(),D5e(t,this.layers0,n);for(let f of this.compressList||[])await D4(f),await jX(f);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(r,t,n){var s;if(!((s=this.sourceTileset)==null?void 0:s.root))return;let i=i5e(t);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Gf().toUpperCase()}}`,id:0,name:r,href:"./layers/0",store:{id:`{${Gf().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:eje},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,G4.default)(o,z5e())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Ac(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Gi(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(r){if(this.options.slpk){let t=(0,ro.join)(r,"SceneServer","layers","0"),n=`${r}.slpk`;await $Be(t,n,0,".",this.options.sevenZipExe);try{await Jw(r)}catch{}}}async convertTile(r,t){let n=iS(r);if(n||r.type==="empty")return n&&(r.id&&console.log(`[load]: ${r.id}`),await tY(this.sourceTileset,r,this.loadOptions)),t;r.id&&console.log(`[convert]: ${r.id}`);let{parentNodes:i,transform:a}=t,o=a.clone();r.transform&&(o=o.multiplyRight(r.transform));let s=i[0],u=await this._createNode(s,r,o);return await s.addChildren(u),{transform:o,parentNodes:u}}async finalizeTile(r,t){for(let n of r)for(let i of n.parentNodes)await i.addNeighbors();for(let n of t.parentNodes)await n.save()}async _createNode(r,t,n){this._checkAddRefinementTypeForTile(t),await this._updateTilesetOptions();let i=null;try{i=await nY(this.sourceTileset,t,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${t.contentUrl}`)}let a=XO(t.boundingVolume,n,null),o=MX(a,this.geoidHeightModel),s=S5e(i,this.options.metadataClass);s&&this._convertPropertyTableToNodeAttributes(s);let u=await this._convertResources(t,n,a,i,r.inPageId,s),l=[],c=[],f=[],d={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let p of u||[d]){this.layersHasTexture=this.layersHasTexture||Boolean(p.texture),this.generateBoundingVolumes&&p.boundingVolumes&&(o=p.boundingVolumes);let h=O5e(t,o),b=h.find(A=>A.metricType==="maxScreenThresholdSQ")||{maxError:0},v=await this._updateNodeInNodePages(b,o,t,r.inPageId,p),y=await Tc.createNodeIndexDocument(r,o,h,v,p),w=await new Tc(v.index,this).addData(y);l.push(w),v.mesh&&await this._writeResources(p,w.id),this.validate&&(this.boundingVolumeWarnings=K5e(y),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),c.push(v.index),f.push(v)}return l}async _convertResources(r,t,n,i,a,o){var l;if(!this.isContentSupported(r)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await GX(i,t,n,async()=>(await this.nodePages.push({index:0,obb:s},a)).index,o,this.featuresHashArray,(l=this.layers0)==null?void 0:l.attributeStorageInfo,this.options.draco,this.generateBoundingVolumes,this.options.mergeMaterials,this.geoidHeightModel,this.loadOptions.modules,this.options.metadataClass)}async _updateNodeInNodePages(r,t,n,i,a){let{meshMaterial:o,texture:s,vertexCount:u,featureCount:l,geometry:c,hasUvRegions:f}=a,d={index:0,lodThreshold:r.maxError,obb:t.obb,children:[]};c&&this.isContentSupported(n)&&(d.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean(s),f),resource:0},attribute:{resource:0},material:{definition:0}});let p=a.nodeId,h;if(p?h=await this.nodePages.getNodeById(p):h=await this.nodePages.push(d,i),d.mesh||console.log(`[warning]: node ${h.index} is created with empty content`),Mo.updateAll(h,d),o&&Mo.updateMaterialByNodeId(h,this._findOrCreateMaterial(o)),s){let b=s.image.height*s.image.width;Mo.updateTexelCountHintByNodeId(h,b)}return u&&(this.vertexCounter+=u,Mo.updateVertexCountByNodeId(h,u)),Mo.updateNodeAttributeByNodeId(h),l&&Mo.updateFeatureCountByNodeId(h,l),this.nodePages.saveNode(h),h}async _writeResources(r,t){let{geometry:n,compressedGeometry:i,texture:a,sharedResources:o,attributes:s}=r,u=(0,ro.join)(this.layers0Path,"nodes",t),l=(0,ro.join)("nodes",t);await this._writeGeometries(n,i,u,l),await this._writeShared(o,u,l,t),await this._writeTexture(a,u,l),await this._writeAttributes(s,u,l)}async _writeGeometries(r,t,n,i){if(this.options.slpk){let a=(0,ro.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,writePromise:()=>Ac(a,r,"0.bin")})}else{let a=(0,ro.join)(n,"geometries/0/");await this.writeQueue.enqueue({writePromise:()=>Gi(a,r,"index.bin")})}if(this.options.draco)if(this.options.slpk){let a=(0,ro.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,writePromise:()=>Ac(a,t,"1.bin")})}else{let a=(0,ro.join)(n,"geometries/1/");await this.writeQueue.enqueue({writePromise:()=>Gi(a,t,"index.bin")})}}async _writeShared(r,t,n,i){if(!r)return;r.nodePath=i;let a=(0,G4.default)(r,W5e()),o=JSON.stringify(a);if(this.options.slpk){let s=(0,ro.join)(t,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,writePromise:()=>Ac(s,o,"sharedResource.json")})}else{let s=(0,ro.join)(t,"shared/");await this.writeQueue.enqueue({writePromise:()=>Gi(s,o)})}}async _writeTexture(r,t,n){if(r){let i=this._getFormatByMimeType(r==null?void 0:r.mimeType),a=[],o=r.bufferView.data;switch(i){case"jpg":case"png":{if(a.push({name:"0",format:i}),await this.writeTextureFile(o,"0",i,t,n),this.generateTextures){a.push({name:"1",format:"ktx2"});let s=r.image.data.subarray(),u=new Uint8Array(s),l=Rb(qe(oe({},r.image),{data:u}),xG,qe(oe({},xG.options),{["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0}));await this.writeTextureFile(l,"1","ktx2",t,n)}break}case"ktx2":if(a.push({name:"1",format:i}),await this.writeTextureFile(o,"1",i,t,n),this.generateTextures){a.push({name:"0",format:"jpg"});let s=Rb(r.image.data[0],nG);await this.writeTextureFile(s,"0","jpg",t,n)}}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:a}),this.layers0.textureSetDefinitions.push({formats:a,atlas:!0}))}}async writeTextureFile(r,t,n,i,a){if(this.options.slpk){let o=(0,ro.join)(i,"textures"),s=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${t}.${n}`,writePromise:()=>Ac(o,r,`${t}.${n}`,s)})}else{let o=(0,ro.join)(i,`textures/${t}/`);await this.writeQueue.enqueue({writePromise:()=>Gi(o,r,`index.${n}`)})}}async _writeAttributes(r=[],t,n){var i,a;if((r==null?void 0:r.length)&&((a=(i=this.layers0)==null?void 0:i.attributeStorageInfo)==null?void 0:a.length)){let o=r.length<this.layers0.attributeStorageInfo.length?r.length:this.layers0.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.layers0.attributeStorageInfo[s].key,l=new Uint8Array(r[s]);if(this.options.slpk){let c=(0,ro.join)(t,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,writePromise:()=>Ac(c,l,"0.bin")})}else{let c=(0,ro.join)(t,`attributes/${u}/0`);await this.writeQueue.enqueue({writePromise:()=>Gi(c,l,"index.bin")})}}}}_getFormatByMimeType(r){switch(r){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(r){let t=(0,iY.default)(JSON.stringify(r));if(this.materialMap.has(t))return this.materialMap.get(t)||0;let n=this.materialDefinitions.push(r)-1;return this.materialMap.set(t,n),n}findOrCreateGeometryDefinition(r,t){let n={hasTexture:r,hasUvRegions:t},i=(0,iY.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}_convertPropertyTableToNodeAttributes(r){let t=0,n=oe({OBJECTID:[0]},r);for(let i in n){if(!this.layers0.attributeStorageInfo.find(o=>o.name===i)){let o=n[i][0],s=d5e(i,o),u=p5e(t,i,s),l=h5e(s),c=m5e(i,l),f=g5e(n);this.layers0.attributeStorageInfo.push(u),this.layers0.fields.push(c),this.layers0.popupInfo=f,this.layers0.layerType=Jut}t+=1}}async _finishConversion(r){let{tilesCount:t,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/t*100:0,a=await R4(r),o=Km.default.hrtime(this.conversionStartTime),s=F4(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${$ut}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let r={"cesium-ion":{accessToken:this.options.token||Yut}},t=await this.Loader.preload(this.options.inputUrl,r);return this.refreshTokenTime=Km.default.hrtime(),oe(oe({},r),t)}async _updateTilesetOptions(){if(Km.default.hrtime(this.refreshTokenTime)[0]<Qut)return;this.refreshTokenTime=Km.default.hrtime();let t=await this._fetchPreloadOptions();t.headers&&(this.loadOptions.fetch=qe(oe({},this.loadOptions.fetch),{headers:t.headers}),console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(r){let t=1;r.refine===t&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(r){return["b3dm","glTF","scenegraph"].includes(r.type||"")}};var Rje=He(require("path")),fY=He(require("process")),Ije=He(rl());var kx=He(tje());function oY(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var nje={UInt8:kx.default.UNSIGNED_BYTE,UInt16:kx.default.UNSIGNED_SHORT,Float32:kx.default.FLOAT,UInt32:kx.default.UNSIGNED_INT,UInt64:kx.default.DOUBLE};function Fx(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var ije="String",aje="Oid32",oje="Float64",sje="Int16",il;(function(a){a[a.DEFAULT=-1]="DEFAULT",a[a.LNGLAT=1]="LNGLAT",a[a.METER_OFFSETS=2]="METER_OFFSETS",a[a.LNGLAT_OFFSETS=3]="LNGLAT_OFFSETS",a[a.CARTESIAN=0]="CARTESIAN"})(il||(il={}));var Ih=He($t()),H4=He(zs());var oS;(function(t){t.vertexCount="vertexCount",t.featureCount="featureCount"})(oS||(oS={}));function Rh(e,r=null){return r?`${e}?token=${r}`:e}function uje(e,r){let{attributeData:t=[]}=r,n=[];for(let i=0;i<t.length;i++){let a=t[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function lje(e,r,t){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${r}/nodes/${t}/attributes/${o}/0`)}return n}function cje(e,r){let{attributeName:t,attributeType:n}=r;return t?{[t]:n?rlt(n,e):null}:{}}function rlt(e,r){switch(e){case ije:return ilt(r);case aje:return fje(r);case oje:return nlt(r);case sje:return tlt(r);default:return fje(r)}}function fje(e){let r=4;return new Uint32Array(e,r)}function tlt(e){let r=4;return new Int16Array(e,r)}function nlt(e){let r=8;return new Float64Array(e,r)}function ilt(e){let r=0,t=8,n=4,i=[];try{let a=new DataView(e,r,n).getUint32(r,!0),o=new Uint32Array(e,t,a),s=t+a*n;for(let u of o){let l=new TextDecoder("utf-8"),c=new Uint8Array(e,s,u);i.push(l.decode(c)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var alt="4.0.0-alpha.25";var sS={name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:alt,mimeTypes:["application/binary"],parse:async(e,r)=>cje(e,r),extensions:["bin"],options:{},binary:!0};function dje(e){return e.hasOwnProperty("objectIds")?"Oid32":e.hasOwnProperty("attributeValues")?e.attributeValues.valueType:""}async function pje(e,r,t,n,i){var c;if(!((c=i==null?void 0:i.i3s)==null?void 0:c.colorsByAttribute))return e;let a=n.fields.find(({name:f})=>{var d,p;return f===((p=(d=i==null?void 0:i.i3s)==null?void 0:d.colorsByAttribute)==null?void 0:p.attributeName)});if(!a||!["esriFieldTypeDouble","esriFieldTypeInteger","esriFieldTypeSmallInteger"].includes(a.type))return e;let o=await hje(a.name,t,n,i);if(!o)return e;let s=n.fields.find(({type:f})=>f==="esriFieldTypeOID");if(!s)return e;let u=await hje(s.name,t,n,i);if(!u)return e;let l={};for(let f=0;f<u[s.name].length;f++)l[u[s.name][f]]=olt(o[a.name][f],i);for(let f=0;f<r.value.length;f++){let d=l[r.value[f]];!d||(i.i3s.colorsByAttribute.mode==="multiply"?d.forEach((p,h)=>{e.value[f*4+h]=e.value[f*4+h]*p/255}):e.value.set(d,f*4))}return e}function olt(e,r){var u;if(!((u=r==null?void 0:r.i3s)==null?void 0:u.colorsByAttribute))return[255,255,255,255];let{minValue:t,maxValue:n,minColor:i,maxColor:a}=r.i3s.colorsByAttribute,o=(e-t)/(n-t),s=[255,255,255,255];for(let l=0;l<i.length;l++)s[l]=Math.round((a[l]-i[l])*o+i[l]);return s}async function hje(e,{attributeUrls:r},{attributeStorageInfo:t},n){var u;let i=t.findIndex(({name:l})=>e===l);if(i===-1)return null;let a=Rh(r[i],(u=n==null?void 0:n.i3s)==null?void 0:u.token),o=dje(t[i]);return await yn(a,sS,{attributeName:e,attributeType:o})}var W4=new Ih.Vector3([0,0,0]);function slt(e){switch(e){case"ktx-etc2":case"dds":return bk;case"ktx2":return Q0;case"jpg":case"png":default:return ay}}var ult="i3s-attribute-type";async function mje(e,r,t,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Ih.Matrix4,coordinateSystem:0,byteLength:0,texture:null};if(r.textureUrl){let s=Rh(r.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=slt(r.textureFormat),c=await(await fetch(s,n==null?void 0:n.fetch)).arrayBuffer();if(n==null?void 0:n.i3s.decodeTextures){if(u===ay){let f=qe(oe({},r.textureLoaderOptions),{image:{type:"data"}});try{let d=await Ko(c,[],f,i);a.texture=d}catch{let p=await Qo(c,u,f,i);a.texture=p}}else if(u===bk||u===Q0){let f=await yn(c,u,r.textureLoaderOptions);u===Q0&&(f=f[0]),a.texture={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f}}}else a.texture=c}return a.material=vlt(r.materialDefinition,a.texture),a.material&&(a.texture=null),await llt(e,a,r,t,n)}async function llt(e,r,t,n,i){var f,d;let a=e.byteLength,o,s,u=0,l=0,c;if(t.isDracoGeometry){let p=await Qo(e,Zb,{draco:{attributeNameEntry:ult}});s=p.header.vertexCount,c=(f=p.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:b,COLOR_0:v,TEXCOORD_0:y,["feature-index"]:w,["uv-region"]:A}=p.attributes;o={position:h,normal:b,color:v,uv0:y,uvRegion:A,id:w},clt(o,p);let C=_lt(w);C&&xlt(o,C)}else{let{vertexAttributes:p,ordering:h,featureAttributes:b,featureAttributeOrder:v}=n.store.defaultGeometrySchema,y=dlt(e,n);u=y.byteOffset,s=y.vertexCount,l=y.featureCount;let{attributes:w,byteOffset:A}=vje(e,u,p,s,h),{attributes:C}=vje(e,A,b,l,v);ylt(C),o=flt(w,C)}if(!((d=i==null?void 0:i.i3s)==null?void 0:d.coordinateSystem)||i.i3s.coordinateSystem===il.METER_OFFSETS){let p=hlt(o.position,t);r.modelMatrix=p.invert(),r.coordinateSystem=il.METER_OFFSETS}else r.modelMatrix=glt(o.position),r.coordinateSystem=il.LNGLAT_OFFSETS;o.color=await pje(o.color,o.id,t,n,i),r.attributes={positions:o.position,normals:o.normal,colors:gje(o.color),texCoords:o.uv0,uvRegions:gje(o.uvRegion||o.region)},r.indices=c||null,o.id&&o.id.value&&(r.featureIds=o.id.value);for(let p in r.attributes)r.attributes[p]||delete r.attributes[p];return r.vertexCount=s,r.byteLength=a,r}function clt(e,r){for(let t in r.loaderData.attributes){let n=r.loaderData.attributes[t];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function flt(e,r){return oe(oe({},e),r)}function gje(e){return e&&(e.normalized=!0,e)}function dlt(e,r){let t=0,n=0,i=0;for(let{property:a,type:o}of r.store.defaultGeometrySchema.header){let s=oY(o);switch(a){case oS.vertexCount:n=new s(e,0,4)[0],t+=Fx(o);break;case oS.featureCount:i=new s(e,4,4)[0],t+=Fx(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:t}}function vje(e,r,t,n,i){let a={};for(let o of i)if(t[o]){let{valueType:s,valuesPerElement:u}=t[o];if(r+n*u*Fx(s)<=e.byteLength){let l=e.slice(r),c;if(s==="UInt64")c=plt(l,n*u,Fx(s));else{let f=oY(s);c=new f(l,0,n*u)}switch(a[o]={value:c,type:nje[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}r=r+n*u*Fx(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:r}}function plt(e,r,t){let n=[],i=new DataView(e),a=0;for(let o=0;o<r;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),l=s+2**32*u;n.push(l),a+=t}return new Uint32Array(n)}function hlt(e,r){let t=r.mbs,n=e.value,i=e.metadata,a=new Ih.Matrix4,o=new Ih.Vector3(t[0],t[1],t[2]),s=new Ih.Vector3;return H4.Ellipsoid.WGS84.cartographicToCartesian(o,s),H4.Ellipsoid.WGS84.eastNorthUpToFixedFrame(s,a),e.value=mlt(n,i,o),a}function mlt(e,r={},t){let n=new Float64Array(e.length),i=r["i3s-scale_x"]&&r["i3s-scale_x"].double||1,a=r["i3s-scale_y"]&&r["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+t.x,n[o+1]=e[o+1]*a+t.y,n[o+2]=e[o+2]+t.z;for(let o=0;o<n.length;o+=3)H4.Ellipsoid.WGS84.cartographicToCartesian(n.subarray(o,o+3),W4),n[o]=W4.x,n[o+1]=W4.y,n[o+2]=W4.z;return n}function glt(e){var a,o;let r=e.metadata,t=((a=r==null?void 0:r["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=r==null?void 0:r["i3s-scale_y"])==null?void 0:o.double)||1,i=new Ih.Matrix4;return i[0]=t,i[5]=n,i}function vlt(e,r){let t;return e?t=qe(oe({},e),{pbrMetallicRoughness:e.pbrMetallicRoughness?oe({},e.pbrMetallicRoughness):{baseColorFactor:[255,255,255,255]}}):(t={pbrMetallicRoughness:{}},r?t.pbrMetallicRoughness.baseColorTexture={texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),t.alphaCutoff=t.alphaCutoff||.25,t.alphaMode&&(t.alphaMode=t.alphaMode.toUpperCase()),t.emissiveFactor&&(t.emissiveFactor=bje(t.emissiveFactor)),t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorFactor&&(t.pbrMetallicRoughness.baseColorFactor=bje(t.pbrMetallicRoughness.baseColorFactor)),r&&blt(t,r),t}function bje(e){let r=[...e];for(let t=0;t<e.length;t++)r[t]=e[t]/255;return r}function blt(e,r){let t={source:{image:r}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture=qe(oe({},e.pbrMetallicRoughness.baseColorTexture),{texture:t}):e.emissiveTexture?e.emissiveTexture=qe(oe({},e.emissiveTexture),{texture:t}):e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture=qe(oe({},e.pbrMetallicRoughness.metallicRoughnessTexture),{texture:t}):e.normalTexture?e.normalTexture=qe(oe({},e.normalTexture),{texture:t}):e.occlusionTexture&&(e.occlusionTexture=qe(oe({},e.occlusionTexture),{texture:t}))}function ylt(e){let{id:r,faceRange:t}=e;if(!r||!t)return;let n=r.value,i=t.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let l=1;l<i.length;l+=2){let c=Number(n[s]),f=i[l],d=i[l-1],p=f-d+1,h=u+p*3;o.fill(c,u,h),s++,u=h}e.id.value=o}function xlt(e,r){let t=e.id.value,n=new Float32Array(t.length);for(let i=0;i<t.length;i++)n[i]=r[t[i]];e.id.value=n}function _lt(e){var r,t;return(t=(r=e==null?void 0:e.metadata)==null?void 0:r["i3s-feature-ids"])==null?void 0:t.intArray}var Elt="4.0.0-alpha.25",yje={name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:Elt,mimeTypes:["application/octet-stream"],parse:wlt,extensions:["bin"],options:{"i3s-content":{}}};async function wlt(e,r,t){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(r==null?void 0:r.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await mje(e,s,u,r,t)}var _je=He(K0()),uY=He(zs());var Slt="4.0.0-alpha.25",xje={name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:Slt,mimeTypes:["application/json"],parse:Alt,extensions:["json"],options:{i3s:{}}};async function Alt(e,r){return JSON.parse(new TextDecoder().decode(e))}var V4=class{constructor(r,t="",n){this.nodePages=[];this.pendingNodePages=[];this.textureDefinitionsSelectedFormats=[];this.textureLoaderOptions={};var i,a;this.tileset=oe({},r),this.url=t,this.nodesPerPage=((i=r.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=r.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(r)}async getNodeById(r){var i;let t=Math.floor(r/this.nodesPerPage);if(!this.nodePages[t]&&!this.pendingNodePages[t]){let a=Rh(`${this.url}/nodepages/${t}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[t]={status:"Pending",promise:yn(a,xje,this.options)},this.nodePages[t]=await this.pendingNodePages[t].promise,this.nodesInNodePages+=this.nodePages[t].nodes.length,this.pendingNodePages[t].status="Done"}this.pendingNodePages[t].status==="Pending"&&(this.nodePages[t]=await this.pendingNodePages[t].promise);let n=r%this.nodesPerPage;return this.nodePages[t].nodes[n]}async formTileFromNodePages(r){let t=await this.getNodeById(r),n=[],i=[];for(let p of t.children||[])i.push(this.getNodeById(p));let a=await Promise.all(i);for(let p of a)n.push({id:p.index.toString(),obb:p.obb});let o,s,u,l="jpg",c=[],f=!1;if(t&&t.mesh){let{url:p,isDracoGeometry:h}=t.mesh.geometry&&this.getContentUrl(t.mesh.geometry)||{isDracoGeometry:!1};o=p,f=h;let{textureData:b,materialDefinition:v}=this.getInformationFromMaterial(t.mesh.material);u=v,l=b.format||l,b.name&&(s=`${this.url}/nodes/${t.mesh.material.resource}/textures/${b.name}`),this.tileset.attributeStorageInfo&&(c=lje(this.tileset,this.url,t.mesh.attribute.resource))}let d=this.getLodSelection(t);return sY({id:r.toString(),lodSelection:d,obb:t.obb,contentUrl:o,textureUrl:s,attributeUrls:c,materialDefinition:u,textureFormat:l,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(r){let t=null,n=this.tileset.geometryDefinitions[r.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);t={url:`${this.url}/nodes/${r.resource}/geometries/${i}`,isDracoGeometry:a}}return t}getLodSelection(r){let t=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&t.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(r.lodThreshold/(Math.PI*.25))}),t.push({metricType:this.lodSelectionMetricType,maxError:r.lodThreshold}),t}getInformationFromMaterial(r){var n,i,a;let t={textureData:{name:null}};if(r){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[r.definition];if(o){t.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(t.textureData=this.textureDefinitionsSelectedFormats[s]||t.textureData)}}return t}initSelectedFormatsForTextureDefinitions(r){this.textureDefinitionsSelectedFormats=[];let t=this.getSupportedTextureFormats(),n=r.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of t){let u=a.find(l=>l.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:ly(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let r=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let t=J2();t.has("etc2")&&r.push("ktx-etc2"),t.has("dxt")&&r.push("dds"),r.push("ktx2")}return r.push("jpg"),r.push("png"),r}};function Eje(e,r){let t=r.url||"",n;e.geometryData&&(n=`${t}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${t}/${e.textureData[0].href}`);let a;e.attributeData&&(a=uje(t,e));let o=e.children||[];return sY(qe(oe({},e),{children:o,url:t,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1}))}function sY(e){var s,u;let r={},t=[0,0,0,1];if(e.mbs)t=e.mbs,r.sphere=[...uY.Ellipsoid.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){r.box=[...uY.Ellipsoid.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let c=new _je.OrientedBoundingBox().fromCenterHalfSizeQuaternion(r.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();r.sphere=[...c.center,c.radius],t=[...e.obb.center,c.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a=ic.MESH,o=kp.REPLACE;return qe(oe({},e),{mbs:t,boundingVolume:r,lodMetricType:n,lodMetricValue:i,type:a,refine:o})}async function wje(e,r,t){var o;let n=t.url,i,a;if(e.nodePages)i=new V4(e,n,r),a=await i.formTileFromNodePages(0);else{let s=Rh(`${e.url}/nodes/root`,(o=r.i3s)==null?void 0:o.token);a=await yn(s,Qf,qe(oe({},r),{i3s:qe(oe({},r.i3s),{loadContent:!1,isTileHeader:!0,isTileset:!1})}))}return qe(oe({},e),{loader:Qf,url:n,basePath:n,type:X0.I3S,nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue})}var Tlt="4.0.0-alpha.25",Clt=/layers\/[0-9]+$/,Dlt=/nodes\/([0-9-]+|root)$/,Olt="504b0304",klt="PointCloud",Qf={name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:Tlt,mimeTypes:["application/octet-stream"],parse:Flt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:il.METER_OFFSETS,colorsByAttribute:null}}};async function Flt(e,r={},t){let n=t.url;if(r.i3s=r.i3s||{},Blt(e)===Olt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a;r.i3s.isTileset==="auto"?a=Clt.test(n):a=r.i3s.isTileset;let o;return r.isTileHeader==="auto"?o=Dlt.test(n):o=r.i3s.isTileHeader,a?e=await Ilt(e,r,t):o?e=await Plt(e,t):e=await Rlt(e,r),e}async function Rlt(e,r){return await Qo(e,yje,r)}async function Ilt(e,r,t){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===klt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await wje(n,r,t)}async function Plt(e,r){return e=JSON.parse(new TextDecoder().decode(e)),Eje(e,r)}function Blt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(r=>r.toString(16).padStart(2,"0")).join(""):null}var Sje=He($t()),Aje=He(zs()),Tje=He(K0());function lY(e,r){let t=[e.center[0],e.center[1],e.center[2]+r.getHeight(e.center[1],e.center[0])],n=Aje.Ellipsoid.WGS84.cartographicToCartesian(t,new Sje.Vector3),i=new Tje.OrientedBoundingBox().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var K4=He(rl()),jlt=()=>({version:{path:"version",default:"1.0"}}),Cje=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},content:{path:"content"},children:{path:"children",transform:e=>e.map(r=>(0,K4.default)(r,Cje()))}}),Dje=()=>({asset:{path:"asset",transform:e=>(0,K4.default)(e,jlt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,K4.default)(e,Cje())}});var Zf=He($t()),cY=He(zs());function Oje(e,r){let t=new Float32Array(e.length),n=Llt(r);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=Mlt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],l=[s[0]*u[0],s[1]*u[1]],c=[l[0]+o[0],l[1]+o[1]];t[i]=c[0],t[i+1]=c[1]}return t}function Mlt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function Llt(e){let r=65535,t=[];for(let n=0;n<e.length;n++)t[n]=e[n]/r;return t}var qlt=new Zf.Matrix4([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),kje=new Zf.Vector3,X4=class{async convert(r,t=null){let n=await this.buildGLTF(r,t);return BD({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(t),batchTable:t},nW)}async buildGLTF(r,t){let{tileContent:n,textureFormat:i,box:a}=r,{material:o,attributes:s,indices:u,modelMatrix:l}=n,c=new Jt,f=await this._addI3sTextureToGLTF(n,i,c),d=this._convertI3sMaterialToGLTFMaterial(o,f),p=c.addMaterial(d),h=s.positions,b=h.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=Oje(s.texCoords.value,s.uvRegions.value));let v=new Zf.Vector3(a),y=cY.Ellipsoid.WGS84.cartesianToCartographic(v,new Zf.Vector3);s.positions.value=this._normalizePositions(b,v,y,l),this._createBatchIds(n,t),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let w=u||P4(b.length/h.size),A=c.addMesh({attributes:s,indices:w,material:p,mode:4}),C=this._generateTransformMatrix(v),D=c.addNode({meshIndex:A,matrix:C}),R=c.addScene({nodeIndices:[D]});return c.setDefaultScene(R),c.createBinaryChunk(),BD(c.gltf,LG)}async _addI3sTextureToGLTF(r,t,n){let{texture:i,material:a,attributes:o}=r,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let l=this._deduceMimeTypeFromFormat(t),c=n.addImage(u,l);s=n.addTexture({imageIndex:c}),delete o.colors}return s}_normalizePositions(r,t,n,i){let a=new Float32Array(r.length);for(let o=0;o<r.length;o+=3){let s=r.subarray(o,o+3),u=new Zf.Vector3(t),l=new Zf.Vector3(Array.from(s)).transform(i).add(n);cY.Ellipsoid.WGS84.cartographicToCartesian(l,kje),l=kje.subtract(u),a.set(l,o)}return a}_generateTransformMatrix(r){return new Zf.Matrix4().translate(r).multiplyLeft(qlt)}_createBatchIds(r,t){let{featureIds:n}=r,{OBJECTID:i}=t||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}r.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(r){switch(r){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${r}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(r,t){let n=t!==null;return r?(t!==null&&(r=this._setGLTFTexture(r,t)),r):(r={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?r.pbrMetallicRoughness.baseColorTexture={index:t,texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],r)}_setGLTFTexture(r,t){let n=qe(oe({},r),{pbrMetallicRoughness:oe({},r.pbrMetallicRoughness)});return r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:t,texCoord:0}:r.emissiveTexture?n.emissiveTexture={index:t,texCoord:0}:r.pbrMetallicRoughness&&r.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:t,texCoord:0}:r.normalTexture?n.normalTexture={index:t,texCoord:0}:r.occlusionTexture&&(n.occlusionTexture={index:t,texCoord:0}),n}_getFeaturesLength(r){if(!r)return 0;let t=Object.keys(r)[0];return t?r[t].length:0}_checkNormals(r){return r.find(t=>t)}};var Fje=async(e,r,t)=>{if(!e||!r.contentUrl)return null;let n=qe(oe({},t),{i3s:qe(oe({},t.i3s),{isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:r.attributeUrls,textureUrl:r.textureUrl,textureFormat:r.textureFormat,textureLoaderOptions:r.textureLoaderOptions,materialDefinition:r.materialDefinition,isDracoGeometry:r.isDracoGeometry,mbs:r.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}})});return await yn(r.contentUrl,Qf,n)};var Nlt="I3S",uS=class{constructor(){this.workerSource={};this.loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,i3s:{coordinateSystem:il.LNGLAT_OFFSETS,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={}}async convert(r){var f;if(En)return console.log(Ox),Ox;let{inputUrl:t,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o}=r;if(this.conversionStartTime=fY.default.hrtime(),this.options={maxDepth:a},console.log("Loading egm file..."),this.geoidHeightModel=await yn(o,L4),console.log("Loading egm file completed!"),this.sourceTileset=await yn(t,Qf,this.loaderOptions),!this.sourceTileset)return;let s=(f=this.sourceTileset)==null?void 0:f.root;s.obb||(s.obb=LX(s.mbs)),this.tilesetPath=(0,Rje.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo;try{await Jw(this.tilesetPath)}catch{}let u={boundingVolume:{box:lY(s.obb,this.geoidHeightModel)},geometricError:HX(s),children:[]};await this._addChildren(s,u,1);let l=(0,Ije.default)({root:u},Dje());await Gi(this.tilesetPath,JSON.stringify(l),"tileset.json"),this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),Mi.getWorkerFarm({}).destroy()}async convertChildNode(r,t,n,i){let a=await this._loadChildNode(r,i);if(a.contentUrl){let o=await Fje(this.sourceTileset,a,this.loaderOptions);if(!o){await this._addChildren(a,t,n+1);return}this.vertexCounter+=(o==null?void 0:o.vertexCount)||0;let s=null;this.attributeStorageInfo&&(s=await this._loadChildAttributes(a,this.attributeStorageInfo)),a.obb||(a.obb=LX(a.mbs));let u={box:lY(a.obb,this.geoidHeightModel)},l={boundingVolume:u,geometricError:HX(a),children:[]},c={tileContent:o,box:u.box,textureFormat:a.textureFormat},d=await new X4().convert(c,s);l.content={uri:`${a.id}.b3dm`,boundingVolume:u},await Gi(this.tilesetPath,new Uint8Array(d),`${a.id}.b3dm`),t.children.push(l),await this._addChildren(a,l,n+1)}else await this._addChildren(a,t,n+1)}async _addChildren(r,t,n){if(this.options.maxDepth&&n>this.options.maxDepth)return;let i=[];for(let a of r.children||[])i.push(this.convertChildNode(r,t,n,a));await Promise.all(i)}async _loadChildNode(r,t){var i;let n;if((i=this.sourceTileset)==null?void 0:i.nodePagesTile)console.log(`Node conversion: ${t.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(t.id));else{let a=this._relativeUrlToFullUrl(r.url,t.href),o={i3s:qe(oe({},this.loaderOptions),{isTileHeader:!0,loadContent:!1})};console.log(`Node conversion: ${a}`),n=await yn(a,Qf,o)}return n}_relativeUrlToFullUrl(r="",t){let n=r.split("/"),i=t.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(r,t){let n=[],{attributeUrls:i=[]}=r;for(let o=0;o<i.length;o++){let s=i[o],u=t[o],l={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(yn(s,sS,l))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(r){return r.attributeValues?r.attributeValues.valueType:r.objectIds?"Oid32":""}_replaceNestedArrays(r){for(let t=0;t<r.length;t++){let n=r[t];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(r){let t=await R4(r),n=fY.default.hrtime(this.conversionStartTime),i=F4(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${Nlt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",t," bytes"),console.log("------------------------------------------------")}};var Y4=He(require("path"));var Ult="4.0.0-alpha.25",Glt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",dY=class{async install(r=""){console.log('Installing "EGM2008-5" model...');let t=await yn(Glt,KH,{}),n=process.cwd();r&&(n=(0,Y4.join)(n,r)),await Gi(n,new Uint8Array(t["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Rp[fi.DECODER],"draco",fi.DECODER),await this.installFromUrl(Rp[fi.DECODER_WASM],"draco",fi.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rp[fi.ENCODER],"draco",fi.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",lc.TRANSCODER,"libs"),await this.installFromNpm("textures",lc.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",lc.ENCODER,"libs"),await this.installFromNpm("textures",lc.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package'),await new yp().start({command:process.platform==="win32"?"npm.cmd":"npm",arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0}),console.log("All dependencies were installed succesfully.")}async installFromNpm(r,t,n=""){let a=await(await Jo(`https://unpkg.com/@loaders.gl/${r}@${Ult}/dist/${n}/${t}`)).arrayBuffer();if(!a)return;let o=(0,Y4.join)(process.cwd(),"modules",r,"dist",n);await Gi(o,a,t)}async installFromUrl(r,t,n){let a=await(await Jo(r)).arrayBuffer();if(!a)return;let o=(0,Y4.join)(process.cwd(),"modules",t,"dist","libs");await Gi(o,a,n)}};function al(e,r){if(e+1>=r.length)return"";let t=r[e+1];return t.indexOf("--")===0?"":t}function Pje(e,r){let t=al(e,r);return console.log(`Input tileset value: ${t}`),console.log(`Modified tileset value: ${t.replace(/\\/g,"/")}`),t.replace(/\\/g,"/")}function Bje(e){return e.reduce((r,t)=>{let n=t.indexOf("="),i=t.slice(0,n),a=t.slice(n+1,t.length);return t.includes("=")&&t.startsWith("--")&&a?r.concat(i,a):r.concat(t)},[])}function jje(e,r){let t=al(e,r),n=Number.parseInt(t);return isFinite(n)?n:NaN}function ed(e,r){let t=al(e,r).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(r[e])&&!t?!1:!t||t==="true"}var pY={I3S:"I3S",_3DTILES:"3DTILES"};async function zlt(){let[,,...e]=process.argv;e.length===0&&hY();let r=Bje(e),t=Vlt(r);if(t.installDependencies){new dY().install("deps");return}let n=Wlt(t);await Hlt(n)}zlt().catch(e=>{console.log(e),process.exit(1)});function hY(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),process.exit(0)}async function Hlt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case pY.I3S:new uS().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm});break;case pY._3DTILES:await new aS().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,inquirer:Lje.default});break;default:hY()}}function Wlt(e){let r={name:()=>console.log("Missed: --name [Tileset name]"),output:()=>console.log("Missed: --output [Output path name]"),sevenZipExe:()=>console.log("Missed: --7zExe [7z archiver executable path]"),egm:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]"),tileset:()=>console.log("Missed: --tileset [tileset.json file]"),inputType:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]")},t=[];for(let n in r){let i=e[n],a=Boolean(i)&&n==="inputType"&&!Object.values(pY).includes(i.toUpperCase());(!i||a)&&t.push(r[n])}return t.length&&(t.forEach(n=>n()),process.exit(1)),e}function Vlt(e){let r={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,Mje.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1};return e.forEach((t,n)=>{if(t.indexOf("--")===0)switch(t){case"--input-type":r.inputType=al(n,e);break;case"--tileset":r.tileset=Pje(n,e);break;case"--name":r.name=al(n,e);break;case"--output":r.output=al(n,e);break;case"--instant-node-writing":r.instantNodeWriting=ed(n,e);break;case"--split-nodes":r.mergeMaterials=ed(n,e);break;case"--max-depth":r.maxDepth=jje(n,e);break;case"--slpk":r.slpk=ed(n,e);break;case"--7zExe":r.sevenZipExe=al(n,e);break;case"--egm":r.egm=al(n,e);break;case"--token":r.token=al(n,e);break;case"--no-draco":r.draco=ed(n,e);break;case"--validate":r.validate=ed(n,e);break;case"--install-dependencies":r.installDependencies=ed(n,e);break;case"--generate-textures":r.generateTextures=ed(n,e);break;case"--generate-bounding-volumes":r.generateBoundingVolumes=ed(n,e);break;case"--metadata-class":r.metadataClass=al(n,e);case"--help":hY();break;default:console.warn(`Unknown option ${t}`),process.exit(0)}}),r}
|
|
185
|
+
`).forEach(s=>{let u=a.exec(s);u&&i.push(Number(u[1]))});let o=e;for(;i.includes(o);)o++;r(o)})})}var y2e={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},yp=class{constructor({id:r="browser-driver"}={}){this.props=oe({},y2e);this.childProcess=null;this.port=0;this.id=r}async start(r){r=oe(oe({},y2e),r),this.props=r;let t=[...r.arguments];return this.port=Number(r.port),r.portArg&&(r.autoPort&&(this.port=await v2e(r.port)),t.push(r.portArg,String(this.port))),await new Promise((n,i)=>{try{this._setTimeout(()=>{r.onSuccess&&r.onSuccess(this),n({})}),console.log(`Spawning ${r.command} ${r.arguments.join(" ")}`);let a=b2e.spawn(r.command,t,r.spawn);this.childProcess=a,a.stdout.on("data",o=>{console.log(o.toString())}),a.stderr.on("data",o=>{console.log(`Child process wrote to stderr: "${o}".`),r.ignoreStderr||(this._clearTimeout(),i(new Error(o)))}),a.on("error",o=>{console.log(`Child process errored with ${o}`),this._clearTimeout(),i(o)}),a.on("close",o=>{console.log(`Child process exited with ${o}`),this.childProcess=null,this._clearTimeout(),n({})})}catch(a){i(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(r=0){try{await this.stop(),process.exit(r)}catch(t){console.error(t.message||t),process.exit(1)}}_setTimeout(r){Number(this.props.wait)>0&&(this.successTimer=setTimeout(r,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};function oN(e,r){return!Mi.isSupported()||!lo&&!(r==null?void 0:r._nodeWorkers)?!1:e.worker&&(r==null?void 0:r.worker)}async function sN(e,r,t,n,i){let a=e.id,o=u2(e,t),u=Mi.getWorkerFarm(t).getWorkerPool({name:a,url:o});t=JSON.parse(JSON.stringify(t)),n=JSON.parse(JSON.stringify(n||{}));let l=await u.startJob("process-on-worker",kDr.bind(null,i));return l.postMessage("process",{input:r,options:t,context:n}),await(await l.result).result}async function kDr(e,r,t,n){switch(t){case"done":r.done(n);break;case"error":r.error(new Error(n.error));break;case"process":let{id:i,input:a,options:o}=n;try{let s=await e(a,o);r.postMessage("done",{id:i,result:s})}catch(s){let u=s instanceof Error?s.message:"unknown error";r.postMessage("error",{id:i,error:u})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function uN(e,r){return!Mi.isSupported()||!En&&!(r==null?void 0:r._nodeWorkers)?!1:e.worker&&(r==null?void 0:r.worker)}function x2e(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?_2e(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?_2e(e,0,r):""}function _2e(e,r,t){if(e.byteLength<=r+t)return"";let n=new DataView(e),i="";for(let a=0;a<t;a++)i+=String.fromCharCode(n.getUint8(r+a));return i}function lN(e){try{return JSON.parse(e)}catch{throw new Error(`Failed to parse JSON from data starting with "${x2e(e)}"`)}}function cN(e,r,t){if(t=t||e.byteLength,e.byteLength<t||r.byteLength<t)return!1;let n=new Uint8Array(e),i=new Uint8Array(r);for(let a=0;a<n.length;++a)if(n[a]!==i[a])return!1;return!0}function Yl(...e){let r=e.map(a=>a instanceof ArrayBuffer?new Uint8Array(a):a),t=r.reduce((a,o)=>a+o.byteLength,0),n=new Uint8Array(t),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n.buffer}function Xo(...e){let r=e,t=r&&r.length>1&&r[0].constructor||null;if(!t)throw new Error('"concatenateTypedArrays" - incorrect quantity of arguments or arguments have incompatible data types');let n=r.reduce((o,s)=>o+s.length,0),i=new t(n),a=0;for(let o of r)i.set(o,a),a+=o.length;return i}function F0(e,r,t){let n=t!==void 0?new Uint8Array(e).subarray(r,r+t):new Uint8Array(e).subarray(r);return new Uint8Array(n).buffer}function Yo(e,r){return Qr(e>=0),Qr(r>0),e+(r-1)&~(r-1)}function fN(e,r,t){let n;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{let i=e.byteOffset,a=e.byteLength;n=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return r.set(n,t),t+Yo(n.byteLength,4)}function dN(e,r){let t=e.length,i=Math.ceil(t/r)*r-t,a="";for(let o=0;o<i;++o)a+=" ";return e+a}function wb(e,r,t,n){if(e)for(let i=0;i<n;i++)e.setUint8(r+i,t.charCodeAt(i));return r+n}function l2(e,r,t,n){if(e)for(let i=0;i<n;i++)e.setUint8(r+i,t[i]);return r+n}function TD(e,r,t,n){let i=Yo(t.byteLength,n),a=i-t.byteLength;if(e){let o=new Uint8Array(e.buffer,e.byteOffset+r,t.byteLength),s=new Uint8Array(t);o.set(s);for(let u=0;u<a;++u)e.setUint8(r+t.byteLength+u,32)}return r+=i,r}function Sb(e,r,t,n){let a=new TextEncoder().encode(t);return r=TD(e,r,a,n),r}async function c2(e){let r=[];for await(let t of e)r.push(t);return Yl(...r)}function xp(e){return xp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},xp(e)}function pN(e,r){if(xp(e)!=="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(xp(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}function hN(e){var r=pN(e,"string");return xp(r)==="symbol"?r:String(r)}function Fo(e,r,t){return r=hN(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var FDr="",E2e={};function $l(e){for(let r in E2e)if(e.startsWith(r)){let t=E2e[r];e=e.replace(r,t)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${FDr}${e}`),e}var RDr="4.0.0-alpha.26",mN={name:"JSON",id:"json",module:"json",version:RDr,extensions:["json","geojson"],mimeTypes:["application/json"],category:"json",text:!0,parseTextSync:w2e,parse:async e=>w2e(new TextDecoder().decode(e)),options:{}};function w2e(e){return JSON.parse(e)}function CD(e){return Buffer.isBuffer(e)?new Uint8Array(e.buffer,e.byteOffset,e.length).slice().buffer:e}function gN(e){if(Buffer.isBuffer(e))return e;if(ArrayBuffer.isView(e)&&(e=e.buffer),typeof Buffer!="undefined"&&e instanceof ArrayBuffer)return Buffer.from(e);throw new Error("toBuffer")}function S2e(e){return e&&typeof e=="object"&&e.isBuffer}function vN(e){return gN?gN(e):e}function ff(e){if(S2e(e))return CD(e);if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e=="string"){let r=e;return new TextEncoder().encode(r).buffer}if(e&&typeof e=="object"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Ab(e){return r=>new Promise((t,n)=>e(r,(i,a)=>i?n(i):t(a)))}function bN(e){return(r,t)=>new Promise((n,i)=>e(r,t,(a,o)=>a?i(a):n(o)))}function A2e(e){return(r,t,n)=>new Promise((i,a)=>e(r,t,n,(o,s)=>o?a(o):i(s)))}var qu={};qa(qu,{dirname:()=>PDr,filename:()=>IDr,join:()=>BDr,resolve:()=>jDr});function T2e(){var r;if(typeof process!="undefined"&&typeof process.cwd!="undefined")return process.cwd();let e=(r=window.location)==null?void 0:r.pathname;return(e==null?void 0:e.slice(0,e.lastIndexOf("/")+1))||""}function IDr(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(r+1):""}function PDr(e){let r=e?e.lastIndexOf("/"):-1;return r>=0?e.substr(0,r):""}function BDr(...e){let r="/";return e=e.map((t,n)=>(n&&(t=t.replace(new RegExp(`^${r}`),"")),n!==e.length-1&&(t=t.replace(new RegExp(`${r}$`),"")),t)),e.join(r)}function jDr(...e){let r=[];for(let a=0;a<e.length;a++)r[a]=e[a];let t="",n=!1,i;for(let a=r.length-1;a>=-1&&!n;a--){let o;a>=0?o=r[a]:(i===void 0&&(i=T2e()),o=i),o.length!==0&&(t=`${o}/${t}`,n=o.charCodeAt(0)===f2)}return t=MDr(t,!n),n?`/${t}`:t.length>0?t:"."}var f2=47,yN=46;function MDr(e,r){let t="",n=-1,i=0,a,o=!1;for(let s=0;s<=e.length;++s){if(s<e.length)a=e.charCodeAt(s);else{if(a===f2)break;a=f2}if(a===f2){if(!(n===s-1||i===1))if(n!==s-1&&i===2){if(t.length<2||!o||t.charCodeAt(t.length-1)!==yN||t.charCodeAt(t.length-2)!==yN){if(t.length>2){let u=t.length-1,l=u;for(;l>=0&&t.charCodeAt(l)!==f2;--l);if(l!==u){t=l===-1?"":t.slice(0,l),n=s,i=0,o=!1;continue}}else if(t.length===2||t.length===1){t="",n=s,i=0,o=!1;continue}}r&&(t.length>0?t+="/..":t="..",o=!0)}else{let u=e.slice(n+1,s);t.length>0?t+=`/${u}`:t=u,o=!1}n=s,i=0}else a===yN&&i!==-1?++i:i=-1}return t}var R0={};qa(R0,{_readToArrayBuffer:()=>XDr,close:()=>EN,createReadStream:()=>WDr,createWriteStream:()=>VDr,fstat:()=>HDr,isSupported:()=>KDr,open:()=>_N,read:()=>DD,readFile:()=>NDr,readFileSync:()=>UDr,readdir:()=>LDr,stat:()=>xN,statSync:()=>qDr,writeFile:()=>GDr,writeFileSync:()=>zDr});var $o=He(require("fs")),C2e=He(require("fs/promises"));var LDr=bN($o.readdir),xN=C2e.stat,qDr=$o.statSync,NDr=$o.readFile,UDr=$o.readFileSync,GDr=A2e($o.writeFile),zDr=$o.writeFileSync,_N=$o.open,EN=e=>new Promise((r,t)=>$o.close(e,n=>n?t(n):r())),DD=$o.read,HDr=$o.fstat,WDr=$o.createReadStream,VDr=$o.createWriteStream,KDr=Boolean($o);async function XDr(e,r,t){let n=Buffer.alloc(t),{bytesRead:i}=await DD(e,n,0,t,r);if(i!==t)throw new Error("fs.read failed");return CD(n)}var wN=e=>(e==null?void 0:e.getUint8)&&(e==null?void 0:e.slice)&&(e==null?void 0:e.length);var d2=class{constructor(r,t){this.read=(r,t,n,i)=>new Promise(a=>{DD(this.fileDescriptor,r,t,n,i,(o,s,u)=>a({bytesRead:s,buffer:u}))});this.fileDescriptor=r,this.stats=t}static async open(r){let[t,n]=await Promise.all([new Promise((i,a)=>{_N(r,void 0,void 0,(o,s)=>o?a(o):i(s))}),xN(r,{bigint:!0})]);return new d2(t,n)}async close(){return EN(this.fileDescriptor)}get stat(){return this.stats}};var Tb=class{static async from(r){r=$l(r);let t=await d2.open(r);return new Tb(t,t.stat.size)}constructor(r,t){this.fileDescriptor=r,this.size=t}async destroy(){await this.fileDescriptor.close()}async getUint8(r){let t=new Uint8Array((await this.fileDescriptor.read(Buffer.alloc(1),0,1,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getUint16(r){let t=new Uint16Array((await this.fileDescriptor.read(Buffer.alloc(2),0,2,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getUint32(r){let t=new Uint32Array((await this.fileDescriptor.read(Buffer.alloc(4),0,4,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async getBigUint64(r){let t=new BigInt64Array((await this.fileDescriptor.read(Buffer.alloc(8),0,8,r)).buffer.buffer).at(0);if(t===void 0)throw new Error("something went wrong");return t}async slice(r,t){let n=t-r;if(n>Number.MAX_SAFE_INTEGER)throw new Error("too big slice");let i=Number(n);return(await this.fileDescriptor.read(Buffer.alloc(i),0,i,r)).buffer.buffer}get length(){return this.size}};var $Dr=e=>typeof e=="boolean",p2=e=>typeof e=="function",I0=e=>e!==null&&typeof e=="object",SN=e=>I0(e)&&e.constructor==={}.constructor;var D2e=e=>Boolean(e)&&typeof e[Symbol.iterator]=="function",O2e=e=>e&&typeof e[Symbol.asyncIterator]=="function";var js=e=>typeof Response!="undefined"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Ms=e=>typeof Blob!="undefined"&&e instanceof Blob,k2e=e=>e&&typeof e=="object"&&e.isBuffer;var JDr=e=>typeof ReadableStream!="undefined"&&e instanceof ReadableStream||I0(e)&&p2(e.tee)&&p2(e.cancel)&&p2(e.getReader);var QDr=e=>I0(e)&&p2(e.read)&&p2(e.pipe)&&$Dr(e.readable),OD=e=>JDr(e)||QDr(e);var ZDr=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,eOr=/^([-\w.]+\/[-\w.+]+)/;function F2e(e){let r=eOr.exec(e);return r?r[1]:e}function AN(e){let r=ZDr.exec(e);return r?r[1]:""}var R2e=/\?.*/;function I2e(e){let r=e.match(R2e);return r&&r[0]}function Cb(e){return e.replace(R2e,"")}function P0(e){return js(e)?e.url:Ms(e)?e.name||"":typeof e=="string"?e:""}function h2(e){if(js(e)){let r=e,t=r.headers.get("content-type")||"",n=Cb(r.url);return F2e(t)||AN(n)}return Ms(e)?e.type||"":typeof e=="string"?AN(e):""}function P2e(e){return js(e)?e.headers["content-length"]||-1:Ms(e)?e.size:typeof e=="string"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function kD(e){if(js(e))return e;let r={},t=P2e(e);t>=0&&(r["content-length"]=String(t));let n=P0(e),i=h2(e);i&&(r["content-type"]=i);let a=await tOr(e);a&&(r["x-first-bytes"]=a),typeof e=="string"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:r});return Object.defineProperty(o,"url",{value:n}),o}async function B2e(e){if(!e.ok){let r=await rOr(e);throw new Error(r)}}async function rOr(e){let r=`Failed to fetch resource ${e.url} (${e.status}): `;try{let t=e.headers.get("Content-Type"),n=e.statusText;t.includes("application/json")&&(n+=` ${await e.text()}`),r+=n,r=r.length>60?`${r.slice(0,60)}...`:r}catch{}return r}async function tOr(e){let r=5;if(typeof e=="string")return`data:,${e.slice(0,r)}`;if(e instanceof Blob){let t=e.slice(0,5);return await new Promise(n=>{let i=new FileReader;i.onload=a=>{var o;return n((o=a==null?void 0:a.target)==null?void 0:o.result)},i.readAsDataURL(t)})}if(e instanceof ArrayBuffer){let t=e.slice(0,r);return`data:base64,${nOr(t)}`}return null}function nOr(e){let r="",t=new Uint8Array(e);for(let n=0;n<t.byteLength;n++)r+=String.fromCharCode(t[n]);return btoa(r)}var m2={};qa(m2,{fetchFileNode:()=>j2e});async function j2e(e,r){let t=/^file:\/\//;e.replace(t,"/");let n=e.split("?")[0];try{let i=await new Promise((l,c)=>{let f=R0.createReadStream(n,{encoding:null});f.once("readable",()=>l(f)),f.on("error",d=>c(d))}),a=200,o="OK",s=iOr(n),u=new Response(i,{headers:s,status:a,statusText:o});return Object.defineProperty(u,"url",{value:e}),u}catch(i){let a=i.message,o=400,s=a,u={},l=new Response(a,{headers:u,status:o,statusText:s});return Object.defineProperty(l,"url",{value:e}),l}}function iOr(e){let r={};if(!r["content-length"]){let t=R0.statSync(e);r["content-length"]=t.size}return e.endsWith(".gz")&&(e=e.slice(0,-3),r["content-encoding"]="gzip"),new Headers(r)}function aOr(e){return!oOr(e)&&!sOr(e)}function oOr(e){return e.startsWith("http:")||e.startsWith("https:")}function sOr(e){return e.startsWith("data:")}async function Jo(e,r){if(typeof e=="string"){let t=$l(e);return aOr(t)&&(m2==null?void 0:m2.fetchFileNode)?j2e(t,r):await fetch(t,r)}return await kD(e)}async function M2e(e,r,t){e=$l(e),En||await R0.writeFile(e,vN(r),{flag:"w"}),Qr(!1)}function TN(e){if(typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function Nu(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||TN()}var uOr=globalThis.self||globalThis.window||globalThis.global,Db=globalThis.window||globalThis.self||globalThis.global,lOr=globalThis.document||{},B0=globalThis.process||{},cOr=globalThis.console,NAt=globalThis.navigator||{};var FD="4.0.0-alpha.26",zAt=Nu();function fOr(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var CN=class{constructor(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";Fo(this,"storage",void 0),Fo(this,"id",void 0),Fo(this,"config",void 0),this.storage=fOr(n),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 L2e(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function q2e(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function RD(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var ID;(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"})(ID||(ID={}));var dOr=10;function N2e(e){return typeof e!="string"?e:(e=e.toUpperCase(),ID[e]||ID.WHITE)}function U2e(e,r,t){if(!Nu&&typeof e=="string"){if(r){let n=N2e(r);e="[".concat(n,"m").concat(e,"[39m")}if(t){let n=N2e(t);e="[".concat(n+dOr,"m").concat(e,"[49m")}}return e}function G2e(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(r.find(s=>a===s)||(i[a]=o.bind(e)))}}function Ob(e,r){if(!e)throw new Error(r||"Assertion failed")}function j0(){let e;if(Nu()&&Db.performance){var r,t;e=Db===null||Db===void 0||(r=Db.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in B0){var n;let i=B0===null||B0===void 0||(n=B0.hrtime)===null||n===void 0?void 0:n.call(B0);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var kb={debug:Nu()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},pOr={enabled:!0,level:0};function Ls(){}var z2e={},H2e={once:!0},df=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};Fo(this,"id",void 0),Fo(this,"VERSION",FD),Fo(this,"_startTs",j0()),Fo(this,"_deltaTs",j0()),Fo(this,"_storage",void 0),Fo(this,"userData",{}),Fo(this,"LOG_THROTTLE_TIMEOUT",0),this.id=r,this.userData={},this._storage=new CN("__probe-".concat(this.id,"__"),pOr),this.timeStamp("".concat(this.id," started")),G2e(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){Ob(r,t)}warn(r){return this._getLogFunction(0,r,kb.warn,arguments,H2e)}error(r){return this._getLogFunction(0,r,kb.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,kb.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,kb.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,kb.debug||kb.info,arguments,H2e)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Ls,n&&[n],{tag:vOr(t)}):Ls}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:o=1}=r;return this._shouldLog(t||n)?Nu()?gOr({image:i,message:a,scale:o}):mOr({image:i,message:a,scale:o}):Ls}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Ls)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=V2e({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Ls)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=W2e(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=V2e({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,Ob(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=j0();let o=a.tag||a.message;if(a.once&&o)if(!z2e[o])z2e[o]=j0();else return Ls;return t=hOr(this.id,a.message,a),n.bind(console,t,...a.args)}return Ls}};Fo(df,"VERSION",FD);function W2e(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 Ob(Number.isFinite(r)&&r>=0),r}function V2e(e){let{logLevel:r,message:t}=e;e.logLevel=W2e(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return Ob(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function hOr(e,r,t){if(typeof r=="string"){let n=t.time?q2e(L2e(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=U2e(r,t.color,t.background)}return r}function mOr(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Ls}function gOr(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let o=RD(a,t,n);console.log(...o)},a.src=r,Ls}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...RD(r,t,n)),Ls;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...RD(a,t,n)),a.src=r.toDataURL(),Ls}return Ls}function vOr(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var gTt=new df({id:"@probe.gl/log"});var DN=new df({id:"loaders.gl"}),ON=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},kN=class{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 FN={fetch:null,mimeType:void 0,nothrow:!1,log:new kN,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:En,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},K2e={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function RN(){globalThis.loaders=globalThis.loaders||{};let{loaders:e}=globalThis;return e._state=e._state||{},e._state}function Fb(){let e=RN();return e.globalOptions=e.globalOptions||oe({},FN),e.globalOptions}function X2e(e,r,t,n){return t=t||[],t=Array.isArray(t)?t:[t],bOr(e,t),xOr(r,e,n)}function bOr(e,r){Y2e(e,null,FN,K2e,r);for(let t of r){let n=e&&e[t.id]||{},i=t.options&&t.options[t.id]||{},a=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};Y2e(n,t.id,i,a,r)}}function Y2e(e,r,t,n,i){let a=r||"Top level",o=r?`${r}.`:"";for(let s in e){let u=!r&&I0(e[s]),l=s==="baseUri"&&!r,c=s==="workerUrl"&&r;if(!(s in t)&&!l&&!c){if(s in n)DN.warn(`${a} loader option '${o}${s}' no longer supported, use '${n[s]}'`)();else if(!u){let f=yOr(s,i);DN.warn(`${a} loader option '${o}${s}' not recognized. ${f}`)()}}}}function yOr(e,r){let t=e.toLowerCase(),n="";for(let i of r)for(let a in i.options){if(e===a)return`Did you mean '${i.id}.${a}'?`;let o=a.toLowerCase();(t.startsWith(o)||o.startsWith(t))&&(n=n||`Did you mean '${i.id}.${a}'?`)}return n}function xOr(e,r,t){let n=e.options||{},i=oe({},n);return _Or(i,t),i.log===null&&(i.log=new ON),$2e(i,Fb()),$2e(i,r),i}function $2e(e,r){for(let t in r)if(t in r){let n=r[t];SN(n)&&SN(e[t])?e[t]=oe(oe({},e[t]),r[t]):e[t]=r[t]}}function _Or(e,r){r&&!("baseUri"in e)&&(e.baseUri=r)}function g2(e){return e?(Array.isArray(e)&&(e=e[0]),Array.isArray(e==null?void 0:e.extensions)):!1}function IN(e){Qr(e,"null loader"),Qr(g2(e),"invalid loader");let r;return Array.isArray(e)&&(r=e[1],e=e[0],e=qe(oe({},e),{options:oe(oe({},e.options),r)})),((e==null?void 0:e.parseTextSync)||(e==null?void 0:e.parseText))&&(e.text=!0),e.text||(e.binary=!0),e}var EOr=()=>{let e=RN();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function J2e(){return EOr()}var Q2e=new df({id:"loaders.gl"});var wOr=/\.([^.]+)$/;async function Z2e(e,r=[],t,n){if(!rEe(e))return null;let i=eEe(e,r,qe(oe({},t),{nothrow:!0}),n);if(i)return i;if(Ms(e)&&(e=await e.slice(0,10).arrayBuffer(),i=eEe(e,r,t,n)),!i&&!(t==null?void 0:t.nothrow))throw new Error(tEe(e));return i}function eEe(e,r=[],t,n){if(!rEe(e))return null;if(r&&!Array.isArray(r))return IN(r);let i=[];r&&(i=i.concat(r)),(t==null?void 0:t.ignoreRegisteredLoaders)||i.push(...J2e()),AOr(i);let a=SOr(e,i,t,n);if(!a&&!(t==null?void 0:t.nothrow))throw new Error(tEe(e));return a}function SOr(e,r,t,n){let i=P0(e),a=h2(e),o=Cb(i)||(n==null?void 0:n.url),s=null,u="";return(t==null?void 0:t.mimeType)&&(s=PN(r,t==null?void 0:t.mimeType),u=`match forced by supplied MIME type ${t==null?void 0:t.mimeType}`),s=s||TOr(r,o),u=u||(s?`matched url ${o}`:""),s=s||PN(r,a),u=u||(s?`matched MIME type ${a}`:""),s=s||DOr(r,e),u=u||(s?`matched initial data ${iEe(e)}`:""),(t==null?void 0:t.fallbackMimeType)&&(s=s||PN(r,t==null?void 0:t.fallbackMimeType),u=u||(s?`matched fallback MIME type ${a}`:"")),u&&Q2e.log(1,`selectLoader selected ${s==null?void 0:s.name}: ${u}.`),s}function rEe(e){return!(e instanceof Response&&e.status===204)}function tEe(e){let r=P0(e),t=h2(e),n="No valid loader found (";n+=r?`${qu.filename(r)}, `:"no url provided, ",n+=`MIME type: ${t?`"${t}"`:"not provided"}, `;let i=e?iEe(e):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function AOr(e){for(let r of e)IN(r)}function TOr(e,r){let t=r&&wOr.exec(r),n=t&&t[1];return n?COr(e,n):null}function COr(e,r){r=r.toLowerCase();for(let t of e)for(let n of t.extensions)if(n.toLowerCase()===r)return t;return null}function PN(e,r){for(let t of e)if(t.mimeTypes&&t.mimeTypes.includes(r)||r===`application/x.${t.id}`)return t;return null}function DOr(e,r){if(!r)return null;for(let t of e)if(typeof r=="string"){if(OOr(r,t))return t}else if(ArrayBuffer.isView(r)){if(nEe(r.buffer,r.byteOffset,t))return t}else if(r instanceof ArrayBuffer&&nEe(r,0,t))return t;return null}function OOr(e,r){return r.testText?r.testText(e):(Array.isArray(r.tests)?r.tests:[r.tests]).some(n=>e.startsWith(n))}function nEe(e,r,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>kOr(e,r,t,i))}function kOr(e,r,t,n){if(n instanceof ArrayBuffer)return cN(n,e,n.byteLength);switch(typeof n){case"function":return n(e);case"string":let i=BN(e,r,n.length);return n===i;default:return!1}}function iEe(e,r=5){return typeof e=="string"?e.slice(0,r):ArrayBuffer.isView(e)?BN(e.buffer,e.byteOffset,r):e instanceof ArrayBuffer?BN(e,0,r):""}function BN(e,r,t){if(e.byteLength<r+t)return"";let n=new DataView(e),i="";for(let a=0;a<t;a++)i+=String.fromCharCode(n.getUint8(r+a));return i}var FOr=256*1024;function*aEe(e,r){let t=(r==null?void 0:r.chunkSize)||FOr,n=0,i=new TextEncoder;for(;n<e.length;){let a=Math.min(e.length-n,t),o=e.slice(n,n+a);n+=a,yield i.encode(o)}}var ROr=256*1024;function*oEe(e,r={}){let{chunkSize:t=ROr}=r,n=0;for(;n<e.byteLength;){let i=Math.min(e.byteLength-n,t),a=new ArrayBuffer(i),o=new Uint8Array(e,n,i);new Uint8Array(a).set(o),n+=i,yield a}}var IOr=1024*1024;async function*sEe(e,r){let t=(r==null?void 0:r.chunkSize)||IOr,n=0;for(;n<e.size;){let i=n+t,a=await e.slice(n,i).arrayBuffer();n=i,yield a}}function jN(e,r){return En?POr(e,r):BOr(e,r)}async function*POr(e,r){let t=e.getReader(),n;try{for(;;){let i=n||t.read();(r==null?void 0:r._streamReadAhead)&&(n=t.read());let{done:a,value:o}=await i;if(a)return;yield ff(o)}}catch{t.releaseLock()}}async function*BOr(e,r){for await(let t of e)yield ff(t)}function uEe(e,r){if(typeof e=="string")return aEe(e,r);if(e instanceof ArrayBuffer)return oEe(e,r);if(Ms(e))return sEe(e,r);if(OD(e))return jN(e,r);if(js(e))return jN(e.body,r);throw new Error("makeIterator")}var lEe="Cannot convert supplied data type";function jOr(e,r,t){if(r.text&&typeof e=="string")return e;if(k2e(e)&&(e=e.buffer),e instanceof ArrayBuffer){let n=e;return r.text&&!r.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(e)){if(r.text&&!r.binary)return new TextDecoder("utf8").decode(e);let n=e.buffer,i=e.byteLength||e.length;return(e.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(e.byteOffset,e.byteOffset+i)),n}throw new Error(lEe)}async function cEe(e,r,t){let n=e instanceof ArrayBuffer||ArrayBuffer.isView(e);if(typeof e=="string"||n)return jOr(e,r,t);if(Ms(e)&&(e=await kD(e)),js(e)){let i=e;return await B2e(i),r.binary?await i.arrayBuffer():await i.text()}if(OD(e)&&(e=uEe(e,t)),D2e(e)||O2e(e))return c2(e);throw new Error(lEe)}function PD(e,r){let t=Fb(),n=e||t;return typeof n.fetch=="function"?n.fetch:I0(n.fetch)?i=>Jo(i,n.fetch):(r==null?void 0:r.fetch)?r==null?void 0:r.fetch:Jo}function fEe(e,r,t){if(t)return t;let n=oe({fetch:PD(r,e)},e);if(n.url){let i=Cb(n.url);n.baseUrl=i,n.queryString=I2e(n.url),n.filename=qu.filename(i),n.baseUrl=qu.dirname(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function dEe(e,r){if(e&&!Array.isArray(e))return e;let t;if(e&&(t=Array.isArray(e)?e:[e]),r&&r.loaders){let n=Array.isArray(r.loaders)?r.loaders:[r.loaders];t=t?[...t,...n]:n}return t&&t.length?t:void 0}async function Qo(e,r,t,n){r&&!Array.isArray(r)&&!g2(r)&&(n=void 0,t=r,r=void 0),e=await e,t=t||{};let i=P0(e),o=dEe(r,n),s=await Z2e(e,o,t);return s?(t=X2e(t,s,o,i),n=fEe({url:i,_parse:Qo,loaders:o},t,n||null),await MOr(s,e,t,n)):null}async function MOr(e,r,t,n){if(Q7(e),t=V7(e.options,t),js(r)){let a=r,{ok:o,redirected:s,status:u,statusText:l,type:c,url:f}=a,d=Object.fromEntries(a.headers.entries());n.response={headers:d,ok:o,redirected:s,status:u,statusText:l,type:c,url:f}}r=await cEe(r,e,t);let i=e;if(i.parseTextSync&&typeof r=="string")return i.parseTextSync(r,t,n);if(oN(e,t))return await sN(e,r,t,n,Qo);if(i.parseText&&typeof r=="string")return await i.parseText(r,t,n);if(i.parse)return await i.parse(r,t,n);throw Fa(!i.parseSync),new Error(`${e.id} loader - no parser found and worker is disabled`)}async function yn(e,r,t,n){let i,a;!Array.isArray(r)&&!g2(r)?(i=[],a=r,n=void 0):(i=r,a=t);let o=PD(a),s=e;return typeof e=="string"&&(s=await o(e)),Ms(e)&&(s=await o(e)),Array.isArray(i)?await Qo(s,i,a):await Qo(s,i,a)}async function Rb(e,r,t){let n=Fb();if(t=oe(oe({},n),t),uN(r,t))return await J7(r,e,t);if(r.encode)return await r.encode(e,t);if(r.encodeSync)return r.encodeSync(e,t);if(r.encodeText)return new TextEncoder().encode(await r.encodeText(e,t));if(r.encodeInBatches){let i=pEe(e,r,t),a=[];for await(let o of i)a.push(o);return Yl(...a)}if(!En&&r.encodeURLtoURL){let i=mEe("input");await M2e(i,e);let a=mEe("output"),o=await hEe(i,a,r,t);return(await Jo(o)).arrayBuffer()}throw new Error("Writer could not encode data")}function BD(e,r,t){if(r.encodeSync)return r.encodeSync(e,t);throw new Error("Writer could not synchronously encode data")}function pEe(e,r,t){if(r.encodeInBatches){let n=LOr(e);return r.encodeInBatches(n,t)}throw new Error("Writer could not encode data in batches")}async function hEe(e,r,t,n){if(e=$l(e),r=$l(r),En||!t.encodeURLtoURL)throw new Error;return await t.encodeURLtoURL(e,r,n)}function LOr(e){return[qe(oe({},e),{start:0,end:e.length})]}function mEe(e){return`/tmp/${e}`}var kp;(function(t){t[t.ADD=1]="ADD",t[t.REPLACE=2]="REPLACE"})(kp||(kp={}));var ic;(function(i){i.EMPTY="empty",i.SCENEGRAPH="scenegraph",i.POINTCLOUD="pointcloud",i.MESH="mesh"})(ic||(ic={}));var X0;(function(t){t.I3S="I3S",t.TILES3D="TILES3D"})(X0||(X0={}));var Sf;(function(t){t.GEOMETRIC_ERROR="geometricError",t.MAX_SCREEN_THRESHOLD="maxScreenThreshold"})(Sf||(Sf={}));var Jn=He($t()),KO=He(K0()),qU=He(zs());function YSe(e){return e!=null}var lCt=new Jn.Vector3,AMr=new Jn.Vector3,TMr=new Jn.Vector3,CMr=new Jn.Vector3;function XO(e,r,t){if(Qr(e,"3D Tile: boundingVolume must be defined"),e.box)return DMr(e.box,r,t);if(e.region){let[n,i,a,o,s,u]=e.region,l=qU.Ellipsoid.WGS84.cartographicToCartesian([(0,Jn.degrees)(n),(0,Jn.degrees)(o),s],TMr),c=qU.Ellipsoid.WGS84.cartographicToCartesian([(0,Jn.degrees)(a),(0,Jn.degrees)(i),u],CMr),f=new Jn.Vector3().addVectors(l,c).multiplyScalar(.5),d=new Jn.Vector3().subVectors(l,c).len()/2;return $Se([f[0],f[1],f[2],d],new Jn.Matrix4)}if(e.sphere)return $Se(e.sphere,r,t);throw new Error("3D Tile: boundingVolume must contain a sphere, region, or box")}function DMr(e,r,t){let n=new Jn.Vector3(e[0],e[1],e[2]);r.transform(n,n);let i=[];if(e.length===10){let l=e.slice(3,6),c=new Jn.Quaternion;c.fromArray(e,6);let f=new Jn.Vector3([1,0,0]),d=new Jn.Vector3([0,1,0]),p=new Jn.Vector3([0,0,1]);f.transformByQuaternion(c),f.scale(l[0]),d.transformByQuaternion(c),d.scale(l[1]),p.transformByQuaternion(c),p.scale(l[2]),i=[...f.toArray(),...d.toArray(),...p.toArray()]}else i=[...e.slice(3,6),...e.slice(6,9),...e.slice(9,12)];let a=r.transformAsVector(i.slice(0,3)),o=r.transformAsVector(i.slice(3,6)),s=r.transformAsVector(i.slice(6,9)),u=new Jn.Matrix3([a[0],a[1],a[2],o[0],o[1],o[2],s[0],s[1],s[2]]);return YSe(t)?(t.center=n,t.halfAxes=u,t):new KO.OrientedBoundingBox(n,u)}function $Se(e,r,t){let n=new Jn.Vector3(e[0],e[1],e[2]);r.transform(n,n);let i=r.getScale(AMr),a=Math.max(Math.max(i[0],i[1]),i[2]),o=e[3]*a;return YSe(t)?(t.center=n,t.radius=o,t):new KO.BoundingSphere(n,o)}var Qb="4.0.0-alpha.26";var Vs={COMPOSITE:"cmpt",POINT_CLOUD:"pnts",BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",GEOMETRY:"geom",VECTOR:"vect",GLTF:"glTF"},gCt=Object.keys(Vs),Fp={BATCHED_MODEL:[98,51,100,109],INSTANCED_MODEL:[105,51,100,109],POINT_CLOUD:[112,110,116,115],COMPOSITE:[99,109,112,116]};function NU(e,r,t){Qr(e instanceof ArrayBuffer);let n=new TextDecoder("utf8"),i=new Uint8Array(e,r,t);return n.decode(i)}function JSe(e,r=0){let t=new DataView(e);return`${String.fromCharCode(t.getUint8(r+0))}${String.fromCharCode(t.getUint8(r+1))}${String.fromCharCode(t.getUint8(r+2))}${String.fromCharCode(t.getUint8(r+3))}`}var YO="4.0.0-alpha.26";var OMr={draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}},QSe={name:"Draco",id:"draco",module:"draco",version:YO,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:OMr};function ZSe(e){switch(e.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function UU(e){let r=1/0,t=1/0,n=1/0,i=-1/0,a=-1/0,o=-1/0,s=e.POSITION?e.POSITION.value:[],u=s&&s.length;for(let l=0;l<u;l+=3){let c=s[l],f=s[l+1],d=s[l+2];r=c<r?c:r,t=f<t?f:t,n=d<n?d:n,i=c>i?c:i,a=f>a?f:a,o=d>o?d:o}return[[r,t,n],[i,a,o]]}function GU(e,r,t){let n=ZSe(r.value),i=t||eAe(r);return{name:e,type:{type:"fixed-size-list",listSize:r.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function eAe(e){let r={};return"byteOffset"in e&&(r.byteOffset=e.byteOffset.toString(10)),"byteStride"in e&&(r.byteStride=e.byteStride.toString(10)),"normalized"in e&&(r.normalized=e.normalized.toString()),r}function rAe(e,r,t){let n=nAe(r.metadata),i=[],a=kMr(r.attributes);for(let o in e){let s=e[o],u=tAe(o,s,a[o]);i.push(u)}if(t){let o=tAe("indices",t);i.push(o)}return{fields:i,metadata:n}}function kMr(e){let r={};for(let t in e){let n=e[t];r[n.name||"undefined"]=n}return r}function tAe(e,r,t){let n=t?nAe(t.metadata):void 0;return GU(e,r,n)}function nAe(e){Object.entries(e);let r={};for(let t in e)r[`${t}.string`]=JSON.stringify(e[t]);return r}var iAe={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},FMr={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},RMr=4,$O=class{constructor(r){this.draco=r,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(r,t={}){let n=new this.draco.DecoderBuffer;n.Init(new Int8Array(r),r.byteLength),this._disableAttributeTransforms(t);let i=this.decoder.GetEncodedGeometryType(n),a=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let o;switch(i){case this.draco.TRIANGULAR_MESH:o=this.decoder.DecodeBufferToMesh(n,a);break;case this.draco.POINT_CLOUD:o=this.decoder.DecodeBufferToPointCloud(n,a);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!o.ok()||!a.ptr){let d=`DRACO decompression failed: ${o.error_msg()}`;throw new Error(d)}let s=this._getDracoLoaderData(a,i,t),u=this._getMeshData(a,s,t),l=UU(u.attributes),c=rAe(u.attributes,s,u.indices);return qe(oe({loader:"draco",loaderData:s,header:{vertexCount:a.num_points(),boundingBox:l}},u),{schema:c})}finally{this.draco.destroy(n),a&&this.draco.destroy(a)}}_getDracoLoaderData(r,t,n){let i=this._getTopLevelMetadata(r),a=this._getDracoAttributes(r,n);return{geometry_type:t,num_attributes:r.num_attributes(),num_points:r.num_points(),num_faces:r instanceof this.draco.Mesh?r.num_faces():0,metadata:i,attributes:a}}_getDracoAttributes(r,t){let n={};for(let i=0;i<r.num_attributes();i++){let a=this.decoder.GetAttribute(r,i),o=this._getAttributeMetadata(r,i);n[a.unique_id()]={unique_id:a.unique_id(),attribute_type:a.attribute_type(),data_type:a.data_type(),num_components:a.num_components(),byte_offset:a.byte_offset(),byte_stride:a.byte_stride(),normalized:a.normalized(),attribute_index:i,metadata:o};let s=this._getQuantizationTransform(a,t);s&&(n[a.unique_id()].quantization_transform=s);let u=this._getOctahedronTransform(a,t);u&&(n[a.unique_id()].octahedron_transform=u)}return n}_getMeshData(r,t,n){let i=this._getMeshAttributes(t,r,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(r instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(r),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(r),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(r,t,n){let i={};for(let a of Object.values(r.attributes)){let o=this._deduceAttributeName(a,n);a.name=o;let{value:s,size:u}=this._getAttributeValues(t,a);i[o]={value:s,size:u,byteOffset:a.byte_offset,byteStride:a.byte_stride,normalized:a.normalized}}return i}_getTriangleListIndices(r){let n=r.num_faces()*3,i=n*RMr,a=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(r,i,a),new Uint32Array(this.draco.HEAPF32.buffer,a,n).slice()}finally{this.draco._free(a)}}_getTriangleStripIndices(r){let t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(r,t),BMr(t)}finally{this.draco.destroy(t)}}_getAttributeValues(r,t){let n=FMr[t.data_type],i=t.num_components,o=r.num_points()*i,s=o*n.BYTES_PER_ELEMENT,u=IMr(this.draco,n),l,c=this.draco._malloc(s);try{let f=this.decoder.GetAttribute(r,t.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(r,f,u,s,c),l=new n(this.draco.HEAPF32.buffer,c,o).slice()}finally{this.draco._free(c)}return{value:l,size:i}}_deduceAttributeName(r,t){let n=r.unique_id;for(let[o,s]of Object.entries(t.extraAttributes||{}))if(s===n)return o;let i=r.attribute_type;for(let o in iAe)if(this.draco[o]===i)return iAe[o];let a=t.attributeNameEntry||"name";return r.metadata[a]?r.metadata[a].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(r){let t=this.decoder.GetMetadata(r);return this._getDracoMetadata(t)}_getAttributeMetadata(r,t){let n=this.decoder.GetAttributeMetadata(r,t);return this._getDracoMetadata(n)}_getDracoMetadata(r){if(!r||!r.ptr)return{};let t={},n=this.metadataQuerier.NumEntries(r);for(let i=0;i<n;i++){let a=this.metadataQuerier.GetEntryName(r,i);t[a]=this._getDracoMetadataField(r,a)}return t}_getDracoMetadataField(r,t){let n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(r,t,n);let i=PMr(n);return{int:this.metadataQuerier.GetIntEntry(r,t),string:this.metadataQuerier.GetStringEntry(r,t),double:this.metadataQuerier.GetDoubleEntry(r,t),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(r){let{quantizedAttributes:t=[],octahedronAttributes:n=[]}=r,i=[...t,...n];for(let a of i)this.decoder.SkipAttributeTransform(this.draco[a])}_getQuantizationTransform(r,t){let{quantizedAttributes:n=[]}=t,i=r.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(r))return{quantization_bits:o.quantization_bits(),range:o.range(),min_values:new Float32Array([1,2,3]).map(s=>o.min_value(s))}}finally{this.draco.destroy(o)}}return null}_getOctahedronTransform(r,t){let{octahedronAttributes:n=[]}=t,i=r.attribute_type();if(n.map(o=>this.decoder[o]).includes(i)){let o=new this.draco.AttributeQuantizationTransform;try{if(o.InitFromAttribute(r))return{quantization_bits:o.quantization_bits()}}finally{this.draco.destroy(o)}}return null}};function IMr(e,r){switch(r){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32;default:return e.DT_INVALID}}function PMr(e){let r=e.size(),t=new Int32Array(r);for(let n=0;n<r;n++)t[n]=e.GetValue(n);return t}function BMr(e){let r=e.size(),t=new Int32Array(r);for(let n=0;n<r;n++)t[n]=e.GetValue(n);return t}var jMr="1.5.6",MMr="1.4.1",zU=`https://www.gstatic.com/draco/versioned/decoders/${jMr}`,fi={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Rp={[fi.DECODER]:`${zU}/${fi.DECODER}`,[fi.DECODER_WASM]:`${zU}/${fi.DECODER_WASM}`,[fi.FALLBACK_DECODER]:`${zU}/${fi.FALLBACK_DECODER}`,[fi.ENCODER]:`https://raw.githubusercontent.com/google/draco/${MMr}/javascript/${fi.ENCODER}`},V2;async function aAe(e){let r=e.modules||{};return r.draco3d?V2=V2||r.draco3d.createDecoderModule({}).then(t=>({draco:t})):V2=V2||LMr(e),await V2}async function LMr(e){let r,t;switch(e.draco&&e.draco.decoderType){case"js":r=await Xl(Rp[fi.FALLBACK_DECODER],"draco",e,fi.FALLBACK_DECODER);break;case"wasm":default:[r,t]=await Promise.all([await Xl(Rp[fi.DECODER],"draco",e,fi.DECODER),await Xl(Rp[fi.DECODER_WASM],"draco",e,fi.DECODER_WASM)])}return r=r||globalThis.DracoDecoderModule,await qMr(r,t)}function qMr(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(qe(oe({},t),{onModuleLoaded:i=>n({draco:i})}))})}var HU={id:"draco-writer",name:"Draco compressed geometry writer",module:"draco",version:YO,worker:!0,options:{draco:{},source:null}};var Zb=qe(oe({},QSe),{parse:NMr});async function NMr(e,r){let{draco:t}=await aAe(r),n=new $O(t);try{return n.parseSync(e,r==null?void 0:r.draco)}finally{n.destroy()}}var UMr={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Ti={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DOUBLE:5130},nt=oe(oe({},UMr),Ti);var WU={[Ti.DOUBLE]:Float64Array,[Ti.FLOAT]:Float32Array,[Ti.UNSIGNED_SHORT]:Uint16Array,[Ti.UNSIGNED_INT]:Uint32Array,[Ti.UNSIGNED_BYTE]:Uint8Array,[Ti.BYTE]:Int8Array,[Ti.SHORT]:Int16Array,[Ti.INT]:Int32Array},GMr={DOUBLE:Ti.DOUBLE,FLOAT:Ti.FLOAT,UNSIGNED_SHORT:Ti.UNSIGNED_SHORT,UNSIGNED_INT:Ti.UNSIGNED_INT,UNSIGNED_BYTE:Ti.UNSIGNED_BYTE,BYTE:Ti.BYTE,SHORT:Ti.SHORT,INT:Ti.INT},VU="Failed to convert GL type",ho=class{static fromTypedArray(r){r=ArrayBuffer.isView(r)?r.constructor:r;for(let t in WU)if(WU[t]===r)return t;throw new Error(VU)}static fromName(r){let t=GMr[r];if(!t)throw new Error(VU);return t}static getArrayType(r){switch(r){case Ti.UNSIGNED_SHORT_5_6_5:case Ti.UNSIGNED_SHORT_4_4_4_4:case Ti.UNSIGNED_SHORT_5_5_5_1:return Uint16Array;default:let t=WU[r];if(!t)throw new Error(VU);return t}}static getByteSize(r){return ho.getArrayType(r).BYTES_PER_ELEMENT}static validate(r){return Boolean(ho.getArrayType(r))}static createTypedArray(r,t,n=0,i){i===void 0&&(i=(t.byteLength-n)/ho.getByteSize(r));let a=ho.getArrayType(r);return new a(t,n,i)}};function oAe(e,r){if(!e)throw new Error(`math.gl assertion failed. ${r}`)}function KU(e,r=[0,0,0]){let t=e>>11&31,n=e>>5&63,i=e&31;return r[0]=t<<3,r[1]=n<<2,r[2]=i<<3,r}var Af=He($t());var QCt=1/256;var ZCt=new Af.Vector2,e8t=new Af.Vector3,r8t=new Af.Vector2,t8t=new Af.Vector2,n8t=new Uint8Array(1);function sAe(e,r=255){return(0,Af.clamp)(e,0,r)/r*2-1}function uAe(e){return e<0?-1:1}function lAe(e,r,t,n){if(oAe(n),e<0||e>t||r<0||r>t)throw new Error(`x and y must be unsigned normalized integers between 0 and ${t}`);if(n.x=sAe(e,t),n.y=sAe(r,t),n.z=1-(Math.abs(n.x)+Math.abs(n.y)),n.z<0){let i=n.x;n.x=(1-Math.abs(n.y))*uAe(i),n.y=(1-Math.abs(i))*uAe(n.y)}return n.normalize()}function XU(e,r,t){return lAe(e,r,255,t)}function ac(e){return(e%1+1)%1}var JU=He($t());var Ip=class{constructor(r,t){this.featuresLength=0;this._cachedTypedArrays={};this.json=r,this.buffer=t}getExtension(r){return this.json.extensions&&this.json.extensions[r]}hasProperty(r){return Boolean(this.json[r])}getGlobalProperty(r,t=nt.UNSIGNED_INT,n=1){let i=this.json[r];return i&&Number.isFinite(i.byteOffset)?this._getTypedArrayFromBinary(r,t,n,1,i.byteOffset):i}getPropertyArray(r,t,n){let i=this.json[r];return i&&Number.isFinite(i.byteOffset)?("componentType"in i&&(t=ho.fromName(i.componentType)),this._getTypedArrayFromBinary(r,t,n,this.featuresLength,i.byteOffset)):this._getTypedArrayFromArray(r,t,i)}getProperty(r,t,n,i,a){let o=this.json[r];if(!o)return o;let s=this.getPropertyArray(r,t,n);if(n===1)return s[i];for(let u=0;u<n;++u)a[u]=s[n*i+u];return a}_getTypedArrayFromBinary(r,t,n,i,a){let o=this._cachedTypedArrays,s=o[r];return s||(s=ho.createTypedArray(t,this.buffer.buffer,this.buffer.byteOffset+a,i*n),o[r]=s),s}_getTypedArrayFromArray(r,t,n){let i=this._cachedTypedArrays,a=i[r];return a||(a=ho.createTypedArray(t,n),i[r]=a),a}};var zMr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},HMr={SCALAR:(e,r)=>e[r],VEC2:(e,r)=>[e[2*r+0],e[2*r+1]],VEC3:(e,r)=>[e[3*r+0],e[3*r+1],e[3*r+2]],VEC4:(e,r)=>[e[4*r+0],e[4*r+1],e[4*r+2],e[4*r+3]],MAT2:(e,r)=>[e[4*r+0],e[4*r+1],e[4*r+2],e[4*r+3]],MAT3:(e,r)=>[e[9*r+0],e[9*r+1],e[9*r+2],e[9*r+3],e[9*r+4],e[9*r+5],e[9*r+6],e[9*r+7],e[9*r+8]],MAT4:(e,r)=>[e[16*r+0],e[16*r+1],e[16*r+2],e[16*r+3],e[16*r+4],e[16*r+5],e[16*r+6],e[16*r+7],e[16*r+8],e[16*r+9],e[16*r+10],e[16*r+11],e[16*r+12],e[16*r+13],e[16*r+14],e[16*r+15]]},WMr={SCALAR:(e,r,t)=>{r[t]=e},VEC2:(e,r,t)=>{r[2*t+0]=e[0],r[2*t+1]=e[1]},VEC3:(e,r,t)=>{r[3*t+0]=e[0],r[3*t+1]=e[1],r[3*t+2]=e[2]},VEC4:(e,r,t)=>{r[4*t+0]=e[0],r[4*t+1]=e[1],r[4*t+2]=e[2],r[4*t+3]=e[3]},MAT2:(e,r,t)=>{r[4*t+0]=e[0],r[4*t+1]=e[1],r[4*t+2]=e[2],r[4*t+3]=e[3]},MAT3:(e,r,t)=>{r[9*t+0]=e[0],r[9*t+1]=e[1],r[9*t+2]=e[2],r[9*t+3]=e[3],r[9*t+4]=e[4],r[9*t+5]=e[5],r[9*t+6]=e[6],r[9*t+7]=e[7],r[9*t+8]=e[8],r[9*t+9]=e[9]},MAT4:(e,r,t)=>{r[16*t+0]=e[0],r[16*t+1]=e[1],r[16*t+2]=e[2],r[16*t+3]=e[3],r[16*t+4]=e[4],r[16*t+5]=e[5],r[16*t+6]=e[6],r[16*t+7]=e[7],r[16*t+8]=e[8],r[16*t+9]=e[9],r[16*t+10]=e[10],r[16*t+11]=e[11],r[16*t+12]=e[12],r[16*t+13]=e[13],r[16*t+14]=e[14],r[16*t+15]=e[15]}};function cAe(e,r,t,n){let{componentType:i}=e;Qr(e.componentType);let a=typeof i=="string"?ho.fromName(i):i,o=zMr[e.type],s=HMr[e.type],u=WMr[e.type];return t+=e.byteOffset,{values:ho.createTypedArray(a,r,t,o*n),type:a,size:o,unpacker:s,packer:u}}var oc=e=>e!==void 0;function fAe(e,r,t){if(!r)return null;let n=e.getExtension("3DTILES_batch_table_hierarchy"),i=r.HIERARCHY;return i&&(console.warn("3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy."),r.extensions=r.extensions||{},r.extensions["3DTILES_batch_table_hierarchy"]=i,n=i),n?VMr(n,t):null}function VMr(e,r){let t,n,i,a=e.instancesLength,o=e.classes,s=e.classIds,u=e.parentCounts,l=e.parentIds,c=a;oc(s.byteOffset)&&(s.componentType=defaultValue(s.componentType,GL.UNSIGNED_SHORT),s.type=AttributeType.SCALAR,i=getBinaryAccessor(s),s=i.createArrayBufferView(r.buffer,r.byteOffset+s.byteOffset,a));let f;if(oc(u))for(oc(u.byteOffset)&&(u.componentType=defaultValue(u.componentType,GL.UNSIGNED_SHORT),u.type=AttributeType.SCALAR,i=getBinaryAccessor(u),u=i.createArrayBufferView(r.buffer,r.byteOffset+u.byteOffset,a)),f=new Uint16Array(a),c=0,t=0;t<a;++t)f[t]=c,c+=u[t];oc(l)&&oc(l.byteOffset)&&(l.componentType=defaultValue(l.componentType,GL.UNSIGNED_SHORT),l.type=AttributeType.SCALAR,i=getBinaryAccessor(l),l=i.createArrayBufferView(r.buffer,r.byteOffset+l.byteOffset,c));let d=o.length;for(t=0;t<d;++t){let v=o[t].length,y=o[t].instances,w=getBinaryProperties(v,y,r);o[t].instances=combine(w,y)}let p=new Array(d).fill(0),h=new Uint16Array(a);for(t=0;t<a;++t)n=s[t],h[t]=p[n],++p[n];let b={classes:o,classIds:s,classIndexes:h,parentCounts:u,parentIndexes:f,parentIds:l};return YMr(b),b}function ey(e,r,t){if(!e)return;let n=e.parentCounts;return e.parentIds?t(e,r):n>0?KMr(e,r,t):XMr(e,r,t)}function KMr(e,r,t){let n=e.classIds,i=e.parentCounts,a=e.parentIds,o=e.parentIndexes,s=n.length,u=scratchVisited;u.length=Math.max(u.length,s);let l=++marker,c=scratchStack;for(c.length=0,c.push(r);c.length>0;){if(r=c.pop(),u[r]===l)continue;u[r]=l;let f=t(e,r);if(oc(f))return f;let d=i[r],p=o[r];for(let h=0;h<d;++h){let b=a[p+h];b!==r&&c.push(b)}}return null}function XMr(e,r,t){let n=!0;for(;n;){let i=t(e,r);if(oc(i))return i;let a=e.parentIds[r];n=a!==r,r=a}throw new Error("traverseHierarchySingleParent")}function YMr(e){let r=[],n=e.classIds.length;for(let i=0;i<n;++i)dAe(e,i,stack)}function dAe(e,r,t){let n=e.parentCounts,i=e.parentIds,a=e.parentIndexes,s=e.classIds.length;if(!oc(i))return;assert(r<s,`Parent index ${r} exceeds the total number of instances: ${s}`),assert(t.indexOf(r)===-1,"Circular dependency detected in the batch table hierarchy."),t.push(r);let u=oc(n)?n[r]:1,l=oc(n)?a[r]:r;for(let c=0;c<u;++c){let f=i[l+c];f!==r&&dAe(e,f,t)}t.pop(r)}function Po(e){return e!=null}var JO=(e,r)=>e,$Mr={HIERARCHY:!0,extensions:!0,extras:!0},ry=class{constructor(r,t,n,i={}){var a;Qr(n>=0),this.json=r||{},this.binary=t,this.featureCount=n,this._extensions=((a=this.json)==null?void 0:a.extensions)||{},this._properties={};for(let o in this.json)$Mr[o]||(this._properties[o]=this.json[o]);this._binaryProperties=this._initializeBinaryProperties(),i["3DTILES_batch_table_hierarchy"]&&(this._hierarchy=fAe(this,this.json,this.binary))}getExtension(r){return this.json&&this.json.extensions&&this.json.extensions[r]}memorySizeInBytes(){return 0}isClass(r,t){if(this._checkBatchId(r),Qr(typeof t=="string",t),this._hierarchy){let n=ey(this._hierarchy,r,(i,a)=>{let o=i.classIds[a];return i.classes[o].name===t});return Po(n)}return!1}isExactClass(r,t){return Qr(typeof t=="string",t),this.getExactClassName(r)===t}getExactClassName(r){if(this._checkBatchId(r),this._hierarchy){let t=this._hierarchy.classIds[r];return this._hierarchy.classes[t].name}}hasProperty(r,t){return this._checkBatchId(r),Qr(typeof t=="string",t),Po(this._properties[t])||this._hasPropertyInHierarchy(r,t)}getPropertyNames(r,t){this._checkBatchId(r),t=Po(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push(...n),this._hierarchy&&this._getPropertyNamesInHierarchy(r,t),t}getProperty(r,t){if(this._checkBatchId(r),Qr(typeof t=="string",t),this._binaryProperties){let i=this._binaryProperties[t];if(Po(i))return this._getBinaryProperty(i,r)}let n=this._properties[t];if(Po(n))return JO(n[r],!0);if(this._hierarchy){let i=this._getHierarchyProperty(r,t);if(Po(i))return i}}setProperty(r,t,n){let i=this.featureCount;if(this._checkBatchId(r),Qr(typeof t=="string",t),this._binaryProperties){let o=this._binaryProperties[t];if(o){this._setBinaryProperty(o,r,n);return}}if(this._hierarchy&&this._setHierarchyProperty(this,r,t,n))return;let a=this._properties[t];Po(a)||(this._properties[t]=new Array(i),a=this._properties[t]),a[r]=JO(n,!0)}_checkBatchId(r){if(!(r>=0&&r<this.featureCount))throw new Error("batchId not in range [0, featureCount - 1].")}_getBinaryProperty(r,t){return r.unpack(r.typedArray,t)}_setBinaryProperty(r,t,n){r.pack(n,r.typedArray,t)}_initializeBinaryProperties(){let r=null;for(let t in this._properties){let n=this._properties[t],i=this._initializeBinaryProperty(t,n);i&&(r=r||{},r[t]=i)}return r}_initializeBinaryProperty(r,t){if("byteOffset"in t){let n=t;Qr(this.binary,`Property ${r} requires a batch table binary.`),Qr(n.type,`Property ${r} requires a type.`);let i=cAe(n,this.binary.buffer,this.binary.byteOffset|0,this.featureCount);return{typedArray:i.values,componentCount:i.size,unpack:i.unpacker,pack:i.packer}}return null}_hasPropertyInHierarchy(r,t){if(!this._hierarchy)return!1;let n=ey(this._hierarchy,r,(i,a)=>{let o=i.classIds[a],s=i.classes[o].instances;return Po(s[t])});return Po(n)}_getPropertyNamesInHierarchy(r,t){ey(this._hierarchy,r,(n,i)=>{let a=n.classIds[i],o=n.classes[a].instances;for(let s in o)o.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)})}_getHierarchyProperty(r,t){return ey(this._hierarchy,r,(n,i)=>{let a=n.classIds[i],o=n.classes[a],s=n.classIndexes[i],u=o.instances[t];return Po(u)?Po(u.typedArray)?this._getBinaryProperty(u,s):JO(u[s],!0):null})}_setHierarchyProperty(r,t,n,i){let a=ey(this._hierarchy,t,(o,s)=>{let u=o.classIds[s],l=o.classes[u],c=o.classIndexes[s],f=l.instances[n];return Po(f)?(Qr(s===t,`Inherited property "${n}" is read-only.`),Po(f.typedArray)?this._setBinaryProperty(f,c,i):f[c]=JO(i,!0),!0):!1});return Po(a)}};var YU=4;function Pp(e,r,t=0){let n=new DataView(r);if(e.magic=n.getUint32(t,!0),t+=YU,e.version=n.getUint32(t,!0),t+=YU,e.byteLength=n.getUint32(t,!0),t+=YU,e.version!==1)throw new Error(`3D Tile Version ${e.version} not supported`);return t}var ty=4,pAe="b3dm tile in legacy format.";function ny(e,r,t){let n=new DataView(r),i;e.header=e.header||{};let a=n.getUint32(t,!0);t+=ty;let o=n.getUint32(t,!0);t+=ty;let s=n.getUint32(t,!0);t+=ty;let u=n.getUint32(t,!0);return t+=ty,s>=570425344?(t-=ty*2,i=a,s=o,u=0,a=0,o=0,console.warn(pAe)):u>=570425344&&(t-=ty,i=s,s=a,u=o,a=0,o=0,console.warn(pAe)),e.header.featureTableJsonByteLength=a,e.header.featureTableBinaryByteLength=o,e.header.batchTableJsonByteLength=s,e.header.batchTableBinaryByteLength=u,e.header.batchLength=i,t}function iy(e,r,t,n){return t=JMr(e,r,t,n),t=QMr(e,r,t,n),t}function JMr(e,r,t,n){let{featureTableJsonByteLength:i,featureTableBinaryByteLength:a,batchLength:o}=e.header||{};if(e.featureTableJson={BATCH_LENGTH:o||0},i&&i>0){let s=NU(r,t,i);e.featureTableJson=JSON.parse(s)}return t+=i||0,e.featureTableBinary=new Uint8Array(r,t,a),t+=a||0,t}function QMr(e,r,t,n){let{batchTableJsonByteLength:i,batchTableBinaryByteLength:a}=e.header||{};if(i&&i>0){let o=NU(r,t,i);e.batchTableJson=JSON.parse(o),t+=i,a&&a>0&&(e.batchTableBinary=new Uint8Array(r,t,a),e.batchTableBinary=new Uint8Array(e.batchTableBinary),t+=a)}return t}function $U(e,r,t){if(!r&&(!e||!e.batchIds||!t))return null;let{batchIds:n,isRGB565:i,pointCount:a=0}=e;if(n&&t){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=n[s],c=t.getProperty(u,"dimensions").map(f=>f*255);o[s*3]=c[0],o[s*3+1]=c[1],o[s*3+2]=c[2]}return{type:nt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}if(r&&i){let o=new Uint8ClampedArray(a*3);for(let s=0;s<a;s++){let u=KU(r[s]);o[s*3]=u[0],o[s*3+1]=u[1],o[s*3+2]=u[2]}return{type:nt.UNSIGNED_BYTE,value:o,size:3,normalized:!0}}return r&&r.length===a*3?{type:nt.UNSIGNED_BYTE,value:r,size:3,normalized:!0}:{type:nt.UNSIGNED_BYTE,value:r||new Uint8ClampedArray,size:4,normalized:!0}}var hAe=He($t());var mAe=new hAe.Vector3;function gAe(e,r){if(!r)return null;if(e.isOctEncoded16P){let t=new Float32Array((e.pointsLength||0)*3);for(let n=0;n<(e.pointsLength||0);n++)XU(r[n*2],r[n*2+1],mAe),mAe.toArray(t,n*3);return{type:nt.FLOAT,size:2,value:t}}return{type:nt.FLOAT,size:2,value:r}}var vAe=He($t());function bAe(e,r,t){return e.isQuantized?t["3d-tiles"]&&t["3d-tiles"].decodeQuantizedPositions?(e.isQuantized=!1,ZMr(e,r)):{type:nt.UNSIGNED_SHORT,value:r,size:3,normalized:!0}:r}function ZMr(e,r){let t=new vAe.Vector3,n=new Float32Array(e.pointCount*3);for(let i=0;i<e.pointCount;i++)t.set(r[i*3],r[i*3+1],r[i*3+2]).scale(1/e.quantizedRange).multiply(e.quantizedVolumeScale).add(e.quantizedVolumeOffset).toArray(n,i*3);return n}async function yAe(e,r,t,n,i){t=Pp(e,r,t),t=ny(e,r,t),t=iy(e,r,t,n),eLr(e);let{featureTable:a,batchTable:o}=rLr(e);return await oLr(e,a,o,n,i),tLr(e,a,n),nLr(e,a,o),iLr(e,a),t}function eLr(e){e.attributes={positions:null,colors:null,normals:null,batchIds:null},e.isQuantized=!1,e.isTranslucent=!1,e.isRGB565=!1,e.isOctEncoded16P=!1}function rLr(e){let r=new Ip(e.featureTableJson,e.featureTableBinary),t=r.getGlobalProperty("POINTS_LENGTH");if(!Number.isFinite(t))throw new Error("POINTS_LENGTH must be defined");r.featuresLength=t,e.featuresLength=t,e.pointsLength=t,e.pointCount=t,e.rtcCenter=r.getGlobalProperty("RTC_CENTER",nt.FLOAT,3);let n=aLr(e,r);return{featureTable:r,batchTable:n}}function tLr(e,r,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.positions){if(r.hasProperty("POSITION"))e.attributes.positions=r.getPropertyArray("POSITION",nt.FLOAT,3);else if(r.hasProperty("POSITION_QUANTIZED")){let n=r.getPropertyArray("POSITION_QUANTIZED",nt.UNSIGNED_SHORT,3);if(e.isQuantized=!0,e.quantizedRange=(1<<16)-1,e.quantizedVolumeScale=r.getGlobalProperty("QUANTIZED_VOLUME_SCALE",nt.FLOAT,3),!e.quantizedVolumeScale)throw new Error("QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");if(e.quantizedVolumeOffset=r.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",nt.FLOAT,3),!e.quantizedVolumeOffset)throw new Error("QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");e.attributes.positions=bAe(e,n,t)}}if(!e.attributes.positions)throw new Error("Either POSITION or POSITION_QUANTIZED must be defined.")}function nLr(e,r,t){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.colors){let n=null;r.hasProperty("RGBA")?(n=r.getPropertyArray("RGBA",nt.UNSIGNED_BYTE,4),e.isTranslucent=!0):r.hasProperty("RGB")?n=r.getPropertyArray("RGB",nt.UNSIGNED_BYTE,3):r.hasProperty("RGB565")&&(n=r.getPropertyArray("RGB565",nt.UNSIGNED_SHORT,1),e.isRGB565=!0),e.attributes.colors=$U(e,n,t)}r.hasProperty("CONSTANT_RGBA")&&(e.constantRGBA=r.getGlobalProperty("CONSTANT_RGBA",nt.UNSIGNED_BYTE,4))}function iLr(e,r){if(e.attributes=e.attributes||{positions:null,colors:null,normals:null,batchIds:null},!e.attributes.normals){let t=null;r.hasProperty("NORMAL")?t=r.getPropertyArray("NORMAL",nt.FLOAT,3):r.hasProperty("NORMAL_OCT16P")&&(t=r.getPropertyArray("NORMAL_OCT16P",nt.UNSIGNED_BYTE,2),e.isOctEncoded16P=!0),e.attributes.normals=gAe(e,t)}}function aLr(e,r){let t=null;if(!e.batchIds&&r.hasProperty("BATCH_ID")&&(e.batchIds=r.getPropertyArray("BATCH_ID",nt.UNSIGNED_SHORT,1),e.batchIds)){let n=r.getGlobalProperty("BATCH_LENGTH");if(!n)throw new Error("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");let{batchTableJson:i,batchTableBinary:a}=e;t=new ry(i,a,n)}return t}async function oLr(e,r,t,n,i){let a,o,s,u=e.batchTableJson&&e.batchTableJson.extensions&&e.batchTableJson.extensions["3DTILES_draco_point_compression"];u&&(s=u.properties);let l=r.getExtension("3DTILES_draco_point_compression");if(l){o=l.properties;let f=l.byteOffset,d=l.byteLength;if(!o||!Number.isFinite(f)||!d)throw new Error("Draco properties, byteOffset, and byteLength must be defined");a=(e.featureTableBinary||[]).slice(f,f+d),e.hasPositions=Number.isFinite(o.POSITION),e.hasColors=Number.isFinite(o.RGB)||Number.isFinite(o.RGBA),e.hasNormals=Number.isFinite(o.NORMAL),e.hasBatchIds=Number.isFinite(o.BATCH_ID),e.isTranslucent=Number.isFinite(o.RGBA)}if(!a)return!0;let c={buffer:a,properties:oe(oe({},o),s),featureTableProperties:o,batchTableProperties:s,dequantizeInShader:!1};return await sLr(e,c,n,i)}async function sLr(e,r,t,n){if(!n)return;let i=qe(oe({},t),{draco:qe(oe({},t==null?void 0:t.draco),{extraAttributes:r.batchTableProperties||{}})});delete i["3d-tiles"];let a=await Ko(r.buffer,Zb,i,n),o=a.attributes.POSITION&&a.attributes.POSITION.value,s=a.attributes.COLOR_0&&a.attributes.COLOR_0.value,u=a.attributes.NORMAL&&a.attributes.NORMAL.value,l=a.attributes.BATCH_ID&&a.attributes.BATCH_ID.value,c=o&&a.attributes.POSITION.value.quantization,f=u&&a.attributes.NORMAL.value.quantization;if(c){let p=a.POSITION.data.quantization,h=p.range;e.quantizedVolumeScale=new JU.Vector3(h,h,h),e.quantizedVolumeOffset=new JU.Vector3(p.minValues),e.quantizedRange=(1<<p.quantizationBits)-1,e.isQuantizedDraco=!0}f&&(e.octEncodedRange=(1<<a.NORMAL.data.quantization.quantizationBits)-1,e.isOctEncodedDraco=!0);let d={};if(r.batchTableProperties)for(let p of Object.keys(r.batchTableProperties))a.attributes[p]&&a.attributes[p].value&&(d[p.toLowerCase()]=a.attributes[p].value);e.attributes=oe({positions:o,colors:$U(e,s,void 0),normals:u,batchIds:l},d)}var sG={};qa(sG,{decode:()=>VLr,name:()=>ok});var QO="4.0.0-alpha.26";var{_parseImageNode:uLr}=globalThis,QU=typeof Image!="undefined",ZU=typeof ImageBitmap!="undefined",lLr=Boolean(uLr),eG=En?!0:lLr;function xAe(e){switch(e){case"auto":return ZU||QU||eG;case"imagebitmap":return ZU;case"image":return QU;case"data":return eG;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function _Ae(){if(ZU)return"imagebitmap";if(QU)return"image";if(eG)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function EAe(e){let r=cLr(e);if(!r)throw new Error("Not an image");return r}function rG(e){return Bp(e)}function Bp(e){switch(EAe(e)){case"data":return e;case"image":case"imagebitmap":let r=document.createElement("canvas"),t=r.getContext("2d");if(!t)throw new Error("getImageData");return r.width=e.width,r.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function cLr(e){return typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap?"imagebitmap":typeof Image!="undefined"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var fLr=/^data:image\/svg\+xml/,dLr=/\.svg((\?|#).*)?$/;function ZO(e){return e&&(fLr.test(e)||dLr.test(e))}function wAe(e,r){if(ZO(r)){let n=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return tG(e,r)}function tG(e,r){if(ZO(r))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ek(e,r,t){let n=wAe(e,t),i=self.URL||self.webkitURL,a=typeof n!="string"&&i.createObjectURL(n);try{return await pLr(a||n,r)}finally{a&&i.revokeObjectURL(a)}}async function pLr(e,r){let t=new Image;return t.src=e,r.image&&r.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=a=>i(new Error(`Could not load image ${e}: ${a}`))}catch(a){i(a)}})}var hLr={},SAe=!0;async function AAe(e,r,t){let n;ZO(t)?n=await ek(e,r,t):n=tG(e,t);let i=r&&r.imagebitmap;return await mLr(n,i)}async function mLr(e,r=null){if((gLr(r)||!SAe)&&(r=null),r)try{return await createImageBitmap(e,r)}catch(t){console.warn(t),SAe=!1}return await createImageBitmap(e)}function gLr(e){for(let r in e||hLr)return!1;return!0}function TAe(e){return!xLr(e,"ftyp",4)||(e[8]&96)==0?null:vLr(e)}function vLr(e){switch(bLr(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function bLr(e,r,t){return String.fromCharCode(...e.slice(r,t))}function yLr(e){return[...e].map(r=>r.charCodeAt(0))}function xLr(e,r,t=0){let n=yLr(r);for(let i=0;i<n.length;++i)if(n[i]!==e[i+t])return!1;return!0}var sc=!1,K2=!0;function Y0(e){let r=X2(e);return ELr(r)||ALr(r)||wLr(r)||SLr(r)||_Lr(r)}function _Lr(e){let r=new Uint8Array(e instanceof DataView?e.buffer:e),t=TAe(r);return t?{mimeType:t.mimeType,width:0,height:0}:null}function ELr(e){let r=X2(e);return r.byteLength>=24&&r.getUint32(0,sc)===2303741511?{mimeType:"image/png",width:r.getUint32(16,sc),height:r.getUint32(20,sc)}:null}function wLr(e){let r=X2(e);return r.byteLength>=10&&r.getUint32(0,sc)===1195984440?{mimeType:"image/gif",width:r.getUint16(6,K2),height:r.getUint16(8,K2)}:null}function SLr(e){let r=X2(e);return r.byteLength>=14&&r.getUint16(0,sc)===16973&&r.getUint32(2,K2)===r.byteLength?{mimeType:"image/bmp",width:r.getUint32(18,K2),height:r.getUint32(22,K2)}:null}function ALr(e){let r=X2(e);if(!(r.byteLength>=3&&r.getUint16(0,sc)===65496&&r.getUint8(2)===255))return null;let{tableMarkers:n,sofMarkers:i}=TLr(),a=2;for(;a+9<r.byteLength;){let o=r.getUint16(a,sc);if(i.has(o))return{mimeType:"image/jpeg",height:r.getUint16(a+5,sc),width:r.getUint16(a+7,sc)};if(!n.has(o))return null;a+=2,a+=r.getUint16(a,sc)}return null}function TLr(){let e=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)e.add(t);let r=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:r}}function X2(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function CAe(e,r){let{mimeType:t}=Y0(e)||{},n=globalThis._parseImageNode;return Qr(n),await n(e,t)}async function DAe(e,r,t){r=r||{};let i=(r.image||{}).type||"auto",{url:a}=t||{},o=CLr(i),s;switch(o){case"imagebitmap":s=await AAe(e,r,a);break;case"image":s=await ek(e,r,a);break;case"data":s=await CAe(e,r);break;default:Qr(!1)}return i==="data"&&(s=Bp(s)),s}function CLr(e){switch(e){case"auto":case"data":return _Ae();default:return xAe(e),e}}var DLr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],OLr=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],kLr={image:{type:"auto",decode:!0}},ay={id:"image",module:"images",name:"Images",version:QO,mimeTypes:OLr,extensions:DLr,parse:DAe,tests:[e=>Boolean(Y0(new DataView(e)))],options:kLr};var{_encodeImageNode:OAe}=globalThis;async function kAe(e,r){return r=r||{},r.image=r.image||{},OAe?OAe(e,{type:r.image.mimeType}):FLr(e,r)}var FAe=!0;async function FLr(e,r){let{mimeType:t,jpegQuality:n}=r.image,{width:i,height:a}=rG(e),o=document.createElement("canvas");o.width=i,o.height=a,RLr(e,o);let s=await new Promise(u=>{if(n&&FAe)try{o.toBlob(u,t,n);return}catch{FAe=!1}o.toBlob(u,t)});if(!s)throw new Error("image encoding failed");return await s.arrayBuffer()}function RLr(e,r,t=0,n=0){if(t===0&&n===0&&typeof ImageBitmap!="undefined"&&e instanceof ImageBitmap){let a=r.getContext("bitmaprenderer");if(a)return a.transferFromImageBitmap(e),r}let i=r.getContext("2d");if(e.data){let a=new Uint8ClampedArray(e.data),o=new ImageData(a,e.width,e.height);return i.putImageData(o,0,0),r}return i.drawImage(e,0,0),r}var nG={name:"Images",id:"image",module:"images",version:QO,extensions:["jpeg"],options:{image:{mimeType:"image/png",jpegQuality:null}},encode:kAe};var iG={};function aG(e){if(iG[e]===void 0){let r=En?PLr(e):ILr(e);iG[e]=r}return iG[e]}function ILr(e){let r=["image/png","image/jpeg","image/gif"],{_parseImageNode:t,_imageFormatsNode:n=r}=globalThis;return Boolean(t)&&n.includes(e)}function PLr(e){switch(e){case"image/avif":case"image/webp":return BLr(e);default:return!0}}function BLr(e){try{return document.createElement("canvas").toDataURL(e).indexOf(`data:${e}`)===0}catch{return!1}}function ra(e,r){if(!e)throw new Error(r||"assert failed: gltf")}var rk={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},tk={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4};var jLr=1.33,RAe=["SCALAR","VEC2","VEC3","VEC4"],MLr=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],LLr=new Map(MLr),qLr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},NLr={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ULr={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function nk(e){return RAe[e-1]||RAe[0]}function jp(e){let r=LLr.get(e.constructor);if(!r)throw new Error("Illegal typed array");return r}function $0(e,r){let t=ULr[e.componentType],n=qLr[e.type],i=NLr[e.componentType],a=e.count*n,o=e.count*n*i;return ra(o>=0&&o<=r.byteLength),{ArrayType:t,length:a,byteLength:o}}function ik(e,r){var n,i;let t=(n=e.json.accessors)==null?void 0:n[r];if(t&&typeof t.bufferView!="undefined"){let a=(i=e.json.bufferViews)==null?void 0:i[t.bufferView];if(a){let{arrayBuffer:o,byteOffset:s}=e.buffers[a.buffer],u=(s||0)+(t.byteOffset||0)+(a.byteOffset||0),{ArrayType:l,length:c}=$0(t,a),f=tk[t.componentType],d=rk[t.type],p=a.byteStride||f*d,h=new Float32Array(c);for(let b=0;b<t.count;b++){let v=new l(o,u+b*p,2);h.set(v,b*d)}return h}}return null}function Y2(e){let{images:r,bufferViews:t}=e;r=r||[],t=t||[];let n=r.map(o=>o.bufferView);t=t.filter(o=>!n.includes(o));let i=t.reduce((o,s)=>o+s.byteLength,0),a=r.reduce((o,s)=>{let{width:u,height:l}=s.image;return o+u*l},0);return i+Math.ceil(4*a*jLr)}function GLr(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}var Jt=class{constructor(r){this.gltf={json:(r==null?void 0:r.json)||GLr(),buffers:(r==null?void 0:r.buffers)||[],images:(r==null?void 0:r.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(r){return this.json[r]}getExtraData(r){return(this.json.extras||{})[r]}hasExtension(r){let t=this.getUsedExtensions().find(i=>i===r),n=this.getRequiredExtensions().find(i=>i===r);return typeof t=="string"||typeof n=="string"}getExtension(r){let t=this.getUsedExtensions().find(i=>i===r),n=this.json.extensions||{};return t?n[r]:null}getRequiredExtension(r){return this.getRequiredExtensions().find(n=>n===r)?this.getExtension(r):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(r,t){return(r.extensions||{})[t]}getScene(r){return this.getObject("scenes",r)}getNode(r){return this.getObject("nodes",r)}getSkin(r){return this.getObject("skins",r)}getMesh(r){return this.getObject("meshes",r)}getMaterial(r){return this.getObject("materials",r)}getAccessor(r){return this.getObject("accessors",r)}getTexture(r){return this.getObject("textures",r)}getSampler(r){return this.getObject("samplers",r)}getImage(r){return this.getObject("images",r)}getBufferView(r){return this.getObject("bufferViews",r)}getBuffer(r){return this.getObject("buffers",r)}getObject(r,t){if(typeof t=="object")return t;let n=this.json[r]&&this.json[r][t];if(!n)throw new Error(`glTF file error: Could not find ${r}[${t}]`);return n}getTypedArrayForBufferView(r){r=this.getBufferView(r);let t=r.buffer,n=this.gltf.buffers[t];ra(n);let i=(r.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,r.byteLength)}getTypedArrayForAccessor(r){r=this.getAccessor(r);let t=this.getBufferView(r.bufferView),i=this.getBuffer(t.buffer).data,{ArrayType:a,length:o}=$0(r,t),s=t.byteOffset+r.byteOffset;return new a(i,s,o)}getTypedArrayForImageData(r){r=this.getAccessor(r);let t=this.getBufferView(r.bufferView),i=this.getBuffer(t.buffer).data,a=t.byteOffset||0;return new Uint8Array(i,a,t.byteLength)}addApplicationData(r,t){return this.json[r]=t,this}addExtraData(r,t){return this.json.extras=this.json.extras||{},this.json.extras[r]=t,this}addObjectExtension(r,t,n){return r.extensions=r.extensions||{},r.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(r,t,n){let i=r.extensions||{};i[t]=n}removeObjectExtension(r,t){let n=(r==null?void 0:r.extensions)||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let i=this.json.extensionsRemoved;i.includes(t)||i.push(t)}delete n[t]}addExtension(r,t={}){return ra(t),this.json.extensions=this.json.extensions||{},this.json.extensions[r]=t,this.registerUsedExtension(r),t}addRequiredExtension(r,t={}){return ra(t),this.addExtension(r,t),this.registerRequiredExtension(r),t}registerUsedExtension(r){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===r)||this.json.extensionsUsed.push(r)}registerRequiredExtension(r){this.registerUsedExtension(r),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===r)||this.json.extensionsRequired.push(r)}removeExtension(r){var t;if((t=this.json.extensions)==null?void 0:t[r]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];let n=this.json.extensionsRemoved;n.includes(r)||n.push(r)}this.json.extensions&&delete this.json.extensions[r],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,r),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,r)}setDefaultScene(r){this.json.scene=r}addScene(r){let{nodeIndices:t}=r;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(r){let{meshIndex:t,matrix:n}=r;this.json.nodes=this.json.nodes||[];let i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(r){let{attributes:t,indices:n,material:i,mode:a=4}=r,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){let u=this._addIndices(n);s.primitives[0].indices=u}return Number.isFinite(i)&&(s.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}addPointCloud(r){let n={primitives:[{attributes:this._addAttributes(r),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(r,t){let n=Y0(r),i=t||(n==null?void 0:n.mimeType),o={bufferView:this.addBufferView(r),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(o),this.json.images.length-1}addBufferView(r,t=0,n=this.byteLength){let i=r.byteLength;ra(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(r);let a={buffer:t,byteOffset:n,byteLength:i};return this.byteLength+=Yo(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(a),this.json.bufferViews.length-1}addAccessor(r,t){let n={bufferView:r,type:nk(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(r,t={size:3}){let n=this.addBufferView(r),i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(r,t.size));let a={size:t.size,componentType:jp(r),count:Math.round(r.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(a,t))}addTexture(r){let{imageIndex:t}=r,n={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(r){return this.json.materials=this.json.materials||[],this.json.materials.push(r),this.json.materials.length-1}createBinaryChunk(){var a,o;this.gltf.buffers=[];let r=this.byteLength,t=new ArrayBuffer(r),n=new Uint8Array(t),i=0;for(let s of this.sourceBuffers||[])i=fN(s,n,i);((o=(a=this.json)==null?void 0:a.buffers)==null?void 0:o[0])?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=t,this.sourceBuffers=[t]}_removeStringFromArray(r,t){let n=!0;for(;n;){let i=r.indexOf(t);i>-1?r.splice(i,1):n=!1}}_addAttributes(r={}){let t={};for(let n in r){let i=r[n],a=this._getGltfAttributeName(n),o=this.addBinaryBuffer(i.value,i);t[a]=o}return t}_addIndices(r){return this.addBinaryBuffer(r,{size:1})}_getGltfAttributeName(r){switch(r.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return r}}_getAccessorMinMax(r,t){let n={min:null,max:null};if(r.length<t)return n;n.min=[],n.max=[];let i=r.subarray(0,t);for(let a of i)n.min.push(a),n.max.push(a);for(let a=t;a<r.length;a+=t)for(let o=0;o<t;o++)n.min[0+o]=Math.min(n.min[0+o],r[a+o]),n.max[0+o]=Math.max(n.max[0+o],r[a+o]);return n}};var IAe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},zLr={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},PAe={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function oG(e,r){return PAe[r]*IAe[e]}function $2(e,r,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;let i=e.getTypedArrayForBufferView(r),a=oy(i,"SCALAR",t,n+1);return a instanceof BigInt64Array||a instanceof BigUint64Array?null:a}function oy(e,r,t,n=1){let i=IAe[r],a=zLr[t],o=PAe[t],s=n*i,u=s*o,l=e.buffer,c=e.byteOffset;return c%o!=0&&(l=new Uint8Array(l).slice(c,c+u).buffer,c=0),new a(l,c,s)}function ak(e,r,t){var l,c,f,d,p;let n=e.gltf.json,i=`TEXCOORD_${r.texCoord||0}`,a=t.attributes[i],o=ik(e.gltf,a);if(!o)return null;let s=r.index,u=(c=(l=n.textures)==null?void 0:l[s])==null?void 0:c.source;if(typeof u!="undefined"){let h=(d=(f=n.images)==null?void 0:f[u])==null?void 0:d.mimeType,b=(p=e.gltf.images)==null?void 0:p[u];if(b&&typeof b.width!="undefined"){let v=[];for(let y=0;y<o.length;y+=2){let w=HLr(b,h,o,y,r.channels);v.push(w)}return v}}return null}function BAe(e,r,t,n,i){if(!(t==null?void 0:t.length))return;let a=[];for(let c of t){let f=n.findIndex(d=>d===c);f===-1&&(f=n.push(c)-1),a.push(f)}let o=new Uint32Array(a),s=e.gltf.buffers.push({arrayBuffer:o.buffer,byteOffset:o.byteOffset,byteLength:o.byteLength})-1,u=e.addBufferView(o,s,0),l=e.addAccessor(u,{size:1,componentType:jp(o),count:o.length});i.attributes[r]=l}function HLr(e,r,t,n,i=[0]){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],s=t[n+1],u=1;r&&(r.indexOf("image/jpeg")!==-1||r.indexOf("image/png")!==-1)&&(u=4);let l=WLr(o,s,e,u),c=0;for(let f of i){let d=typeof f=="number"?Object.values(a)[f]:a[f],p=l+d.offset,h=Bp(e);if(h.data.length<=p)throw new Error(`${h.data.length} <= ${p}`);c|=h.data[p]<<d.shift}return c}function WLr(e,r,t,n=1){let i=t.width,a=ac(e)*(i-1),o=Math.round(a),s=t.height,u=ac(r)*(s-1),l=Math.round(u),c=t.components?t.components:n;return(l*i+o)*c}var jAe="EXT_mesh_features",ok=jAe;async function VLr(e,r){let t=new Jt(e);KLr(t,r)}function KLr(e,r){let t=e.gltf.json;if(!!t.meshes)for(let n of t.meshes)for(let i of n.primitives)XLr(e,i,r)}function XLr(e,r,t){var a,o,s;if(!((a=t==null?void 0:t.gltf)==null?void 0:a.loadBuffers))return;let n=(o=r.extensions)==null?void 0:o[jAe],i=n==null?void 0:n.featureIds;if(!!i)for(let u of i){let l=null;if(typeof u.attribute!="undefined"){let c=`_FEATURE_ID_${u.attribute}`,f=r.attributes[c];l=e.getTypedArrayForAccessor(f)}else typeof u.texture!="undefined"&&((s=t==null?void 0:t.gltf)==null?void 0:s.loadImages)&&(l=ak(e,u.texture,r));u.data=l}}var lG={};qa(lG,{decode:()=>YLr,getPropertyTableFromExtStructuralMetadata:()=>uk,getPropertyTablePopulated:()=>$Lr,name:()=>J0});var sk="EXT_structural_metadata",J0=sk;async function YLr(e,r){let t=new Jt(e);JLr(t,r)}function uk(e,r){if(e.propertyTables){let t=e==null?void 0:e.propertyTables[0],n={};for(let i in t.properties)n[i]=t.properties[i].data;return n}if(e.propertyTextures){let t=e==null?void 0:e.propertyTextures[0],n={};for(let i in t.properties)n[i]=t.properties[i].data;return n}return console.warn("Cannot get property table from EXT_structural_metadata extension. There is neither propertyTables, nor propertyTextures in the extension."),null}function $Lr(e,r){var i;let t=e.getExtension(sk),n=(i=t==null?void 0:t.propertyTables)==null?void 0:i[r];if((t==null?void 0:t.schema)&&n)return MAe(e,t.schema,n),n;throw new Error(`Incorrect data in the EXT_structural_metadata extension: no property table with index ${r}`)}function JLr(e,r){var n,i;if(!((n=r.gltf)==null?void 0:n.loadBuffers))return;let t=e.getExtension(sk);!t||(((i=r.gltf)==null?void 0:i.loadImages)&&QLr(e,t),ZLr(e,t))}function QLr(e,r){let t=r.propertyTextures,n=e.gltf.json;if(t&&n.meshes)for(let i of n.meshes)for(let a of i.primitives)r9r(e,t,a,r)}function ZLr(e,r){let t=r.schema;if(!t)return;let n=t.classes,i=r.propertyTables;if(n&&i)for(let a in n){let o=e9r(i,a);o&&MAe(e,t,o)}}function e9r(e,r){for(let t of e)if(t.class===r)return t;return null}function r9r(e,r,t,n){var o;if(!r)return;let i=(o=t.extensions)==null?void 0:o[sk],a=i==null?void 0:i.propertyTextures;if(!!a)for(let s of a){let u=r[s];t9r(e,u,t,n)}}function t9r(e,r,t,n){var a;if(!r.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);let i=r.class;for(let o in r.properties){let s=`${i}_${o}`,u=(a=r.properties)==null?void 0:a[o];if(!u)continue;u.data||(u.data=[]);let l=u.data,c=ak(e,u,t);c!==null&&(BAe(e,s,c,l,t),u.data=l,n.dataAttributeNames.push(s))}}function MAe(e,r,t){var a,o;let n=(a=r.classes)==null?void 0:a[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);let i=t.count;for(let s in n.properties){let u=n.properties[s],l=(o=t.properties)==null?void 0:o[s];if(l){let c=n9r(e,r,u,i,l);l.data=c}}}function n9r(e,r,t,n,i){let a=[],o=i.values,s=e.getTypedArrayForBufferView(o),u=i9r(e,t,i,n),l=a9r(e,i,n);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{a=o9r(t,n,s,u);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${t.type}`);case"STRING":{a=l9r(t,n,s,u,l);break}case"ENUM":{a=c9r(r,t,n,s,u);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return a}function i9r(e,r,t,n){return r.array&&typeof r.count=="undefined"&&typeof t.arrayOffsets!="undefined"?$2(e,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function a9r(e,r,t){return typeof r.stringOffsets!="undefined"?$2(e,r.stringOffsets,r.stringOffsetType||"UINT32",t):null}function o9r(e,r,t,n){let i=e.array,a=e.count,o=oG(e.type,e.componentType),s=t.byteLength/o,u;return e.componentType?(u=oy(t,e.type,e.componentType,s),u||(u=t)):u=t,i?n?s9r(u,r,n,t.length,o):a?u9r(u,r,a):[]:u}function s9r(e,r,t,n,i){let a=[];for(let o=0;o<r;o++){let s=t[o],u=t[o+1]-t[o];if(u+s>n)break;let l=s/i,c=u/i;a.push(e.slice(l,l+c))}return a}function u9r(e,r,t){let n=[];for(let i=0;i<r;i++){let a=i*t;n.push(e.slice(a,a+t))}return n}function l9r(e,r,t,n,i){if(n)throw new Error(`Not implemented - classProperty.type=${e.type}`);if(i){let a=[],o=new TextDecoder("utf8"),s=0;for(let u=0;u<r;u++){let l=i[u+1]-i[u];if(l+s<=t.length){let c=t.subarray(s,l+s),f=o.decode(c);a.push(f),s+=l}}return a}return[]}function c9r(e,r,t,n,i){var f;let a=r.enumType;if(!a)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");let o=(f=e.enums)==null?void 0:f[a];if(!o)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${a}`);let s=o.valueType||"UINT16",u=oG(r.type,s),l=n.byteLength/u,c=oy(n,r.type,s,l);if(c||(c=n),r.array){if(i)return f9r({valuesData:c,numberOfElements:t,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:u,enumEntry:o});let d=r.count;return d?d9r(c,t,d,o):[]}return uG(c,0,t,o)}function f9r(e){let{valuesData:r,numberOfElements:t,arrayOffsets:n,valuesDataBytesLength:i,elementSize:a,enumEntry:o}=e,s=[];for(let u=0;u<t;u++){let l=n[u],c=n[u+1]-n[u];if(c+l>i)break;let f=l/a,d=c/a,p=uG(r,f,d,o);s.push(p)}return s}function d9r(e,r,t,n){let i=[];for(let a=0;a<r;a++){let o=t*a,s=uG(e,o,t,n);i.push(s)}return i}function uG(e,r,t,n){let i=[];for(let a=0;a<t;a++)if(e instanceof BigInt64Array||e instanceof BigUint64Array)i.push("");else{let o=e[r+a],s=p9r(n,o);s?i.push(s.name):i.push("")}return i}function p9r(e,r){for(let t of e.values)if(t.value===r)return t;return null}var cG={};qa(cG,{decode:()=>h9r,getPropertyTableFromExtFeatureMetadata:()=>lk,name:()=>uc});var LAe="EXT_feature_metadata",uc=LAe;async function h9r(e,r){let t=new Jt(e);m9r(t,r)}function lk(e,r){var t;if(e.featureTables){let n=(t=Object.keys(e.featureTables))==null?void 0:t[0];if(n){let i=e.featureTables[n],a={};for(let o in i.properties)a[o]=i.properties[o].data;return a}}if(e.featureTextures){let n;for(let i in e.featureTextures)e.featureTextures[i].class===r&&(n=i);if(typeof n=="string"){let i=e.featureTextures[n],a={};for(let o in i.properties)a[o]=i.properties[o].data;return a}}return console.warn("Cannot get property table from EXT_feature_metadata extension. There is neither featureTables, nor featureTextures in the extension."),null}function m9r(e,r){var o,s;let t=e.getExtension(LAe);if(!t)return;let n=(o=t.schema)==null?void 0:o.classes,{featureTables:i}=t;if(n&&i)for(let u in n){let l=n[u],c=C9r(i,u);c&&g9r(e,c,l)}let{featureTextures:a}=t;if(n&&a&&((s=r.gltf)==null?void 0:s.loadImages))for(let u in n){let l=n[u],c=D9r(a,u);c&&v9r(e,c,l)}}function g9r(e,r,t){var n;for(let i in t.properties){let a=t.properties[i],o=(n=r==null?void 0:r.properties)==null?void 0:n[i],s=r.count;if(o){let u=b9r(e,a,s,o);o.data=u}}}function v9r(e,r,t){var i;let n=r.class;for(let a in t.properties){let o=(i=r==null?void 0:r.properties)==null?void 0:i[a];if(o){let s=E9r(e,o,n);o.data=s}}}function b9r(e,r,t,n){let i=n.bufferView,a=e.getTypedArrayForBufferView(i);if(r.type==="STRING"){let o=x9r(e,n,t);return o?O9r(a,o,t):[]}else if(y9r(r.type))return _9r(a,r.type,t);return a}function y9r(e){return["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"].includes(e)}function x9r(e,r,t){return typeof r.stringOffsetBufferView!="undefined"?$2(e,r.stringOffsetBufferView,r.offsetType||"UINT32",t):null}function _9r(e,r,t){let n=oy(e,"SCALAR",r,t);return n||(n=e),n}function E9r(e,r,t){let n=e.gltf.json;if(!n.meshes)return[];let i=[];for(let a of n.meshes)for(let o of a.primitives)w9r(e,t,r,i,o);return i}function w9r(e,r,t,n,i){var w,A,C;let a=e.gltf.json,o=[],s=`TEXCOORD_${t.texture.texCoord}`,u=i.attributes[s],l=ik(e.gltf,u);if(!l)return;let c=t.texture.index,f=(w=a.textures)==null?void 0:w[c],d=f==null?void 0:f.source;if(typeof d!="undefined"){let D=(A=a.images)==null?void 0:A[d],R=D==null?void 0:D.mimeType,O=(C=e.gltf.images)==null?void 0:C[d];if(O)for(let L=0;L<l.length;L+=2){let P=S9r(O,R,l,L,t.channels);o.push(P)}}let p=[];for(let D of o){let R=n.findIndex(O=>O===D);R===-1&&(R=n.push(D)-1),p.push(R)}let h=new Uint32Array(p),b=e.gltf.buffers.push({arrayBuffer:h.buffer,byteOffset:0,byteLength:h.byteLength})-1,v=e.addBufferView(h,b,0),y=e.addAccessor(v,{size:1,componentType:jp(h),count:h.length});i.attributes[r]=y}function S9r(e,r,t,n,i){let a={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},o=t[n],s=t[n+1],u=1;r&&(r.indexOf("image/jpeg")!==-1||r.indexOf("image/png")!==-1)&&(u=4);let l=T9r(o,s,e,u),c=0;for(let f of i){let d=a[f];c|=A9r(e,l+d.offset)<<d.shift}return c}function A9r(e,r){let t=Bp(e);if(t.data.length<=r)throw new Error(`${t.data.length} <= ${r}`);return t.data[r]}function T9r(e,r,t,n=1){let i=t.width,a=ac(e)*(i-1),o=Math.round(a),s=t.height,u=ac(r)*(s-1),l=Math.round(u),c=t.components?t.components:n;return(l*i+o)*c}function C9r(e,r){for(let t in e){let n=e[t];if(n.class===r)return n}return null}function D9r(e,r){for(let t in e){let n=e[t];if(n.class===r)return n}return null}function O9r(e,r,t){let n=[],i=new TextDecoder("utf8");for(let a=0;a<t;a++){let o=e.slice(r[a],r[a+1]),s=i.decode(o);n.push(s)}return n}var ck="4.0.0-alpha.26";var sy="4.0.0-alpha.26";var lc={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},fG;async function dG(e){let r=e.modules||{};return r.basis?r.basis:(fG=fG||k9r(e),await fG)}async function k9r(e){let r=null,t=null;return[r,t]=await Promise.all([await Xl(lc.TRANSCODER,"textures",e),await Xl(lc.TRANSCODER_WASM,"textures",e)]),r=r||globalThis.BASIS,await F9r(r,t)}function F9r(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(t).then(i=>{let{BasisFile:a,initializeBasis:o}=i;o(),n({BasisFile:a})})})}var pG;async function hG(e){let r=e.modules||{};return r.basisEncoder?r.basisEncoder:(pG=pG||R9r(e),await pG)}async function R9r(e){let r=null,t=null;return[r,t]=await Promise.all([await Xl(lc.ENCODER,"textures",e),await Xl(lc.ENCODER_WASM,"textures",e)]),r=r||globalThis.BASIS,await I9r(r,t)}function I9r(e,r){let t={};return r&&(t.wasmBinary=r),new Promise(n=>{e(t).then(i=>{let{BasisFile:a,KTX2File:o,initializeBasis:s,BasisEncoder:u}=i;s(),n({BasisFile:a,KTX2File:o,BasisEncoder:u})})})}var Te={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var P9r=["","WEBKIT_","MOZ_"],qAe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},fk=null;function J2(e){if(!fk){e=e||B9r()||void 0,fk=new Set;for(let r of P9r)for(let t in qAe)if(e&&e.getExtension(`${r}${t}`)){let n=qAe[t];fk.add(n)}}return fk}function B9r(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var JAe=He(YAe());function uy(e,r){let t=new Array(r.mipMapLevels),n=r.width,i=r.height,a=0;for(let o=0;o<r.mipMapLevels;++o){let s=L9r(r,n,i,e,o),u=M9r(e,o,a,s);t[o]={compressed:!0,format:r.internalFormat,data:u,width:n,height:i,levelSize:s},n=Math.max(1,n>>1),i=Math.max(1,i>>1),a+=s}return t}function M9r(e,r,t,n){return Array.isArray(e)?e[r].levelData:new Uint8Array(e.buffer,e.byteOffset+t,n)}function L9r(e,r,t,n,i){return Array.isArray(n)?e.sizeFunction(n[i]):e.sizeFunction(r,t)}var q9r={131:Te.COMPRESSED_RGB_S3TC_DXT1_EXT,132:Te.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:Te.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:Te.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:Te.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:Te.COMPRESSED_RED_RGTC1_EXT,140:Te.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:Te.COMPRESSED_RED_GREEN_RGTC2_EXT,142:Te.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:Te.COMPRESSED_RGB8_ETC2,148:Te.COMPRESSED_SRGB8_ETC2,149:Te.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:Te.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:Te.COMPRESSED_RGBA8_ETC2_EAC,152:Te.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:Te.COMPRESSED_R11_EAC,154:Te.COMPRESSED_SIGNED_R11_EAC,155:Te.COMPRESSED_RG11_EAC,156:Te.COMPRESSED_SIGNED_RG11_EAC,157:Te.COMPRESSED_RGBA_ASTC_4x4_KHR,158:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:Te.COMPRESSED_RGBA_ASTC_5x4_KHR,160:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:Te.COMPRESSED_RGBA_ASTC_5x5_KHR,162:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:Te.COMPRESSED_RGBA_ASTC_6x5_KHR,164:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:Te.COMPRESSED_RGBA_ASTC_6x6_KHR,166:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:Te.COMPRESSED_RGBA_ASTC_8x5_KHR,168:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:Te.COMPRESSED_RGBA_ASTC_8x6_KHR,170:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:Te.COMPRESSED_RGBA_ASTC_8x8_KHR,172:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:Te.COMPRESSED_RGBA_ASTC_10x5_KHR,174:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:Te.COMPRESSED_RGBA_ASTC_10x6_KHR,176:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:Te.COMPRESSED_RGBA_ASTC_10x8_KHR,178:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:Te.COMPRESSED_RGBA_ASTC_10x10_KHR,180:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:Te.COMPRESSED_RGBA_ASTC_12x10_KHR,182:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:Te.COMPRESSED_RGBA_ASTC_12x12_KHR,184:Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:Te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:Te.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:Te.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:Te.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:Te.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:Te.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:Te.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:Te.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:Te.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:Te.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:Te.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:Te.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:Te.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:Te.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:Te.COMPRESSED_RGBA_ASTC_12x12_KHR};function $Ae(e){return q9r[e]}var ts=[171,75,84,88,32,50,48,187,13,10,26,10];function gk(e){let r=new Uint8Array(e);return!(r.byteLength<ts.length||r[0]!==ts[0]||r[1]!==ts[1]||r[2]!==ts[2]||r[3]!==ts[3]||r[4]!==ts[4]||r[5]!==ts[5]||r[6]!==ts[6]||r[7]!==ts[7]||r[8]!==ts[8]||r[9]!==ts[9]||r[10]!==ts[10]||r[11]!==ts[11])}function QAe(e){let r=new Uint8Array(e),t=(0,JAe.read)(r),n=Math.max(1,t.levels.length),i=t.pixelWidth,a=t.pixelHeight,o=$Ae(t.vkFormat);return uy(t.levels,{mipMapLevels:n,width:i,height:a,sizeFunction:s=>s.uncompressedByteLength,internalFormat:o})}var N9r={etc1:{basisFormat:0,compressed:!0,format:Te.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Te.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Te.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Z2(e,r){if(r.basis.containerFormat==="auto"){if(gk(e)){let n=await hG(r);return ZAe(n.KTX2File,e,r)}let{BasisFile:t}=await dG(r);return yG(t,e,r)}switch(r.basis.module){case"encoder":let t=await hG(r);switch(r.basis.containerFormat){case"ktx2":return ZAe(t.KTX2File,e,r);case"basis":default:return yG(t.BasisFile,e,r)}case"transcoder":default:let{BasisFile:n}=await dG(r);return yG(n,e,r)}}function yG(e,r,t){let n=new e(new Uint8Array(r));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");let i=n.getNumImages(),a=[];for(let o=0;o<i;o++){let s=n.getNumLevels(o),u=[];for(let l=0;l<s;l++)u.push(U9r(n,o,l,t));a.push(u)}return a}finally{n.close(),n.delete()}}function U9r(e,r,t,n){let i=e.getImageWidth(r,t),a=e.getImageHeight(r,t),o=e.getHasAlpha(),{compressed:s,format:u,basisFormat:l}=eTe(n,o),c=e.getImageTranscodedSizeInBytes(r,t,l),f=new Uint8Array(c);if(!e.transcodeImage(f,r,t,l,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:a,data:f,compressed:s,format:u,hasAlpha:o}}function ZAe(e,r,t){let n=new e(new Uint8Array(r));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");let i=n.getLevels(),a=[];for(let o=0;o<i;o++){a.push(G9r(n,o,t));break}return[a]}finally{n.close(),n.delete()}}function G9r(e,r,t){let{alphaFlag:n,height:i,width:a}=e.getImageLevelInfo(r,0,0),{compressed:o,format:s,basisFormat:u}=eTe(t,n),l=e.getImageTranscodedSizeInBytes(r,0,0,u),c=new Uint8Array(l);if(!e.transcodeImage(c,r,0,0,u,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:i,data:c,compressed:o,levelSize:l,hasAlpha:n,format:s}}function eTe(e,r){let t=e&&e.basis&&e.basis.format;return t==="auto"&&(t=ly()),typeof t=="object"&&(t=r?t.alpha:t.noAlpha),t=t.toLowerCase(),N9r[t]}function ly(){let e=J2();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var rTe={name:"Basis",id:"basis",module:"textures",version:sy,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Q0=qe(oe({},rTe),{parse:Z2});var ns={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},z9r={DXT1:Te.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:Te.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:Te.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":Te.COMPRESSED_RGB_ATC_WEBGL,ATCA:Te.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:Te.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},H9r=iTe,W9r=vk,V9r=vk,K9r={DXT1:iTe,DXT3:vk,DXT5:vk,"ATC ":H9r,ATCA:W9r,ATCI:V9r};function tTe(e){return new Uint32Array(e,0,ns.HEADER_LENGTH)[ns.MAGIC_NUMBER_INDEX]===ns.MAGIC_NUMBER}function nTe(e){let r=new Int32Array(e,0,ns.HEADER_LENGTH),t=r[ns.HEADER_PF_FOURCC_INDEX];Qr(Boolean(r[ns.HEADER_PF_FLAGS_INDEX]&ns.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let n=X9r(t),i=z9r[n],a=K9r[n];Qr(i&&a,`DDS: Unknown pixel format ${t}`);let o=1;r[ns.HEADER_FLAGS_INDEX]&ns.DDSD_MIPMAPCOUNT&&(o=Math.max(1,r[ns.MIPMAPCOUNT_INDEX]));let s=r[ns.HEADER_WIDTH_INDEX],u=r[ns.HEADER_HEIGHT_INDEX],l=r[ns.HEADER_SIZE_INDEX]+4,c=new Uint8Array(e,l);return uy(c,{mipMapLevels:o,width:s,height:u,sizeFunction:a,internalFormat:i})}function iTe(e,r){return(e+3>>2)*(r+3>>2)*8}function vk(e,r){return(e+3>>2)*(r+3>>2)*16}function X9r(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var Ks={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Y9r={0:[Te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[Te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[Te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[Te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[Te.COMPRESSED_RGB_ETC1_WEBGL],7:[Te.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[Te.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[Te.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[Te.COMPRESSED_RGB8_ETC2],23:[Te.COMPRESSED_RGBA8_ETC2_EAC],24:[Te.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[Te.COMPRESSED_R11_EAC],26:[Te.COMPRESSED_RG11_EAC],27:[Te.COMPRESSED_RGBA_ASTC_4X4_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[Te.COMPRESSED_RGBA_ASTC_5X4_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[Te.COMPRESSED_RGBA_ASTC_5X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[Te.COMPRESSED_RGBA_ASTC_6X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[Te.COMPRESSED_RGBA_ASTC_6X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[Te.COMPRESSED_RGBA_ASTC_8X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[Te.COMPRESSED_RGBA_ASTC_8X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[Te.COMPRESSED_RGBA_ASTC_8X8_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[Te.COMPRESSED_RGBA_ASTC_10X5_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[Te.COMPRESSED_RGBA_ASTC_10X6_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[Te.COMPRESSED_RGBA_ASTC_10X8_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[Te.COMPRESSED_RGBA_ASTC_10X10_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[Te.COMPRESSED_RGBA_ASTC_12X10_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[Te.COMPRESSED_RGBA_ASTC_12X12_KHR,Te.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},$9r={0:sTe,1:sTe,2:uTe,3:uTe,6:eE,7:eE,9:rE,11:rE,22:eE,23:rE,24:eE,25:eE,26:rE,27:rE,28:J9r,29:Q9r,30:Z9r,31:eqr,32:rqr,33:tqr,34:nqr,35:iqr,36:aqr,37:oqr,38:sqr,39:uqr,40:lqr};function aTe(e){let t=new Uint32Array(e,0,Ks.HEADER_LENGTH)[Ks.MAGIC_NUMBER_INDEX];return t===Ks.MAGIC_NUMBER||t===Ks.MAGIC_NUMBER_EXTRA}function oTe(e){let r=new Uint32Array(e,0,Ks.HEADER_LENGTH),t=r[Ks.PIXEL_FORMAT_INDEX],n=r[Ks.COLOUR_SPACE_INDEX],i=Y9r[t]||[],a=i.length>1&&n?i[1]:i[0],o=$9r[t],s=r[Ks.MIPMAPCOUNT_INDEX],u=r[Ks.WIDTH_INDEX],l=r[Ks.HEIGHT_INDEX],c=Ks.HEADER_SIZE+r[Ks.METADATA_SIZE_INDEX],f=new Uint8Array(e,c);return uy(f,{mipMapLevels:s,width:u,height:l,sizeFunction:o,internalFormat:a})}function sTe(e,r){return e=Math.max(e,16),r=Math.max(r,8),e*r/4}function uTe(e,r){return e=Math.max(e,8),r=Math.max(r,8),e*r/2}function eE(e,r){return Math.floor((e+3)/4)*Math.floor((r+3)/4)*8}function rE(e,r){return Math.floor((e+3)/4)*Math.floor((r+3)/4)*16}function J9r(e,r){return Math.floor((e+4)/5)*Math.floor((r+3)/4)*16}function Q9r(e,r){return Math.floor((e+4)/5)*Math.floor((r+4)/5)*16}function Z9r(e,r){return Math.floor((e+5)/6)*Math.floor((r+4)/5)*16}function eqr(e,r){return Math.floor((e+5)/6)*Math.floor((r+5)/6)*16}function rqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+4)/5)*16}function tqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+5)/6)*16}function nqr(e,r){return Math.floor((e+7)/8)*Math.floor((r+7)/8)*16}function iqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+4)/5)*16}function aqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+5)/6)*16}function oqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+7)/8)*16}function sqr(e,r){return Math.floor((e+9)/10)*Math.floor((r+9)/10)*16}function uqr(e,r){return Math.floor((e+11)/12)*Math.floor((r+9)/10)*16}function lqr(e,r){return Math.floor((e+11)/12)*Math.floor((r+11)/12)*16}function lTe(e){if(gk(e))return QAe(e);if(tTe(e))return nTe(e);if(aTe(e))return oTe(e);throw new Error("Texture container format not recognized")}var cTe={name:"Texture Containers",id:"compressed-texture",module:"textures",version:sy,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},bk=qe(oe({},cTe),{parse:async(e,r)=>{var t;return((t=r==null?void 0:r["compressed-texture"])==null?void 0:t.useBasis)?(r.basis=qe(oe({format:{alpha:"BC3",noAlpha:"BC1"}},r.basis),{containerFormat:"ktx2",module:"encoder"}),(await Z2(e,r))[0]):lTe(e)}});var xG={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:sy,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};var cy=!0,fTe=1735152710,_G=12,yk=8,cqr=1313821514,fqr=5130562,dqr=0,pqr=0,hqr=1;function mqr(e,r=0){return`${String.fromCharCode(e.getUint8(r+0))}${String.fromCharCode(e.getUint8(r+1))}${String.fromCharCode(e.getUint8(r+2))}${String.fromCharCode(e.getUint8(r+3))}`}function dTe(e,r=0,t={}){let n=new DataView(e),{magic:i=fTe}=t,a=n.getUint32(r,!1);return a===i||a===fTe}function pTe(e,r,t=0,n={}){let i=new DataView(r),a=mqr(i,t+0),o=i.getUint32(t+4,cy),s=i.getUint32(t+8,cy);switch(Object.assign(e,{header:{byteOffset:t,byteLength:s,hasBinChunk:!1},type:a,version:o,json:{},binChunks:[]}),t+=_G,e.version){case 1:return gqr(e,i,t);case 2:return vqr(e,i,t,n={});default:throw new Error(`Invalid GLB version ${e.version}. Only supports version 1 and 2.`)}}function gqr(e,r,t){Qr(e.header.byteLength>_G+yk);let n=r.getUint32(t+0,cy),i=r.getUint32(t+4,cy);return t+=yk,Qr(i===dqr),EG(e,r,t,n),t+=n,t+=wG(e,r,t,e.header.byteLength),t}function vqr(e,r,t,n){return Qr(e.header.byteLength>_G+yk),bqr(e,r,t,n),t+e.header.byteLength}function bqr(e,r,t,n){for(;t+8<=e.header.byteLength;){let i=r.getUint32(t+0,cy),a=r.getUint32(t+4,cy);switch(t+=yk,a){case cqr:EG(e,r,t,i);break;case fqr:wG(e,r,t,i);break;case pqr:n.strict||EG(e,r,t,i);break;case hqr:n.strict||wG(e,r,t,i);break;default:break}t+=Yo(i,4)}return t}function EG(e,r,t,n){let i=new Uint8Array(r.buffer,t,n),o=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(o),Yo(n,4)}function wG(e,r,t,n){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:t,byteLength:n,arrayBuffer:r.buffer}),Yo(n,4)}function SG(e,r){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;let n=r.baseUri||r.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${e}`);return n.substr(0,n.lastIndexOf("/")+1)+e}function hTe(e,r,t){let n=e.bufferViews[t];ra(n);let i=n.buffer,a=r[i];ra(a);let o=(n.byteOffset||0)+a.byteOffset;return new Uint8Array(a.arrayBuffer,o,n.byteLength)}var TG={};qa(TG,{decode:()=>kqr,name:()=>Oqr});var yqr="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",xqr="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",_qr=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Eqr=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),wqr={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Sqr={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function mTe(e,r,t,n,i,a="NONE"){let o=await Aqr();Dqr(o,o.exports[Sqr[i]],e,r,t,n,o.exports[wqr[a||"NONE"]])}var AG;async function Aqr(){return AG||(AG=Tqr()),AG}async function Tqr(){let e=yqr;WebAssembly.validate(_qr)&&(e=xqr,console.log("Warning: meshopt_decoder is using experimental SIMD support"));let r=await WebAssembly.instantiate(Cqr(e),{});return await r.instance.exports.__wasm_call_ctors(),r.instance}function Cqr(e){let r=new Uint8Array(e.length);for(let n=0;n<e.length;++n){let i=e.charCodeAt(n);r[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let t=0;for(let n=0;n<e.length;++n)r[t++]=r[n]<60?Eqr[r[n]]:(r[n]-60)*64+r[++n];return r.buffer.slice(0,t)}function Dqr(e,r,t,n,i,a,o){let s=e.exports.sbrk,u=n+3&~3,l=s(u*i),c=s(a.length),f=new Uint8Array(e.exports.memory.buffer);f.set(a,c);let d=r(l,n,i,c,a.length);if(d===0&&o&&o(l,u,i),t.set(f.subarray(l,l+n*i)),s(l-s(0)),d!==0)throw new Error(`Malformed buffer data: ${d}`)}var xk="EXT_meshopt_compression",Oqr=xk;async function kqr(e,r){var i,a;let t=new Jt(e);if(!((i=r==null?void 0:r.gltf)==null?void 0:i.decompressMeshes)||!((a=r.gltf)==null?void 0:a.loadBuffers))return;let n=[];for(let o of e.json.bufferViews||[])n.push(Fqr(t,o));await Promise.all(n),t.removeExtension(xk)}async function Fqr(e,r){let t=e.getObjectExtension(r,xk);if(t){let{byteOffset:n=0,byteLength:i=0,byteStride:a,count:o,mode:s,filter:u="NONE",buffer:l}=t,c=e.gltf.buffers[l],f=new Uint8Array(c.arrayBuffer,c.byteOffset+n,i),d=new Uint8Array(e.gltf.buffers[r.buffer].arrayBuffer,r.byteOffset,r.byteLength);await mTe(d,o,a,f,s,u),e.removeObjectExtension(r,xk)}}var CG={};qa(CG,{name:()=>Rqr,preprocess:()=>Iqr});var fy="EXT_texture_webp",Rqr=fy;function Iqr(e,r){let t=new Jt(e);if(!aG("image/webp")){if(t.getRequiredExtensions().includes(fy))throw new Error(`gltf: Required extension ${fy} not supported by browser`);return}let{json:n}=t;for(let i of n.textures||[]){let a=t.getObjectExtension(i,fy);a&&(i.source=a.source),t.removeObjectExtension(i,fy)}t.removeExtension(fy)}var DG={};qa(DG,{name:()=>Pqr,preprocess:()=>Bqr});var _k="KHR_texture_basisu",Pqr=_k;function Bqr(e,r){let t=new Jt(e),{json:n}=t;for(let i of n.textures||[]){let a=t.getObjectExtension(i,_k);a&&(i.source=a.source,t.removeObjectExtension(i,_k))}t.removeExtension(_k)}var kG={};qa(kG,{decode:()=>Nqr,encode:()=>Uqr,name:()=>Lqr,preprocess:()=>qqr});function gTe(e){let r={};for(let t in e){let n=e[t];if(t!=="indices"){let i=OG(n);r[t]=i}}return r}function OG(e){let{buffer:r,size:t,count:n}=jqr(e);return{value:r,size:t,byteOffset:0,count:n,type:nk(t),componentType:jp(r)}}function jqr(e){let r=e,t=1,n=0;return e&&e.value&&(r=e.value,t=e.size||1),r&&(ArrayBuffer.isView(r)||(r=Mqr(r,Float32Array)),n=r.length/t),{buffer:r,size:t,count:n}}function Mqr(e,r,t=!1){return e?Array.isArray(e)?new r(e):t&&!(e instanceof r)?new r(e):e:null}var Mp="KHR_draco_mesh_compression",Lqr=Mp;function qqr(e,r,t){let n=new Jt(e);for(let i of vTe(n))n.getObjectExtension(i,Mp)}async function Nqr(e,r,t){var a;if(!((a=r==null?void 0:r.gltf)==null?void 0:a.decompressMeshes))return;let n=new Jt(e),i=[];for(let o of vTe(n))n.getObjectExtension(o,Mp)&&i.push(Gqr(n,o,r,t));await Promise.all(i),n.removeExtension(Mp)}function Uqr(e,r={}){let t=new Jt(e);for(let n of t.json.meshes||[])zqr(n,r),t.addRequiredExtension(Mp)}async function Gqr(e,r,t,n){let i=e.getObjectExtension(r,Mp);if(!i)return;let a=e.getTypedArrayForBufferView(i.bufferView),o=F0(a.buffer,a.byteOffset),s=oe({},t);delete s["3d-tiles"];let u=await Ko(o,Zb,s,n),l=gTe(u.attributes);for(let[c,f]of Object.entries(l))if(c in r.attributes){let d=r.attributes[c],p=e.getAccessor(d);(p==null?void 0:p.min)&&(p==null?void 0:p.max)&&(f.min=p.min,f.max=p.max)}r.attributes=l,u.indices&&(r.indices=OG(u.indices)),e.removeObjectExtension(r,Mp),Hqr(r)}function zqr(e,r,t=4,n,i){var c;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");let a=n.DracoWriter.encodeSync({attributes:e}),o=(c=i==null?void 0:i.parseSync)==null?void 0:c.call(i,{attributes:e}),s=n._addFauxAttributes(o.attributes),u=n.addBufferView(a);return{primitives:[{attributes:s,mode:t,extensions:{[Mp]:{bufferView:u,attributes:s}}}]}}function Hqr(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*vTe(e){for(let r of e.json.meshes||[])for(let t of r.primitives)yield t}var RG={};qa(RG,{decode:()=>Xqr,name:()=>Wqr});var dy=He($t());var FG="KHR_texture_transform",Wqr=FG,Ek=new dy.Vector3,Vqr=new dy.Matrix3,Kqr=new dy.Matrix3;async function Xqr(e,r){var a;if(!new Jt(e).hasExtension(FG)||!((a=r.gltf)==null?void 0:a.loadBuffers))return;let i=e.json.materials||[];for(let o=0;o<i.length;o++)Yqr(o,e)}function Yqr(e,r){var l,c,f;let t=[],n=(l=r.json.materials)==null?void 0:l[e],i=(c=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:c.baseColorTexture;i&&tE(r,e,i,t);let a=n==null?void 0:n.emissiveTexture;a&&tE(r,e,a,t);let o=n==null?void 0:n.normalTexture;o&&tE(r,e,o,t);let s=n==null?void 0:n.occlusionTexture;s&&tE(r,e,s,t);let u=(f=n==null?void 0:n.pbrMetallicRoughness)==null?void 0:f.metallicRoughnessTexture;u&&tE(r,e,u,t)}function tE(e,r,t,n){let i=$qr(t,n);if(!i)return;let a=e.json.meshes||[];for(let o of a)for(let s of o.primitives){let u=s.material;Number.isFinite(u)&&r===u&&Jqr(e,s,i)}}function $qr(e,r){var o;let t=(o=e.extensions)==null?void 0:o[FG],{texCoord:n=0}=e,{texCoord:i=n}=t;if(!(r.findIndex(([s,u])=>s===n&&u===i)!==-1)){let s=e7r(t);return n!==i&&(e.texCoord=i),r.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:s}}return null}function Jqr(e,r,t){var s,u;let{originalTexCoord:n,texCoord:i,matrix:a}=t,o=r.attributes[`TEXCOORD_${n}`];if(Number.isFinite(o)){let l=(s=e.json.accessors)==null?void 0:s[o];if(l&&l.bufferView){let c=(u=e.json.bufferViews)==null?void 0:u[l.bufferView];if(c){let{arrayBuffer:f,byteOffset:d}=e.buffers[c.buffer],p=(d||0)+(l.byteOffset||0)+(c.byteOffset||0),{ArrayType:h,length:b}=$0(l,c),v=tk[l.componentType],y=rk[l.type],w=c.byteStride||v*y,A=new Float32Array(b);for(let C=0;C<l.count;C++){let D=new h(f,p+C*w,2);Ek.set(D[0],D[1],1),Ek.transformByMatrix3(a),A.set([Ek[0],Ek[1]],C*y)}n===i?Qqr(l,c,e.buffers,A):Zqr(i,l,r,e,A)}}}}function Qqr(e,r,t,n){e.componentType=5126,t.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),r.buffer=t.length-1,r.byteLength=n.buffer.byteLength,r.byteOffset=0,delete r.byteStride}function Zqr(e,r,t,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});let a=n.json.bufferViews;if(!a)return;a.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});let o=n.json.accessors;!o||(o.push({bufferView:(a==null?void 0:a.length)-1,byteOffset:0,componentType:5126,count:r.count,type:"VEC2"}),t.attributes[`TEXCOORD_${e}`]=o.length-1)}function e7r(e){let{offset:r=[0,0],rotation:t=0,scale:n=[1,1]}=e,i=new dy.Matrix3().set(1,0,0,0,1,0,r[0],r[1],1),a=Vqr.set(Math.cos(t),Math.sin(t),0,-Math.sin(t),Math.cos(t),0,0,0,1),o=Kqr.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(a).multiplyRight(o)}var IG={};qa(IG,{decode:()=>t7r,encode:()=>n7r,name:()=>r7r});var Z0="KHR_lights_punctual",r7r=Z0;async function t7r(e){let r=new Jt(e),{json:t}=r,n=r.getExtension(Z0);n&&(r.json.lights=n.lights,r.removeExtension(Z0));for(let i of t.nodes||[]){let a=r.getObjectExtension(i,Z0);a&&(i.light=a.light),r.removeObjectExtension(i,Z0)}}async function n7r(e){let r=new Jt(e),{json:t}=r;if(t.lights){let n=r.addExtension(Z0);ra(!n.lights),n.lights=t.lights,delete t.lights}if(r.json.lights){for(let n of r.json.lights){let i=n.node;r.addObjectExtension(i,Z0,n)}delete r.json.lights}}var PG={};qa(PG,{decode:()=>a7r,encode:()=>o7r,name:()=>i7r});var nE="KHR_materials_unlit",i7r=nE;async function a7r(e){let r=new Jt(e),{json:t}=r;for(let n of t.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),r.removeObjectExtension(n,nE);r.removeExtension(nE)}function o7r(e){let r=new Jt(e),{json:t}=r;if(r.materials)for(let n of t.materials||[])n.unlit&&(delete n.unlit,r.addObjectExtension(n,nE,{}),r.addExtension(nE))}var BG={};qa(BG,{decode:()=>u7r,encode:()=>l7r,name:()=>s7r});var iE="KHR_techniques_webgl",s7r=iE;async function u7r(e){let r=new Jt(e),{json:t}=r,n=r.getExtension(iE);if(n){let i=c7r(n,r);for(let a of t.materials||[]){let o=r.getObjectExtension(a,iE);o&&(a.technique=Object.assign({},o,i[o.technique]),a.technique.values=f7r(a.technique,r)),r.removeObjectExtension(a,iE)}r.removeExtension(iE)}}async function l7r(e,r){}function c7r(e,r){let{programs:t=[],shaders:n=[],techniques:i=[]}=e,a=new TextDecoder;return n.forEach(o=>{if(Number.isFinite(o.bufferView))o.code=a.decode(r.getTypedArrayForBufferView(o.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),t.forEach(o=>{o.fragmentShader=n[o.fragmentShader],o.vertexShader=n[o.vertexShader]}),i.forEach(o=>{o.program=t[o.program]}),i}function f7r(e,r){let t=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach(n=>{e.uniforms[n].value&&!(n in t)&&(t[n]=e.uniforms[n].value)}),Object.keys(t).forEach(n=>{typeof t[n]=="object"&&t[n].index!==void 0&&(t[n].texture=r.getTexture(t[n].index))}),t}var bTe=[lG,sG,TG,CG,DG,kG,IG,PG,BG,RG,cG];function yTe(e,r={},t){var i;let n=bTe.filter(a=>_Te(a.name,r));for(let a of n)(i=a.preprocess)==null||i.call(a,e,r,t)}async function xTe(e,r={},t){var i;let n=bTe.filter(a=>_Te(a.name,r));for(let a of n)await((i=a.decode)==null?void 0:i.call(a,e,r,t))}function _Te(e,r){var i;let t=((i=r==null?void 0:r.gltf)==null?void 0:i.excludeExtensions)||{};return!(e in t&&!t[e])}var jG="KHR_binary_glTF";function ETe(e){let r=new Jt(e),{json:t}=r;for(let n of t.images||[]){let i=r.getObjectExtension(n,jG);i&&Object.assign(n,i),r.removeObjectExtension(n,jG)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,r.removeExtension(jG)}var wTe={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},d7r={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},STe=class{constructor(){this.idToIndexMap={animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}}normalize(r,t){this.json=r.json;let n=r.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),ETe(r),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(r){r.asset=r.asset||{},r.asset.version="2.0",r.asset.generator=r.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(r){for(let t in wTe)this._convertTopLevelObjectToArray(r,t)}_convertTopLevelObjectToArray(r,t){let n=r[t];if(!(!n||Array.isArray(n))){r[t]=[];for(let i in n){let a=n[i];a.id=a.id||i;let o=r[t].length;r[t].push(a),this.idToIndexMap[t][i]=o}}}_convertObjectIdsToArrayIndices(r){for(let t in wTe)this._convertIdsToIndices(r,t);"scene"in r&&(r.scene=this._convertIdToIndex(r.scene,"scene"));for(let t of r.textures)this._convertTextureIds(t);for(let t of r.meshes)this._convertMeshIds(t);for(let t of r.nodes)this._convertNodeIds(t);for(let t of r.scenes)this._convertSceneIds(t)}_convertTextureIds(r){r.source&&(r.source=this._convertIdToIndex(r.source,"image"))}_convertMeshIds(r){for(let t of r.primitives){let{attributes:n,indices:i,material:a}=t;for(let o in n)n[o]=this._convertIdToIndex(n[o],"accessor");i&&(t.indices=this._convertIdToIndex(i,"accessor")),a&&(t.material=this._convertIdToIndex(a,"material"))}}_convertNodeIds(r){r.children&&(r.children=r.children.map(t=>this._convertIdToIndex(t,"node"))),r.meshes&&(r.meshes=r.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(r){r.nodes&&(r.nodes=r.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(r,t){r[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),r[t]=[]);for(let n of r[t])for(let i in n){let a=n[i],o=this._convertIdToIndex(a,i);n[i]=o}}_convertIdToIndex(r,t){let n=d7r[t];if(n in this.idToIndexMap){let i=this.idToIndexMap[n][r];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${t} with id ${r}`);return i}return r}_updateObjects(r){for(let t of this.json.buffers)delete t.type}_updateMaterial(r){var t,n,i;for(let a of r.materials){a.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};let o=((t=a.values)==null?void 0:t.tex)||((n=a.values)==null?void 0:n.texture2d_0)||((i=a.values)==null?void 0:i.diffuseTex),s=r.textures.findIndex(u=>u.id===o);s!==-1&&(a.pbrMetallicRoughness.baseColorTexture={index:s})}}};function ATe(e,r={}){return new STe().normalize(e,r)}async function TTe(e,r,t=0,n,i){var a,o,s;return p7r(e,r,t,n),ATe(e,{normalize:(a=n==null?void 0:n.gltf)==null?void 0:a.normalize}),yTe(e,n,i),((o=n==null?void 0:n.gltf)==null?void 0:o.loadBuffers)&&e.json.buffers&&await h7r(e,n,i),((s=n==null?void 0:n.gltf)==null?void 0:s.loadImages)&&await m7r(e,n,i),await xTe(e,n,i),e}function p7r(e,r,t,n){if(n.uri&&(e.baseUri=n.uri),r instanceof ArrayBuffer&&!dTe(r,t,n)&&(r=new TextDecoder().decode(r)),typeof r=="string")e.json=lN(r);else if(r instanceof ArrayBuffer){let o={};t=pTe(o,r,t,n.glb),ra(o.type==="glTF",`Invalid GLB magic string ${o.type}`),e._glb=o,e.json=o.json}else ra(!1,"GLTF: must be ArrayBuffer or string");let i=e.json.buffers||[];if(e.buffers=new Array(i.length).fill(null),e._glb&&e._glb.header.hasBinChunk){let{binChunks:o}=e._glb;e.buffers[0]={arrayBuffer:o[0].arrayBuffer,byteOffset:o[0].byteOffset,byteLength:o[0].byteLength}}let a=e.json.images||[];e.images=new Array(a.length).fill({})}async function h7r(e,r,t){var i,a;let n=e.json.buffers||[];for(let o=0;o<n.length;++o){let s=n[o];if(s.uri){let{fetch:u}=t;ra(u);let l=SG(s.uri,r),c=await((i=t==null?void 0:t.fetch)==null?void 0:i.call(t,l)),f=await((a=c==null?void 0:c.arrayBuffer)==null?void 0:a.call(c));e.buffers[o]={arrayBuffer:f,byteOffset:0,byteLength:f.byteLength},delete s.uri}else e.buffers[o]===null&&(e.buffers[o]={arrayBuffer:new ArrayBuffer(s.byteLength),byteOffset:0,byteLength:s.byteLength})}}async function m7r(e,r,t){let n=g7r(e),i=e.json.images||[],a=[];for(let o of n)a.push(v7r(e,i[o],o,r,t));return await Promise.all(a)}function g7r(e){let r=new Set,t=e.json.textures||[];for(let n of t)n.source!==void 0&&r.add(n.source);return Array.from(r).sort()}async function v7r(e,r,t,n,i){let a;if(r.uri&&!r.hasOwnProperty("bufferView")){let s=SG(r.uri,n),{fetch:u}=i;a=await(await u(s)).arrayBuffer(),r.bufferView={data:a}}if(Number.isFinite(r.bufferView)){let s=hTe(e.json,e.buffers,r.bufferView);a=F0(s.buffer,s.byteOffset,s.byteLength)}ra(a,"glTF image has no data");let o=await Ko(a,[ay,Q0],qe(oe({},n),{mimeType:r.mimeType,basis:n.basis||{format:ly()}}),i);o&&o[0]&&(o={compressed:!0,mipmaps:!1,width:o[0].width,height:o[0].height,data:o[0]}),e.images=e.images||[],e.images[t]=o}var Tf={name:"glTF",id:"gltf",module:"gltf",version:ck,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:b7r,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console},deprecatedOptions:{fetchImages:"gltf.loadImages",createImages:"gltf.loadImages",decompress:"gltf.decompressMeshes",postProcess:"gltf.postProcess",gltf:{decompress:"gltf.decompressMeshes",postProcess:"removed in v4"}}};async function b7r(e,r={},t){r=oe(oe({},Tf.options),r),r.gltf=oe(oe({},Tf.options.gltf),r.gltf);let{byteOffset:n=0}=r;return await TTe({},e,n,r,t)}var y7r=1179937895,x7r=1313821514,_7r=5130562,cc=!0;function CTe(e,r,t=0,n={}){let{magic:i=y7r,version:a=2,json:o={},binary:s}=e,u=t;r&&(r.setUint32(t+0,i,cc),r.setUint32(t+4,a,cc),r.setUint32(t+8,0,cc));let l=t+8;t+=12;let c=t;r&&(r.setUint32(t+0,0,cc),r.setUint32(t+4,x7r,cc)),t+=8;let f=JSON.stringify(o);if(t=Sb(r,t,f,4),r){let d=t-c-8;r.setUint32(c+0,d,cc)}if(s){let d=t;if(r&&(r.setUint32(t+0,0,cc),r.setUint32(t+4,_7r,cc)),t+=8,t=TD(r,t,s,4),r){let p=t-d-8;r.setUint32(d+0,p,cc)}}if(r){let d=t-u;r.setUint32(l,d,cc)}return t}function MG(e,r,t,n){return E7r(e),CTe(e,r,t,n)}function E7r(e,{firstBuffer:r=0}={}){if(e.buffers&&e.buffers.length>r)throw new Error("encodeGLTF: multiple buffers not yet implemented")}var LG={name:"glTF",id:"gltf",module:"gltf",version:ck,extensions:["glb"],mimeTypes:["model/gltf-binary"],binary:!0,encodeSync:w7r,options:{gltf:{}}};function w7r(e,r={}){let{byteOffset:t=0}=r,n=MG(e,null,t,r),i=new ArrayBuffer(n),a=new DataView(i);return MG(e,a,t,r),i}var S7r={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},A7r={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},Xs={TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,REPEAT:10497,LINEAR:9729,NEAREST_MIPMAP_LINEAR:9986},T7r={magFilter:Xs.TEXTURE_MAG_FILTER,minFilter:Xs.TEXTURE_MIN_FILTER,wrapS:Xs.TEXTURE_WRAP_S,wrapT:Xs.TEXTURE_WRAP_T},C7r={[Xs.TEXTURE_MAG_FILTER]:Xs.LINEAR,[Xs.TEXTURE_MIN_FILTER]:Xs.NEAREST_MIPMAP_LINEAR,[Xs.TEXTURE_WRAP_S]:Xs.REPEAT,[Xs.TEXTURE_WRAP_T]:Xs.REPEAT};function D7r(){return{id:"default-sampler",parameters:C7r}}function O7r(e){return A7r[e]}function k7r(e){return S7r[e]}var DTe=class{constructor(){this.baseUri="";this.buffers=[];this.images=[]}postProcess(r,t={}){let{json:n,buffers:i=[],images:a=[]}=r,{baseUri:o=""}=r;return ra(n),this.baseUri=o,this.buffers=i,this.images=a,this.jsonUnprocessed=n,this.json=this._resolveTree(r.json,t),this.json}_resolveTree(r,t={}){let n=oe({},r);return this.json=n,r.bufferViews&&(n.bufferViews=r.bufferViews.map((i,a)=>this._resolveBufferView(i,a))),r.images&&(n.images=r.images.map((i,a)=>this._resolveImage(i,a))),r.samplers&&(n.samplers=r.samplers.map((i,a)=>this._resolveSampler(i,a))),r.textures&&(n.textures=r.textures.map((i,a)=>this._resolveTexture(i,a))),r.accessors&&(n.accessors=r.accessors.map((i,a)=>this._resolveAccessor(i,a))),r.materials&&(n.materials=r.materials.map((i,a)=>this._resolveMaterial(i,a))),r.meshes&&(n.meshes=r.meshes.map((i,a)=>this._resolveMesh(i,a))),r.nodes&&(n.nodes=r.nodes.map((i,a)=>this._resolveNode(i,a)),n.nodes=n.nodes.map((i,a)=>this._resolveNodeChildren(i))),r.skins&&(n.skins=r.skins.map((i,a)=>this._resolveSkin(i,a))),r.scenes&&(n.scenes=r.scenes.map((i,a)=>this._resolveScene(i,a))),typeof this.json.scene=="number"&&n.scenes&&(n.scene=n.scenes[this.json.scene]),n}getScene(r){return this._get(this.json.scenes,r)}getNode(r){return this._get(this.json.nodes,r)}getSkin(r){return this._get(this.json.skins,r)}getMesh(r){return this._get(this.json.meshes,r)}getMaterial(r){return this._get(this.json.materials,r)}getAccessor(r){return this._get(this.json.accessors,r)}getCamera(r){return this._get(this.json.cameras,r)}getTexture(r){return this._get(this.json.textures,r)}getSampler(r){return this._get(this.json.samplers,r)}getImage(r){return this._get(this.json.images,r)}getBufferView(r){return this._get(this.json.bufferViews,r)}getBuffer(r){return this._get(this.json.buffers,r)}_get(r,t){if(typeof t=="object")return t;let n=r&&r[t];return n||console.warn(`glTF file error: Could not find ${r}[${t}]`),n}_resolveScene(r,t){return qe(oe({},r),{id:r.id||`scene-${t}`,nodes:(r.nodes||[]).map(n=>this.getNode(n))})}_resolveNode(r,t){let n=qe(oe({},r),{id:(r==null?void 0:r.id)||`node-${t}`});return r.mesh!==void 0&&(n.mesh=this.getMesh(r.mesh)),r.camera!==void 0&&(n.camera=this.getCamera(r.camera)),r.skin!==void 0&&(n.skin=this.getSkin(r.skin)),r.meshes!==void 0&&r.meshes.length&&(n.mesh=r.meshes.reduce((i,a)=>{let o=this.getMesh(a);return i.id=o.id,i.primitives=i.primitives.concat(o.primitives),i},{primitives:[]})),n}_resolveNodeChildren(r){return r.children&&(r.children=r.children.map(t=>this.getNode(t))),r}_resolveSkin(r,t){let n=typeof r.inverseBindMatrices=="number"?this.getAccessor(r.inverseBindMatrices):void 0;return qe(oe({},r),{id:r.id||`skin-${t}`,inverseBindMatrices:n})}_resolveMesh(r,t){let n=qe(oe({},r),{id:r.id||`mesh-${t}`,primitives:[]});return r.primitives&&(n.primitives=r.primitives.map(i=>{let a=qe(oe({},i),{attributes:{},indices:void 0,material:void 0}),o=i.attributes;for(let s in o)a.attributes[s]=this.getAccessor(o[s]);return i.indices!==void 0&&(a.indices=this.getAccessor(i.indices)),i.material!==void 0&&(a.material=this.getMaterial(i.material)),a})),n}_resolveMaterial(r,t){let n=qe(oe({},r),{id:r.id||`material-${t}`});if(n.normalTexture&&(n.normalTexture=oe({},n.normalTexture),n.normalTexture.texture=this.getTexture(n.normalTexture.index)),n.occlusionTexture&&(n.occlusionTexture=oe({},n.occlusionTexture),n.occlusionTexture.texture=this.getTexture(n.occlusionTexture.index)),n.emissiveTexture&&(n.emissiveTexture=oe({},n.emissiveTexture),n.emissiveTexture.texture=this.getTexture(n.emissiveTexture.index)),n.emissiveFactor||(n.emissiveFactor=n.emissiveTexture?[1,1,1]:[0,0,0]),n.pbrMetallicRoughness){n.pbrMetallicRoughness=oe({},n.pbrMetallicRoughness);let i=n.pbrMetallicRoughness;i.baseColorTexture&&(i.baseColorTexture=oe({},i.baseColorTexture),i.baseColorTexture.texture=this.getTexture(i.baseColorTexture.index)),i.metallicRoughnessTexture&&(i.metallicRoughnessTexture=oe({},i.metallicRoughnessTexture),i.metallicRoughnessTexture.texture=this.getTexture(i.metallicRoughnessTexture.index))}return n}_resolveAccessor(r,t){let n=O7r(r.componentType),i=k7r(r.type),a=n*i,o=qe(oe({},r),{id:r.id||`accessor-${t}`,bytesPerComponent:n,components:i,bytesPerElement:a,value:void 0,bufferView:void 0,sparse:void 0});if(r.bufferView!==void 0&&(o.bufferView=this.getBufferView(r.bufferView)),o.bufferView){let s=o.bufferView.buffer,{ArrayType:u,byteLength:l}=$0(o,o.bufferView),c=(o.bufferView.byteOffset||0)+(o.byteOffset||0)+s.byteOffset,f=s.arrayBuffer.slice(c,c+l);o.bufferView.byteStride&&(f=this._getValueFromInterleavedBuffer(s,c,o.bufferView.byteStride,o.bytesPerElement,o.count)),o.value=new u(f)}return o}_getValueFromInterleavedBuffer(r,t,n,i,a){let o=new Uint8Array(a*i);for(let s=0;s<a;s++){let u=t+s*n;o.set(new Uint8Array(r.arrayBuffer.slice(u,u+i)),s*i)}return o.buffer}_resolveTexture(r,t){return qe(oe({},r),{id:r.id||`texture-${t}`,sampler:typeof r.sampler=="number"?this.getSampler(r.sampler):D7r(),source:typeof r.source=="number"?this.getImage(r.source):void 0})}_resolveSampler(r,t){let n=qe(oe({id:r.id||`sampler-${t}`},r),{parameters:{}});for(let i in n){let a=this._enumSamplerParameter(i);a!==void 0&&(n.parameters[a]=n[i])}return n}_enumSamplerParameter(r){return T7r[r]}_resolveImage(r,t){let n=qe(oe({},r),{id:r.id||`image-${t}`,image:null,bufferView:r.bufferView!==void 0?this.getBufferView(r.bufferView):void 0}),i=this.images[t];return i&&(n.image=i),n}_resolveBufferView(r,t){let n=r.buffer,i=this.buffers[n].arrayBuffer,a=this.buffers[n].byteOffset||0;return r.byteOffset&&(a+=r.byteOffset),qe(oe({id:`bufferView-${t}`},r),{buffer:this.buffers[n],data:new Uint8Array(i,a,r.byteLength)})}_resolveCamera(r,t){let n=qe(oe({},r),{id:r.id||`camera-${t}`});return n.perspective,n.orthographic,n}};function aE(e,r){return new DTe().postProcess(e,r)}var wk={URI:0,EMBEDDED:1};function Sk(e,r,t,n){e.rotateYtoZ=!0;let i=(e.byteOffset||0)+(e.byteLength||0)-t;if(i===0)throw new Error("glTF byte length must be greater than 0.");return e.gltfUpAxis=(n==null?void 0:n["3d-tiles"])&&n["3d-tiles"].assetGltfUpAxis?n["3d-tiles"].assetGltfUpAxis:"Y",e.gltfArrayBuffer=F0(r,t,i),e.gltfByteOffset=0,e.gltfByteLength=i,t%4==0||console.warn(`${e.type}: embedded glb is not aligned to a 4-byte boundary.`),(e.byteOffset||0)+(e.byteLength||0)}async function Ak(e,r,t,n){let i=(t==null?void 0:t["3d-tiles"])||{};if(F7r(e,r,t),i.loadGLTF){if(!n)return;if(e.gltfUrl){let{fetch:a}=n,o=await a(e.gltfUrl,t);e.gltfArrayBuffer=await o.arrayBuffer(),e.gltfByteOffset=0}if(e.gltfArrayBuffer){let a=await Ko(e.gltfArrayBuffer,Tf,t,n);e.gltf=aE(a),e.gpuMemoryUsageInBytes=Y2(e.gltf),delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength}}}function F7r(e,r,t){switch(r){case wk.URI:if(e.gltfArrayBuffer){let n=new Uint8Array(e.gltfArrayBuffer,e.gltfByteOffset),a=new TextDecoder().decode(n);e.gltfUrl=a.replace(/[\s\0]+$/,"")}delete e.gltfArrayBuffer,delete e.gltfByteOffset,delete e.gltfByteLength;break;case wk.EMBEDDED:break;default:throw new Error("b3dm: Illegal glTF format field")}}async function OTe(e,r,t,n,i){var o;t=R7r(e,r,t,n,i),await Ak(e,wk.EMBEDDED,n,i);let a=(o=e==null?void 0:e.gltf)==null?void 0:o.extensions;return a&&a.CESIUM_RTC&&(e.rtcCenter=a.CESIUM_RTC.center),t}function R7r(e,r,t,n,i){t=Pp(e,r,t),t=ny(e,r,t),t=iy(e,r,t,n),t=Sk(e,r,t,n);let a=new Ip(e.featureTableJson,e.featureTableBinary);return e.rtcCenter=a.getGlobalProperty("RTC_CENTER",nt.FLOAT,3),t}var is=He($t()),kTe=He(zs());async function FTe(e,r,t,n,i){return t=I7r(e,r,t,n,i),await Ak(e,e.gltfFormat||0,n,i),t}function I7r(e,r,t,n,i){var l;if(t=Pp(e,r,t),e.version!==1)throw new Error(`Instanced 3D Model version ${e.version} is not supported`);t=ny(e,r,t);let a=new DataView(r);if(e.gltfFormat=a.getUint32(t,!0),t+=4,t=iy(e,r,t,n),t=Sk(e,r,t,n),!((l=e==null?void 0:e.header)==null?void 0:l.featureTableJsonByteLength)||e.header.featureTableJsonByteLength===0)throw new Error("i3dm parser: featureTableJsonByteLength is zero.");let o=new Ip(e.featureTableJson,e.featureTableBinary),s=o.getGlobalProperty("INSTANCES_LENGTH");if(o.featuresLength=s,!Number.isFinite(s))throw new Error("i3dm parser: INSTANCES_LENGTH must be defined");e.eastNorthUp=o.getGlobalProperty("EAST_NORTH_UP"),e.rtcCenter=o.getGlobalProperty("RTC_CENTER",nt.FLOAT,3);let u=new ry(e.batchTableJson,e.batchTableBinary,s);return P7r(e,o,u,s),t}function P7r(e,r,t,n){let i=new Array(n),a=new is.Vector3,o=new is.Vector3,s=new is.Vector3,u=new is.Vector3,l=new is.Matrix3,c=new is.Quaternion,f=new is.Vector3,d={},p=new is.Matrix4,h=[],b=[],v=[],y=[];for(let w=0;w<n;w++){let A;if(r.hasProperty("POSITION"))A=r.getProperty("POSITION",nt.FLOAT,3,w,a);else if(r.hasProperty("POSITION_QUANTIZED")){A=r.getProperty("POSITION_QUANTIZED",nt.UNSIGNED_SHORT,3,w,a);let V=r.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",nt.FLOAT,3);if(!V)throw new Error("i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let N=r.getGlobalProperty("QUANTIZED_VOLUME_SCALE",nt.FLOAT,3);if(!N)throw new Error("i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let W=65535;for(let M=0;M<3;M++)A[M]=A[M]/W*N[M]+V[M]}if(!A)throw new Error("i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.");a.copy(A),d.translation=a,e.normalUp=r.getProperty("NORMAL_UP",nt.FLOAT,3,w,h),e.normalRight=r.getProperty("NORMAL_RIGHT",nt.FLOAT,3,w,b);let C=!1;if(e.normalUp){if(!e.normalRight)throw new Error("i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.");e.hasCustomOrientation=!0}else{if(e.octNormalUp=r.getProperty("NORMAL_UP_OCT32P",nt.UNSIGNED_SHORT,2,w,h),e.octNormalRight=r.getProperty("NORMAL_RIGHT_OCT32P",nt.UNSIGNED_SHORT,2,w,b),e.octNormalUp)throw e.octNormalRight?new Error("i3dm: oct-encoded orientation not implemented"):new Error("i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P");e.eastNorthUp?(kTe.Ellipsoid.WGS84.eastNorthUpToFixedFrame(a,p),p.getRotationMatrix3(l)):l.identity()}C&&(u.copy(o).cross(s).normalize(),l.setColumn(0,o),l.setColumn(1,s),l.setColumn(2,u)),c.fromMatrix3(l),d.rotation=c,f.set(1,1,1);let D=r.getProperty("SCALE",nt.FLOAT,1,w,v);Number.isFinite(D)&&f.multiplyByScalar(D);let R=r.getProperty("SCALE_NON_UNIFORM",nt.FLOAT,3,w,h);R&&f.scale(R),d.scale=f;let O=r.getProperty("BATCH_ID",nt.UNSIGNED_SHORT,1,w,y);O===void 0&&(O=w);let L=new is.Matrix4().fromQuaternion(d.rotation);p.identity(),p.translate(d.translation),p.multiplyRight(L),p.scale(d.scale);let P=p.clone();i[w]={modelMatrix:P,batchId:O}}e.instances=i}async function RTe(e,r,t,n,i,a){t=Pp(e,r,t);let o=new DataView(r);for(e.tilesLength=o.getUint32(t,!0),t+=4,e.tiles=[];e.tiles.length<e.tilesLength&&(e.byteLength||0)-t>12;){let s={shape:"tile3d"};e.tiles.push(s),t=await a(r,t,n,i,s)}return t}async function ITe(e,r,t,n){var i,a;if(e.rotateYtoZ=!0,e.gltfUpAxis=((i=t==null?void 0:t["3d-tiles"])==null?void 0:i.assetGltfUpAxis)?t["3d-tiles"].assetGltfUpAxis:"Y",(a=t==null?void 0:t["3d-tiles"])==null?void 0:a.loadGLTF){if(!n)return r.byteLength;let o=await Ko(r,Tf,t,n);e.gltf=aE(o),e.gpuMemoryUsageInBytes=Y2(e.gltf)}else e.gltfArrayBuffer=r;return r.byteLength}async function qG(e,r=0,t,n,i={shape:"tile3d"}){switch(i.byteOffset=r,i.type=JSe(e,r),i.type){case Vs.COMPOSITE:return await RTe(i,e,r,t,n,qG);case Vs.BATCHED_3D_MODEL:return await OTe(i,e,r,t,n);case Vs.GLTF:return await ITe(i,e,t,n);case Vs.INSTANCED_3D_MODEL:return await FTe(i,e,r,t,n);case Vs.POINT_CLOUD:return await yAe(i,e,r,t,n);default:throw new Error(`3DTileLoader: unknown type ${i.type}`)}}var B7r=1952609651,j7r=1;async function NG(e,r,t){if(new Uint32Array(e.slice(0,4))[0]!==B7r)throw new Error("Wrong subtree file magic number");if(new Uint32Array(e.slice(4,8))[0]!==j7r)throw new Error("Wrong subtree file verson, must be 1");let a=PTe(e.slice(8,16)),o=new Uint8Array(e,24,a),u=new TextDecoder("utf8").decode(o),l=JSON.parse(u),c=PTe(e.slice(16,24)),f=new ArrayBuffer(0);if(c&&(f=e.slice(24+a)),await Tk(l,l.tileAvailability,f,t),Array.isArray(l.contentAvailability))for(let d of l.contentAvailability)await Tk(l,d,f,t);else await Tk(l,l.contentAvailability,f,t);return await Tk(l,l.childSubtreeAvailability,f,t),l}async function Tk(e,r,t,n){let i=Number.isFinite(r.bitstream)?r.bitstream:r.bufferView;if(typeof i!="number")return;let a=e.bufferViews[i],o=e.buffers[a.buffer];if(!(n==null?void 0:n.baseUrl))throw new Error("Url is not provided");if(!n.fetch)throw new Error("fetch is not provided");if(o.uri){let s=`${(n==null?void 0:n.baseUrl)||""}/${o.uri}`,l=await(await n.fetch(s)).arrayBuffer();r.explicitBitstream=new Uint8Array(l,a.byteOffset,a.byteLength);return}r.explicitBitstream=new Uint8Array(t,a.byteOffset,a.byteLength)}function PTe(e){let r=new DataView(e),t=r.getUint32(0,!0),n=r.getUint32(4,!0);return t+2**32*n}var Ck={id:"3d-tiles-subtree",name:"3D Tiles Subtree",module:"3d-tiles",version:Qb,extensions:["subtree"],mimeTypes:["application/octet-stream"],tests:["subtree"],parse:NG,options:{}};function UG(e){if(typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&Boolean(process.versions.electron))return!0;let r=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent,t=e||r;return!!(t&&t.indexOf("Electron")>=0)}function Vu(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process.browser)||UG()}var M7r=globalThis.self||globalThis.window||globalThis.global,py=globalThis.window||globalThis.self||globalThis.global,L7r=globalThis.document||{},em=globalThis.process||{},q7r=globalThis.console,YFt=globalThis.navigator||{};var Dk="4.0.0-alpha.26",QFt=Vu();function N7r(e){try{let r=window[e],t="__storage_test__";return r.setItem(t,t),r.removeItem(t),r}catch{return null}}var GG=class{constructor(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"sessionStorage";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=N7r(n),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 BTe(e){let r;return e<10?r="".concat(e.toFixed(2),"ms"):e<100?r="".concat(e.toFixed(1),"ms"):e<1e3?r="".concat(e.toFixed(0),"ms"):r="".concat((e/1e3).toFixed(2),"s"),r}function jTe(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,t=Math.max(r-e.length,0);return"".concat(" ".repeat(t)).concat(e)}function Ok(e,r,t){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>n&&(t=Math.min(t,n/e.width));let a=e.width*t,o=e.height*t,s=["font-size:1px;","padding:".concat(Math.floor(o/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(o,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(o,"px;"),"color:transparent;"].join("");return["".concat(r," %c+"),s]}var kk;(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"})(kk||(kk={}));var U7r=10;function MTe(e){return typeof e!="string"?e:(e=e.toUpperCase(),kk[e]||kk.WHITE)}function LTe(e,r,t){if(!Vu&&typeof e=="string"){if(r){let n=MTe(r);e="[".concat(n,"m").concat(e,"[39m")}if(t){let n=MTe(t);e="[".concat(n+U7r,"m").concat(e,"[49m")}}return e}function qTe(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:["constructor"],t=Object.getPrototypeOf(e),n=Object.getOwnPropertyNames(t),i=e;for(let a of n){let o=i[a];typeof o=="function"&&(r.find(s=>a===s)||(i[a]=o.bind(e)))}}function hy(e,r){if(!e)throw new Error(r||"Assertion failed")}function rm(){let e;if(Vu()&&py.performance){var r,t;e=py===null||py===void 0||(r=py.performance)===null||r===void 0||(t=r.now)===null||t===void 0?void 0:t.call(r)}else if("hrtime"in em){var n;let i=em===null||em===void 0||(n=em.hrtime)===null||n===void 0?void 0:n.call(em);e=i[0]*1e3+i[1]/1e6}else e=Date.now();return e}var my={debug:Vu()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},G7r={enabled:!0,level:0};function Ys(){}var NTe={},UTe={once:!0},Fk=class{constructor(){let{id:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:""};this.id=void 0,this.VERSION=Dk,this._startTs=rm(),this._deltaTs=rm(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=r,this.userData={},this._storage=new GG("__probe-".concat(this.id,"__"),G7r),this.timeStamp("".concat(this.id," started")),qTe(this),Object.seal(this)}set level(r){this.setLevel(r)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((rm()-this._startTs).toPrecision(10))}getDelta(){return Number((rm()-this._deltaTs).toPrecision(10))}set priority(r){this.level=r}get priority(){return this.level}getPriority(){return this.level}enable(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:r}),this}setLevel(r){return this._storage.setConfiguration({level:r}),this}get(r){return this._storage.config[r]}set(r,t){this._storage.setConfiguration({[r]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(r,t){hy(r,t)}warn(r){return this._getLogFunction(0,r,my.warn,arguments,UTe)}error(r){return this._getLogFunction(0,r,my.error,arguments)}deprecated(r,t){return this.warn("`".concat(r,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(r,t){return this.error("`".concat(r,"` has been removed. Use `").concat(t,"` instead"))}probe(r,t){return this._getLogFunction(r,t,my.log,arguments,{time:!0,once:!0})}log(r,t){return this._getLogFunction(r,t,my.debug,arguments)}info(r,t){return this._getLogFunction(r,t,console.info,arguments)}once(r,t){return this._getLogFunction(r,t,my.debug||my.info,arguments,UTe)}table(r,t,n){return t?this._getLogFunction(r,t,console.table||Ys,n&&[n],{tag:V7r(t)}):Ys}image(r){let{logLevel:t,priority:n,image:i,message:a="",scale:o=1}=r;return this._shouldLog(t||n)?Vu()?W7r({image:i,message:a,scale:o}):H7r({image:i,message:a,scale:o}):Ys}time(r,t){return this._getLogFunction(r,t,console.time?console.time:console.info)}timeEnd(r,t){return this._getLogFunction(r,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(r,t){return this._getLogFunction(r,t,console.timeStamp||Ys)}group(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},i=zTe({logLevel:r,message:t,opts:n}),{collapsed:a}=n;return i.method=(a?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(r,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(r,t,Object.assign({},n,{collapsed:!0}))}groupEnd(r){return this._getLogFunction(r,"",console.groupEnd||Ys)}withGroup(r,t,n){this.group(r,t)();try{n()}finally{this.groupEnd(r)()}}trace(){console.trace&&console.trace()}_shouldLog(r){return this.isEnabled()&&this.getLevel()>=GTe(r)}_getLogFunction(r,t,n,i,a){if(this._shouldLog(r)){a=zTe({logLevel:r,message:t,args:i,opts:a}),n=n||a.method,hy(n),a.total=this.getTotal(),a.delta=this.getDelta(),this._deltaTs=rm();let o=a.tag||a.message;if(a.once&&o)if(!NTe[o])NTe[o]=rm();else return Ys;return t=z7r(this.id,a.message,a),n.bind(console,t,...a.args)}return Ys}};Fk.VERSION=Dk;function GTe(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 hy(Number.isFinite(r)&&r>=0),r}function zTe(e){let{logLevel:r,message:t}=e;e.logLevel=GTe(r);let n=e.args?Array.from(e.args):[];for(;n.length&&n.shift()!==t;);switch(typeof r){case"string":case"function":t!==void 0&&n.unshift(t),e.message=r;break;case"object":Object.assign(e,r);break;default:}typeof e.message=="function"&&(e.message=e.message());let i=typeof e.message;return hy(i==="string"||i==="object"),Object.assign(e,{args:n},e.opts)}function z7r(e,r,t){if(typeof r=="string"){let n=t.time?jTe(BTe(t.total)):"";r=t.time?"".concat(e,": ").concat(n," ").concat(r):"".concat(e,": ").concat(r),r=LTe(r,t.color,t.background)}return r}function H7r(e){let{image:r,message:t="",scale:n=1}=e;return console.warn("removed"),Ys}function W7r(e){let{image:r,message:t="",scale:n=1}=e;if(typeof r=="string"){let a=new Image;return a.onload=()=>{let o=Ok(a,t,n);console.log(...o)},a.src=r,Ys}let i=r.nodeName||"";if(i.toLowerCase()==="img")return console.log(...Ok(r,t,n)),Ys;if(i.toLowerCase()==="canvas"){let a=new Image;return a.onload=()=>console.log(...Ok(a,t,n)),a.src=r.toDataURL(),Ys}return Ys}function V7r(e){for(let r in e)for(let t in e[r])return t||"untitled";return"empty"}var zG=new Fk({id:"@probe.gl/log"});var $s=null;try{$s=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Pn(e,r,t){this.low=e|0,this.high=r|0,this.unsigned=!!t}Pn.prototype.__isLong__;Object.defineProperty(Pn.prototype,"__isLong__",{value:!0});function Qa(e){return(e&&e.__isLong__)===!0}function HTe(e){var r=Math.clz32(e&-e);return e?31-r:r}Pn.isLong=Qa;var WTe={},VTe={};function tm(e,r){var t,n,i;return r?(e>>>=0,(i=0<=e&&e<256)&&(n=VTe[e],n)?n:(t=Qt(e,0,!0),i&&(VTe[e]=t),t)):(e|=0,(i=-128<=e&&e<128)&&(n=WTe[e],n)?n:(t=Qt(e,e<0?-1:0,!1),i&&(WTe[e]=t),t))}Pn.fromInt=tm;function Js(e,r){if(isNaN(e))return r?Cf:Xu;if(r){if(e<0)return Cf;if(e>=XTe)return ZTe}else{if(e<=-YTe)return Bo;if(e+1>=YTe)return QTe}return e<0?Js(-e,r).neg():Qt(e%gy|0,e/gy|0,r)}Pn.fromNumber=Js;function Qt(e,r,t){return new Pn(e,r,t)}Pn.fromBits=Qt;var Rk=Math.pow;function HG(e,r,t){if(e.length===0)throw Error("empty string");if(typeof r=="number"?(t=r,r=!1):r=!!r,e==="NaN"||e==="Infinity"||e==="+Infinity"||e==="-Infinity")return r?Cf:Xu;if(t=t||10,t<2||36<t)throw RangeError("radix");var n;if((n=e.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return HG(e.substring(1),r,t).neg();for(var i=Js(Rk(t,8)),a=Xu,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),u=parseInt(e.substring(o,o+s),t);if(s<8){var l=Js(Rk(t,s));a=a.mul(l).add(Js(u))}else a=a.mul(i),a=a.add(Js(u))}return a.unsigned=r,a}Pn.fromString=HG;function Ku(e,r){return typeof e=="number"?Js(e,r):typeof e=="string"?HG(e,r):Qt(e.low,e.high,typeof r=="boolean"?r:e.unsigned)}Pn.fromValue=Ku;var KTe=1<<16,K7r=1<<24,gy=KTe*KTe,XTe=gy*gy,YTe=XTe/2,$Te=tm(K7r),Xu=tm(0);Pn.ZERO=Xu;var Cf=tm(0,!0);Pn.UZERO=Cf;var vy=tm(1);Pn.ONE=vy;var JTe=tm(1,!0);Pn.UONE=JTe;var WG=tm(-1);Pn.NEG_ONE=WG;var QTe=Qt(4294967295|0,2147483647|0,!1);Pn.MAX_VALUE=QTe;var ZTe=Qt(4294967295|0,4294967295|0,!0);Pn.MAX_UNSIGNED_VALUE=ZTe;var Bo=Qt(0,2147483648|0,!1);Pn.MIN_VALUE=Bo;var Ve=Pn.prototype;Ve.toInt=function(){return this.unsigned?this.low>>>0:this.low};Ve.toNumber=function(){return this.unsigned?(this.high>>>0)*gy+(this.low>>>0):this.high*gy+(this.low>>>0)};Ve.toString=function(r){if(r=r||10,r<2||36<r)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Bo)){var t=Js(r),n=this.div(t),i=n.mul(t).sub(this);return n.toString(r)+i.toInt().toString(r)}else return"-"+this.neg().toString(r);for(var a=Js(Rk(r,6),this.unsigned),o=this,s="";;){var u=o.div(a),l=o.sub(u.mul(a)).toInt()>>>0,c=l.toString(r);if(o=u,o.isZero())return c+s;for(;c.length<6;)c="0"+c;s=""+c+s}};Ve.getHighBits=function(){return this.high};Ve.getHighBitsUnsigned=function(){return this.high>>>0};Ve.getLowBits=function(){return this.low};Ve.getLowBitsUnsigned=function(){return this.low>>>0};Ve.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Bo)?64:this.neg().getNumBitsAbs();for(var r=this.high!=0?this.high:this.low,t=31;t>0&&(r&1<<t)==0;t--);return this.high!=0?t+33:t+1};Ve.isZero=function(){return this.high===0&&this.low===0};Ve.eqz=Ve.isZero;Ve.isNegative=function(){return!this.unsigned&&this.high<0};Ve.isPositive=function(){return this.unsigned||this.high>=0};Ve.isOdd=function(){return(this.low&1)==1};Ve.isEven=function(){return(this.low&1)==0};Ve.equals=function(r){return Qa(r)||(r=Ku(r)),this.unsigned!==r.unsigned&&this.high>>>31==1&&r.high>>>31==1?!1:this.high===r.high&&this.low===r.low};Ve.eq=Ve.equals;Ve.notEquals=function(r){return!this.eq(r)};Ve.neq=Ve.notEquals;Ve.ne=Ve.notEquals;Ve.lessThan=function(r){return this.comp(r)<0};Ve.lt=Ve.lessThan;Ve.lessThanOrEqual=function(r){return this.comp(r)<=0};Ve.lte=Ve.lessThanOrEqual;Ve.le=Ve.lessThanOrEqual;Ve.greaterThan=function(r){return this.comp(r)>0};Ve.gt=Ve.greaterThan;Ve.greaterThanOrEqual=function(r){return this.comp(r)>=0};Ve.gte=Ve.greaterThanOrEqual;Ve.ge=Ve.greaterThanOrEqual;Ve.compare=function(r){if(Qa(r)||(r=Ku(r)),this.eq(r))return 0;var t=this.isNegative(),n=r.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?r.high>>>0>this.high>>>0||r.high===this.high&&r.low>>>0>this.low>>>0?-1:1:this.sub(r).isNegative()?-1:1};Ve.comp=Ve.compare;Ve.negate=function(){return!this.unsigned&&this.eq(Bo)?Bo:this.not().add(vy)};Ve.neg=Ve.negate;Ve.add=function(r){Qa(r)||(r=Ku(r));var t=this.high>>>16,n=this.high&65535,i=this.low>>>16,a=this.low&65535,o=r.high>>>16,s=r.high&65535,u=r.low>>>16,l=r.low&65535,c=0,f=0,d=0,p=0;return p+=a+l,d+=p>>>16,p&=65535,d+=i+u,f+=d>>>16,d&=65535,f+=n+s,c+=f>>>16,f&=65535,c+=t+o,c&=65535,Qt(d<<16|p,c<<16|f,this.unsigned)};Ve.subtract=function(r){return Qa(r)||(r=Ku(r)),this.add(r.neg())};Ve.sub=Ve.subtract;Ve.multiply=function(r){if(this.isZero())return this;if(Qa(r)||(r=Ku(r)),$s){var t=$s.mul(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}if(r.isZero())return this.unsigned?Cf:Xu;if(this.eq(Bo))return r.isOdd()?Bo:Xu;if(r.eq(Bo))return this.isOdd()?Bo:Xu;if(this.isNegative())return r.isNegative()?this.neg().mul(r.neg()):this.neg().mul(r).neg();if(r.isNegative())return this.mul(r.neg()).neg();if(this.lt($Te)&&r.lt($Te))return Js(this.toNumber()*r.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,a=this.low>>>16,o=this.low&65535,s=r.high>>>16,u=r.high&65535,l=r.low>>>16,c=r.low&65535,f=0,d=0,p=0,h=0;return h+=o*c,p+=h>>>16,h&=65535,p+=a*c,d+=p>>>16,p&=65535,p+=o*l,d+=p>>>16,p&=65535,d+=i*c,f+=d>>>16,d&=65535,d+=a*l,f+=d>>>16,d&=65535,d+=o*u,f+=d>>>16,d&=65535,f+=n*c+i*l+a*u+o*s,f&=65535,Qt(p<<16|h,f<<16|d,this.unsigned)};Ve.mul=Ve.multiply;Ve.divide=function(r){if(Qa(r)||(r=Ku(r)),r.isZero())throw Error("division by zero");if($s){if(!this.unsigned&&this.high===-2147483648&&r.low===-1&&r.high===-1)return this;var t=(this.unsigned?$s.div_u:$s.div_s)(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Cf:Xu;var n,i,a;if(this.unsigned){if(r.unsigned||(r=r.toUnsigned()),r.gt(this))return Cf;if(r.gt(this.shru(1)))return JTe;a=Cf}else{if(this.eq(Bo)){if(r.eq(vy)||r.eq(WG))return Bo;if(r.eq(Bo))return vy;var o=this.shr(1);return n=o.div(r).shl(1),n.eq(Xu)?r.isNegative()?vy:WG:(i=this.sub(r.mul(n)),a=n.add(i.div(r)),a)}else if(r.eq(Bo))return this.unsigned?Cf:Xu;if(this.isNegative())return r.isNegative()?this.neg().div(r.neg()):this.neg().div(r).neg();if(r.isNegative())return this.div(r.neg()).neg();a=Xu}for(i=this;i.gte(r);){n=Math.max(1,Math.floor(i.toNumber()/r.toNumber()));for(var s=Math.ceil(Math.log(n)/Math.LN2),u=s<=48?1:Rk(2,s-48),l=Js(n),c=l.mul(r);c.isNegative()||c.gt(i);)n-=u,l=Js(n,this.unsigned),c=l.mul(r);l.isZero()&&(l=vy),a=a.add(l),i=i.sub(c)}return a};Ve.div=Ve.divide;Ve.modulo=function(r){if(Qa(r)||(r=Ku(r)),$s){var t=(this.unsigned?$s.rem_u:$s.rem_s)(this.low,this.high,r.low,r.high);return Qt(t,$s.get_high(),this.unsigned)}return this.sub(this.div(r).mul(r))};Ve.mod=Ve.modulo;Ve.rem=Ve.modulo;Ve.not=function(){return Qt(~this.low,~this.high,this.unsigned)};Ve.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Ve.clz=Ve.countLeadingZeros;Ve.countTrailingZeros=function(){return this.low?HTe(this.low):HTe(this.high)+32};Ve.ctz=Ve.countTrailingZeros;Ve.and=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low&r.low,this.high&r.high,this.unsigned)};Ve.or=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low|r.low,this.high|r.high,this.unsigned)};Ve.xor=function(r){return Qa(r)||(r=Ku(r)),Qt(this.low^r.low,this.high^r.high,this.unsigned)};Ve.shiftLeft=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low<<r,this.high<<r|this.low>>>32-r,this.unsigned):Qt(0,this.low<<r-32,this.unsigned)};Ve.shl=Ve.shiftLeft;Ve.shiftRight=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low>>>r|this.high<<32-r,this.high>>r,this.unsigned):Qt(this.high>>r-32,this.high>=0?0:-1,this.unsigned)};Ve.shr=Ve.shiftRight;Ve.shiftRightUnsigned=function(r){return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r<32?Qt(this.low>>>r|this.high<<32-r,this.high>>>r,this.unsigned):r===32?Qt(this.high,0,this.unsigned):Qt(this.high>>>r-32,0,this.unsigned)};Ve.shru=Ve.shiftRightUnsigned;Ve.shr_u=Ve.shiftRightUnsigned;Ve.rotateLeft=function(r){var t;return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r===32?Qt(this.high,this.low,this.unsigned):r<32?(t=32-r,Qt(this.low<<r|this.high>>>t,this.high<<r|this.low>>>t,this.unsigned)):(r-=32,t=32-r,Qt(this.high<<r|this.low>>>t,this.low<<r|this.high>>>t,this.unsigned))};Ve.rotl=Ve.rotateLeft;Ve.rotateRight=function(r){var t;return Qa(r)&&(r=r.toInt()),(r&=63)==0?this:r===32?Qt(this.high,this.low,this.unsigned):r<32?(t=32-r,Qt(this.high<<t|this.low>>>r,this.low<<t|this.high>>>r,this.unsigned)):(r-=32,t=32-r,Qt(this.low<<t|this.high>>>r,this.high<<t|this.low>>>r,this.unsigned))};Ve.rotr=Ve.rotateRight;Ve.toSigned=function(){return this.unsigned?Qt(this.low,this.high,!1):this};Ve.toUnsigned=function(){return this.unsigned?this:Qt(this.low,this.high,!0)};Ve.toBytes=function(r){return r?this.toBytesLE():this.toBytesBE()};Ve.toBytesLE=function(){var r=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,r&255,r>>>8&255,r>>>16&255,r>>>24]};Ve.toBytesBE=function(){var r=this.high,t=this.low;return[r>>>24,r>>>16&255,r>>>8&255,r&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Pn.fromBytes=function(r,t,n){return n?Pn.fromBytesLE(r,t):Pn.fromBytesBE(r,t)};Pn.fromBytesLE=function(r,t){return new Pn(r[0]|r[1]<<8|r[2]<<16|r[3]<<24,r[4]|r[5]<<8|r[6]<<16|r[7]<<24,t)};Pn.fromBytesBE=function(r,t){return new Pn(r[4]<<24|r[5]<<16|r[6]<<8|r[7],r[0]<<24|r[1]<<16|r[2]<<8|r[3],t)};var by=Pn;var X7r=16;function oE(e){e==="X"&&(e="");let r=e.padEnd(X7r,"0");return by.fromString(r,!0,16)}function VG(e){if(e.isZero())return"X";let r=e.countTrailingZeros(),t=r%4;r=(r-t)/4;let n=r;r*=4;let a=e.shiftRightUnsigned(r).toString(16).replace(/0+$/,"");return Array(17-n-a.length).join("0")+a}function KG(e,r){let t=Y7r(e).shiftRightUnsigned(2);return e.add(by.fromNumber(2*r+1-4).multiply(t))}function Y7r(e){return e.and(e.not().add(1))}var $7r=3,J7r=30,Q7r=2*J7r+1,e3e=180/Math.PI;function r3e(e){if(e.length===0)throw new Error(`Invalid Hilbert quad key ${e}`);let r=e.split("/"),t=parseInt(r[0],10),n=r[1],i=n.length,a=0,o=[0,0];for(let s=i-1;s>=0;s--){a=i-s;let u=n[s],l=0,c=0;u==="1"?c=1:u==="2"?(l=1,c=1):u==="3"&&(l=1);let f=Math.pow(2,a-1);Z7r(f,o,l,c),o[0]+=f*l,o[1]+=f*c}if(t%2==1){let s=o[0];o[0]=o[1],o[1]=s}return{face:t,ij:o,level:a}}function t3e(e){if(e.isZero())return"";let r=e.toString(2);for(;r.length<$7r+Q7r;)r="0"+r;let t=r.lastIndexOf("1"),n=r.substring(0,3),i=r.substring(3,t),a=i.length/2,o=by.fromString(n,!0,2).toString(10),s="";if(a!==0)for(s=by.fromString(i,!0,2).toString(4);s.length<a;)s="0"+s;return`${o}/${s}`}function XG(e,r,t){let n=1<<r;return[(e[0]+t[0])/n,(e[1]+t[1])/n]}function n3e(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function YG(e){return[n3e(e[0]),n3e(e[1])]}function $G(e,[r,t]){switch(e){case 0:return[1,r,t];case 1:return[-r,1,t];case 2:return[-r,-t,1];case 3:return[-1,-t,-r];case 4:return[t,-1,-r];case 5:return[t,r,-1];default:throw new Error("Invalid face")}}function JG([e,r,t]){let n=Math.atan2(t,Math.sqrt(e*e+r*r));return[Math.atan2(r,e)*e3e,n*e3e]}function Z7r(e,r,t,n){if(n===0){t===1&&(r[0]=e-1-r[0],r[1]=e-1-r[1]);let i=r[0];r[0]=r[1],r[1]=i}}function i3e(e){let r=XG(e.ij,e.level,[.5,.5]),t=YG(r),n=$G(e.face,t);return JG(n)}var eNr=100;function QG(e){let{face:r,ij:t,level:n}=e,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],a=Math.max(1,Math.ceil(eNr*Math.pow(2,-n))),o=new Float64Array(4*a*2+2),s=0,u=0;for(let l=0;l<4;l++){let c=i[l].slice(0),f=i[l+1],d=(f[0]-c[0])/a,p=(f[1]-c[1])/a;for(let h=0;h<a;h++){c[0]+=d,c[1]+=p;let b=XG(t,n,c),v=YG(b),y=$G(r,v),w=JG(y);Math.abs(w[1])>89.999&&(w[0]=u);let A=w[0]-u;w[0]+=A>180?-360:A<-180?360:0,o[s++]=w[0],o[s++]=w[1],u=w[0]}}return o[s++]=o[0],o[s++]=o[1],o}function yy(e){let r=rNr(e);return r3e(r)}function rNr(e){if(e.indexOf("/")>0)return e;let r=oE(e);return t3e(r)}function ZG(e){let r=yy(e);return i3e(r)}function a3e(e){let r;if(e.face===2||e.face===5){let t=null,n=0;for(let i=0;i<4;i++){let a=`${e.face}/${i}`,o=yy(a),s=QG(o);(typeof t=="undefined"||t===null)&&(t=new Float64Array(4*s.length)),t.set(s,n),n+=s.length}r=o3e(t)}else{let t=QG(e);r=o3e(t)}return r}function o3e(e){if(e.length%2!=0)throw new Error("Invalid corners");let r=[],t=[];for(let n=0;n<e.length;n+=2)r.push(e[n]),t.push(e[n+1]);return r.sort((n,i)=>n-i),t.sort((n,i)=>n-i),{west:r[0],east:r[r.length-1],north:t[t.length-1],south:t[0]}}var Df=He($t());function ez(e,r){let t=(r==null?void 0:r.minimumHeight)||0,n=(r==null?void 0:r.maximumHeight)||0,i=yy(e),a=a3e(i),o=a.west,s=a.south,u=a.east,l=a.north,c=[];return c.push(new Df.Vector3(o,l,t)),c.push(new Df.Vector3(u,l,t)),c.push(new Df.Vector3(u,s,t)),c.push(new Df.Vector3(o,s,t)),c.push(new Df.Vector3(o,l,n)),c.push(new Df.Vector3(u,l,n)),c.push(new Df.Vector3(u,s,n)),c.push(new Df.Vector3(o,s,n)),c}var s3e=He($t()),u3e=He(K0());var l3e=He(zs());function Ik(e){let r=e.token,t={minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight},n=ez(r,t),i=ZG(r),a=i[0],o=i[1],s=l3e.Ellipsoid.WGS84.cartographicToCartesian([a,o,t.maximumHeight]),u=new s3e.Vector3(s[0],s[1],s[2]);n.push(u);let l=(0,u3e.makeOrientedBoundingBoxFromPoints)(n);return[...l.center,...l.halfAxes]}var tNr=4,nNr=8,iNr={QUADTREE:tNr,OCTREE:nNr};function aNr(e,r,t){if(e==null?void 0:e.box){let n=oE(e.s2VolumeInfo.token),i=KG(n,r),a=VG(i),o=oe({},e.s2VolumeInfo);switch(o.token=a,t){case"OCTREE":let l=e.s2VolumeInfo,c=l.maximumHeight-l.minimumHeight,f=c/2,d=l.minimumHeight+c/2;l.minimumHeight=d-f,l.maximumHeight=d+f;break;default:break}return{box:Ik(o),s2VolumeInfo:o}}}async function rz(e){let{implicitOptions:r,parentData:t={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,globalData:i={level:0,mortonIndex:0,x:0,y:0,z:0},s2VolumeBox:a,loaderOptions:o}=e,{subtree:s,level:u=0}=e,{subdivisionScheme:l,subtreeLevels:c,maximumLevel:f,contentUrlTemplate:d,subtreesUriTemplate:p,basePath:h}=r,b={children:[],lodMetricValue:0,contentUrl:""};if(!f)return zG.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${d} won't be loaded...`),b;let v=u+i.level;if(v>f)return b;let y=iNr[l],w=Math.log2(y),A=n&1,C=n>>1&1,D=n>>2&1,R=(y**u-1)/(y-1),O=nm(t.mortonIndex,n,w),L=R+O,P=nm(t.x,A,1),V=nm(t.y,C,1),N=nm(t.z,D,1),W=!1;u>=c&&(W=tz(s.childSubtreeAvailability,O));let M=nm(i.x,P,u*w),H=nm(i.y,V,u*w),$=nm(i.z,N,u*w);if(W){let me=`${h}/${p}`,Me=Pk(me,v,M,H,$);s=await yn(Me,Ck,o),i.mortonIndex=O,i.x=P,i.y=V,i.z=N,i.level=u,O=0,L=0,P=0,V=0,N=0,u=0}if(!tz(s.tileAvailability,L))return b;tz(s.contentAvailability,L)&&(b.contentUrl=Pk(d,v,M,H,$));let se=u+1,ce={mortonIndex:O,x:P,y:V,z:N};for(let me=0;me<y;me++){let Me=aNr(a,me,l),Ie=await rz({subtree:s,implicitOptions:r,loaderOptions:o,parentData:ce,childIndex:me,level:se,globalData:oe({},i),s2VolumeBox:Me});if(Ie.contentUrl||Ie.children.length){let Ge=v+1,De=oNr(Ie,Ge,{childTileX:P,childTileY:V,childTileZ:N},r,a);b.children.push(De)}}return b}function tz(e,r){let t;return Array.isArray(e)?(t=e[0],e.length>1&&zG.once('Not supported extension "3DTILES_multiple_contents" has been detected')):t=e,"constant"in t?Boolean(t.constant):t.explicitBitstream?lNr(r,t.explicitBitstream):!1}function oNr(e,r,t,n,i){let{basePath:a,refine:o,getRefine:s,lodMetricType:u,getTileType:l,rootLodMetricValue:c,rootBoundingVolume:f}=n,d=e.contentUrl&&e.contentUrl.replace(`${a}/`,""),p=c/2**r,h=(i==null?void 0:i.box)?{box:i.box}:f,b=sNr(r,h,t);return{children:e.children,contentUrl:e.contentUrl,content:{uri:d},id:e.contentUrl,refine:s(o),type:l(e),lodMetricType:u,lodMetricValue:p,geometricError:p,transform:e.transform,boundingVolume:b}}function sNr(e,r,t){if(r.region){let{childTileX:n,childTileY:i,childTileZ:a}=t,[o,s,u,l,c,f]=r.region,d=2**e,p=(u-o)/d,h=(l-s)/d,b=(f-c)/d,[v,y]=[o+p*n,o+p*(n+1)],[w,A]=[s+h*i,s+h*(i+1)],[C,D]=[c+b*a,c+b*(a+1)];return{region:[v,w,y,A,C,D]}}if(r.box)return r;throw new Error(`Unsupported bounding volume type ${r}`)}function nm(e,r,t){return(e<<t)+r}function Pk(e,r,t,n,i){let a=uNr({level:r,x:t,y:n,z:i});return e.replace(/{level}|{x}|{y}|{z}/gi,o=>a[o])}function uNr(e){let r={};for(let t in e)r[`{${t}}`]=e[t];return r}function lNr(e,r){let t=Math.floor(e/8),n=e%8;return(r[t]>>n&1)===1}function nz(e,r=""){if(!r)return ic.EMPTY;let n=r.split("?")[0].split(".").pop();switch(n){case"pnts":return ic.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return ic.SCENEGRAPH;default:return n||ic.EMPTY}}function iz(e){switch(e){case"REPLACE":case"replace":return kp.REPLACE;case"ADD":case"add":return kp.ADD;default:return e}}function az(e="",r){if(/^[a-z][0-9a-z+.-]*:/i.test(r)){let n=new URL(e,`${r}/`);return decodeURI(n.toString())}else if(e.startsWith("/"))return e;return qu.resolve(r,e)}function c3e(e,r){var i;if(!e)return null;let t;if(e.content){let a=e.content.uri||((i=e.content)==null?void 0:i.url);t=az(a,r)}return qe(oe({},e),{id:t,contentUrl:t,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:nz(e,t),refine:iz(e.refine)})}async function f3e(e,r,t){let n=null,i=p3e(e.root);i&&e.root?n=await d3e(e.root,e,r,i,t):n=c3e(e.root,r);let a=[];for(a.push(n);a.length>0;){let o=a.pop()||{},s=o.children||[],u=[];for(let l of s){let c=p3e(l),f;c?f=await d3e(l,e,r,c,t):f=c3e(l,r),f&&(u.push(f),a.push(f))}o.children=u}return n}async function d3e(e,r,t,n,i){var A,C,D;let{subdivisionScheme:a,maximumLevel:o,availableLevels:s,subtreeLevels:u,subtrees:{uri:l}}=n,c=Pk(l,0,0,0,0),f=az(c,t),d=await yn(f,Ck,i),p=az((A=e.content)==null?void 0:A.uri,t),h=(C=r==null?void 0:r.root)==null?void 0:C.refine,b=e.geometricError,v=(D=e.boundingVolume.extensions)==null?void 0:D["3DTILES_bounding_volume_S2"];if(v){let O={box:Ik(v),s2VolumeInfo:v};e.boundingVolume=O}let y=e.boundingVolume,w={contentUrlTemplate:p,subtreesUriTemplate:l,subdivisionScheme:a,subtreeLevels:u,maximumLevel:Number.isFinite(s)?s-1:o,refine:h,basePath:t,lodMetricType:Sf.GEOMETRIC_ERROR,rootLodMetricValue:b,rootBoundingVolume:y,getTileType:nz,getRefine:iz};return await cNr(e,t,d,w,i)}async function cNr(e,r,t,n,i){if(!e)return null;let{children:a,contentUrl:o}=await rz({subtree:t,implicitOptions:n,loaderOptions:i}),s,u=null;return o&&(s=o,u={uri:o.replace(`${r}/`,"")}),qe(oe({},e),{id:s,contentUrl:s,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:e.geometricError,transformMatrix:e.transform,type:nz(e,s),refine:iz(e.refine),content:u||e.content,children:a})}function p3e(e){var r;return((r=e==null?void 0:e.extensions)==null?void 0:r["3DTILES_implicit_tiling"])||(e==null?void 0:e.implicitTiling)}var Of={id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:Qb,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:fNr,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function fNr(e,r={},t){let n=r["3d-tiles"]||{},i;return n.isTileset==="auto"?i=(t==null?void 0:t.url)&&t.url.indexOf(".json")!==-1:i=n.isTileset,i?dNr(e,r,t):pNr(e,r,t)}async function dNr(e,r,t){var u;let n=JSON.parse(new TextDecoder().decode(e)),i=(t==null?void 0:t.url)||"",a=hNr(i),o=await f3e(n,a,r||{});return qe(oe({},n),{shape:"tileset3d",loader:Of,url:i,queryString:(t==null?void 0:t.queryString)||"",basePath:a,root:o||n.root,type:X0.TILES3D,lodMetricType:Sf.GEOMETRIC_ERROR,lodMetricValue:((u=n.root)==null?void 0:u.geometricError)||0})}async function pNr(e,r,t){let n={content:{shape:"tile3d",featureIds:null}};return await qG(e,0,r,t,n.content),n.content}function hNr(e){return qu.dirname(e)}var h3e="https://api.cesium.com/v1/assets";async function m3e(e,r){if(!r){let a=await mNr(e);for(let o of a.items)o.type==="3DTILES"&&(r=o.id)}let t=await gNr(e,r),{type:n,url:i}=t;return Qr(n==="3DTILES"&&i),t.headers={Authorization:`Bearer ${t.accessToken}`},t}async function mNr(e){Qr(e);let r=h3e,t={Authorization:`Bearer ${e}`},n=await Jo(r,{headers:t});if(!n.ok)throw new Error(n.statusText);return await n.json()}async function gNr(e,r){Qr(e,r);let t={Authorization:`Bearer ${e}`},n=`${h3e}/${r}`,i=await Jo(`${n}`,{headers:t});if(!i.ok)throw new Error(i.statusText);let a=await i.json();if(i=await Jo(`${n}/endpoint`,{headers:t}),!i.ok)throw new Error(i.statusText);let o=await i.json();return a=oe(oe({},a),o),a}async function vNr(e,r={}){r=r["cesium-ion"]||{};let{accessToken:t}=r,n=r.assetId;if(!Number.isFinite(n)){let i=e.match(/\/([0-9]+)\/tileset.json/);n=i&&i[1]}return m3e(t,n)}var Bk=qe(oe({},Of),{id:"cesium-ion",name:"Cesium Ion",preload:vNr,parse:async(e,r,t)=>(r=oe({},r),r["3d-tiles"]=r["cesium-ion"],r.loader=Bk,Of.parse(e,r,t)),options:{"cesium-ion":qe(oe({},Of.options["3d-tiles"]),{accessToken:null})}});var wDe=He(VH()),MHr="4.0.0-alpha.26",KH={id:"zip",module:"zip",name:"Zip Archive",version:MHr,extensions:["zip"],mimeTypes:["application/zip"],category:"archive",tests:["PK"],options:{},parse:LHr};async function LHr(e,r={}){let t=[],n={};try{let i=new wDe.default;return(await i.loadAsync(e,r)).forEach((o,s)=>{let u=s.name,l=qHr(i,u,r).then(c=>{n[o]=c});t.push(l)}),await Promise.all(t),n}catch(i){throw r.log.error(`Unable to read zip archive: ${i}`),i}}async function qHr(e,r,t={}){try{return await e.file(r).async(t.dataType||"arraybuffer")}catch(n){return t.log.error(`Unable to read ${r} from zip archive: ${n}`),n}}var zE=async(e,r)=>{let t=[await e.getUint8(e.length-1n),await e.getUint8(e.length-2n),await e.getUint8(e.length-3n),void 0],n=0n;for(let i=e.length-4n;i>-1;i--)if(t[3]=t[2],t[2]=t[1],t[1]=t[0],t[0]=await e.getUint8(i),t.every((a,o)=>a===r[o])){n=i;break}return n};var NHr=[80,75,5,6],UHr=Buffer.from([80,75,6,7]),GHr=Buffer.from([80,75,6,6]),zHr=8n,HHr=16n,WHr=8n,VHr=24n,KHr=48n,SDe=async e=>{let r=await zE(e,NHr),t=BigInt(await e.getUint16(r+zHr)),n=BigInt(await e.getUint32(r+HHr));if(n===BigInt(4294967295)||t===BigInt(4294967295)){let i=r-20n;if(Buffer.from(await e.slice(i,i+4n)).compare(UHr)!==0)throw new Error("zip64 EoCD locator not found");let a=await e.getBigUint64(i+WHr);if(Buffer.from(await e.slice(a,a+4n)).compare(GHr)!==0)throw new Error("zip64 EoCD not found");t=await e.getBigUint64(a+VHr),n=await e.getBigUint64(a+KHr)}return{cdRecordsNumber:t,cdStartOffset:n}};var XHr=20n,YHr=24n,$Hr=28n,JHr=30n,QHr=42n,XH=46n,TF=[80,75,1,2],HE=async(e,r)=>{if(Buffer.from(await r.slice(e,e+4n)).compare(Buffer.from(TF))!==0)return null;let t=BigInt(await r.getUint32(e+XHr)),n=BigInt(await r.getUint32(e+YHr)),i=await r.getUint16(e+JHr),a=await r.getUint16(e+$Hr),o=new TextDecoder().decode(await r.slice(e+XH,e+XH+BigInt(a))),s=e+XH+BigInt(a),u=await r.getUint32(e+QHr),l=BigInt(u),c=4n;return n===BigInt(4294967295)&&(n=await r.getBigUint64(s+c),c+=8n),t===BigInt(4294967295)&&(t=await r.getBigUint64(s+c),c+=8n),l===BigInt(4294967295)&&(l=await r.getBigUint64(s+c)),{compressedSize:t,uncompressedSize:n,extraFieldLength:i,fileNameLength:a,fileName:o,extraOffset:s,localHeaderOffset:l}};async function*CF(e){let{cdStartOffset:r}=await SDe(e),t=await HE(r,e);for(;t;)yield t,t=await HE(t.extraOffset+BigInt(t.extraFieldLength),e)}var ZHr=8n,eWr=18n,rWr=22n,tWr=26n,nWr=28n,DF=30n,ADe=Buffer.from([80,75,3,4]),bm=async(e,r)=>{if(Buffer.from(await r.slice(e,e+4n)).compare(ADe)!==0)return null;let t=await r.getUint16(e+tWr),n=new TextDecoder().decode(await r.slice(e+DF,e+DF+BigInt(t))).split("\\").join("/"),i=await r.getUint16(e+nWr),a=e+DF+BigInt(t+i),o=await r.getUint16(e+ZHr),s=BigInt(await r.getUint32(e+eWr)),u=BigInt(await r.getUint32(e+rWr)),l=e+DF+BigInt(t),c=4n;return u===BigInt(4294967295)&&(u=await r.getBigUint64(l+c),c+=8n),s===BigInt(4294967295)&&(s=await r.getBigUint64(l+c),c+=8n),a===BigInt(4294967295)&&(a=await r.getBigUint64(l+c)),{fileNameLength:t,fileName:n,extraFieldLength:i,fileDataOffset:a,compressedSize:s,compressionMethod:o}};var iWr=He(WE());var ODe=(e,r)=>{let t=new BigUint64Array(e.buffer,e.byteOffset,2),n=new BigUint64Array(r.buffer,r.byteOffset,2),i=t[0]===n[0]?t[1]-n[1]:t[0]-n[0];return i<0n?-1:i===0n?0:1},QH=e=>{let r=Buffer.from(e),t=[];for(let n=0;n<r.buffer.byteLength;n=n+24){let i=new DataView(r.buffer.slice(r.byteOffset+n+16,r.byteOffset+n+24)),a=i.getBigUint64(i.byteOffset,!0);t.push({hash:Buffer.from(r.subarray(r.byteOffset+n,r.byteOffset+n+16)),offset:a})}return t},ZH=(e,r)=>{let t=0,n=r.length;for(;n-t>1;){let i=t+Math.floor((n-t)/2),a=ODe(r[i].hash,e);if(a===0)return r[i];a<0?t=i:n=i}};var VE=class{constructor(r){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(){}async compress(r){return await this.preload(),this.compressSync(r)}async decompress(r,t){return await this.preload(),this.decompressSync(r,t)}compressSync(r){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(r,t){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(r){let t=await this.concatenate(r);yield this.compress(t)}async*decompressBatches(r){let t=await this.concatenate(r);yield this.decompress(t)}concatenate(r){return c2(r)}improveError(r){return r.message.includes(this.name)||(r.message=`${this.name} ${r.message}`),r}};var OF=class extends VE{constructor(r){super(r);this.name="uncompressed";this.extensions=[];this.contentEncodings=[];this.isSupported=!0;this.options=r||{}}compressSync(r){return r}decompressSync(r){return r}async*compressBatches(r){return yield*r}async*decompressBatches(r){return yield*r}};var ym=He(IH()),Nf=He(require("zlib"));var Wy=class extends VE{constructor(r={}){super(r);this.name="deflate";this.extensions=[];this.contentEncodings=["deflate"];this.isSupported=!0;this._chunks=[];this.options=r}async compress(r){var t,n;if(!En&&((t=this.options.deflate)==null?void 0:t.useZlib)){let i=((n=this.options.deflate)==null?void 0:n.gzip)?await Ab(Nf.default.gzip)(r):await Ab(Nf.default.deflate)(r);return ff(i)}return this.compressSync(r)}async decompress(r){var t,n;if(!En&&((t=this.options.deflate)==null?void 0:t.useZlib)){let i=((n=this.options.deflate)==null?void 0:n.gzip)?await Ab(Nf.default.gunzip)(r):await Ab(Nf.default.inflate)(r);return ff(i)}return this.decompressSync(r)}compressSync(r){var a,o,s,u;if(!En&&((a=this.options.deflate)==null?void 0:a.useZlib)){let l=((o=this.options.deflate)==null?void 0:o.gzip)?Nf.default.gzipSync(r):Nf.default.deflateSync(r);return ff(l)}let t=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(r);return(((u=this.options)==null?void 0:u.raw)?ym.default.deflateRaw:ym.default.deflate)(n,t).buffer}decompressSync(r){var a,o,s,u;if(!En&&((a=this.options.deflate)==null?void 0:a.useZlib)){let l=((o=this.options.deflate)==null?void 0:o.gzip)?Nf.default.gunzipSync(r):Nf.default.inflateSync(r);return ff(l)}let t=((s=this.options)==null?void 0:s.deflate)||{},n=new Uint8Array(r);return(((u=this.options)==null?void 0:u.raw)?ym.default.inflateRaw:ym.default.inflate)(n,t).buffer}async*compressBatches(r){var i;let t=((i=this.options)==null?void 0:i.deflate)||{},n=new ym.default.Deflate(t);yield*this.transformBatches(n,r)}async*decompressBatches(r){var i;let t=((i=this.options)==null?void 0:i.deflate)||{},n=new ym.default.Inflate(t);yield*this.transformBatches(n,r)}async*transformBatches(r,t){r.onData=this._onData.bind(this),r.onEnd=this._onEnd.bind(this);for await(let o of t){let s=new Uint8Array(o);if(!r.push(s,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}let n=new Uint8Array(0),i=r.push(n,!0);yield*this._getChunks()}_onData(r){this._chunks.push(r)}_onEnd(r){if(r!==0)throw new Error(this._getError(r)+this._chunks.length)}_getChunks(){let r=this._chunks;return this._chunks=[],r}_getError(r=0){let t={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${t[r]}`}};var aWr={0:async e=>e,8:async e=>await new Wy({raw:!0}).decompress(e)},kF=class{constructor(r){this.fileProvider=Promise.resolve(null);if(typeof r=="string")if(this.fileName=r,!En)this.fileProvider=Tb.from(r);else throw new Error("Cannot open file for random access in a WEB browser");else wN(r)&&(this.fileProvider=Promise.resolve(r))}async destroy(){let r=await this.fileProvider;r&&await r.destroy()}async readdir(){let r=await this.fileProvider;if(!r)throw new Error("No data detected in the zip archive");let t=[],n=CF(r);for await(let i of n)t.push(i.fileName);return t}async stat(r){let t=await this.getCDFileHeader(r);return qe(oe({},t),{size:Number(t.uncompressedSize)})}async fetch(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");let n=await this.getCDFileHeader(r),i=await bm(n.localHeaderOffset,t);if(!i)throw new Error("Local file header has not been found in the zip archive`");let a=aWr[i.compressionMethod.toString()];if(!a)throw Error("Only Deflation compression is supported");let o=await t.slice(i.fileDataOffset,i.fileDataOffset+i.compressedSize),s=await a(o),u=new Response(s);return Object.defineProperty(u,"url",{value:`${this.fileName||""}/${r}`}),u}async getCDFileHeader(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");let n=CF(t),i=null;for await(let a of n)if(a.fileName===r){i=a;break}if(!i)throw new Error("File has not been found in the zip archive");return i}};var kDe=He(WE());var oWr={0:e=>new OF().decompress(e),8:e=>new Wy({raw:!0}).decompress(e)},eW=class{constructor(r,t){this.fileProvider=r,this.hashArray=t}async getFile(r){let t=await this.getFileBytes(r.toLocaleLowerCase());if(t||(t=await this.getFileBytes(r)),!t)throw new Error("No such file in the archive");return t}async getFileBytes(r){let t=Buffer.from((0,kDe.default)(r),"hex"),n=ZH(t,this.hashArray);if(!n)return null;let i=await bm(n.offset,this.fileProvider);if(!i)return null;let a=await this.fileProvider.slice(i.fileDataOffset,i.fileDataOffset+i.compressedSize),o=oWr[i.compressionMethod];if(!o)throw Error("Only Deflation compression is supported");return o(a)}};var FF=class extends kF{constructor(r){super(r)}async fetch(r){let t=await this.fileProvider;if(!t)throw new Error("No data detected in the zip archive");if(await this.parseHashFile(),this.hashData){let i=await new eW(t,this.hashData).getFile(r),a=new Response(i);return Object.defineProperty(a,"url",{value:`${this.fileName||""}/${r}`}),a}return super.fetch(r)}async parseHashFile(){if(this.hashData!==void 0)return;let r=await this.fileProvider;if(!r)throw new Error("No data detected in the zip archive");let t=await zE(r,TF),n=await HE(t,r);if((n==null?void 0:n.fileName)==="@3dtilesIndex1@"){let i=await bm(n.localHeaderOffset,r);if(!i)throw new Error("corrupted 3tz");let a=i.fileDataOffset,o=await r.slice(a,a+i.compressedSize);this.hashData=QH(o)}else this.hashData=null}};function Yp(e,r,t){let n=12;if(!r)return t+n;let{magic:i,version:a=1,byteLength:o=12}=e;return Qr(Array.isArray(i)&&Number.isFinite(a)&&Number.isFinite(o)),r.setUint8(t+0,i[0]),r.setUint8(t+1,i[1]),r.setUint8(t+2,i[2]),r.setUint8(t+3,i[3]),r.setUint32(t+4,a,!0),r.setUint32(t+8,o,!0),t+=n,t}function $p(e,r,t){!e||e.setUint32(r+8,t,!0)}function FDe(e,r,t,n,i){e=oe({magic:Fp.COMPOSITE,tiles:[]},e);let a=t;t+=Yp(e,r,t),r&&r.setUint32(t,e.tiles.length,!0),t+=4;for(let o=0;o<e.tiles.length;++o)t+=i(e.tiles[o],r,t,n);return $p(r,a,t-a),t}function RDe(e,r,t,n){let{featuresLength:i=0,batchTable:a}=e,o={BATCH_LENGTH:i},s=JSON.stringify(o),u=a?JSON.stringify(a):"",l=Yo(s.length,8),c=u?Yo(u.length,8):0;e=oe({magic:Fp.BATCHED_MODEL},e);let f=t;t=Yp(e,r,t),r&&(r.setUint32(12,l,!0),r.setUint32(16,0,!0),r.setUint32(20,c,!0),r.setUint32(24,0,!0)),t+=16,t=Sb(r,t,s,8),a&&(t=Sb(r,t,u,8));let d=e.gltfEncoded;return d&&(t=l2(r,t,d,d.byteLength)),$p(r,f,t-f),t}function IDe(e,r,t,n){let{featuresLength:i=1,gltfFormat:a=1,gltfUri:o=""}=e,s=o.length,u={INSTANCES_LENGTH:i,POSITION:new Array(i*3).fill(0)},l=JSON.stringify(u),c=l.length;e=oe({magic:Fp.INSTANCED_MODEL},e);let f=t;return t=Yp(e,r,0),r&&(r.setUint32(12,c,!0),r.setUint32(16,0,!0),r.setUint32(20,0,!0),r.setUint32(24,0,!0),r.setUint32(28,a,!0)),t+=20,t+=wb(r,t,l,c),t+=wb(r,t,o,s),$p(r,f,t-f),t}var sWr={POINTS_LENGTH:1,POSITIONS:{byteOffset:0}};function PDe(e,r,t,n){let{featureTableJson:i=sWr}=e,a=JSON.stringify(i);a=dN(a,4);let{featureTableJsonByteLength:o=a.length}=e,s=new ArrayBuffer(12),u=s.byteLength;e=oe({magic:Fp.POINT_CLOUD},e);let l=t;return t+=Yp(e,r,0),r&&(r.setUint32(t+0,o,!0),r.setUint32(t+4,u,!0),r.setUint32(t+8,0,!0),r.setUint32(t+12,0,!0)),t+=16,t+=wb(r,t,a,o),t+=l2(r,t,s,u),$p(r,l,t-l),t}function rW(e,r){let t=tW(e,null,0,r),n=new ArrayBuffer(t),i=new DataView(n);return tW(e,i,0,r),n}function tW(e,r,t,n){switch(Qr(typeof e.type=="string"),e.type){case Vs.COMPOSITE:return FDe(e,r,t,n,tW);case Vs.POINT_CLOUD:return PDe(e,r,t,n);case Vs.BATCHED_3D_MODEL:return RDe(e,r,t,n);case Vs.INSTANCED_3D_MODEL:return IDe(e,r,t,n);default:throw new Error("3D Tiles: unknown tile type")}}var nW={name:"3D Tile",id:"3d-tiles",module:"3d-tiles",version:Qb,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],encodeSync:uWr,binary:!0,options:{["3d-tiles"]:{}}};function uWr(e,r){return rW(e,r)}var ro=He(require("path"));var bc=He(ZDe()),wBt=bc.default.v1,SBt=bc.default.v3,Gf=bc.default.v4,ABt=bc.default.v5,TBt=bc.default.NIL,CBt=bc.default.version,DBt=bc.default.validate,OBt=bc.default.stringify,kBt=bc.default.parse;var Km=He(require("process")),G4=He(rl()),iY=He(WE());var Ax=He(require("path")),QBe=He(rl());var sOe=()=>({folderPattern:{path:"folderPattern",default:"BASIC"},archiveCompressionType:{path:"archiveCompressionType",default:"STORE"},resourceCompressionType:{path:"resourceCompressionType",default:"GZIP"},I3SVersion:{path:"I3SVersion",default:"1.8"},nodeCount:{path:"nodeCount"}});var wx=He(require("fs")),Sx=He(require("path"));var XBe=He(require("zlib")),YBe=He(require("path")),Yw=He(require("fs")),Wot=He(KBe());var Vot=He(VH());var Kot=He(YH());function D4(e){let r=`${e}.gz`,t=(0,XBe.createGzip)(),n=(0,Yw.createReadStream)(e),i=(0,Yw.createWriteStream)(r);return new Promise((a,o)=>{n.on("end",()=>{console.log(`${r} compressed and saved.`),a(r)}),n.on("error",s=>{console.log(`${r}: compression error!`),o(s)}),n.pipe(t).pipe(i)})}async function $Be(e,r,t,n,i){process.platform==="win32"?await Yot(e,r,t,n,i):await Xot(e,r,t,n)}async function Xot(e,r,t=0,n="."){let i=$w(r),a=[`-${t}`,"-r",i,n];await new yp().start({command:"zip",arguments:a,spawn:{cwd:e},wait:0})}async function Yot(e,r,t=0,n=(0,YBe.join)(".","*"),i){n[0]==="@"&&(n=`*${n.substr(1)}`);let a=$w(r),o=["a","-tzip",`-mx=${t}`,a,n];await new yp().start({command:i,arguments:o,spawn:{cwd:`${e}`},wait:0})}async function Gi(e,r,t="index.json"){let n;r instanceof Promise?n=new Uint8Array(await r):r instanceof ArrayBuffer?n=new Uint8Array(r):n=r,await wx.promises.mkdir(e,{recursive:!0});let i=(0,Sx.join)(e,t);try{await wx.promises.writeFile(i,n)}catch(a){throw a}return console.log(`${i} saved.`),i}async function Ac(e,r,t="index.json",n=!0,i){let a=await Gi(e,r,t);if(n){if(i)return i.includes(a)?null:(i.push(a),`${a}.gz`);{let o=await D4(a);return await jX(a),o}}return a}async function O4(e,r){return new Promise((t,n)=>{let i=0;console.log(`load ${e}/${r}.`);let a=setInterval(()=>{let o=(0,Sx.join)(e,r);yn(o,mN).then(s=>{clearInterval(a),t(s)}).catch(()=>{i++,i>100&&(clearInterval(a),n(new Error(`Cannon load ${e}/${r}.`)))})},200)})}async function JBe(e){try{return await wx.promises.stat(e),!0}catch{return!1}}function Jw(e){return wx.promises.rm(e,{recursive:!0})}function jX(e){return wx.promises.unlink(e)}function $w(e){return(0,Sx.isAbsolute)(e)?e:(0,Sx.join)(process.cwd(),e)}var Mo=class{constructor(r,t,n){this.length=0;this.nodesPerPage=t,this.nodesCounter=0,this.nodePages=[{}],this.nodePages[0].nodes=[],this.writeFile=r,this.converter=n,this.length=0}useWriteFunction(r){this.writeFile=r}getNodePageFileName(r){let t,n;return this.converter.options.slpk?(t=(0,Ax.join)(this.converter.layers0Path,"nodepages"),n=`${r.toString()}.json`):(t=(0,Ax.join)(this.converter.layers0Path,"nodepages",r.toString()),n="index.json"),{filePath:t,fileName:n}}async loadNodePage(r){let{filePath:t,fileName:n}=this.getNodePageFileName(r),i=(0,Ax.join)(t,n);return await JBe(i)?(console.log(`load ${i}.`),await O4(t,n)):{nodes:[]}}getPageIndexByNodeId(r){return Math.floor(r/this.nodesPerPage)}async getPageByNodeId(r){let t=this.getPageIndexByNodeId(r);return this.converter.options.instantNodeWriting?await this.loadNodePage(t):this.nodePages[t]}async getNodeById(r,t){let n=r%this.nodesPerPage;return t=t||await this.getPageByNodeId(r),t.nodes[n]}async addChildRelation(r,t){var i;if(r==null)return;let n=await this.getNodeById(r);(i=n.children)==null||i.push(t),await this.saveNode(n)}async push(r,t){if(r.index=this.nodesCounter++,!this.converter.options.instantNodeWriting){let n=this.nodePages[this.nodePages.length-1];n.nodes.length===this.nodesPerPage&&(n={nodes:[]},this.nodePages.push(n)),n.nodes.push(r)}return await this.addChildRelation(t,r.index),Mo.updateResourceInMesh(r),await this.saveNode(r),r}async saveNode(r){if(this.converter.options.instantNodeWriting){let t=this.getPageIndexByNodeId(r.index),n=await this.getPageByNodeId(r.index),{filePath:i,fileName:a}=this.getNodePageFileName(t),o=await this.getNodeById(r.index,n);o?Mo.updateAll(o,r):n.nodes.push(r);let s=JSON.stringify(n);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${t.toString()}.json.gz`,writePromise:()=>this.writeFile(i,s,a,!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,s)},!0)}else return}async saveMetadata(){let r=(0,QBe.default)({nodeCount:this.nodesCounter},sOe()),t=!1;await this.converter.writeQueue.enqueue({archiveKey:"metadata.json",writePromise:()=>this.writeFile(this.converter.layers0Path,JSON.stringify(r),"metadata.json",t)})}async save(){if(this.converter.options.instantNodeWriting){await this.saveMetadata();return}if(this.converter.options.slpk){for(let[r,t]of this.nodePages.entries()){let n=JSON.stringify(t),i=(0,Ax.join)(this.converter.layers0Path,"nodepages");await this.converter.writeQueue.enqueue({archiveKey:`nodePages/${r.toString()}.json.gz`,writePromise:()=>this.writeFile(i,n,`${r.toString()}.json`)})}await this.saveMetadata()}else for(let[r,t]of this.nodePages.entries()){let n=JSON.stringify(t),i=(0,Ax.join)(this.converter.layers0Path,"nodepages",r.toString());await this.converter.writeQueue.enqueue({writePromise:()=>this.writeFile(i,n)})}}static updateResourceInMesh(r){r.mesh&&isFinite(r.index)&&(r.mesh.geometry.resource=r.index)}static updateAll(r,t){return Object.assign(r,t,{index:r.index}),Mo.updateResourceInMesh(r),r}static updateMaterialByNodeId(r,t){!r.mesh||(r.mesh.material={definition:t,resource:r.index})}static updateVertexCountByNodeId(r,t){!r.mesh||(r.mesh.geometry.vertexCount=t)}static updateNodeAttributeByNodeId(r){!r.mesh||!r.index||(r.mesh.attribute.resource=r.index)}static updateFeatureCountByNodeId(r,t){!r.mesh||(r.mesh.geometry.featureCount=t)}static updateTexelCountHintByNodeId(r,t){!r.mesh||!r.mesh.material||(r.mesh.material.texelCountHint=t)}};var Qw=He(require("path")),k4=He(require("fs"));function F4(e){let r=1e6,t=e[0],n=Math.floor(t/3600);t=t-n*3600;let i=Math.floor(t/60);t=t-i*60;let a=Math.floor(t),o=e[1]/r,s="";return n&&(s+=`${n}h `),i&&(s+=`${i}m `),a&&(s+=`${a}s`),s||(s+=`${o}ms`),s}async function R4(e){let{slpk:r,outputPath:t,tilesetName:n}=e,i=$w(t);try{if(r){let s=(0,Qw.join)(i,`${n}.slpk`);return(await k4.promises.stat(s)).size}let a=(0,Qw.join)(i,n);return await ZBe(a)}catch(a){return console.log("Calculate file sizes error: ",a),null}}async function ZBe(e){let r=0,t=await k4.promises.readdir(e);for(let n of t){let i=await k4.promises.stat((0,Qw.join)(e,n));i.isDirectory()?r+=await ZBe((0,Qw.join)(e,n)):r+=i.size}return r}var fu=He($t()),UX=He(zs());var b5e=He(WE());var Wm=3,Tx=9;function e5e(e){let{positions:r,normals:t,texCoords:n,colors:i,uvRegions:a,featureIndices:o}=e,s=r.length/Tx;if(!o.length)return{faceRange:new Uint32Array([0,s-1]),featureIds:[0],featureCount:1,positions:r,normals:t,texCoords:n,colors:i,uvRegions:a};let u=$ot(o),l=Jot(oe(oe({},u),e)),c=Qot(l);return Zot(c,u.featureCount)}function $ot(e){let r=1,t=1,n=r5e(e.slice(0,Wm)),i=[],a=[],o=[n];i[0]=0,a[0]=n;for(let l=Wm;l<e.length;l+=Wm){let c=r5e(e.slice(l,l+Wm));n!==c&&(i[r]=l/Wm-1,i[r+1]=l/Wm,a[t]=c,o.includes(c)||o.push(c),r+=2,t+=1),n=c}i[r]=e.length/Wm-1;let s=new Uint32Array(i),u=o.length;return{faceRange:s,featureCount:u,featureIds:a}}function r5e(e){let r={},t=e[0],n=1;for(let i of e)r[i]=(r[i]||0)+1,n=n>r[i]?n:r[i],t=n>r[i]?t:i;return t}function Jot(e){let{featureIds:r,positions:t,normals:n,colors:i,uvRegions:a,texCoords:o,faceRange:s=new Uint32Array(0)}=e,u=[],l=new Float32Array(t),c=new Float32Array(n),f=new Uint8Array(i),d=new Float32Array(o),p=new Uint16Array(a),h=0,b=0,v=0,y=0,w=0;for(let A=0;A<r.length;A++){let C=s[A*2],D=s[A*2+1],R=Zw("positions",C,D),O=Zw("normals",C,D),L=Zw("colors",C,D),P=Zw("uvRegions",C,D),V=Zw("texCoords",C,D);u.push({featureId:r[A],positions:l.subarray(h,h+R),normals:c.subarray(b,b+O),colors:f.subarray(v,v+L),uvRegions:p.subarray(y,y+P),texCoords:d.subarray(w,w+V)}),h+=R,b+=O,v+=L,y+=P,w+=V}return u}function Zw(e,r,t){let n=4,i=2,a=t-r+1,o=a*3;switch(e){case"positions":case"normals":return a*Tx;case"colors":case"uvRegions":return o*n;case"texCoords":return o*i;default:return 0}}function Qot(e){let r=[];for(let n of e){let i=r.find(a=>a.featureId===n.featureId);i?i.attributes.push(n):r.push({featureId:n.featureId,attributes:[n]})}let t=[];for(let n of r){let i=t5e(n.attributes);t.push(oe({featureId:n.featureId},i))}return t}function Zot(e,r){let n=[e[0].featureId||0],i=[0],a=0,o=0;for(let l=1;l<e.length;l++){let c=e[l];n.push(c.featureId||0);let f=e[a];i.push(f.positions.length/Tx-1+o),i.push(f.positions.length/Tx+o),o+=f.positions.length/Tx,a+=1}let s=t5e(e);i.push(s.positions.length/Tx-1);let u=new Uint32Array(i);return oe({faceRange:u,featureIds:n,featureCount:r},s)}function t5e(e){let r=e.map(({positions:f})=>f),t=r.length>1?Xo(...r):r[0],n=e.map(({normals:f})=>f),i=n.length>1?Xo(...n):n[0],a=e.map(({colors:f})=>f),o=a.length>1?Xo(...a):a[0],s=e.map(({texCoords:f})=>f),u=s.length>1?Xo(...s):s[0],l=e.map(({uvRegions:f})=>f),c=l.length>1?Xo(...l):l[0];return{positions:t,normals:i,colors:o,texCoords:u,uvRegions:c}}var eo=He($t()),Cx=He(zs()),$f=He(K0());function MX(e,r){let t,n,i,a=Cx.Ellipsoid.WGS84.cartesianToCartographic(e.center,new eo.Vector3);return a[2]=a[2]-r.getHeight(a[1],a[0]),e instanceof $f.OrientedBoundingBox?(n=e.halfSize,t=new eo.Vector3(n[0],n[1],n[2]).len(),i=e.quaternion):(t=e.radius,n=[t,t,t],i=new eo.Quaternion().fromMatrix3(new eo.Matrix3([n[0],0,0,0,n[1],0,0,0,n[2]])).normalize()),{mbs:[a[0],a[1],a[2],t],obb:{center:[a[0],a[1],a[2]],halfSize:n,quaternion:i}}}function n5e(e,r){let t=est(e),n=(0,$f.makeOrientedBoundingBoxFromPoints)(t),i=(0,$f.makeBoundingSphereFromPoints)(t),a=Cx.Ellipsoid.WGS84.cartesianToCartographic(i.center,new eo.Vector3),o=Cx.Ellipsoid.WGS84.cartesianToCartographic(n.center,new eo.Vector3);return a[2]=a[2]-r.getHeight(a[1],a[0]),o[2]=o[2]-r.getHeight(o[1],o[0]),{mbs:[a[0],a[1],a[2],i.radius],obb:{center:o,halfSize:n.halfSize,quaternion:n.quaternion}}}function est(e){let r=[];for(let t=0;t<e.length;t+=3){let n=new eo.Vector3([e[t],e[t+1],e[t+2]]);r.push(n)}return r}function i5e(e){let r;e instanceof $f.BoundingSphere?r=e:r=e.getBoundingSphere();let t=r.center,n=r.radius,i=Cx.Ellipsoid.WGS84.cartesianToCartographic(new eo.Vector3(t[0]+n,t[1]+n,t[2]+n),new eo.Vector3),a=Cx.Ellipsoid.WGS84.cartesianToCartographic(new eo.Vector3(t[0]-n,t[1]-n,t[2]-n),new eo.Vector3);return{xmin:Math.min(a[0],i[0]),xmax:Math.max(a[0],i[0]),ymin:Math.min(a[1],i[1]),ymax:Math.max(a[1],i[1]),zmin:Math.min(a[2],i[2]),zmax:Math.max(a[2],i[2])}}function LX(e){let r=e[3],t=new eo.Vector3(e[0],e[1],e[2]),n=new eo.Matrix3([r,0,0,0,r,0,0,0,r]);return new $f.OrientedBoundingBox(t,n)}var Vm=He($t()),a5e=He(zs());function o5e(e,r,t){var s,u,l,c,f,d,p,h;let n=((u=(s=e.gltf)==null?void 0:s.scene)==null?void 0:u.nodes)||((f=(c=(l=e.gltf)==null?void 0:l.scenes)==null?void 0:c[0])==null?void 0:f.nodes)||((d=e.gltf)==null?void 0:d.nodes)||[],i=((h=(p=e.gltf)==null?void 0:p.images)==null?void 0:h.map(b=>{var v,y;if((v=b==null?void 0:b.image)==null?void 0:v.compressed)return null;{let w=(y=b==null?void 0:b.image)==null?void 0:y.data,A=new Uint8Array(w.length);return A.set(w),{data:A,compressed:!1,height:b.image.height,width:b.image.width,components:b.image.components,mimeType:b.mimeType}}}))||[];s5e(n);let{cartographicOrigin:a,modelMatrix:o}=tst(e,r,t);return{nodes:n,images:i,cartographicOrigin:a,cartesianModelMatrix:o}}function rst(e){let r={};for(let t in e)r[t]={value:e[t].value};return r}function tst(e,r,t){let{rtcCenter:n,gltfUpAxis:i}=e,{center:a}=t,o=new Vm.Matrix4(r);switch(n&&o.translate(n),i){case"Z":break;case"Y":let l=new Vm.Matrix4().rotateX(Math.PI/2);o=o.multiplyRight(l);break;case"X":let c=new Vm.Matrix4().rotateY(-Math.PI/2);o=o.multiplyRight(c);break;default:break}let s=new Vm.Vector3(a),u=a5e.Ellipsoid.WGS84.cartesianToCartographic(s,new Vm.Vector3);return{modelMatrix:o,cartographicOrigin:u}}function s5e(e){var r;for(let t=0;t<e.length;t++){let n=e[t];n.mesh&&(e[t]=qe(oe({},n),{mesh:qe(oe({},n.mesh),{primitives:(r=n.mesh)==null?void 0:r.primitives.map(i=>{var a,o,s;return qe(oe({},i),{indices:{value:(a=i==null?void 0:i.indices)==null?void 0:a.value},attributes:rst(i.attributes),material:{id:(o=i==null?void 0:i.material)==null?void 0:o.id,uniqueId:(s=i==null?void 0:i.material)==null?void 0:s.uniqueId}})})})})),n.children&&s5e(n.children)}}function u5e(e,r){var n,i;let t=(i=(n=e.gltf)==null?void 0:n.extensions)==null?void 0:i[uc];if(!(t==null?void 0:t.featureTextures))return null;for(let a in t.featureTextures)if(t.featureTextures[a].class===r)return a;return null}function l5e(e,r,t,n){let i=r==null?void 0:r.extensions;if(!i)return[];for(let[a,o]of Object.entries(i||{}))switch(a){case uc:return ist(e,o,t,n);case ok:return nst(e,o);default:return[]}return[]}function nst(e,r){for(let t of r.featureIds)if(typeof t.propertyTable!="undefined")return t.data;return[]}function ist(e,r,t,n){var o,s,u,l,c,f,d;let i=(o=r==null?void 0:r.featureIdAttributes)==null?void 0:o[0];if((s=i==null?void 0:i.featureIds)==null?void 0:s.attribute)return e[i.featureIds.attribute].value;if(((u=i==null?void 0:i.featureIds)==null?void 0:u.hasOwnProperty("constant"))&&((l=i==null?void 0:i.featureIds)==null?void 0:l.hasOwnProperty("divisor"))){let p=((c=e==null?void 0:e.POSITIONS)==null?void 0:c.value.length)/3||0;return ast(p,i.featureIds.constant,i.featureIds.divisor)}let a=(r==null?void 0:r.featureIdTextures)&&(r==null?void 0:r.featureIdTextures[0]);if(a){let h=`TEXCOORD_${((d=(f=a==null?void 0:a.featureIds)==null?void 0:f.texture)==null?void 0:d.texCoord)||0}`,b=e[h].value;return ost(a,b,t)}return n?e[n].value:[]}function ast(e,r=0,t=0){let n=[];if(t>0){let i=r,a=t;for(let o=0;o<e;o++)n.push(i),a-=1,a===0&&(i++,a=t)}else n=Array(e).fill(r,0,e);return n}function ost(e,r,t){var l,c,f;if(!(t==null?void 0:t.length))return[];let n={r:0,g:1,b:2,a:3},i=(c=(l=e==null?void 0:e.featureIds)==null?void 0:l.texture)==null?void 0:c.index,a=(f=e==null?void 0:e.featureIds)==null?void 0:f.channels;if(!a||i===void 0)return[];let o=t[i],s=[],u=n[a];if(o&&(o==null?void 0:o.width)&&(o==null?void 0:o.height)&&(o==null?void 0:o.components))for(let d=0;d<r.length;d+=2){let p=r[d],h=r[d+1],b=Math.min(ac(p)*o.width|0,o.width-1),y=(Math.min(ac(h)*o.height|0,o.height-1)*o.width+b)*o.components+u,w=new Uint8Array(o.data)[y];s.push(w)}else console.warn(`Can't get batch Ids from ${(o==null?void 0:o.mimeType)||""} compressed texture`);return s}function c5e(e,r){let t={};for(let n in r){let i=r[n];t[n]=sst(i,e)}return t}function sst(e,r){let t=[];if(e)for(let n in r){let i=e[n]||null;t.push(i)}return t}function f5e(e,r){let t=!1;for(let n of Object.values(r))(!e||!n||e.length!==n.length)&&(t=!0);return t}var eS="string",qX="Int32",NX="double",I4="OBJECTID";function d5e(e,r){return e===I4?I4:typeof r===eS?eS:typeof r=="number"?Number.isInteger(r)?qX:NX:eS}function p5e(e,r,t){let n={key:`f_${e}`,name:r,ordering:["attributeValues"],header:[{property:"count",valueType:"UInt32"}],attributeValues:{valueType:"Int32",valuesPerElement:1}};switch(t){case I4:ust(n);break;case eS:v5e(n);break;case NX:lst(n);break;case qX:break;default:v5e(n)}return n}function h5e(e){switch(e){case I4:return"esriFieldTypeOID";case eS:return"esriFieldTypeString";case qX:return"esriFieldTypeInteger";case NX:return"esriFieldTypeDouble";default:return"esriFieldTypeString"}}function m5e(e,r){return{name:e,type:r,alias:e}}function g5e(e){let r="{OBJECTID}",t=[],n=[],i=[],a=[];for(let o in e)n.push({fieldName:o,visible:!0,isEditable:!1,label:o});return i.push({fieldInfos:n,type:"fields"}),{title:r,mediaInfos:t,popupElements:i,fieldInfos:n,expressionInfos:a}}function v5e(e){e.ordering.unshift("attributeByteCounts"),e.header.push({property:"attributeValuesByteCount",valueType:"UInt32"}),e.attributeValues={valueType:"String",encoding:"UTF-8",valuesPerElement:1},e.attributeByteCounts={valueType:"UInt32",valuesPerElement:1}}function ust(e){e.attributeValues={valueType:"Oid32",valuesPerElement:1}}function lst(e){e.attributeValues={valueType:"Float64",valuesPerElement:1}}var P4=e=>{let r=new Uint32Array(e);for(let t=0;t<e;t++)r[t]=t;return r};var cst=1,fst=1,nl=3,rS=2,dst=4,pst="string",hst="Int32",mst="Float64",gst="Oid32",y5e=["CUSTOM_ATTRIBUTE_2","_BATCHID","BATCHID"],kh=new fu.Vector3;async function GX(e,r,t,n,i,a,o,s,u,l,c,f,d){var A;let p=u,h=await Fst((A=e.gltf)==null?void 0:A.materials,l),b=o5e(e,r,t),v=u5e(e,d),y=await yst(b,h,p,v);u&&vst(y,c);let w=[];for(let C of h){let D=C.mergedMaterials[0].originalMaterialId;if(!y.has(D))continue;let R=y.get(D);if(!R)continue;let{material:O,texture:L}=C,P=await n();w.push(await bst({convertedAttributes:R,material:O,texture:L,tileContent:e,nodeId:P,featuresHashArray:a,propertyTable:i,attributeStorageInfo:o,draco:s,libraries:f}))}return w.length?w:null}function vst(e,r){for(let t of e.values()){let n=n5e(t.positions,r);t.boundingVolumes=n;let i=n.obb.center;for(let a=0;a<t.positions.length;a+=nl){let o=t.positions.subarray(a,a+nl);UX.Ellipsoid.WGS84.cartesianToCartographic(Array.from(o),kh),kh[2]=kh[2]-r.getHeight(kh[1],kh[0]),kh=kh.subtract(i),t.positions.set(kh,a)}}}async function bst({convertedAttributes:e,material:r,texture:t,tileContent:n,nodeId:i,featuresHashArray:a,propertyTable:o,attributeStorageInfo:s,draco:u,libraries:l}){var V;let c=e.boundingVolumes,f=e.positions.length/nl,{faceRange:d,featureIds:p,positions:h,normals:b,colors:v,uvRegions:y,texCoords:w,featureCount:A}=e5e(e),C={};o&&(C=Gst(p,e.featureIndices,a,o));let D=new Uint32Array(2),R=Jst(p);D.set([f,A],0);let O=new Uint8Array(Yl(D.buffer,h.buffer,b.buffer,t?w.buffer:new ArrayBuffer(0),v.buffer,y,R.buffer,d.buffer)),L=u?Qst(f,e,{positions:h,normals:b,texCoords:t?w:new Float32Array(0),colors:v,uvRegions:y,featureIds:p,faceRange:d},l):null,P=[];return s&&o&&(P=Vst(p,C,o,s)),{nodeId:i,geometry:O,compressedGeometry:L,texture:t,hasUvRegions:Boolean(y.length),sharedResources:Mst(((V=n.gltf)==null?void 0:V.materials)||[],i),meshMaterial:r,vertexCount:f,attributes:P,featureCount:A,boundingVolumes:c}}async function yst(e,r,t,n){let{nodes:i,images:a,cartographicOrigin:o,cartesianModelMatrix:s}=e,u=new Map;for(let l of r){let c={positions:new Float32Array(0),normals:new Float32Array(0),texCoords:new Float32Array(0),colors:new Uint8Array(0),uvRegions:new Uint16Array(0),featureIndicesGroups:[],featureIndices:[],boundingVolumes:null,mergedMaterials:l.mergedMaterials};for(let f of l.mergedMaterials)u.set(f.originalMaterialId,c)}x5e(i,a,o,s,u,t,void 0,n);for(let l of u.keys()){let c=u.get(l);if(!!c){if(c.positions.length===0){u.delete(l);continue}c.featureIndicesGroups&&(c.featureIndices=c.featureIndicesGroups.reduce((f,d)=>f.concat(d)),delete c.featureIndicesGroups)}}return u}function x5e(e,r,t,n,i,a,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){if(e)for(let u of e)_st(u,r,t,n,i,a,o,s)}function xst(e,r){let t=r,{matrix:n,rotation:i,scale:a,translation:o}=e;return n&&(t=r.multiplyRight(n)),o&&(t=t.translate(o)),i&&(t=t.rotateXYZ(i)),a&&(t=t.scale(a)),t}function _st(e,r,t,n,i,a,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){let u=xst(e,o),l=e.mesh;l&&Est(l,r,t,n,i,a,u,s),x5e(e.children||[],r,t,n,i,a,u,s)}function Est(e,r,t,n,i,a=!1,o=new fu.Matrix4([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),s){var u;for(let l of e.primitives){let c=null,f;l.material?(c=i.get(l.material.id),f=(u=c==null?void 0:c.mergedMaterials.find(({originalMaterialId:h})=>{var b;return h===((b=l.material)==null?void 0:b.id)}))==null?void 0:u.uvRegion):i.has("default")&&(c=i.get("default")),Qr(c!==null,"Primitive - material mapping failed"),Qr(l.mode===void 0||l.mode===nt.TRIANGLES||l.mode===nt.TRIANGLE_STRIP,`Primitive - unsupported mode ${l.mode}`);let d=l.attributes;if(!c)continue;let p=wst(l);c.positions=Xo(c.positions,_5e({vertices:d.POSITION.value,cartographicOrigin:t,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Sst,useCartesianPositions:a})),c.normals=Xo(c.normals,_5e({vertices:d.NORMAL&&d.NORMAL.value,cartographicOrigin:t,cartesianModelMatrix:n,nodeMatrix:o,indices:p,attributeSpecificTransformation:Ast,useCartesianPositions:!1})),c.texCoords=Xo(c.texCoords,Tst(d.TEXCOORD_0&&d.TEXCOORD_0.value,p)),c.colors=Xo(c.colors,Cst(d.COLOR_0,p)),f&&(c.uvRegions=Xo(c.uvRegions,Dst(f,p))),c.featureIndicesGroups=c.featureIndicesGroups||[],c.featureIndicesGroups.push(Ost(kst(d,l,r,s),p))}}function wst(e){var t;let r=(t=e.indices)==null?void 0:t.value;if(!r){let n=e.attributes.POSITION.value;return P4(n.length/nl)}if(r&&e.mode===nt.TRIANGLE_STRIP){let n=r.constructor,i=new n((r.length-2)*3),a=0,o=r.slice(0,3);i.set(o,0);for(let s=1;s+2<r.length;s++)a+=3,o=r.slice(s,s+3),s%2==0?i.set(o,a):i.set(o.reverse(),a);r=i}return r}function _5e(e){let{vertices:r,indices:t,attributeSpecificTransformation:n}=e,i=new Float32Array(t.length*nl);if(!r)return i;for(let a=0;a<t.length;a++){let o=t[a]*nl,s=r.subarray(o,o+nl),u=new fu.Vector3(Array.from(s));u=n(u,e),i[a*nl]=u.x,i[a*nl+1]=u.y,i[a*nl+2]=u.z}return i}function Sst(e,r){let{cartesianModelMatrix:t,cartographicOrigin:n,nodeMatrix:i,useCartesianPositions:a}=r;return i&&(e=e.transform(i)),e=e.transform(t),a||(UX.Ellipsoid.WGS84.cartesianToCartographic([e[0],e[1],e[2]],e),e=e.subtract(n)),e}function Ast(e,r){let{cartesianModelMatrix:t,nodeMatrix:n}=r;return n&&(e=e.transformAsVector(n)),e=e.transformAsVector(t),e}function Tst(e,r){let t=new Float32Array(r.length*rS);if(!e)return t.fill(1),t;for(let n=0;n<r.length;n++){let i=r[n]*rS,a=e.subarray(i,i+rS);t[n*rS]=a[0],t[n*rS+1]=a[1]}return t}function Cst(e,r){let t=(e==null?void 0:e.components)||dst,n=new Uint8Array(r.length*t);if(!e)return n.fill(255),n;let i=e.value;for(let a=0;a<r.length;a++){let o=r[a]*t,s=i.subarray(o,o+t),u=new Uint8Array(t);for(let l=0;l<s.length;l++)u[l]=s[l]*255;n.set(u,a*t)}return n}function Dst(e,r){let t=new Uint16Array(r.length*4);for(let n=0;n<t.length;n+=4)t.set(e,n);return t}function Ost(e,r){if(!e.length||!r.length)return[];let t=[];for(let n=0;n<r.length;n++){let i=r[n];t.push(e[i])}return t}function kst(e,r,t,n){let i=l5e(e,r,t,n);if(i.length)return i;for(let a=0;a<y5e.length;a++){let o=y5e[a];if(e[o]&&e[o].value)return e[o].value}return[]}async function Fst(e=[],r){let t=[];for(let n of e)t.push(Pst(n));return r&&(t=await Rst(t)),t}async function Rst(e){var t,n;let r=[];for(;e.length>0;){let i=e.splice(0,1)[0],a=[];for(let o=0;o<e.length;o++){let s=e[o];(i.texture&&s.texture||!i.texture&&!s.texture)&&(i=await Ist(i,s),a.push(o))}if(i.texture&&a.length){let o=(t=i.mergedMaterials)==null?void 0:t.reduce((l,{textureSize:c})=>l+((c==null?void 0:c.width)||0),0),s=(n=i.mergedMaterials)==null?void 0:n.reduce((l,{textureSize:c})=>Math.max(l,(c==null?void 0:c.height)||0),0),u=-1;for(let l of i.mergedMaterials)if(l.textureSize){let c=u+1+l.textureSize.width/o*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1;l.uvRegion=new Uint16Array([u+1,0,c,l.textureSize.height/s*2**(Uint16Array.BYTES_PER_ELEMENT*8)-1]),u=c}i.texture.image.width=o,i.texture.image.height=s}for(let o of a.reverse())e.splice(o,1);r.push(i)}return r.length||r.push({material:jst(),mergedMaterials:[{originalMaterialId:"default"}]}),r}async function Ist(e,r){var t,n;if(((t=e.texture)==null?void 0:t.bufferView)&&((n=r.texture)==null?void 0:n.bufferView)&&e.mergedMaterials&&r.mergedMaterials){let i=Buffer.from(e.texture.bufferView.data),a=Buffer.from(r.texture.bufferView.data);try{let{joinImages:o}=await import("join-images"),s=await o([i,a],{direction:"horizontal"});e.texture.bufferView.data=await s.toFormat(e.texture.mimeType==="image/png"?"png":"jpeg").toBuffer()}catch(o){throw console.log("Join images into a texture atlas has failed. Consider usage `--split-nodes` option. (See documentation https://loaders.gl/modules/tile-converter/docs/cli-reference/tile-converter)"),o}e.material.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId=1}return e.mergedMaterials=e.mergedMaterials.concat(r.mergedMaterials),e}function Pst(e){var i,a,o,s,u;let r={doubleSided:e.doubleSided,emissiveFactor:(i=e.emissiveFactor)==null?void 0:i.map(l=>Math.round(l*255)),alphaMode:Bst(e.alphaMode),pbrMetallicRoughness:{roughnessFactor:((a=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:a.roughnessFactor)||cst,metallicFactor:((o=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:o.metallicFactor)||fst}},t;((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)?(t=e.pbrMetallicRoughness.baseColorTexture.texture.source,r.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}):e.emissiveTexture&&(t=e.emissiveTexture.texture.source,r.pbrMetallicRoughness.baseColorTexture={textureSetDefinitionId:0}),e.id=Number.isFinite(e.id)?e.id:Gf();let n=[{originalMaterialId:e.id}];if(t)n[0].textureSize={width:t.image.width,height:t.image.height};else{let l=(u=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:u.baseColorFactor;r.pbrMetallicRoughness.baseColorFactor=l&&l.map(c=>Math.round(c*255))||void 0}return{material:r,texture:t,mergedMaterials:n}}function Bst(e){switch(e){case"OPAQUE":return"opaque";case"MASK":return"mask";case"BLEND":return"blend";default:return"opaque"}}function jst(){return{alphaMode:"opaque",pbrMetallicRoughness:{metallicFactor:1,roughnessFactor:1}}}function Mst(e,r){let t={};if(!e||!e.length)return t;t.materialDefinitionInfos=[];for(let n of e){let{materialDefinitionInfo:i,textureDefinitionInfo:a}=Lst(n,r);t.materialDefinitionInfos.push(i),a&&(t.textureDefinitionInfos=t.textureDefinitionInfos||[],t.textureDefinitionInfos.push(a))}return t}function Lst(e,r){var s;let t=((s=e==null?void 0:e.pbrMetallicRoughness)==null?void 0:s.baseColorTexture)||e.emissiveTexture,n=null;t&&(n=Nst(t.texture,r));let{baseColorFactor:i,metallicFactor:a}=(e==null?void 0:e.pbrMetallicRoughness)||{},o=i;return(!i||i[3]===0)&&e.emissiveFactor&&(o=e.emissiveFactor,o[3]=o[3]||1),{materialDefinitionInfo:qst(o||[1,1,1,1],a),textureDefinitionInfo:n}}function qst(e,r=1){let t=.04/255,n=new fu.Vector4(0,0,0,1),i=new fu.Vector4(1,1,1,1),a=new fu.Vector4(t,t,t,0),o=new fu.Vector4(e),s=i.subtract(a).multiply(o),u=s.lerp(s,n,r);a[3]=1;let l=a.lerp(a,o,r);return{params:{diffuse:u.toArray(),specular:l.toArray(),renderMode:"solid"}}}function Nst(e,r){var t,n,i,a;return{encoding:((t=e==null?void 0:e.source)==null?void 0:t.mimeType)?[e.source.mimeType]:void 0,images:[{id:Ust(e,r),size:(n=e.source)==null?void 0:n.image.width,length:((i=e.source)==null?void 0:i.image.data.length)?[(a=e.source)==null?void 0:a.image.data.length]:void 0}]}}function Ust(e,r){var b;let{width:t,height:n}=((b=e.source)==null?void 0:b.image)||{};if(!t||!n)return"";let i=1,a=0,o=r+1,s=32-o.toString(2).length,u="0".repeat(s).concat(o.toString(2)),l=i<<28,c=a<<24,f=t-1<<12,d=n-1<<0,p=l+c+f+d;return BigInt(`0b${p.toString(2)}${u}`).toString()}function Gst(e,r,t,n){let i=zst(e,n,t);return E5e(r,i),E5e(e,i),i}function zst(e,r,t){let n={};for(let i=0;i<e.length;i++){let a=e[i],o=Wst(i,r,t);n[a.toString()]=o}return n}function Hst(e,r){let t="";for(let n in e)t+=e[n][r];return t}function Wst(e,r,t){let n=Hst(r,e),i=(0,b5e.default)(n);return t.includes(i)?t.indexOf(i):t.push(i)-1}function E5e(e,r){for(let t=0;t<e.length;t++)e[t]=r[e[t]]}function Vst(e,r,t,n){let i=[],o=f5e(e,t)?c5e(r,t):t,s=oe({OBJECTID:e},o);for(let u in s){let l=Xst(u,n);if(l){let c=s[u],f=Kst(l,c);i.push(f)}}return i}function Kst(e,r){let t;switch(e){case gst:case hst:t=Yst(r);break;case mst:t=$st(r);break;case pst:t=w5e(r);break;default:t=w5e(r)}return t}function Xst(e,r){let t=r.find(n=>n.name===e);return t?t.attributeValues?t.attributeValues.valueType:(console.error(`attributeValues is null, attribute=${t}`),""):(console.error(`attribute is null, key=${e}, attributeStorageInfo=${JSON.stringify(r,null,2)}`),"")}function Yst(e){let r=new Uint32Array([e.length]),t=new Uint32Array(e);return Yl(r.buffer,t.buffer)}function $st(e){let r=new Uint32Array([e.length]),t=new Uint8Array(4),n=new Float64Array(e);return Yl(r.buffer,t.buffer,n.buffer)}function w5e(e){let r=new Uint32Array([e.length]),t=0,n=new Uint32Array(e.length),i=[];for(let o=0;o<e.length;o++){let s=`${String(e[o])}\0`,u=Buffer.from(s),l=u.length;t+=l,n[o]=l,i.push(u)}let a=new Uint32Array([t]);return Yl(r.buffer,a.buffer,n.buffer,...i)}function Jst(e){let r=new BigUint64Array(e.length);for(let t=0;t<e.length;t++)r[t]=BigInt(e[t]);return r}async function Qst(e,r,t,n){let{positions:i,normals:a,texCoords:o,colors:s,uvRegions:u,featureIds:l,faceRange:c}=t,f=new Uint32Array(e);for(let v=0;v<f.length;v++)f.set([v],v);let d=new Uint32Array(r.featureIndices.length?r.featureIndices:e),p=Zst(d,c),h={positions:i,normals:a,colors:s,"feature-index":p};o.length&&(h.texCoords=o);let b={"feature-index":{"i3s-attribute-type":"feature-index","i3s-feature-ids":new Int32Array(l)}};return u.length&&(h["uv-region"]=u,b["uv-region"]={"i3s-attribute-type":"uv-region"}),Rb({attributes:h,indices:f},HU,qe(oe({},HU.options),{reuseWorkers:!0,_nodeWorkers:!0,modules:n,useLocalLibraries:!0,draco:{method:"MESH_SEQUENTIAL_ENCODING",attributesMetadata:b},["draco-writer"]:{workerUrl:"./modules/draco/dist/draco-writer-worker-node.js"}}))}function Zst(e,r){let t=new Uint32Array(e.length),n=0,i=0;for(let a=1;a<r.length;a+=2){let o=(r[a]+1)*nl;t.fill(n,i,o),n++,i=o+1}return t}function S5e(e,r){if(!e)return null;let t,n=e.batchTableJson;if(n)return n;let{extensionName:i,extension:a}=eut(e);switch(i){case J0:return t=uk(a,r),t;case uc:return t=lk(a,r),t;default:return null}}function eut(e){var a,o,s,u;let r=[uc,J0];if(!((a=e==null?void 0:e.gltf)==null?void 0:a.extensionsUsed))return{extensionName:null,extension:null};let n="";for(let l of((o=e==null?void 0:e.gltf)==null?void 0:o.extensionsUsed)||[])if(r.includes(l)){n=l;break}if(!n)return{extensionName:null,extension:null};let i=(u=(s=e==null?void 0:e.gltf)==null?void 0:s.extensions)==null?void 0:u[n];return{extensionName:n,extension:i}}var T5e=He(rl()),C5e=He(require("path"));var A5e=()=>({serviceItemId:{path:"serviceItemId"},serviceName:{path:"layerName"},name:{path:"layerName"},currentVersion:{path:"currentVersion",default:10.7},serviceVersion:{path:"serviceVersion",default:"1.8"},supportedBindings:{path:"supportedBindings",default:["REST"]},layers:{path:"layers0",transform:e=>[e]}});async function D5e(e,r,t){let n={serviceItemId:Gf().replace(/-/gi,""),layerName:e,layers0:r},i=(0,T5e.default)(n,A5e()),a=(0,C5e.join)(t,"SceneServer");await Gi(a,JSON.stringify(i))}var zX=16;function O5e(e,r){let t=[],n=e.boundingVolume,i=e.lodMetricValue||.1,a={metricType:"maxScreenThreshold",maxError:r.mbs[3]*2*zX/i},o={metricType:"maxScreenThresholdSQ",maxError:Math.PI*.25*a.maxError*a.maxError};return n.constructor.name==="OrientedBoundingBox"?(t.push(o),t.push(a)):(t.push(a),t.push(o)),t}function HX(e){var n,i;let r=(n=e.lodSelection)==null?void 0:n.find(a=>a.metricType==="maxScreenThreshold"),t=r==null?void 0:r.maxError;if(!t){let a=(i=e.lodSelection)==null?void 0:i.find(o=>o.metricType==="maxScreenThresholdSQ");a&&(t=Math.sqrt(a.maxError/(Math.PI*.25)))}return t||(t=zX),e.mbs[3]*2*zX/t}var YX=He(U5e()),Sut="4.0.0-alpha.26";var L4={name:"PGM - Netpbm grayscale image format",id:"pgm",module:"tile-converter",version:Sut,mimeTypes:["image/x-portable-graymap"],parse:async(e,r)=>(0,YX.parsePGM)(new Uint8Array(e),(r==null?void 0:r.pgm)||{}),extensions:["pgm"],options:{pgm:{cubic:!1}}};var Dx=He(rl());var G5e={id:{path:"id",transform:e=>e.toUpperCase()},profile:{path:"profile",default:"meshpyramids"},version:{path:"version",default:"1.8"},resourcePattern:{path:"resourcePattern",default:["3dNodeIndexDocument","Attributes","SharedResource","Geometry"]},rootNode:{path:"rootNode",default:"./nodes/root"},extent:{path:"extent"},indexCRS:{path:"indexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},vertexCRS:{path:"vertexCRS",default:"http://www.opengis.net/def/crs/EPSG/0/4326"},normalReferenceFrame:{path:"normalReferenceFrame",default:"east-north-up"},attributeEncoding:{path:"attributeEncoding",default:"application/octet-stream; version=1.6"},textureEncoding:{path:"textureEncoding",default:["image/jpeg","image/ktx2"]},lodType:{path:"lodType",default:"MeshPyramid"},lodModel:{path:"lodModel",default:"node-switching"},defaultGeometrySchema:{path:"defaultGeometrySchema",default:{geometryType:"triangles",header:[{property:"vertexCount",type:"UInt32"},{property:"featureCount",type:"UInt32"}],topology:"PerAttributeArray",ordering:["position","normal","uv0","color"],vertexAttributes:{position:{valueType:"Float32",valuesPerElement:3},normal:{valueType:"Float32",valuesPerElement:3},uv0:{valueType:"Float32",valuesPerElement:2},color:{valueType:"UInt8",valuesPerElement:4}},featureAttributeOrder:["id","faceRange"],featureAttributes:{id:{valueType:"UInt64",valuesPerElement:1},faceRange:{valueType:"UInt32",valuesPerElement:2}}}}};var Aut=()=>({wkid:{path:"wkid",default:4326},latestWkid:{path:"latestWkid",default:4326},vcsWkid:{path:"vcsWkid",default:5773},latestVcsWkid:{path:"latestVcsWkid",default:5773}}),Tut=()=>({heightModel:{path:"heightModel",default:"gravity_related_height"},vertCRS:{path:"vertCRS",default:"EGM96_Geoid"},heightUnit:{path:"heightUnit",default:"meter"}}),Cut=()=>({nodesPerPage:{path:"nodesPerPage"},lodSelectionMetricType:{path:"lodSelectionMetricType",default:"maxScreenThresholdSQ"}}),Dut=()=>({xmin:{path:"xmin"},ymin:{path:"ymin"},xmax:{path:"xmax"},ymax:{path:"ymax"},zmin:{path:"zmin"},zmax:{path:"zmax"}}),z5e=()=>({version:{path:"version",transform:e=>e.toUpperCase()},id:{path:"id",default:0},name:{path:"name"},href:{path:"href",default:"./layers/0"},layerType:{path:"layerType",default:"IntegratedMesh"},spatialReference:{path:"spatialReference",transform:e=>(0,Dx.default)(e,Aut())},capabilities:{path:"capabilities",default:["View","Query"]},store:{path:"store",transform:e=>(0,Dx.default)(e,G5e)},fullExtent:{path:"fullExtent",transform:e=>(0,Dx.default)(e,Dut())},heightModelInfo:{path:"heightModelInfo",transform:e=>(0,Dx.default)(e,Tut())},nodePages:{path:"nodePages",transform:e=>(0,Dx.default)(e,Cut())},materialDefinitions:{path:"materialDefinitions",default:[]},textureSetDefinitions:{path:"textureSetDefinitions",default:[]},geometryDefinitions:{path:"geometryDefinitions",default:[]},attributeStorageInfo:{path:"attributeStorageInfo",default:[]},fields:{path:"fields",default:[]},popupInfo:{path:"popupInfo",default:null}});var $X=He(rl()),Out=()=>({offset:{default:8},position:{default:{type:"Float32",component:3}},normal:{default:{type:"Float32",component:3}},uv0:{path:"hasTexture",transform:e=>e&&{type:"Float32",component:2}||!1,omitValues:[!1]},color:{default:{type:"UInt8",component:4}},uvRegion:{path:"hasUvRegions",transform:e=>e&&{type:"UInt16",component:4}||!1,omitValues:[!1]},featureId:{default:{binding:"per-feature",type:"UInt64",component:1}},faceRange:{default:{binding:"per-feature",type:"UInt32",component:2}}}),kut=()=>({"compressedAttributes.encoding":{default:"draco"},"compressedAttributes.attributes":{path:"geometryConfig",transform:e=>{let r=["position","normal"];return e.hasTexture&&r.push("uv0"),r.push("color"),e.hasUvRegions&&r.push("uv-region"),r.push("feature-index"),r}}}),H5e=()=>({geometryBuffers:{path:"geometryConfig",transform:e=>{let r=[(0,$X.default)(e,Out())];return e.draco&&r.push((0,$X.default)({geometryConfig:e},kut())),r}}});var tS=He(rl()),Fut=()=>({renderMode:{path:"renderMode",default:"solid"},shininess:{path:"shininess",default:1},reflectivity:{path:"reflectivity",default:0},ambient:{path:"ambient",default:[1,1,1]},diffuse:{path:"diffuse",default:[1,1,1]},specular:{path:"specular",default:[0,0,0]},useVertexColorAlpha:{path:"useVertexColorAlpha",default:!1},vertexRegions:{path:"vertexRegions",default:!1},vertexColors:{path:"vertexColors",default:!0}}),Rut=()=>({name:{path:"name",default:"standard"},type:{path:"type",default:"standard"},params:{path:"params",transform:(e,r,t)=>(0,tS.default)(t,Fut())}}),Iut=()=>({id:{path:"id"},size:{path:"size"},href:{path:"href",default:["../textures/0"]},length:{path:"length"}}),Put=()=>({encoding:{path:"encoding"},wrap:{path:"wrap",default:["none"]},atlas:{path:"atlas",default:!1},uvSet:{path:"uvSet",default:"uv0"},channels:{path:"channels",default:"rgb"},images:{path:"images",transform:(e,r,t)=>e.map(n=>(0,tS.default)(n,Iut()))}}),W5e=()=>({materialDefinitions:{path:"materialDefinitionInfos",transform:But},textureDefinitions:{path:"textureDefinitionInfos",transform:jut}});function But(e,r,t){let n={};for(let[i,a]of e.entries())n[`Mat${t.nodePath}${i}`]=(0,tS.default)(a,Rut());return n}function jut(e,r,t){if(!e)return null;let n={};for(let[i,a]of e.entries()){let o=`${t.nodePath}${i}`;a.imageIndex=o,n[o]=(0,tS.default)(a,Put())}return n}var q4=He(K0()),V5e=He($t()),JX=He(zs()),Mut=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1]);function K5e(e){var t,n;if(!((t=e==null?void 0:e.parentNode)==null?void 0:t.obb)||!((n=e==null?void 0:e.parentNode)==null?void 0:n.mbs))return[];let r=[];return Lut(r,e),qut(r,e),r}function Lut(e,r){var o;let t=Nut(r.parentNode.obb),n=Uut(r);if(Gut(t,n))return;let a=`OBB of Tile (${r.id}) doesn't fit into Parent (${(o=r.parentNode)==null?void 0:o.id}) tile OBB`;e.push(a)}function qut(e,r){var a;let t=X5e(r.mbs),n=X5e(r.parentNode.mbs);if(t.center.distanceTo(n.center)+t.radius>n.radius){let o=`MBS of Tile (${r.id}) doesn't fit into Parent (${(a=r.parentNode)==null?void 0:a.id}) tile MBS`;e.push(o)}}function X5e(e){return new q4.BoundingSphere([e[0],e[1],e[2]],e[3])}function Nut(e){let{center:r,halfSize:t,quaternion:n}=e;return new q4.OrientedBoundingBox().fromCenterHalfSizeQuaternion(r,t,n)}function Uut(e){let r=e.obb.halfSize,t=Mut,n=JX.Ellipsoid.WGS84.cartographicToCartesian(e.obb.center),i=[];for(let a=0;a<t.length;a+=3){let s=new V5e.Vector3(t[a]*=r[0],t[a+1]*=r[1],t[a+2]*=r[2]).transformByQuaternion(e.obb.quaternion).add(n);i=i.concat(s)}return i}function Gut(e,r){let t=!0;for(let n=0;n<r.length/3;n+=3){let i=[r[n],r[n+1],r[n+2]],a=JX.Ellipsoid.WGS84.cartesianToCartographic(i);if(e.distanceTo(a)>0){t=!1;break}}return t}var ds;(function(s){s.POINTS="POINTS",s.LINES="LINES",s.LINE_LOOP="LINE_LOOP",s.LINE_STRIP="LINE_STRIP",s.TRIANGLES="TRIANGLES",s.TRIANGLE_STRIP="TRIANGLE_STRIP",s.TRIANGLE_FAN="TRIANGLE_FAN"})(ds||(ds={}));var QX=class extends Array{enqueue(r){this.push(r)}dequeue(){return this.shift()}peek(){return this[0]}isEmpty(){return this.length===0}};var Y5e=He(require("process")),zut=4*1024*1024*1024,nS=class extends QX{constructor(r=2e3,t=400){super();this.writePromise=null;this.fileMap={};this.listeningInterval=r,this.writeConcurrency=t}async enqueue(r,t=!1){if(t){let{archiveKey:n,writePromise:i}=r,a=await i();n&&a&&(this.fileMap[n]=a)}else super.enqueue(r),Y5e.default.memoryUsage().rss>zut&&await this.startWrite()}startListening(){this.intervalId=setInterval(this.startWrite.bind(this),this.listeningInterval)}stopListening(){this.intervalId&&clearInterval(this.intervalId)}async startWrite(){this.writePromise||(this.writePromise=this.doWrite()),await this.writePromise,this.writePromise=null}async finalize(){this.stopListening(),await this.startWrite()}async doWrite(){for(;this.length;){let r=[],t=[];for(let i=0;i<this.writeConcurrency;i++){let a=this.dequeue();if(!a)break;let{archiveKey:o,writePromise:s}=a;t.push(o);let u=s();r.push(u)}let n=await Promise.allSettled(r);this.updateFileMap(t,n)}}updateFileMap(r,t){for(let n=0;n<r.length;n++){let i=r[n];i&&"value"in t[n]&&(this.fileMap[i]=t[n].value)}}};var Ox="Tile converter does not work in browser, only in node js environment";var eY=He(require("path")),rY=He(rl());var $5e=He(rl()),J5e=()=>({mbs:{path:"mbs"},obb:{path:"obb"}}),Hut=()=>({href:{path:"href"}}),Wut=()=>oe(oe({id:{path:"id"}},Hut()),J5e()),ZX=()=>qe(oe({version:{path:"version"},id:{path:"id"},path:{path:"path"},level:{path:"level"}},J5e()),{lodSelection:{path:"lodSelection",default:[{metricType:"maxScreenThresholdSQ",maxError:196349.54374999998},{metricType:"maxScreenThreshold",maxError:999.9999999999999}]},children:{path:"children",default:null},neighbors:{path:"neighbors",default:null},parentNode:{path:"parentNode",transform:e=>(0,$5e.default)(e,Wut()),default:null},sharedResource:{path:"sharedResource",default:null},featureData:{path:"featureData",default:null},geometryData:{path:"geometryData",default:null},textureData:{path:"textureData",default:null},attributeData:{path:"attributeData",default:null}});var Tc=class{constructor(r,t){this.data=null;this.children=[];this._finalized=!1;this.inPageId=r,this.id=r===0?"root":r.toString(),this.converter=t}get finalized(){return this._finalized}async addData(r){return this.converter.options.instantNodeWriting?await this.write(r):this.data=r,this}async addChildren(r){let t=[];for(let i of r){let a=await i.load();t.push({id:i.id,href:`../${i.id}`,obb:a.obb,mbs:a.mbs})}this.children=this.children.concat(r);let n=this.data;this.converter.options.instantNodeWriting&&(n=await this.load()),n&&(n.children=n.children??[],n.children=n.children.concat(t)),this.converter.options.instantNodeWriting&&n&&await this.write(n)}async addNeighbors(){var t;if(this.finalized)return;let r=await this.load();for(let n of this.children){let i=await n.load();if(i.neighbors=i.neighbors??[],Number((t=r==null?void 0:r.children)==null?void 0:t.length)<1e3)for(let a of r.children||[])n.id!==a.id&&i.neighbors.push(oe({},a));else console.warn(`Node ${n.id}: neighbors attribute is omited because of large number of neigbors`),delete i.neighbors;this.converter.options.instantNodeWriting&&i&&await n.write(i),await n.save()}this.finalize()}async save(){this.data&&await this.write(this.data)}finalize(){this._finalized=!0;for(let r of this.children)r.flush()}async write(r){let t=(0,eY.join)(this.converter.layers0Path,"nodes",this.id);this.converter.options.slpk?await this.converter.writeQueue.enqueue({archiveKey:`nodes/${this.id}/3dNodeIndexDocument.json.gz`,writePromise:()=>Ac(t,JSON.stringify(r),"3dNodeIndexDocument.json",!0,this.converter.compressList)},!0):await this.converter.writeQueue.enqueue({writePromise:()=>Gi(t,JSON.stringify(r))},!0)}async load(){if(this.data)return this.data;let r=this.id,t=(0,eY.join)(this.converter.layers0Path,"nodes",r),n="index.json";return this.converter.options.slpk&&(n="3dNodeIndexDocument.json"),await O4(t,n)}flush(){this.data=null}static async createRootNode(r,t){let n=Tc.createRootNodeIndexDocument(r);return await new Tc(0,t).addData(n)}static async createNode(r,t,n,i,a,o){let s=await Tc.createNodeIndexDocument(r,t,n,i,a);return await new Tc(i.index,o).addData(s)}static createRootNodeIndexDocument(r){let t=qe(oe({version:`{${Gf().toUpperCase()}}`,id:"root",level:0,lodSelection:[{metricType:"maxScreenThresholdSQ",maxError:0},{metricType:"maxScreenThreshold",maxError:0}]},r),{children:[]});return(0,rY.default)(t,ZX())}static async createNodeIndexDocument(r,t,n,i,a){var d,p;let{texture:o,attributes:s}=a,u=i.index,l=await r.load(),c=qe(oe({version:l.version,id:u.toString(),level:l.level+1},t),{lodSelection:n,parentNode:{id:r.id,href:`../${r.id}`,mbs:l.mbs,obb:l.obb},children:[],neighbors:[]}),f=(0,rY.default)(c,ZX());if(i.mesh&&(f.geometryData=[{href:"./geometries/0"}],f.sharedResource={href:"./shared"},o&&(f.textureData=[{href:"./textures/0"},{href:"./textures/1"}]),s&&s.length&&((p=(d=r.converter.layers0)==null?void 0:d.attributeStorageInfo)==null?void 0:p.length))){f.attributeData=[];let h=s.length<r.converter.layers0.attributeStorageInfo.length?s.length:r.converter.layers0.attributeStorageInfo.length;for(let b=0;b<h;b++){let v=r.converter.layers0.attributeStorageInfo[b].key;f.attributeData.push({href:`./attributes/${v}/0`})}}return f}};var tY=async(e,r,t)=>{let n=iS(r);if(!e||!r.contentUrl||!n)return;let i=qe(oe({},t),{[e.loader.id]:{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"}}),a=await N4(r.contentUrl,e.loader,i);a.root&&(r.children=[a.root])},nY=async(e,r,t)=>{let n=iS(r);if(!e||!r.contentUrl||n)return null;let i=qe(oe({},t),{[e.loader.id]:qe(oe({},t[e.loader.id]||{}),{isTileset:n,assetGltfUpAxis:e.asset&&e.asset.gltfUpAxis||"Y"})});return await N4(r.contentUrl,e.loader,i)};async function N4(e,r,t){let n=e.split(".3tz"),i;if(n.length===1)i=null;else if(n.length===2)i=n[1].slice(1),i===""&&(i="tileset.json");else throw new Error("Unexpected URL format");if(i){let a=`${n[0]}.3tz`,o=new FF(a),s=await yn(i,r,qe(oe({},t),{fetch:o.fetch.bind(o)}));return await o.destroy(),s}return await yn(e,r,t)}function iS(e){return(e==null?void 0:e.type)==="json"||(e==null?void 0:e.type)==="3tz"}var aY=He($t());var U4=async(e,r,t,n,i,a=0)=>{if(i&&a>i)return;let o=[],s=await t(e,r);o.push(s);for(let u of e.children)await U4(u,s,t,n,i,a+1);n&&await n(o,r)};var Vut=[ds.POINTS,ds.LINES,ds.LINE_LOOP,ds.LINE_STRIP,ds.TRIANGLES,ds.TRIANGLE_STRIP,ds.TRIANGLE_FAN],Q5e=async e=>{let r={meshTopologyTypes:new Set,metadataClasses:new Set};if(!(e==null?void 0:e.gltfArrayBuffer))return r;let n=(await Qo(e.gltfArrayBuffer,Tf,{gltf:{normalize:!1,loadBuffers:!1,loadImages:!1,decompressMeshes:!1}})).json;if(!n)return r;let i=Kut(n),a=Xut(n);return{meshTopologyTypes:i,metadataClasses:a}},Kut=e=>{let r=new Set;for(let t of e.meshes||[])for(let n of t.primitives){let{mode:i}=n;typeof i!="number"&&(i=4),r.add(Vut[i])}return r},Xut=e=>{var i,a,o,s,u,l;let r=new Set,t=(o=(a=(i=e.extensions)==null?void 0:i[uc])==null?void 0:a.schema)==null?void 0:o.classes;if(t)for(let c of Object.keys(t))r.add(c);let n=(l=(u=(s=e.extensions)==null?void 0:s[J0])==null?void 0:u.schema)==null?void 0:l.classes;if(n)for(let c of Object.keys(n))r.add(c);return r},Z5e=(e,r)=>{for(let t of r.meshTopologyTypes)e.meshTopologyTypes.add(t);for(let t of r.metadataClasses)e.metadataClasses.add(t)};var rje,Yut=(rje=Km.default.env)==null?void 0:rje.IonToken,eje=64,$ut="3DTILES",Jut="3DObject",Qut=1800,Zut="https://",aS=class{constructor(){this.boundingVolumeWarnings=[];this.conversionStartTime=[0,0];this.refreshTokenTime=[0,0];this.sourceTileset=null;this.loadOptions={_nodeWorkers:!0,reuseWorkers:!0,useLocalLibraries:!0,basis:{format:"rgba32",workerUrl:"./modules/textures/dist/basis-worker-node.js"},draco:{workerUrl:"./modules/draco/dist/draco-worker-node.js"},fetch:{},modules:{}};this.geoidHeightModel=null;this.Loader=Of;this.workerSource={};this.writeQueue=new nS;this.compressList=null;this.preprocessData={meshTopologyTypes:new Set,metadataClasses:new Set};this.nodePages=new Mo(Gi,eje,this),this.options={},this.layers0Path="",this.materialMap=new Map,this.materialDefinitions=[],this.geometryMap=new Map,this.geometryConfigs=[],this.vertexCounter=0,this.layers0=null,this.featuresHashArray=[],this.refinementCounter={tilesCount:0,tilesWithAddRefineCount:0},this.validate=!1,this.generateTextures=!1,this.generateBoundingVolumes=!1,this.layersHasTexture=!1,this.compressList=null}async convert(r){if(En)return console.log(Ox),Ox;this.conversionStartTime=Km.default.hrtime();let{tilesetName:t,slpk:n,egmFilePath:i,inputUrl:a,validate:o,outputPath:s,draco:u=!0,sevenZipExe:l,maxDepth:c,token:f,generateTextures:d,generateBoundingVolumes:p,instantNodeWriting:h=!1,mergeMaterials:b=!0,inquirer:v,metadataClass:y}=r;this.options={maxDepth:c,slpk:n,sevenZipExe:l,egmFilePath:i,draco:u,token:f,inputUrl:a,instantNodeWriting:h,mergeMaterials:b,inquirer:v,metadataClass:y},this.compressList=this.options.instantNodeWriting&&[]||null,this.validate=Boolean(o),this.Loader=a.indexOf(Zut)!==-1?Bk:Of,this.generateTextures=Boolean(d),this.generateBoundingVolumes=Boolean(p),this.writeQueue=new nS,this.writeQueue.startListening(),console.log("Loading egm file..."),this.geoidHeightModel=await yn(i,L4),console.log("Loading egm file completed!"),n&&this.nodePages.useWriteFunction(Ac);try{let w=await this._fetchPreloadOptions(),A=a;w.url&&(A=w.url),w.headers&&(this.loadOptions.fetch={headers:w.headers}),this.sourceTileset=await N4(A,this.Loader,this.loadOptions),await this.preprocessConversion()&&(await this._createAndSaveTileset(s,t),await this._finishConversion({slpk:Boolean(n),outputPath:s,tilesetName:t}))}catch(w){throw w}finally{await this.writeQueue.finalize(),Mi.getWorkerFarm({}).destroy()}return"success"}async preprocessConversion(){var i;console.log("Analyze source tileset");let r=this.sourceTileset.root;await U4(r,null,this.analyzeTile.bind(this),void 0,this.options.maxDepth);let{meshTopologyTypes:t,metadataClasses:n}=this.preprocessData;if(console.log("------------------------------------------------"),console.log("Preprocess results:"),console.log(`glTF mesh topology types: ${Array.from(t).join(", ")}`),n.size?console.log(`Feature metadata classes have been found: ${Array.from(n).join(", ")}`):console.log("Feature metadata classes have not been found"),console.log("------------------------------------------------"),!t.has(ds.TRIANGLES)&&!t.has(ds.TRIANGLE_STRIP))return console.log("The tileset is of unsupported mesh topology types. The conversion will be interrupted."),console.log("------------------------------------------------"),!1;if(n.size>1)if((i=this.options.metadataClass)==null?void 0:i.length)console.log(`${this.options.metadataClass} has been selected`);else if(this.options.inquirer){let a=await this.options.inquirer.prompt([{name:"metadataClass",type:"list",message:"Select feature metadata data class to convert...",choices:Array.from(n)}]);this.options.metadataClass=a.metadataClass,console.log(`${a.metadataClass} has been selected`)}else return console.log(`A feature metadata class has not been selected. Start the converter with option "--metadata-class". For example, "npx tile-converter ... --metadata-class ${Array.from(n)[0]}"`),console.log("------------------------------------------------"),!1;return!0}async analyzeTile(r,t){if(iS(r))return await tY(this.sourceTileset,r,this.loadOptions),null;r.id&&console.log(`[analyze]: ${r.id}`);let i=null;try{i=await nY(this.sourceTileset,r,qe(oe({},this.loadOptions),{"3d-tiles":qe(oe({},this.loadOptions["3d-tiles"]),{loadGLTF:!1})}))}catch{console.log(`[warning]: Failed to load ${r.contentUrl}. An I3S tile with empty content will be added to the output tileset`)}let a=await Q5e(i);return Z5e(this.preprocessData,a),null}async _createAndSaveTileset(r,t){var u,l,c;let n=(0,ro.join)(`${r}`,`${t}`);try{await Jw(n)}catch{}this.layers0Path=(0,ro.join)(n,"SceneServer","layers","0"),this.materialDefinitions=[],this.materialMap=new Map;let i=this.sourceTileset.root,a=XO(i.boundingVolume,new aY.Matrix4(i.transform),null);this._formLayers0(t,a,(c=(l=(u=this.sourceTileset)==null?void 0:u.root)==null?void 0:l.boundingVolume)==null?void 0:c.region);let o=MX(a,this.geoidHeightModel);await this.nodePages.push({index:0,lodThreshold:0,obb:o.obb,children:[]});let s=await Tc.createRootNode(o,this);await U4(i,{transform:new aY.Matrix4(i.transform),parentNodes:[s]},this.convertTile.bind(this),this.finalizeTile.bind(this),this.options.maxDepth),this.layers0.materialDefinitions=this.materialDefinitions,this.layers0.geometryDefinitions=(0,G4.default)(this.geometryConfigs.map(f=>({geometryConfig:qe(oe({},f),{draco:this.options.draco})})),H5e()),this.layersHasTexture===!1&&(this.layers0.store.defaultGeometrySchema.ordering=this.layers0.store.defaultGeometrySchema.ordering.filter(f=>f!=="uv0")),await this._writeLayers0(),D5e(t,this.layers0,n);for(let f of this.compressList||[])await D4(f),await jX(f);await this.nodePages.save(),await this.writeQueue.finalize(),await this._createSlpk(n)}_formLayers0(r,t,n){var s;if(!((s=this.sourceTileset)==null?void 0:s.root))return;let i=i5e(t);n&&(i.zmin=n[4],i.zmax=n[5]);let a=[i.xmin,i.ymin,i.xmax,i.ymax],o={version:`{${Gf().toUpperCase()}}`,id:0,name:r,href:"./layers/0",store:{id:`{${Gf().toUpperCase()}}`,extent:a},nodePages:{nodesPerPage:eje},compressGeometry:this.options.draco,fullExtent:i};this.layers0=(0,G4.default)(o,z5e())}async _writeLayers0(){this.options.slpk?await this.writeQueue.enqueue({archiveKey:"3dSceneLayer.json.gz",writePromise:()=>Ac(this.layers0Path,JSON.stringify(this.layers0),"3dSceneLayer.json")}):await this.writeQueue.enqueue({writePromise:()=>Gi(this.layers0Path,JSON.stringify(this.layers0))})}async _createSlpk(r){if(this.options.slpk){let t=(0,ro.join)(r,"SceneServer","layers","0"),n=`${r}.slpk`;await $Be(t,n,0,".",this.options.sevenZipExe);try{await Jw(r)}catch{}}}async convertTile(r,t){let n=iS(r);if(n||r.type==="empty")return n&&(r.id&&console.log(`[load]: ${r.id}`),await tY(this.sourceTileset,r,this.loadOptions)),t;r.id&&console.log(`[convert]: ${r.id}`);let{parentNodes:i,transform:a}=t,o=a.clone();r.transform&&(o=o.multiplyRight(r.transform));let s=i[0],u=await this._createNode(s,r,o);return await s.addChildren(u),{transform:o,parentNodes:u}}async finalizeTile(r,t){for(let n of r)for(let i of n.parentNodes)await i.addNeighbors();for(let n of t.parentNodes)await n.save()}async _createNode(r,t,n){this._checkAddRefinementTypeForTile(t),await this._updateTilesetOptions();let i=null;try{i=await nY(this.sourceTileset,t,this.loadOptions)}catch{console.log(`[warning]: Failed to load ${t.contentUrl}`)}let a=XO(t.boundingVolume,n,null),o=MX(a,this.geoidHeightModel),s=S5e(i,this.options.metadataClass);s&&this._convertPropertyTableToNodeAttributes(s);let u=await this._convertResources(t,n,a,i,r.inPageId,s),l=[],c=[],f=[],d={geometry:null,compressedGeometry:null,texture:null,hasUvRegions:!1,sharedResources:null,meshMaterial:null,vertexCount:null,attributes:null,featureCount:null,boundingVolumes:null};for(let p of u||[d]){this.layersHasTexture=this.layersHasTexture||Boolean(p.texture),this.generateBoundingVolumes&&p.boundingVolumes&&(o=p.boundingVolumes);let h=O5e(t,o),b=h.find(A=>A.metricType==="maxScreenThresholdSQ")||{maxError:0},v=await this._updateNodeInNodePages(b,o,t,r.inPageId,p),y=await Tc.createNodeIndexDocument(r,o,h,v,p),w=await new Tc(v.index,this).addData(y);l.push(w),v.mesh&&await this._writeResources(p,w.id),this.validate&&(this.boundingVolumeWarnings=K5e(y),this.boundingVolumeWarnings&&this.boundingVolumeWarnings.length&&console.warn("Bounding Volume Warnings: ",...this.boundingVolumeWarnings)),c.push(v.index),f.push(v)}return l}async _convertResources(r,t,n,i,a,o){var l;if(!this.isContentSupported(r)||!i)return null;let s={center:[],halfSize:[],quaternion:[]};return await GX(i,t,n,async()=>(await this.nodePages.push({index:0,obb:s},a)).index,o,this.featuresHashArray,(l=this.layers0)==null?void 0:l.attributeStorageInfo,this.options.draco,this.generateBoundingVolumes,this.options.mergeMaterials,this.geoidHeightModel,this.loadOptions.modules,this.options.metadataClass)}async _updateNodeInNodePages(r,t,n,i,a){let{meshMaterial:o,texture:s,vertexCount:u,featureCount:l,geometry:c,hasUvRegions:f}=a,d={index:0,lodThreshold:r.maxError,obb:t.obb,children:[]};c&&this.isContentSupported(n)&&(d.mesh={geometry:{definition:this.findOrCreateGeometryDefinition(Boolean(s),f),resource:0},attribute:{resource:0},material:{definition:0}});let p=a.nodeId,h;if(p?h=await this.nodePages.getNodeById(p):h=await this.nodePages.push(d,i),d.mesh||console.log(`[warning]: node ${h.index} is created with empty content`),Mo.updateAll(h,d),o&&Mo.updateMaterialByNodeId(h,this._findOrCreateMaterial(o)),s){let b=s.image.height*s.image.width;Mo.updateTexelCountHintByNodeId(h,b)}return u&&(this.vertexCounter+=u,Mo.updateVertexCountByNodeId(h,u)),Mo.updateNodeAttributeByNodeId(h),l&&Mo.updateFeatureCountByNodeId(h,l),this.nodePages.saveNode(h),h}async _writeResources(r,t){let{geometry:n,compressedGeometry:i,texture:a,sharedResources:o,attributes:s}=r,u=(0,ro.join)(this.layers0Path,"nodes",t),l=(0,ro.join)("nodes",t);await this._writeGeometries(n,i,u,l),await this._writeShared(o,u,l,t),await this._writeTexture(a,u,l),await this._writeAttributes(s,u,l)}async _writeGeometries(r,t,n,i){if(this.options.slpk){let a=(0,ro.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/0.bin.gz`,writePromise:()=>Ac(a,r,"0.bin")})}else{let a=(0,ro.join)(n,"geometries/0/");await this.writeQueue.enqueue({writePromise:()=>Gi(a,r,"index.bin")})}if(this.options.draco)if(this.options.slpk){let a=(0,ro.join)(n,"geometries");await this.writeQueue.enqueue({archiveKey:`${i}/geometries/1.bin.gz`,writePromise:()=>Ac(a,t,"1.bin")})}else{let a=(0,ro.join)(n,"geometries/1/");await this.writeQueue.enqueue({writePromise:()=>Gi(a,t,"index.bin")})}}async _writeShared(r,t,n,i){if(!r)return;r.nodePath=i;let a=(0,G4.default)(r,W5e()),o=JSON.stringify(a);if(this.options.slpk){let s=(0,ro.join)(t,"shared");await this.writeQueue.enqueue({archiveKey:`${n}/shared/sharedResource.json.gz`,writePromise:()=>Ac(s,o,"sharedResource.json")})}else{let s=(0,ro.join)(t,"shared/");await this.writeQueue.enqueue({writePromise:()=>Gi(s,o)})}}async _writeTexture(r,t,n){if(r){let i=this._getFormatByMimeType(r==null?void 0:r.mimeType),a=[],o=r.bufferView.data;switch(i){case"jpg":case"png":{if(a.push({name:"0",format:i}),await this.writeTextureFile(o,"0",i,t,n),this.generateTextures){a.push({name:"1",format:"ktx2"});let s=r.image.data.subarray(),u=new Uint8Array(s),l=Rb(qe(oe({},r.image),{data:u}),xG,qe(oe({},xG.options),{["ktx2-basis-writer"]:{workerUrl:"./modules/textures/dist/ktx2-basis-writer-worker-node.js"},reuseWorkers:!0,_nodeWorkers:!0,useLocalLibraries:!0}));await this.writeTextureFile(l,"1","ktx2",t,n)}break}case"ktx2":if(a.push({name:"1",format:i}),await this.writeTextureFile(o,"1",i,t,n),this.generateTextures){a.push({name:"0",format:"jpg"});let s=Rb(r.image.data[0],nG);await this.writeTextureFile(s,"0","jpg",t,n)}}this.layers0.textureSetDefinitions.length||(this.layers0.textureSetDefinitions.push({formats:a}),this.layers0.textureSetDefinitions.push({formats:a,atlas:!0}))}}async writeTextureFile(r,t,n,i,a){if(this.options.slpk){let o=(0,ro.join)(i,"textures"),s=!1;await this.writeQueue.enqueue({archiveKey:`${a}/textures/${t}.${n}`,writePromise:()=>Ac(o,r,`${t}.${n}`,s)})}else{let o=(0,ro.join)(i,`textures/${t}/`);await this.writeQueue.enqueue({writePromise:()=>Gi(o,r,`index.${n}`)})}}async _writeAttributes(r=[],t,n){var i,a;if((r==null?void 0:r.length)&&((a=(i=this.layers0)==null?void 0:i.attributeStorageInfo)==null?void 0:a.length)){let o=r.length<this.layers0.attributeStorageInfo.length?r.length:this.layers0.attributeStorageInfo.length;for(let s=0;s<o;s++){let u=this.layers0.attributeStorageInfo[s].key,l=new Uint8Array(r[s]);if(this.options.slpk){let c=(0,ro.join)(t,"attributes",u);await this.writeQueue.enqueue({archiveKey:`${n}/attributes/${u}.bin.gz`,writePromise:()=>Ac(c,l,"0.bin")})}else{let c=(0,ro.join)(t,`attributes/${u}/0`);await this.writeQueue.enqueue({writePromise:()=>Gi(c,l,"index.bin")})}}}}_getFormatByMimeType(r){switch(r){case"image/jpeg":return"jpg";case"image/png":return"png";case"image/ktx2":return"ktx2";default:return"jpg"}}_findOrCreateMaterial(r){let t=(0,iY.default)(JSON.stringify(r));if(this.materialMap.has(t))return this.materialMap.get(t)||0;let n=this.materialDefinitions.push(r)-1;return this.materialMap.set(t,n),n}findOrCreateGeometryDefinition(r,t){let n={hasTexture:r,hasUvRegions:t},i=(0,iY.default)(JSON.stringify(n));if(this.geometryMap.has(i))return this.geometryMap.get(i)||0;let a=this.geometryConfigs.push(n)-1;return this.geometryMap.set(i,a),a}_convertPropertyTableToNodeAttributes(r){let t=0,n=oe({OBJECTID:[0]},r);for(let i in n){if(!this.layers0.attributeStorageInfo.find(o=>o.name===i)){let o=n[i][0],s=d5e(i,o),u=p5e(t,i,s),l=h5e(s),c=m5e(i,l),f=g5e(n);this.layers0.attributeStorageInfo.push(u),this.layers0.fields.push(c),this.layers0.popupInfo=f,this.layers0.layerType=Jut}t+=1}}async _finishConversion(r){let{tilesCount:t,tilesWithAddRefineCount:n}=this.refinementCounter,i=n?n/t*100:0,a=await R4(r),o=Km.default.hrtime(this.conversionStartTime),s=F4(o);console.log("------------------------------------------------"),console.log(`Finishing conversion of ${$ut}`),console.log(`Total conversion time: ${s}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",a," bytes"),console.log('Percentage of tiles with "ADD" refinement type:',i,"%"),console.log("------------------------------------------------")}async _fetchPreloadOptions(){if(!this.Loader.preload)return{};let r={"cesium-ion":{accessToken:this.options.token||Yut}},t=await this.Loader.preload(this.options.inputUrl,r);return this.refreshTokenTime=Km.default.hrtime(),oe(oe({},r),t)}async _updateTilesetOptions(){if(Km.default.hrtime(this.refreshTokenTime)[0]<Qut)return;this.refreshTokenTime=Km.default.hrtime();let t=await this._fetchPreloadOptions();t.headers&&(this.loadOptions.fetch=qe(oe({},this.loadOptions.fetch),{headers:t.headers}),console.log("Authorization Bearer token has been updated"))}_checkAddRefinementTypeForTile(r){let t=1;r.refine===t&&(this.refinementCounter.tilesWithAddRefineCount+=1,console.warn('This tile uses "ADD" type of refinement')),this.refinementCounter.tilesCount+=1}isContentSupported(r){return["b3dm","glTF","scenegraph"].includes(r.type||"")}};var Rje=He(require("path")),fY=He(require("process")),Ije=He(rl());var kx=He(tje());function oY(e){switch(e){case"UInt8":return Uint8Array;case"UInt16":return Uint16Array;case"UInt32":return Uint32Array;case"Float32":return Float32Array;case"UInt64":return Float64Array;default:throw new Error(`parse i3s tile content: unknown type of data: ${e}`)}}var nje={UInt8:kx.default.UNSIGNED_BYTE,UInt16:kx.default.UNSIGNED_SHORT,Float32:kx.default.FLOAT,UInt32:kx.default.UNSIGNED_INT,UInt64:kx.default.DOUBLE};function Fx(e){switch(e){case"UInt8":return 1;case"UInt16":case"Int16":return 2;case"UInt32":case"Int32":case"Float32":return 4;case"UInt64":case"Int64":case"Float64":return 8;default:throw new Error(`parse i3s tile content: unknown size of data: ${e}`)}}var ije="String",aje="Oid32",oje="Float64",sje="Int16",il;(function(a){a[a.DEFAULT=-1]="DEFAULT",a[a.LNGLAT=1]="LNGLAT",a[a.METER_OFFSETS=2]="METER_OFFSETS",a[a.LNGLAT_OFFSETS=3]="LNGLAT_OFFSETS",a[a.CARTESIAN=0]="CARTESIAN"})(il||(il={}));var Ih=He($t()),H4=He(zs());var oS;(function(t){t.vertexCount="vertexCount",t.featureCount="featureCount"})(oS||(oS={}));function Rh(e,r=null){return r?`${e}?token=${r}`:e}function uje(e,r){let{attributeData:t=[]}=r,n=[];for(let i=0;i<t.length;i++){let a=t[i].href.replace("./","");n.push(`${e}/${a}`)}return n}function lje(e,r,t){let n=[],{attributeStorageInfo:i=[]}=e;for(let a=0;a<i.length;a++){let o=i[a].key;n.push(`${r}/nodes/${t}/attributes/${o}/0`)}return n}function cje(e,r){let{attributeName:t,attributeType:n}=r;return t?{[t]:n?rlt(n,e):null}:{}}function rlt(e,r){switch(e){case ije:return ilt(r);case aje:return fje(r);case oje:return nlt(r);case sje:return tlt(r);default:return fje(r)}}function fje(e){let r=4;return new Uint32Array(e,r)}function tlt(e){let r=4;return new Int16Array(e,r)}function nlt(e){let r=8;return new Float64Array(e,r)}function ilt(e){let r=0,t=8,n=4,i=[];try{let a=new DataView(e,r,n).getUint32(r,!0),o=new Uint32Array(e,t,a),s=t+a*n;for(let u of o){let l=new TextDecoder("utf-8"),c=new Uint8Array(e,s,u);i.push(l.decode(c)),s+=u}}catch(a){console.error("Parse string attribute error: ",a.message)}return i}var alt="4.0.0-alpha.26";var sS={name:"I3S Attribute",id:"i3s-attribute",module:"i3s",version:alt,mimeTypes:["application/binary"],parse:async(e,r)=>cje(e,r),extensions:["bin"],options:{},binary:!0};function dje(e){return e.hasOwnProperty("objectIds")?"Oid32":e.hasOwnProperty("attributeValues")?e.attributeValues.valueType:""}async function pje(e,r,t,n,i){var c;if(!((c=i==null?void 0:i.i3s)==null?void 0:c.colorsByAttribute))return e;let a=n.fields.find(({name:f})=>{var d,p;return f===((p=(d=i==null?void 0:i.i3s)==null?void 0:d.colorsByAttribute)==null?void 0:p.attributeName)});if(!a||!["esriFieldTypeDouble","esriFieldTypeInteger","esriFieldTypeSmallInteger"].includes(a.type))return e;let o=await hje(a.name,t,n,i);if(!o)return e;let s=n.fields.find(({type:f})=>f==="esriFieldTypeOID");if(!s)return e;let u=await hje(s.name,t,n,i);if(!u)return e;let l={};for(let f=0;f<u[s.name].length;f++)l[u[s.name][f]]=olt(o[a.name][f],i);for(let f=0;f<r.value.length;f++){let d=l[r.value[f]];!d||(i.i3s.colorsByAttribute.mode==="multiply"?d.forEach((p,h)=>{e.value[f*4+h]=e.value[f*4+h]*p/255}):e.value.set(d,f*4))}return e}function olt(e,r){var u;if(!((u=r==null?void 0:r.i3s)==null?void 0:u.colorsByAttribute))return[255,255,255,255];let{minValue:t,maxValue:n,minColor:i,maxColor:a}=r.i3s.colorsByAttribute,o=(e-t)/(n-t),s=[255,255,255,255];for(let l=0;l<i.length;l++)s[l]=Math.round((a[l]-i[l])*o+i[l]);return s}async function hje(e,{attributeUrls:r},{attributeStorageInfo:t},n){var u;let i=t.findIndex(({name:l})=>e===l);if(i===-1)return null;let a=Rh(r[i],(u=n==null?void 0:n.i3s)==null?void 0:u.token),o=dje(t[i]);return await yn(a,sS,{attributeName:e,attributeType:o})}var W4=new Ih.Vector3([0,0,0]);function slt(e){switch(e){case"ktx-etc2":case"dds":return bk;case"ktx2":return Q0;case"jpg":case"png":default:return ay}}var ult="i3s-attribute-type";async function mje(e,r,t,n,i){var o;let a={attributes:{},indices:null,featureIds:[],vertexCount:0,modelMatrix:new Ih.Matrix4,coordinateSystem:0,byteLength:0,texture:null};if(r.textureUrl){let s=Rh(r.textureUrl,(o=n==null?void 0:n.i3s)==null?void 0:o.token),u=slt(r.textureFormat),c=await(await fetch(s,n==null?void 0:n.fetch)).arrayBuffer();if(n==null?void 0:n.i3s.decodeTextures){if(u===ay){let f=qe(oe({},r.textureLoaderOptions),{image:{type:"data"}});try{let d=await Ko(c,[],f,i);a.texture=d}catch{let p=await Qo(c,u,f,i);a.texture=p}}else if(u===bk||u===Q0){let f=await yn(c,u,r.textureLoaderOptions);u===Q0&&(f=f[0]),a.texture={compressed:!0,mipmaps:!1,width:f[0].width,height:f[0].height,data:f}}}else a.texture=c}return a.material=vlt(r.materialDefinition,a.texture),a.material&&(a.texture=null),await llt(e,a,r,t,n)}async function llt(e,r,t,n,i){var f,d;let a=e.byteLength,o,s,u=0,l=0,c;if(t.isDracoGeometry){let p=await Qo(e,Zb,{draco:{attributeNameEntry:ult}});s=p.header.vertexCount,c=(f=p.indices)==null?void 0:f.value;let{POSITION:h,NORMAL:b,COLOR_0:v,TEXCOORD_0:y,["feature-index"]:w,["uv-region"]:A}=p.attributes;o={position:h,normal:b,color:v,uv0:y,uvRegion:A,id:w},clt(o,p);let C=_lt(w);C&&xlt(o,C)}else{let{vertexAttributes:p,ordering:h,featureAttributes:b,featureAttributeOrder:v}=n.store.defaultGeometrySchema,y=dlt(e,n);u=y.byteOffset,s=y.vertexCount,l=y.featureCount;let{attributes:w,byteOffset:A}=vje(e,u,p,s,h),{attributes:C}=vje(e,A,b,l,v);ylt(C),o=flt(w,C)}if(!((d=i==null?void 0:i.i3s)==null?void 0:d.coordinateSystem)||i.i3s.coordinateSystem===il.METER_OFFSETS){let p=hlt(o.position,t);r.modelMatrix=p.invert(),r.coordinateSystem=il.METER_OFFSETS}else r.modelMatrix=glt(o.position),r.coordinateSystem=il.LNGLAT_OFFSETS;o.color=await pje(o.color,o.id,t,n,i),r.attributes={positions:o.position,normals:o.normal,colors:gje(o.color),texCoords:o.uv0,uvRegions:gje(o.uvRegion||o.region)},r.indices=c||null,o.id&&o.id.value&&(r.featureIds=o.id.value);for(let p in r.attributes)r.attributes[p]||delete r.attributes[p];return r.vertexCount=s,r.byteLength=a,r}function clt(e,r){for(let t in r.loaderData.attributes){let n=r.loaderData.attributes[t];switch(n.name){case"POSITION":e.position.metadata=n.metadata;break;case"feature-index":e.id.metadata=n.metadata;break;default:break}}}function flt(e,r){return oe(oe({},e),r)}function gje(e){return e&&(e.normalized=!0,e)}function dlt(e,r){let t=0,n=0,i=0;for(let{property:a,type:o}of r.store.defaultGeometrySchema.header){let s=oY(o);switch(a){case oS.vertexCount:n=new s(e,0,4)[0],t+=Fx(o);break;case oS.featureCount:i=new s(e,4,4)[0],t+=Fx(o);break;default:break}}return{vertexCount:n,featureCount:i,byteOffset:t}}function vje(e,r,t,n,i){let a={};for(let o of i)if(t[o]){let{valueType:s,valuesPerElement:u}=t[o];if(r+n*u*Fx(s)<=e.byteLength){let l=e.slice(r),c;if(s==="UInt64")c=plt(l,n*u,Fx(s));else{let f=oY(s);c=new f(l,0,n*u)}switch(a[o]={value:c,type:nje[s],size:u},o){case"color":a.color.normalized=!0;break;case"position":case"region":case"normal":default:}r=r+n*u*Fx(s)}else if(o!=="uv0")break}return{attributes:a,byteOffset:r}}function plt(e,r,t){let n=[],i=new DataView(e),a=0;for(let o=0;o<r;o++){let s=i.getUint32(a,!0),u=i.getUint32(a+4,!0),l=s+2**32*u;n.push(l),a+=t}return new Uint32Array(n)}function hlt(e,r){let t=r.mbs,n=e.value,i=e.metadata,a=new Ih.Matrix4,o=new Ih.Vector3(t[0],t[1],t[2]),s=new Ih.Vector3;return H4.Ellipsoid.WGS84.cartographicToCartesian(o,s),H4.Ellipsoid.WGS84.eastNorthUpToFixedFrame(s,a),e.value=mlt(n,i,o),a}function mlt(e,r={},t){let n=new Float64Array(e.length),i=r["i3s-scale_x"]&&r["i3s-scale_x"].double||1,a=r["i3s-scale_y"]&&r["i3s-scale_y"].double||1;for(let o=0;o<n.length;o+=3)n[o]=e[o]*i+t.x,n[o+1]=e[o+1]*a+t.y,n[o+2]=e[o+2]+t.z;for(let o=0;o<n.length;o+=3)H4.Ellipsoid.WGS84.cartographicToCartesian(n.subarray(o,o+3),W4),n[o]=W4.x,n[o+1]=W4.y,n[o+2]=W4.z;return n}function glt(e){var a,o;let r=e.metadata,t=((a=r==null?void 0:r["i3s-scale_x"])==null?void 0:a.double)||1,n=((o=r==null?void 0:r["i3s-scale_y"])==null?void 0:o.double)||1,i=new Ih.Matrix4;return i[0]=t,i[5]=n,i}function vlt(e,r){let t;return e?t=qe(oe({},e),{pbrMetallicRoughness:e.pbrMetallicRoughness?oe({},e.pbrMetallicRoughness):{baseColorFactor:[255,255,255,255]}}):(t={pbrMetallicRoughness:{}},r?t.pbrMetallicRoughness.baseColorTexture={texCoord:0}:t.pbrMetallicRoughness.baseColorFactor=[255,255,255,255]),t.alphaCutoff=t.alphaCutoff||.25,t.alphaMode&&(t.alphaMode=t.alphaMode.toUpperCase()),t.emissiveFactor&&(t.emissiveFactor=bje(t.emissiveFactor)),t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorFactor&&(t.pbrMetallicRoughness.baseColorFactor=bje(t.pbrMetallicRoughness.baseColorFactor)),r&&blt(t,r),t}function bje(e){let r=[...e];for(let t=0;t<e.length;t++)r[t]=e[t]/255;return r}function blt(e,r){let t={source:{image:r}};e.pbrMetallicRoughness&&e.pbrMetallicRoughness.baseColorTexture?e.pbrMetallicRoughness.baseColorTexture=qe(oe({},e.pbrMetallicRoughness.baseColorTexture),{texture:t}):e.emissiveTexture?e.emissiveTexture=qe(oe({},e.emissiveTexture),{texture:t}):e.pbrMetallicRoughness&&e.pbrMetallicRoughness.metallicRoughnessTexture?e.pbrMetallicRoughness.metallicRoughnessTexture=qe(oe({},e.pbrMetallicRoughness.metallicRoughnessTexture),{texture:t}):e.normalTexture?e.normalTexture=qe(oe({},e.normalTexture),{texture:t}):e.occlusionTexture&&(e.occlusionTexture=qe(oe({},e.occlusionTexture),{texture:t}))}function ylt(e){let{id:r,faceRange:t}=e;if(!r||!t)return;let n=r.value,i=t.value,a=i[i.length-1]+1,o=new Uint32Array(a*3),s=0,u=0;for(let l=1;l<i.length;l+=2){let c=Number(n[s]),f=i[l],d=i[l-1],p=f-d+1,h=u+p*3;o.fill(c,u,h),s++,u=h}e.id.value=o}function xlt(e,r){let t=e.id.value,n=new Float32Array(t.length);for(let i=0;i<t.length;i++)n[i]=r[t[i]];e.id.value=n}function _lt(e){var r,t;return(t=(r=e==null?void 0:e.metadata)==null?void 0:r["i3s-feature-ids"])==null?void 0:t.intArray}var Elt="4.0.0-alpha.26",yje={name:"I3S Content (Indexed Scene Layers)",id:"i3s-content",module:"i3s",worker:!0,version:Elt,mimeTypes:["application/octet-stream"],parse:wlt,extensions:["bin"],options:{"i3s-content":{}}};async function wlt(e,r,t){let{tile:n,_tileOptions:i,tileset:a,_tilesetOptions:o}=(r==null?void 0:r.i3s)||{},s=i||n,u=o||a;return!s||!u?null:await mje(e,s,u,r,t)}var _je=He(K0()),uY=He(zs());var Slt="4.0.0-alpha.26",xje={name:"I3S Node Page",id:"i3s-node-page",module:"i3s",version:Slt,mimeTypes:["application/json"],parse:Alt,extensions:["json"],options:{i3s:{}}};async function Alt(e,r){return JSON.parse(new TextDecoder().decode(e))}var V4=class{constructor(r,t="",n){this.nodePages=[];this.pendingNodePages=[];this.textureDefinitionsSelectedFormats=[];this.textureLoaderOptions={};var i,a;this.tileset=oe({},r),this.url=t,this.nodesPerPage=((i=r.nodePages)==null?void 0:i.nodesPerPage)||64,this.lodSelectionMetricType=(a=r.nodePages)==null?void 0:a.lodSelectionMetricType,this.options=n,this.nodesInNodePages=0,this.initSelectedFormatsForTextureDefinitions(r)}async getNodeById(r){var i;let t=Math.floor(r/this.nodesPerPage);if(!this.nodePages[t]&&!this.pendingNodePages[t]){let a=Rh(`${this.url}/nodepages/${t}`,(i=this.options.i3s)==null?void 0:i.token);this.pendingNodePages[t]={status:"Pending",promise:yn(a,xje,this.options)},this.nodePages[t]=await this.pendingNodePages[t].promise,this.nodesInNodePages+=this.nodePages[t].nodes.length,this.pendingNodePages[t].status="Done"}this.pendingNodePages[t].status==="Pending"&&(this.nodePages[t]=await this.pendingNodePages[t].promise);let n=r%this.nodesPerPage;return this.nodePages[t].nodes[n]}async formTileFromNodePages(r){let t=await this.getNodeById(r),n=[],i=[];for(let p of t.children||[])i.push(this.getNodeById(p));let a=await Promise.all(i);for(let p of a)n.push({id:p.index.toString(),obb:p.obb});let o,s,u,l="jpg",c=[],f=!1;if(t&&t.mesh){let{url:p,isDracoGeometry:h}=t.mesh.geometry&&this.getContentUrl(t.mesh.geometry)||{isDracoGeometry:!1};o=p,f=h;let{textureData:b,materialDefinition:v}=this.getInformationFromMaterial(t.mesh.material);u=v,l=b.format||l,b.name&&(s=`${this.url}/nodes/${t.mesh.material.resource}/textures/${b.name}`),this.tileset.attributeStorageInfo&&(c=lje(this.tileset,this.url,t.mesh.attribute.resource))}let d=this.getLodSelection(t);return sY({id:r.toString(),lodSelection:d,obb:t.obb,contentUrl:o,textureUrl:s,attributeUrls:c,materialDefinition:u,textureFormat:l,textureLoaderOptions:this.textureLoaderOptions,children:n,isDracoGeometry:f})}getContentUrl(r){let t=null,n=this.tileset.geometryDefinitions[r.definition],i=-1;if(this.options.i3s&&this.options.i3s.useDracoGeometry&&(i=n.geometryBuffers.findIndex(a=>a.compressedAttributes&&a.compressedAttributes.encoding==="draco")),i===-1&&(i=n.geometryBuffers.findIndex(a=>!a.compressedAttributes)),i!==-1){let a=Boolean(n.geometryBuffers[i].compressedAttributes);t={url:`${this.url}/nodes/${r.resource}/geometries/${i}`,isDracoGeometry:a}}return t}getLodSelection(r){let t=[];return this.lodSelectionMetricType==="maxScreenThresholdSQ"&&t.push({metricType:"maxScreenThreshold",maxError:Math.sqrt(r.lodThreshold/(Math.PI*.25))}),t.push({metricType:this.lodSelectionMetricType,maxError:r.lodThreshold}),t}getInformationFromMaterial(r){var n,i,a;let t={textureData:{name:null}};if(r){let o=(n=this.tileset.materialDefinitions)==null?void 0:n[r.definition];if(o){t.materialDefinition=o;let s=(a=(i=o==null?void 0:o.pbrMetallicRoughness)==null?void 0:i.baseColorTexture)==null?void 0:a.textureSetDefinitionId;typeof s=="number"&&(t.textureData=this.textureDefinitionsSelectedFormats[s]||t.textureData)}}return t}initSelectedFormatsForTextureDefinitions(r){this.textureDefinitionsSelectedFormats=[];let t=this.getSupportedTextureFormats(),n=r.textureSetDefinitions||[];for(let i of n){let a=i&&i.formats||[],o=null;for(let s of t){let u=a.find(l=>l.format===s);if(u){o=u;break}}o&&o.format==="ktx2"&&(this.textureLoaderOptions.basis={format:ly(),containerFormat:"ktx2",module:"encoder"}),this.textureDefinitionsSelectedFormats.push(o)}}getSupportedTextureFormats(){let r=[];if(!this.options.i3s||this.options.i3s.useCompressedTextures){let t=J2();t.has("etc2")&&r.push("ktx-etc2"),t.has("dxt")&&r.push("dds"),r.push("ktx2")}return r.push("jpg"),r.push("png"),r}};function Eje(e,r){let t=r.url||"",n;e.geometryData&&(n=`${t}/${e.geometryData[0].href}`);let i;e.textureData&&(i=`${t}/${e.textureData[0].href}`);let a;e.attributeData&&(a=uje(t,e));let o=e.children||[];return sY(qe(oe({},e),{children:o,url:t,contentUrl:n,textureUrl:i,textureFormat:"jpg",attributeUrls:a,isDracoGeometry:!1}))}function sY(e){var s,u;let r={},t=[0,0,0,1];if(e.mbs)t=e.mbs,r.sphere=[...uY.Ellipsoid.WGS84.cartographicToCartesian(e.mbs.slice(0,3)),e.mbs[3]];else if(e.obb){r.box=[...uY.Ellipsoid.WGS84.cartographicToCartesian(e.obb.center),...e.obb.halfSize,...e.obb.quaternion];let c=new _je.OrientedBoundingBox().fromCenterHalfSizeQuaternion(r.box.slice(0,3),e.obb.halfSize,e.obb.quaternion).getBoundingSphere();r.sphere=[...c.center,c.radius],t=[...e.obb.center,c.radius]}let n=(s=e.lodSelection)==null?void 0:s[0].metricType,i=(u=e.lodSelection)==null?void 0:u[0].maxError,a=ic.MESH,o=kp.REPLACE;return qe(oe({},e),{mbs:t,boundingVolume:r,lodMetricType:n,lodMetricValue:i,type:a,refine:o})}async function wje(e,r,t){var o;let n=t.url,i,a;if(e.nodePages)i=new V4(e,n,r),a=await i.formTileFromNodePages(0);else{let s=Rh(`${e.url}/nodes/root`,(o=r.i3s)==null?void 0:o.token);a=await yn(s,Qf,qe(oe({},r),{i3s:qe(oe({},r.i3s),{loadContent:!1,isTileHeader:!0,isTileset:!1})}))}return qe(oe({},e),{loader:Qf,url:n,basePath:n,type:X0.I3S,nodePagesTile:i,root:a,lodMetricType:a.lodMetricType,lodMetricValue:a.lodMetricValue})}var Tlt="4.0.0-alpha.26",Clt=/layers\/[0-9]+$/,Dlt=/nodes\/([0-9-]+|root)$/,Olt="504b0304",klt="PointCloud",Qf={name:"I3S (Indexed Scene Layers)",id:"i3s",module:"i3s",version:Tlt,mimeTypes:["application/octet-stream"],parse:Flt,extensions:["bin"],options:{i3s:{token:null,isTileset:"auto",isTileHeader:"auto",tile:null,tileset:null,_tileOptions:null,_tilesetOptions:null,useDracoGeometry:!0,useCompressedTextures:!0,decodeTextures:!0,coordinateSystem:il.METER_OFFSETS,colorsByAttribute:null}}};async function Flt(e,r={},t){let n=t.url;if(r.i3s=r.i3s||{},Blt(e)===Olt)throw new Error("Files with .slpk extention currently are not supported by I3SLoader");let a;r.i3s.isTileset==="auto"?a=Clt.test(n):a=r.i3s.isTileset;let o;return r.isTileHeader==="auto"?o=Dlt.test(n):o=r.i3s.isTileHeader,a?e=await Ilt(e,r,t):o?e=await Plt(e,t):e=await Rlt(e,r),e}async function Rlt(e,r){return await Qo(e,yje,r)}async function Ilt(e,r,t){let n=JSON.parse(new TextDecoder().decode(e));if((n==null?void 0:n.layerType)===klt)throw new Error("Point Cloud layers currently are not supported by I3SLoader");return await wje(n,r,t)}async function Plt(e,r){return e=JSON.parse(new TextDecoder().decode(e)),Eje(e,r)}function Blt(e){return e instanceof ArrayBuffer?[...new Uint8Array(e,0,4)].map(r=>r.toString(16).padStart(2,"0")).join(""):null}var Sje=He($t()),Aje=He(zs()),Tje=He(K0());function lY(e,r){let t=[e.center[0],e.center[1],e.center[2]+r.getHeight(e.center[1],e.center[0])],n=Aje.Ellipsoid.WGS84.cartographicToCartesian(t,new Sje.Vector3),i=new Tje.OrientedBoundingBox().fromCenterHalfSizeQuaternion(n,e.halfSize,e.quaternion);return[...i.center,...i.halfAxes.toArray()]}var K4=He(rl()),jlt=()=>({version:{path:"version",default:"1.0"}}),Cje=()=>({boundingVolume:{path:"boundingVolume"},geometricError:{path:"geometricError"},content:{path:"content"},children:{path:"children",transform:e=>e.map(r=>(0,K4.default)(r,Cje()))}}),Dje=()=>({asset:{path:"asset",transform:e=>(0,K4.default)(e,jlt())},geometricError:{path:"root",transform:e=>e.geometricError},root:{path:"root",transform:e=>(0,K4.default)(e,Cje())}});var Zf=He($t()),cY=He(zs());function Oje(e,r){let t=new Float32Array(e.length),n=Llt(r);for(let i=0;i<e.length;i+=2){let a=e.subarray(i,i+2),o=n.slice(i*2,i*2+4),s=Mlt([a[0],a[1]]),u=[o[2]-o[0],o[3]-o[1]],l=[s[0]*u[0],s[1]*u[1]],c=[l[0]+o[0],l[1]+o[1]];t[i]=c[0],t[i+1]=c[1]}return t}function Mlt(e){return[e[0]-Math.floor(e[0]),e[1]-Math.floor(e[1])]}function Llt(e){let r=65535,t=[];for(let n=0;n<e.length;n++)t[n]=e[n]/r;return t}var qlt=new Zf.Matrix4([1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1]),kje=new Zf.Vector3,X4=class{async convert(r,t=null){let n=await this.buildGLTF(r,t);return BD({gltfEncoded:new Uint8Array(n),type:"b3dm",featuresLength:this._getFeaturesLength(t),batchTable:t},nW)}async buildGLTF(r,t){let{tileContent:n,textureFormat:i,box:a}=r,{material:o,attributes:s,indices:u,modelMatrix:l}=n,c=new Jt,f=await this._addI3sTextureToGLTF(n,i,c),d=this._convertI3sMaterialToGLTFMaterial(o,f),p=c.addMaterial(d),h=s.positions,b=h.value;s.uvRegions&&s.texCoords&&(s.texCoords.value=Oje(s.texCoords.value,s.uvRegions.value));let v=new Zf.Vector3(a),y=cY.Ellipsoid.WGS84.cartesianToCartographic(v,new Zf.Vector3);s.positions.value=this._normalizePositions(b,v,y,l),this._createBatchIds(n,t),s.normals&&!this._checkNormals(s.normals.value)&&delete s.normals;let w=u||P4(b.length/h.size),A=c.addMesh({attributes:s,indices:w,material:p,mode:4}),C=this._generateTransformMatrix(v),D=c.addNode({meshIndex:A,matrix:C}),R=c.addScene({nodeIndices:[D]});return c.setDefaultScene(R),c.createBinaryChunk(),BD(c.gltf,LG)}async _addI3sTextureToGLTF(r,t,n){let{texture:i,material:a,attributes:o}=r,s=null,u=i;if(!i&&a&&(u=a.pbrMetallicRoughness&&a.pbrMetallicRoughness.baseColorTexture&&a.pbrMetallicRoughness.baseColorTexture.texture.source.image),u){let l=this._deduceMimeTypeFromFormat(t),c=n.addImage(u,l);s=n.addTexture({imageIndex:c}),delete o.colors}return s}_normalizePositions(r,t,n,i){let a=new Float32Array(r.length);for(let o=0;o<r.length;o+=3){let s=r.subarray(o,o+3),u=new Zf.Vector3(t),l=new Zf.Vector3(Array.from(s)).transform(i).add(n);cY.Ellipsoid.WGS84.cartographicToCartesian(l,kje),l=kje.subtract(u),a.set(l,o)}return a}_generateTransformMatrix(r){return new Zf.Matrix4().translate(r).multiplyLeft(qlt)}_createBatchIds(r,t){let{featureIds:n}=r,{OBJECTID:i}=t||{};if(!(!n||!i)){for(let a=0;a<n.length;a++){let o=n[a],s=i.indexOf(o);n[a]=s}r.attributes._BATCHID={size:1,byteOffset:0,value:n}}}_deduceMimeTypeFromFormat(r){switch(r){case"jpg":return"image/jpeg";case"png":return"image/png";case"ktx2":return"image/ktx2";default:return console.warn(`Unexpected texture format in I3S: ${r}`),"image/jpeg"}}_convertI3sMaterialToGLTFMaterial(r,t){let n=t!==null;return r?(t!==null&&(r=this._setGLTFTexture(r,t)),r):(r={alphaMode:"OPAQUE",doubleSided:!1,pbrMetallicRoughness:{metallicFactor:0,roughnessFactor:1}},n?r.pbrMetallicRoughness.baseColorTexture={index:t,texCoord:0}:r.pbrMetallicRoughness.baseColorFactor=[1,1,1,1],r)}_setGLTFTexture(r,t){let n=qe(oe({},r),{pbrMetallicRoughness:oe({},r.pbrMetallicRoughness)});return r.pbrMetallicRoughness&&r.pbrMetallicRoughness.baseColorTexture?n.pbrMetallicRoughness.baseColorTexture={index:t,texCoord:0}:r.emissiveTexture?n.emissiveTexture={index:t,texCoord:0}:r.pbrMetallicRoughness&&r.pbrMetallicRoughness.metallicRoughnessTexture?n.pbrMetallicRoughness.metallicRoughnessTexture={index:t,texCoord:0}:r.normalTexture?n.normalTexture={index:t,texCoord:0}:r.occlusionTexture&&(n.occlusionTexture={index:t,texCoord:0}),n}_getFeaturesLength(r){if(!r)return 0;let t=Object.keys(r)[0];return t?r[t].length:0}_checkNormals(r){return r.find(t=>t)}};var Fje=async(e,r,t)=>{if(!e||!r.contentUrl)return null;let n=qe(oe({},t),{i3s:qe(oe({},t.i3s),{isTileset:!1,isTileHeader:!1,_tileOptions:{attributeUrls:r.attributeUrls,textureUrl:r.textureUrl,textureFormat:r.textureFormat,textureLoaderOptions:r.textureLoaderOptions,materialDefinition:r.materialDefinition,isDracoGeometry:r.isDracoGeometry,mbs:r.mbs},_tilesetOptions:{store:e.store,attributeStorageInfo:e.attributeStorageInfo,fields:e.fields}})});return await yn(r.contentUrl,Qf,n)};var Nlt="I3S",uS=class{constructor(){this.workerSource={};this.loaderOptions={_nodeWorkers:!0,reuseWorkers:!0,i3s:{coordinateSystem:il.LNGLAT_OFFSETS,decodeTextures:!1},"i3s-content":{workerUrl:"./modules/i3s/dist/i3s-content-worker-node.js"}};this.options={},this.tilesetPath="",this.vertexCounter=0,this.conversionStartTime=[0,0],this.geoidHeightModel=null,this.sourceTileset=null,this.attributeStorageInfo=null,this.workerSource={}}async convert(r){var f;if(En)return console.log(Ox),Ox;let{inputUrl:t,outputPath:n,tilesetName:i,maxDepth:a,egmFilePath:o}=r;if(this.conversionStartTime=fY.default.hrtime(),this.options={maxDepth:a},console.log("Loading egm file..."),this.geoidHeightModel=await yn(o,L4),console.log("Loading egm file completed!"),this.sourceTileset=await yn(t,Qf,this.loaderOptions),!this.sourceTileset)return;let s=(f=this.sourceTileset)==null?void 0:f.root;s.obb||(s.obb=LX(s.mbs)),this.tilesetPath=(0,Rje.join)(`${n}`,`${i}`),this.attributeStorageInfo=this.sourceTileset.attributeStorageInfo;try{await Jw(this.tilesetPath)}catch{}let u={boundingVolume:{box:lY(s.obb,this.geoidHeightModel)},geometricError:HX(s),children:[]};await this._addChildren(s,u,1);let l=(0,Ije.default)({root:u},Dje());await Gi(this.tilesetPath,JSON.stringify(l),"tileset.json"),this._finishConversion({slpk:!1,outputPath:n,tilesetName:i}),Mi.getWorkerFarm({}).destroy()}async convertChildNode(r,t,n,i){let a=await this._loadChildNode(r,i);if(a.contentUrl){let o=await Fje(this.sourceTileset,a,this.loaderOptions);if(!o){await this._addChildren(a,t,n+1);return}this.vertexCounter+=(o==null?void 0:o.vertexCount)||0;let s=null;this.attributeStorageInfo&&(s=await this._loadChildAttributes(a,this.attributeStorageInfo)),a.obb||(a.obb=LX(a.mbs));let u={box:lY(a.obb,this.geoidHeightModel)},l={boundingVolume:u,geometricError:HX(a),children:[]},c={tileContent:o,box:u.box,textureFormat:a.textureFormat},d=await new X4().convert(c,s);l.content={uri:`${a.id}.b3dm`,boundingVolume:u},await Gi(this.tilesetPath,new Uint8Array(d),`${a.id}.b3dm`),t.children.push(l),await this._addChildren(a,l,n+1)}else await this._addChildren(a,t,n+1)}async _addChildren(r,t,n){if(this.options.maxDepth&&n>this.options.maxDepth)return;let i=[];for(let a of r.children||[])i.push(this.convertChildNode(r,t,n,a));await Promise.all(i)}async _loadChildNode(r,t){var i;let n;if((i=this.sourceTileset)==null?void 0:i.nodePagesTile)console.log(`Node conversion: ${t.id}`),n=await this.sourceTileset.nodePagesTile.formTileFromNodePages(parseInt(t.id));else{let a=this._relativeUrlToFullUrl(r.url,t.href),o={i3s:qe(oe({},this.loaderOptions),{isTileHeader:!0,loadContent:!1})};console.log(`Node conversion: ${a}`),n=await yn(a,Qf,o)}return n}_relativeUrlToFullUrl(r="",t){let n=r.split("/"),i=t.split("/");for(let a of i)switch(a){case".":continue;case"..":n=n.slice(0,-1);break;default:n.push(a)}return n.join("/")}async _loadChildAttributes(r,t){let n=[],{attributeUrls:i=[]}=r;for(let o=0;o<i.length;o++){let s=i[o],u=t[o],l={attributeName:u.name,attributeType:this._getAttributeType(u)};n.push(yn(s,sS,l))}let a=await Promise.all(n);return this._replaceNestedArrays(a),Object.assign({},...a)}_getAttributeType(r){return r.attributeValues?r.attributeValues.valueType:r.objectIds?"Oid32":""}_replaceNestedArrays(r){for(let t=0;t<r.length;t++){let n=r[t];for(let i in n)n[i]=Array.from(n[i])}}async _finishConversion(r){let t=await R4(r),n=fY.default.hrtime(this.conversionStartTime),i=F4(n);console.log("------------------------------------------------"),console.log(`Finish conversion of ${Nlt}`),console.log(`Total conversion time: ${i}`),console.log("Vertex count: ",this.vertexCounter),console.log("File(s) size: ",t," bytes"),console.log("------------------------------------------------")}};var Y4=He(require("path"));var Ult="4.0.0-alpha.26",Glt="https://raw.githubusercontent.com/visgl/deck.gl-data/master/egm/egm2008-5.zip",dY=class{async install(r=""){console.log('Installing "EGM2008-5" model...');let t=await yn(Glt,KH,{}),n=process.cwd();r&&(n=(0,Y4.join)(n,r)),await Gi(n,new Uint8Array(t["geoids/egm2008-5.pgm"]),"egm2008-5.pgm"),console.log('Installing "I3S Content Loader" worker'),await this.installFromNpm("i3s","i3s-content-worker-node.js"),console.log('Installing "Draco Loader" worker'),await this.installFromNpm("draco","draco-worker-node.js"),console.log('Installing "Draco Writer" worker'),await this.installFromNpm("draco","draco-writer-worker-node.js"),console.log('Installing "Basis Loader" worker'),await this.installFromNpm("textures","basis-worker-node.js"),console.log('Installing "KTX2 Basis Writer" worker'),await this.installFromNpm("textures","ktx2-basis-writer-worker-node.js"),console.log('Installing "Draco decoder" library'),await this.installFromUrl(Rp[fi.DECODER],"draco",fi.DECODER),await this.installFromUrl(Rp[fi.DECODER_WASM],"draco",fi.DECODER_WASM),console.log('Installing "Draco encoder" library'),await this.installFromUrl(Rp[fi.ENCODER],"draco",fi.ENCODER),console.log('Installing "Basis transcoder" library'),await this.installFromNpm("textures",lc.TRANSCODER,"libs"),await this.installFromNpm("textures",lc.TRANSCODER_WASM,"libs"),console.log('Installing "Basis encoder" library'),await this.installFromNpm("textures",lc.ENCODER,"libs"),await this.installFromNpm("textures",lc.ENCODER_WASM,"libs"),console.log('Installing "join-images" npm package'),await new yp().start({command:process.platform==="win32"?"npm.cmd":"npm",arguments:["install","sharp@0.30.4","join-images@1.1.3"],wait:0,ignoreStderr:!0}),console.log("All dependencies were installed succesfully.")}async installFromNpm(r,t,n=""){let a=await(await Jo(`https://unpkg.com/@loaders.gl/${r}@${Ult}/dist/${n}/${t}`)).arrayBuffer();if(!a)return;let o=(0,Y4.join)(process.cwd(),"modules",r,"dist",n);await Gi(o,a,t)}async installFromUrl(r,t,n){let a=await(await Jo(r)).arrayBuffer();if(!a)return;let o=(0,Y4.join)(process.cwd(),"modules",t,"dist","libs");await Gi(o,a,n)}};function al(e,r){if(e+1>=r.length)return"";let t=r[e+1];return t.indexOf("--")===0?"":t}function Pje(e,r){let t=al(e,r);return console.log(`Input tileset value: ${t}`),console.log(`Modified tileset value: ${t.replace(/\\/g,"/")}`),t.replace(/\\/g,"/")}function Bje(e){return e.reduce((r,t)=>{let n=t.indexOf("="),i=t.slice(0,n),a=t.slice(n+1,t.length);return t.includes("=")&&t.startsWith("--")&&a?r.concat(i,a):r.concat(t)},[])}function jje(e,r){let t=al(e,r),n=Number.parseInt(t);return isFinite(n)?n:NaN}function ed(e,r){let t=al(e,r).toLowerCase().trim();return["--no-draco","--split-nodes"].includes(r[e])&&!t?!1:!t||t==="true"}var pY={I3S:"I3S",_3DTILES:"3DTILES"};async function zlt(){let[,,...e]=process.argv;e.length===0&&hY();let r=Bje(e),t=Vlt(r);if(t.installDependencies){new dY().install("deps");return}let n=Wlt(t);await Hlt(n)}zlt().catch(e=>{console.log(e),process.exit(1)});function hY(){console.log("cli: converter 3dTiles to I3S or I3S to 3dTiles..."),console.log('--install-dependencies [Run the script for installing dependencies. Run this options separate from others. Now "*.pgm" file installation is implemented]'),console.log("--max-depth [Maximal depth of hierarchical tiles tree traversal, default: infinite]"),console.log("--name [Tileset name]"),console.log('--output [Output folder, default: "data" folder]'),console.log("--instant-node-writing [Keep created 3DNodeIndexDocument files on disk instead of memory. This option reduce memory usage but decelerates conversion speed]"),console.log("--split-nodes [Prevent to merge similar materials that could lead to incorrect visualization (I3S to 3DTiles conversion only)]"),console.log("--slpk [Generate slpk (Scene Layer Packages) I3S output file]"),console.log("--tileset [tileset.json file (3DTiles) / http://..../SceneServer/layers/0 resource (I3S)]"),console.log("--input-type [tileset input type: I3S or 3DTILES]"),console.log('--7zExe [location of 7z.exe archiver to create slpk on Windows, default: "C:\\Program Files\\7-Zip\\7z.exe"]'),console.log('--egm [location of Earth Gravity Model *.pgm file to convert heights from ellipsoidal to gravity-related format. A model file can be loaded from GeographicLib https://geographiclib.sourceforge.io/html/geoid.html], default: "./deps/egm2008-5.zip"'),console.log("--token [Token for Cesium ION tilesets authentication]"),console.log("--no-draco [Disable draco compression for geometry]"),console.log("--generate-textures [Enable KTX2 textures generation if only one of (JPG, PNG) texture is provided or generate JPG texture if only KTX2 is provided]"),console.log("--generate-bounding-volumes [Generate obb and mbs bounding volumes from geometry]"),console.log('--metadata-class [One of the list of feature metadata classes, detected by converter on "analyze" stage, default: not set]'),console.log("--validate [Enable validation]"),process.exit(0)}async function Hlt(e){switch(console.log("------------------------------------------------"),console.log(`Starting conversion of ${e.inputType}`),console.log("------------------------------------------------"),e.inputType.toUpperCase()){case pY.I3S:new uS().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,egmFilePath:e.egm});break;case pY._3DTILES:await new aS().convert({inputUrl:e.tileset,outputPath:e.output,tilesetName:e.name,maxDepth:e.maxDepth,slpk:e.slpk,sevenZipExe:e.sevenZipExe,egmFilePath:e.egm,token:e.token,draco:e.draco,mergeMaterials:e.mergeMaterials,generateTextures:e.generateTextures,generateBoundingVolumes:e.generateBoundingVolumes,validate:e.validate,instantNodeWriting:e.instantNodeWriting,inquirer:Lje.default});break;default:hY()}}function Wlt(e){let r={name:()=>console.log("Missed: --name [Tileset name]"),output:()=>console.log("Missed: --output [Output path name]"),sevenZipExe:()=>console.log("Missed: --7zExe [7z archiver executable path]"),egm:()=>console.log("Missed: --egm [*.pgm earth gravity model file path]"),tileset:()=>console.log("Missed: --tileset [tileset.json file]"),inputType:()=>console.log("Missed/Incorrect: --input-type [tileset input type: I3S or 3DTILES]")},t=[];for(let n in r){let i=e[n],a=Boolean(i)&&n==="inputType"&&!Object.values(pY).includes(i.toUpperCase());(!i||a)&&t.push(r[n])}return t.length&&(t.forEach(n=>n()),process.exit(1)),e}function Vlt(e){let r={output:"data",instantNodeWriting:!1,mergeMaterials:!0,sevenZipExe:"C:\\Program Files\\7-Zip\\7z.exe",egm:(0,Mje.join)(process.cwd(),"deps","egm2008-5.pgm"),draco:!0,installDependencies:!1,generateTextures:!1,generateBoundingVolumes:!1,validate:!1,slpk:!1};return e.forEach((t,n)=>{if(t.indexOf("--")===0)switch(t){case"--input-type":r.inputType=al(n,e);break;case"--tileset":r.tileset=Pje(n,e);break;case"--name":r.name=al(n,e);break;case"--output":r.output=al(n,e);break;case"--instant-node-writing":r.instantNodeWriting=ed(n,e);break;case"--split-nodes":r.mergeMaterials=ed(n,e);break;case"--max-depth":r.maxDepth=jje(n,e);break;case"--slpk":r.slpk=ed(n,e);break;case"--7zExe":r.sevenZipExe=al(n,e);break;case"--egm":r.egm=al(n,e);break;case"--token":r.token=al(n,e);break;case"--no-draco":r.draco=ed(n,e);break;case"--validate":r.validate=ed(n,e);break;case"--install-dependencies":r.installDependencies=ed(n,e);break;case"--generate-textures":r.generateTextures=ed(n,e);break;case"--generate-bounding-volumes":r.generateBoundingVolumes=ed(n,e);break;case"--metadata-class":r.metadataClass=al(n,e);case"--help":hY();break;default:console.warn(`Unknown option ${t}`),process.exit(0)}}),r}
|
|
186
186
|
/*!
|
|
187
187
|
* Copyright 2010 LearnBoost <dev@learnboost.com>
|
|
188
188
|
*
|